#include <xrb_signalhandler.hpp>

Public Member Functions | |
| SignalHandler () | |
| Boring default constructor. | |
| virtual | ~SignalHandler () |
| Slightly boring destructor. | |
| bool | IsBlockingSenders () const |
| All-SignalSender* signal-blocking state accessor. | |
| bool | IsBlockingReceivers () const |
| All-SignalReceiver* callback-blocking state accessor. | |
| void | SetIsBlockingSenders (bool const is_blocking_senders) |
| All-SignalSender* signal-blocking state modifier. | |
| void | SetIsBlockingReceivers (bool const is_blocking_receivers) |
| All-SignalReceiver* callback-blocking state modifier. | |
| void | DetachAll () |
| Causes all added SignalSender*s and SignalReceiver*s to detach all their attachments, via SignalPort::DetachAll(). | |
Static Public Member Functions | |
| static void | Connect0 (SignalSender0 const *sender, SignalReceiver0 const *receiver) |
| The official way to connect a SignalSender0 to a SignalReceiver0. | |
| template<typename T > | |
| static void | Connect1 (SignalSender1< T > const *sender, SignalReceiver1< T > const *receiver) |
| The official way to connect a SignalSender1<T> to a SignalReceiver1<T>. | |
| template<typename T > | |
| static void | Connect1 (SignalSender1< T > const *sender, T(*transformation_function)(T), SignalReceiver1< T > const *receiver) |
| The official way to connect a SignalSender1<T> to a SignalReceiver1<T>, providing a transformation function for the signal value. | |
| template<typename T , typename U > | |
| static void | Connect2 (SignalSender2< T, U > const *sender, SignalReceiver2< T, U > const *receiver) |
| The official way to connect a SignalSender2<T, U> to a SignalReceiver2<T, U>. | |
| template<typename T , typename U > | |
| static void | Connect2 (SignalSender2< T, U > const *sender, T(*transformation_function_1)(T), U(*transformation_function_2)(U), SignalReceiver2< T, U > const *receiver) |
| The official way to connect a SignalSender2<T, U> to a SignalReceiver2<T, U>. | |
Friends | |
| class | SignalSenderBase |
So that SignalSenderBase can call AddSender(). | |
| class | SignalReceiverBase |
So that SignalReceiverBase can call AddReceiver(). | |
Provides the necessary framework to SignalSender* and SignalReceiver*. A class must derive from SignalHandler to use any SignalSender*s or SignalReceiver*s. The SignalSender*s and SignalReceiver*s must be non-dynamically-allocated member variables that are constructed in the constructor of the SignalHandler subclass. This requirement is so that the life of the SignalSender*s and SignalReceiver*s is ensured to be exactly that of the SignalHandler subclass. When the member SignalSender*s and SignalReceiver*s are destructed during the destruction of their owner SignalHandler subclass, they will automatically detach all of their connections, conveniently cleaning themselves up in an intuitive manner.
A SignalHandler can block all of its SignalSender*s' signals, as well as all of its SignalReceiver*s' callbacks. Contrast this with the individual signal blocking done in SignalPort.
Definition at line 731 of file xrb_signalhandler.hpp.
| Xrb::SignalHandler::~SignalHandler | ( | ) | [virtual] |
Slightly boring destructor.
All the added SignalSender*s and SignalReceiver*s will have detached all their attachments by the time this happens (that is, if the SignalHandler subclass correctly instantiated and constructed its SignalSender*s and SignalReceiver*s).
Definition at line 93 of file xrb_signalhandler.cpp.
| bool Xrb::SignalHandler::IsBlockingSenders | ( | ) | const [inline] |
All-SignalSender* signal-blocking state accessor.
Definition at line 750 of file xrb_signalhandler.hpp.
Referenced by Xrb::Widget::SetIsEnabled().
| bool Xrb::SignalHandler::IsBlockingReceivers | ( | ) | const [inline] |
All-SignalReceiver* callback-blocking state accessor.
Definition at line 759 of file xrb_signalhandler.hpp.
| void Xrb::SignalHandler::SetIsBlockingSenders | ( | bool const | is_blocking_senders | ) | [inline] |
All-SignalSender* signal-blocking state modifier.
| is_blocking_senders | The SignalSender* signal-blocking state to assign. |
Definition at line 768 of file xrb_signalhandler.hpp.
Referenced by Xrb::Widget::SetIsEnabled().
| void Xrb::SignalHandler::SetIsBlockingReceivers | ( | bool const | is_blocking_receivers | ) | [inline] |
All-SignalReceiver* callback-blocking state modifier.
| is_blocking_receivers | The SignalReceiver* callback-blocking state to assign. |
Definition at line 776 of file xrb_signalhandler.hpp.
| static void Xrb::SignalHandler::Connect0 | ( | SignalSender0 const * | sender, | |
| SignalReceiver0 const * | receiver | |||
| ) | [inline, static] |
The official way to connect a SignalSender0 to a SignalReceiver0.
| sender | This object will be connected to receiver. | |
| receiver | This object will be connected to sender. |
Definition at line 791 of file xrb_signalhandler.hpp.
Referenced by Xrb::Dialog::Dialog().
| static void Xrb::SignalHandler::Connect1 | ( | SignalSender1< T > const * | sender, | |
| SignalReceiver1< T > const * | receiver | |||
| ) | [inline, static] |
The official way to connect a SignalSender1<T> to a SignalReceiver1<T>.
| sender | This object will be connected to receiver. | |
| receiver | This object will be connected to sender. |
Definition at line 806 of file xrb_signalhandler.hpp.
| static void Xrb::SignalHandler::Connect1 | ( | SignalSender1< T > const * | sender, | |
| T(*)(T) | transformation_function, | |||
| SignalReceiver1< T > const * | receiver | |||
| ) | [inline, static] |
The official way to connect a SignalSender1<T> to a SignalReceiver1<T>, providing a transformation function for the signal value.
| sender | This object will be connected to receiver. | |
| transformation_function | The function pointer for the transformation to apply to each value signaled by this connection. | |
| receiver | This object will be connected to sender. |
Definition at line 824 of file xrb_signalhandler.hpp.
| static void Xrb::SignalHandler::Connect2 | ( | SignalSender2< T, U > const * | sender, | |
| SignalReceiver2< T, U > const * | receiver | |||
| ) | [inline, static] |
The official way to connect a SignalSender2<T, U> to a SignalReceiver2<T, U>.
| sender | This object will be connected to receiver. | |
| receiver | This object will be connected to sender. |
Definition at line 840 of file xrb_signalhandler.hpp.
| static void Xrb::SignalHandler::Connect2 | ( | SignalSender2< T, U > const * | sender, | |
| T(*)(T) | transformation_function_1, | |||
| U(*)(U) | transformation_function_2, | |||
| SignalReceiver2< T, U > const * | receiver | |||
| ) | [inline, static] |
The official way to connect a SignalSender2<T, U> to a SignalReceiver2<T, U>.
| sender | This object will be connected to receiver. | |
| transformation_function_1 | The function pointer for the transformation to apply to each of the first parameter values signaled by this connection. | |
| transformation_function_2 | The function pointer for the transformation to apply to each of the second parameter values signaled by this connection. | |
| receiver | This object will be connected to sender. |
Definition at line 864 of file xrb_signalhandler.hpp.
1.5.8