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(void)> > |
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, Interface) |
#define | PRIVATE_MAXON_OBSERVABLE_IMPL_ |
#define | MAXON_OBSERVABLE_IMPL(NAME, ...) |
#define | OBSERVABLE_IMPL_NONVIRTUAL(NAME) |
#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_DECLARATION (ComponentDescriptor, ObservableCombinerRunAllBoolOrComponent, "net.maxon.component.observablecombinerrunallboolor") | |
MAXON_DECLARATION (ComponentDescriptor, ObservableCombinerRunAllBoolUntilFalse, "net.maxon.component.observablecombinerrunallbooluntilfalse") | |
MAXON_DECLARATION (ComponentDescriptor, ObservableCombinerRunAllBoolUntilTrue, "net.maxon.component.observablecombinerrunallbooluntiltrue") | |
MAXON_DECLARATION (ComponentDescriptor, ObservableCombinerRunAllEnumFlagsOrComponent, "net.maxon.component.observablecombinerrunallenumflagsor") | |
MAXON_DECLARATION (ComponentDescriptor, ObservableCombinerRunAllEnumFlags64OrComponent, "net.maxon.component.observablecombinerrunallenumflags64or") | |
MAXON_DECLARATION (ComponentDescriptor, ObservableCombinerRunAllAggregateErrorsComponent, "net.maxon.component.observablecombinerrunallaggregateerrors") | |
MAXON_DECLARATION (Class< FunctionBaseRef >, FunctionBaseClass, "net.maxon.class.functionbase") | |
MAXON_DECLARATION (Class< ObservableBaseRef >, ObservableClass, "net.maxon.class.observable") | |
Variables | |
static constexpr Int | ADDOBSERVER_DEFAULTPRIORITY |
#define PRIVATE_MAXON_OBSERVABLE_IMPL | ( | NAME, | |
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:2794 |
#define OBSERVABLE_IMPL_NONVIRTUAL | ( | NAME | ) |
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 MAXON_OBSERVABLE | ( | RETTYPE, | |
NAME, | |||
... | |||
) |
Defined Observables for the source processor.
#define MAXON_OBSERVABLE_STATIC | ( | RETTYPE, | |
NAME, | |||
... | |||
) |