scim 1.4.18
scim::Signal2< R, P1, P2, Marshal > Class Template Reference

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

#include <scim_signals.h>

Public Types

typedef Slot2< R, P1, P2SlotType
 Function signature for handlers connecting to the signal.
 

Public Member Functions

Connection connect (SlotType *slot)
 
SlotTypeslot ()
 
R emit (P1 p1, P2 p2)
 
R operator() (P1 p1, P2 p2)
 Function operator; calls emit().
 
- Public Member Functions inherited from scim::Signal
 Signal ()
 Constructor.
 
virtual ~Signal ()
 Destructor.
 
SlotNodeconnect (Slot *slot)
 Creates a new SlotNode for slot and adds it to the connection_list.
 

Additional Inherited Members

- Protected Types inherited from scim::Signal
typedef std::vector< Pointer< SlotNode > > ConnectionList
 ConnectionList type.
 
- Protected Attributes inherited from scim::Signal
ConnectionList connection_list
 A list of all the slots connected to the signal.
 

Detailed Description

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

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

Member Typedef Documentation

◆ SlotType

template<typename R , typename P1 , typename P2 , typename Marshal = class DefaultMarshal<R>>
typedef Slot2<R, P1, P2> scim::Signal2< R, P1, P2, Marshal >::SlotType

Function signature for handlers connecting to the signal.

Member Function Documentation

◆ connect()

template<typename R , typename P1 , typename P2 , typename Marshal = class DefaultMarshal<R>>
Connection scim::Signal2< R, P1, P2, Marshal >::connect ( SlotType * slot)
inline

Connect a slot to the signal.

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


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

References scim::Signal::connect(), and scim::Signal2< R, P1, P2, Marshal >::slot().

◆ slot()

template<typename R , typename P1 , typename P2 , typename Marshal = class DefaultMarshal<R>>
SlotType * scim::Signal2< R, P1, P2, Marshal >::slot ( )
inline

Returns a slot for this signal.

Returns
a new slot of type Slot2<R, P1, P2>.


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

Referenced by scim::Signal2< R, P1, P2, Marshal >::connect(), scim::Signal2< void, P1, P2, IgnoreMarshal >::connect(), scim::Signal2< R, P1, P2, Marshal >::emit(), and scim::Signal2< void, P1, P2, IgnoreMarshal >::emit().

◆ emit()

template<typename R , typename P1 , typename P2 , typename Marshal = class DefaultMarshal<R>>
R scim::Signal2< R, P1, P2, Marshal >::emit ( P1 p1,
P2 p2 )
inline

Emit the signal.

Parameters
p1- passes p1 to the signal handler.
p2- passes p2 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::Slot2< R, P1, P2 >::call(), scim::Signal::connection_list, and scim::Signal2< R, P1, P2, Marshal >::slot().

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

◆ operator()()

template<typename R , typename P1 , typename P2 , typename Marshal = class DefaultMarshal<R>>
R scim::Signal2< R, P1, P2, Marshal >::operator() ( P1 p1,
P2 p2 )
inline

Function operator; calls emit().

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


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