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

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, P2 > | SlotType
| Function signature for handlers connecting to the signal.

## Public Member Functions

Connection | connect (SlotType *slot)
SlotType * | slot ()
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.
SlotNode * | connect (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.

## 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.

## 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.

Referenced by scim::Signal2< void, P1, P2, IgnoreMarshal >::operator()(), and scim::Signal2< void, SocketServer *, const Socket & >::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().

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

- scim_signals.h