scim::Signal4< R, P1, P2, P3, P4, Marshal > Class Template Reference
[SignalSlot]

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

#include <scim_signals.h>

List of all members.

Public Types

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

Public Member Functions

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


Detailed Description

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

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

Member Typedef Documentation

template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename Marshal = class DefaultMarshal<R>>
typedef Slot4<R, P1, P2, P3, P4> scim::Signal4< R, P1, P2, P3, P4, Marshal >::SlotType

Function signature for handlers connecting to the signal.


Member Function Documentation

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

Connect a slot to the signal.

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

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

Referenced by scim::Signal4< void, P1, P2, P3, P4, IgnoreMarshal >::connect().

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

Returns a slot for this signal.

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

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

Referenced by scim::Signal4< void, P1, P2, P3, P4, IgnoreMarshal >::emit(), and scim::Signal4< R, P1, P2, P3, P4, Marshal >::emit().

template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename Marshal = class DefaultMarshal<R>>
R scim::Signal4< R, P1, P2, P3, P4, Marshal >::emit ( P1  p1,
P2  p2,
P3  p3,
P4  p4 
) [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.
p4 - passes p4 to the signal handler.
Returns:
the value returned by the signal handler.

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

References scim::Slot4< R, P1, P2, P3, P4 >::call(), scim::Signal::connection_list, and scim::Signal4< R, P1, P2, P3, P4, Marshal >::slot().

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

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

Function operator; calls emit().

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


The documentation for this class was generated from the following file:

Generated on Sat Jan 24 23:45:09 2009 for scim by  doxygen 1.5.7.1