Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

scim::Signal3< R, P1, P2, P3, Marshal > Class Template Reference
[SignalSlotSignalSlot]

A template for a signal passing three arguments of type P1, P2 and P3, and returning a value of type R. More...

#include <scim_signals.h>

Inheritance diagram for scim::Signal3< R, P1, P2, P3, Marshal >:

Inheritance graph
[legend]
Collaboration diagram for scim::Signal3< R, P1, P2, P3, Marshal >:

Collaboration graph
[legend]
List of all members.

Public Types

typedef Slot3< R, P1, P2, P3 > SlotType
 Function signature for handlers connecting to the signal.

Public Member Functions

Connection connect (SlotType *slot)
SlotTypeslot ()
emit (P1 p1, P2 p2, P3 p3)
operator() (P1 p1, P2 p2, P3 p3)
 Function operator; calls emit().

Detailed Description

template<typename R, typename P1, typename P2, typename P3, typename Marshal = class DefaultMarshal<R>>
class scim::Signal3< R, P1, P2, P3, Marshal >

A template for a signal passing three arguments of type P1, P2 and P3, and returning a value of type R.

Definition at line 477 of file scim_signals.h.


Member Typedef Documentation

template<typename R, typename P1, typename P2, typename P3, typename Marshal = class DefaultMarshal<R>>
typedef Slot3<R, P1, P2, P3> scim::Signal3< R, P1, P2, P3, Marshal >::SlotType
 

Function signature for handlers connecting to the signal.

Definition at line 489 of file scim_signals.h.


Member Function Documentation

template<typename R, typename P1, typename P2, typename P3, typename Marshal = class DefaultMarshal<R>>
Connection scim::Signal3< R, P1, P2, P3, Marshal >::connect SlotType slot  )  [inline]
 

Connect a slot to the signal.

Parameters:
slot - a slot of type Slot3<R, P1, P2, P3>.
Returns:
a connection object.

The returned connection object can be used alter or change the connection.

Definition at line 491 of file scim_signals.h.

References scim::Signal3< R, P1, P2, P3, Marshal >::slot().

template<typename R, typename P1, typename P2, typename P3, typename Marshal = class DefaultMarshal<R>>
SlotType* scim::Signal3< R, P1, P2, P3, Marshal >::slot  )  [inline]
 

Returns a slot for this signal.

Returns:
a new slot of type Slot3<R, P1, P2, P3>.

The returned slot can be passed to another signal allowing the other signal to call this signal when it gets emitted.

Definition at line 501 of file scim_signals.h.

Referenced by scim::Signal3< R, P1, P2, P3, Marshal >::connect(), and scim::Signal3< R, P1, P2, P3, Marshal >::emit().

template<typename R, typename P1, typename P2, typename P3, typename Marshal = class DefaultMarshal<R>>
R scim::Signal3< R, P1, P2, P3, Marshal >::emit P1  p1,
P2  p2,
P3  p3
[inline]
 

Emit the signal.

Parameters:
p1 - passes p1 to the signal handler.
p2 - passes p2 to the signal handler.
p3 - passes p3 to the signal handler.
Returns:
the value returned by the signal handler.

Calls every slot connected to this signal, in order of connection.

Definition at line 511 of file scim_signals.h.

References scim::Slot3< R, P1, P2, P3 >::call(), scim::slot(), and scim::Signal3< R, P1, P2, P3, Marshal >::slot().

Referenced by scim::Signal3< void, P1, P2, P3, IgnoreMarshal >::operator()(), and scim::Signal3< R, P1, P2, P3, Marshal >::operator()().

template<typename R, typename P1, typename P2, typename P3, typename Marshal = class DefaultMarshal<R>>
R scim::Signal3< R, P1, P2, P3, Marshal >::operator() P1  p1,
P2  p2,
P3  p3
[inline]
 

Function operator; calls emit().

Definition at line 535 of file scim_signals.h.

References scim::Signal3< R, P1, P2, P3, Marshal >::emit().


The documentation for this class was generated from the following file:
Generated on Tue Apr 19 00:13:01 2005 for scim by  doxygen 1.4.1