#include <observable.h>
Observable Class that allows to add subscribers to observables.
DELEGATE | Delegate of the observable class defined in the MAXON_OBSERVABLE macro. Usually "Delegate" is appended to the observable name, e.g. ObservableMachineStateChangedDelegate. |
公共成员函数 |
|
template<typename FN > | |
Result < FunctionBaseRef > | AddObserver ( ObserverObjectInterface *observer, FN &&fn, Int priority= ADDOBSERVER_DEFAULTPRIORITY ) const |
template<typename FN > | |
Result < FunctionBaseRef > | AddObserver ( ObserverObjectInterface *observer, FN &&fn, const JobQueueRef &queue, Int priority= ADDOBSERVER_DEFAULTPRIORITY ) const |
template<typename FN > | |
Result < FunctionBaseRef > | AddObserver (FN &&fn, Int priority= ADDOBSERVER_DEFAULTPRIORITY ) const |
template<typename FN , typename = typename std::enable_if<!STD_IS_REPLACEMENT(convertible, typename std::decay<FN>::type, ObserverObjectInterface*)>::type> | |
Result < FunctionBaseRef > | AddObserver (FN &&fn, const JobQueueRef &queue, Int priority= ADDOBSERVER_DEFAULTPRIORITY ) const |
静态公共成员函数 |
|
static ObservableRef < DELEGATE > | NullValue () |
Result <FunctionBaseRef> AddObserver | ( | ObserverObjectInterface * | observer , |
FN && | fn , | ||
Int |
priority
=
ADDOBSERVER_DEFAULTPRIORITY
|
||
) | const |
Adds a notification lambda as a subscriber to a observable.
[in] | observer | Object to connect with the observable. This can be nullptr. |
[in] | fn | Lambda function (or object with Handle* method) that should be called when the observable is fired. |
[in] | priority | Priority in execution. Use ADDOBSERVER_DEFAULTPRIORITY as default. Greater values will execute later. |
Result <FunctionBaseRef> AddObserver | ( | ObserverObjectInterface * | observer , |
FN && | fn , | ||
const JobQueueRef & | queue , | ||
Int |
priority
=
ADDOBSERVER_DEFAULTPRIORITY
|
||
) | const |
Adds a notification lambda as a subscriber to a observable.
[in] | observer | Object to connect with the observable. This can be nullptr. |
[in] | fn | Lambda function (or object with Handle* method) that should be called when the observable is fired. |
[in] | queue | Queue in which the notification should be send. queuing is only possible if the observable has no return value. |
[in] | priority | Priority in execution. Use ADDOBSERVER_DEFAULTPRIORITY as default. Greater values will execute later. |
Result <FunctionBaseRef> AddObserver | ( | FN && | fn , |
Int |
priority
=
ADDOBSERVER_DEFAULTPRIORITY
|
||
) | const |
Adds a notification lambda as a subscriber to a observable.
[in] | fn | Lambda function (or object with Handle* method) that should be called when the observable is fired. |
[in] | priority | Priority in execution. Use ADDOBSERVER_DEFAULTPRIORITY as default. Greater values will execute later. |
Result <FunctionBaseRef> AddObserver | ( | FN && | fn , |
const JobQueueRef & | queue , | ||
Int |
priority
=
ADDOBSERVER_DEFAULTPRIORITY
|
||
) | const |
Adds a notification lambda as a subscriber to a observable.
[in] | fn | Lambda function (or object with Handle* method) that should be called when the observable is fired. |
[in] | queue | Queue in which the notification should be send. queuing is only possible if the observable has no return value. |
[in] | priority | Priority in execution. Use ADDOBSERVER_DEFAULTPRIORITY as default. Greater values will execute later. |
|
static |
Helper function for data type registration.