Classes | |
| struct | Undefined | 
| class | CallMe< T > | 
| class | CallMe< void > | 
| class | CallMe< Result< T > > | 
| class | CallMe< Result< void > > | 
| class | UnpackConstData< RESULT(ARGS...)> | 
| class | PackConstData< ARGS > | 
| struct | GetResultType< T > | 
| struct | GetResultType< Data > | 
| struct | GetResultType< void > | 
| struct | GetResultType< Result< T > > | 
| struct | GetResultType< Result< Data > > | 
| struct | GetResultType< Result< void > > | 
| class | FunctionBaseInterface | 
| class | CombinerInterface | 
| class | ObservableBaseInterface | 
| class | ObservableNotifyRef< Delegate< RESULT(ARGS...)> > | 
| class | ObservableRef< DELEGATE > | 
| class | ObservableStaticInterface | 
| class | ObservableImplRef< ObservableClass, DELEGATE > | 
Namespaces | |
| maxon | |
| maxon::details | |
Macros | |
| #define | PRIVATE_MAXON_OBSERVABLE_IMPL(NAME, ID, Interface) | 
| #define | PRIVATE_MAXON_OBSERVABLE_IMPL_ | 
| #define | MAXON_OBSERVABLE_IMPL(NAME, ...) | 
| #define | OBSERVABLE_IMPL_NONVIRTUAL(NAME, OBJECT) | 
| #define | MAXON_OBSERVABLE(RETTYPE, NAME, ...) | 
| #define | MAXON_OBSERVABLE_STATIC(RETTYPE, NAME, ...) | 
Typedefs | |
| using | ObservableForwardFunction = Result< Data >(*)(const DelegateBase &observerFunction, const Block< const ConstDataPtr > &data) | 
| using | FunctionBaseWeakRef = WeakRef< FunctionBaseRef > | 
Functions | |
| template<typename... ARGS> | |
| static auto | GetUnpackConstData (const Delegate< ARGS... > &) -> UnpackConstData< ARGS... > | 
| MAXON_DECLARATION (ComponentDescriptor, ObservableCombinerRunAllComponent, "net.maxon.component.observablecombinerrunall", MAXON_IMPLEMENTATION_MODULE("net.maxon.kernel")) | |
| MAXON_DECLARATION (ComponentDescriptor, ObservableCombinerRunAllBoolOrComponent, "net.maxon.component.observablecombinerrunallboolor", MAXON_IMPLEMENTATION_MODULE("net.maxon.kernel")) | |
| MAXON_DECLARATION (ComponentDescriptor, ObservableCombinerRunAllBoolUntilFalse, "net.maxon.component.observablecombinerrunallbooluntilfalse", MAXON_IMPLEMENTATION_MODULE("net.maxon.kernel")) | |
| MAXON_DECLARATION (ComponentDescriptor, ObservableCombinerRunAllBoolUntilTrue, "net.maxon.component.observablecombinerrunallbooluntiltrue", MAXON_IMPLEMENTATION_MODULE("net.maxon.kernel")) | |
| MAXON_DECLARATION (ComponentDescriptor, ObservableCombinerRunAllEnumFlagsOrComponent, "net.maxon.component.observablecombinerrunallenumflagsor", MAXON_IMPLEMENTATION_MODULE("net.maxon.kernel")) | |
| MAXON_DECLARATION (ComponentDescriptor, ObservableCombinerRunAllEnumFlags64OrComponent, "net.maxon.component.observablecombinerrunallenumflags64or", MAXON_IMPLEMENTATION_MODULE("net.maxon.kernel")) | |
| MAXON_DECLARATION (ComponentDescriptor, ObservableCombinerRunAllAggregateErrorsComponent, "net.maxon.component.observablecombinerrunallaggregateerrors", MAXON_IMPLEMENTATION_MODULE("net.maxon.kernel")) | |
| MAXON_DECLARATION (Class< FunctionBaseRef >, FunctionBaseClass, "net.maxon.class.functionbase", MAXON_IMPLEMENTATION_MODULE("net.maxon.kernel")) | |
| MAXON_DECLARATION (Class< ObservableBaseRef >, ObservableClass, "net.maxon.class.observable", MAXON_IMPLEMENTATION_MODULE("net.maxon.kernel")) | |
Variables | |
| static constexpr Int | ADDOBSERVER_DEFAULTPRIORITY | 
| #define PRIVATE_MAXON_OBSERVABLE_IMPL | ( | NAME, | |
| ID, | |||
| Interface | |||
| ) | 
| #define PRIVATE_MAXON_OBSERVABLE_IMPL_ | 
| #define MAXON_OBSERVABLE_IMPL | ( | NAME, | |
| ... | |||
| ) | 
Macro for observable implementation. Use MAXON_OBSERVABLE_IMPL(observableName) within the implementation of interfaces which offer observables.
| [in] | NAME | Name of the observable in the interface class. | 
| [in] | ... | Optional: The interface of NAME. You need to specify this when the component doesn't implement exactly the interface of NAME, but e.g. a derived interface or additional interfaces.  Example usage: 
class NetworkZeroConfBonjourBrowserImpl : public Component<NetworkZeroConfBonjourBrowserImpl, NetworkZeroConfBrowserInterface> 
{ 
public: 
  Result<void> InitComponent() 
  { 
      return err; 
    iferr (_ObservableResolved.Init(self, Id("ObservableResolved"))) 
      return err; 
    return true; 
  } 
  void FreeComponent() 
  { 
    _ObservableDetected.Free(); 
    _ObservableResolved.Free(); 
  } 
  MAXON_OBSERVABLE_IMPL(ObservableDetected); 
  MAXON_OBSERVABLE_IMPL(ObservableResolved); 
}; 
ComponentWithBase< C, ComponentRoot, INTERFACES... > Component Definition: objectbase.h:2798  | 
| #define OBSERVABLE_IMPL_NONVIRTUAL | ( | NAME, | |
| OBJECT | |||
| ) | 
Macro for observable implementation in non-virtual interfaces.
| [in] | NAME | Name of the observable in the interface class.  Example usage: 
class TimerImpl : public TimerInterface 
{ 
  MAXON_IMPLEMENTATION(TimerImpl) 
public: 
  TimerImpl() 
  { 
    _notificationObject = ObserverObjectClass().Create().GetPointer(); 
    _ObservableTimerStarted.Init(_notificationObject, Id("ObservableTimerStarted")); 
  } 
  ~TimerImpl() 
  { 
    _ObservableTimerStarted.Free(); 
  } 
  void Start() 
  { 
    _ObservableTimerStarted.Notify(); 
  } 
  OBSERVABLE_IMPL_NONVIRTUAL(ObservableTimerStarted); 
private: 
  ObserverObjectRef _notificationObject; 
}; 
#define OBSERVABLE_IMPL_NONVIRTUAL(NAME, OBJECT) Definition: observable.h:291  | 
| #define MAXON_OBSERVABLE | ( | RETTYPE, | |
| NAME, | |||
| ... | |||
| ) | 
Defined Observables for the source processor.
| #define MAXON_OBSERVABLE_STATIC | ( | RETTYPE, | |
| NAME, | |||
| ... | |||
| ) |