Game of Ur 0.3.3
This is a computer adaptation of Game of Ur, written in C++ mainly using SDL and OpenGL.
|
A SignalObserver object, which can subscribe to Signals matching its data signature and receive signal events from them. More...
#include <signals.hpp>
Public Member Functions | |
SignalObserver (SignalTracker &owningTracker, const std::string &name, std::function< void(TArgs...)> callback) | |
Creates a new SignalObserver object. | |
SignalObserver (const SignalObserver &other)=delete | |
SignalObserver (SignalObserver &&other)=delete | |
SignalObserver & | operator= (const SignalObserver &other)=delete |
SignalObserver & | operator= (SignalObserver &&other)=delete |
void | resetObserver (SignalTracker &owningTracker, const std::string &name, std::function< void(TArgs...)> callback) |
Reinitializes this observer with a new SignalTracker. | |
void | connectTo (Signal< TArgs... > &signal) |
Subscribes this SignalObserver to a Signal whose signature matches its own. | |
Private Attributes | |
std::shared_ptr< SignalObserver_< TArgs... > > | mSignalObserver_ |
The underlying implementation of the observer template. | |
Friends | |
class | Signal< TArgs... > |
A SignalObserver object, which can subscribe to Signals matching its data signature and receive signal events from them.
It is essentially a wrapper over SignalObserver_<T>.
TArgs | A list of types of data this observer expects to receive when it receives a signal event. |
ToyMaker::SignalObserver< TArgs >::SignalObserver | ( | SignalTracker & | owningTracker, |
const std::string & | name, | ||
std::function< void(TArgs...)> | callback ) |
Creates a new SignalObserver object.
owningTracker | The tracker which owns and advertises this SignalObserver. |
name | The name of the SignalObserver. |
callback | A reference to the function to be called when this observer receives a signal. |
void ToyMaker::SignalObserver< TArgs >::connectTo | ( | Signal< TArgs... > & | signal | ) |
Subscribes this SignalObserver to a Signal whose signature matches its own.
signal | The Signal this SignalObserver should subscribe to. |
void ToyMaker::SignalObserver< TArgs >::resetObserver | ( | SignalTracker & | owningTracker, |
const std::string & | name, | ||
std::function< void(TArgs...)> | callback ) |
Reinitializes this observer with a new SignalTracker.
Possibly useful for when a move or copy assignment occurs, since a SignalObserver is neither movable nor copyable.
owningTracker | The new tracker taking charge of this observer. |
name | The (possibly new) name of this observer.. |
callback | The (possibly new) reference to a function to be called by the observer when it receives a Signal event. |