#include <observable.h>
Helper template reference class for implementation of observables.
| ObservableClass | Can be either ObservableClass or ObservableRPCClass. | 
| DELEGATE | Delegate of the observable class defined in the MAXON_OBSERVABLE macro. Usually "Delegate" is appended to the observable name, e.g. ObservableMachineStateChangedDelegate. | 
Public Member Functions | |
| ObservableImplRef ()=default | |
| ~ObservableImplRef () | |
| Result< void > | Init (ObserverObjectInterface *owner, const Id &observableName) | 
| void | Free () | 
| ObservableBaseRef | InitFirst (const ObserverObjectInterface *owner, const char *observableName) const | 
| ObservableRef< DELEGATE > | Get (const ObserverObjectInterface *owner, const char *observableName, Bool createOnDemand) const | 
| Int | GetObserverCount () | 
| template<typename... ARGS> | |
| details::GetResultType< typename DELEGATE::ResultValueType >::resulttype | Notify (ARGS &&... args) const | 
Private Attributes | |
| ThreadSafeRef< ObservableBaseRef > | _observable | 
      
  | 
  default | 
Default constructor, allocates the object.
| ~ObservableImplRef | ( | ) | 
| Result<void> Init | ( | ObserverObjectInterface * | owner, | 
| const Id & | observableName | ||
| ) | 
| void Free | ( | ) | 
| ObservableBaseRef InitFirst | ( | const ObserverObjectInterface * | owner, | 
| const char * | observableName | ||
| ) | const | 
| ObservableRef<DELEGATE> Get | ( | const ObserverObjectInterface * | owner, | 
| const char * | observableName, | ||
| Bool | createOnDemand | ||
| ) | const | 
| Int GetObserverCount | ( | ) | 
| details::GetResultType<typename DELEGATE::ResultValueType>::resulttype Notify | ( | ARGS &&... | args | ) | const | 
      
  | 
  mutableprivate |