A subscribe and publish pattern for Quantum callbacks. A Quantum callback is a invocation from inside the simulation during certain situations.
More...
|
| CallbackDispatcher () |
| Constructor calls GetBuiltInTypes. More...
|
|
bool | HasAnyListeners (CallbackBase e) |
| Returns true if the callback has any listeners.
|
|
bool | Publish (CallbackBase e) |
| Publish a callback. More...
|
|
void | Clear () |
| Removes all subscriptions. More...
|
|
int | GetIndex< TDispatchable > () |
| Returns the index of a specific dispatchable type. Throws in case the type is not registered. More...
|
|
void | RemoveDeadListeners () |
| Removes every subscription for which GetListenerStatus returns ListenerStatus.Dead More...
|
|
DispatcherSubscription | Subscribe< TDispatchable > (object listener, DispatchableHandler< TDispatchable > handler, bool once=false, uint flags=0, DispatchableFilter filter=null) |
| Creates a subscription. Subscriptions can be cancelled manually by calling UnsubscribeHandler<TDispatchable>(DispatchableHandler<TDispatchable>), but as long as the derived class overrides GetListenerStatus(object, uint) and calls DispatcherBase.RemoveDeadListeners() periodically, the dispatcher will be free of memory leaks. More...
|
|
IDisposable | SubscribeManual< TDispatchable > (DispatchableHandler< TDispatchable > handler, bool once=false, DispatchableFilter filter=null) |
| Creates a subscription that is active until the caller disposes the result. More...
|
|
IDisposable | SubscribeManual< TDispatchable > (object listener, DispatchableHandler< TDispatchable > handler, bool once=false, DispatchableFilter filter=null) |
| Creates a subscription that is active until the caller disposes the result or calls Unsubscribe. More...
|
|
bool | Unsubscribe (DispatcherSubscription subscription) |
| Cancel a specific subscription. More...
|
|
bool | UnsubscribeHandler< TDispatchable > (DispatchableHandler< TDispatchable > handler) |
| Cancel every subscription using a handler. More...
|
|
bool | UnsubscribeListener (object listener) |
| Cancel every subscription for a listener. More...
|
|
bool | UnsubscribeListener< TDispatchable > (object listener) |
| Cancel every specific subscription type for a listener. More...
|
|
|
| CallbackDispatcher (Dictionary< Type, Int32 > callbackTypes) |
| Constructor to add the callback type mapping manually. More...
|
|
| DispatcherBase (Dictionary< Type, Int32 > typeToIndex) |
| Initializes the dispatcher with a mapping of types to ids. The ids are used to quickly find the correct event handler. More...
|
|
virtual ListenerStatus | GetListenerStatus (object listener, uint flags) |
| Returns ListenerStatus.Active if listener is not null , ListenerStatus.Dead otherwise. Override this method to provide custom listener status. More...
|
|
bool | InvokeMeta (int metaIndex, IDispatchable e) |
| Invokes handlers for a specific dispatchable. More...
|
|
bool | InvokeMeta< TDispatchable > (TDispatchable e) |
| Invokes handlers for a specific dispatchable. More...
|
|
DispatcherSubscription | SubscribeInternal< TDispatchable > (object listener, DispatchableHandler< TDispatchable > handler, DispatchableFilter filter, uint flags) |
| Creates a subscription. Subscriptions can be cancelled manually by calling UnsubscribeHandler<TDispatchable>(DispatchableHandler<TDispatchable>). More...
|
|
IDisposable | SubscribeManualInternal< TDispatchable > (object listener, DispatchableHandler< TDispatchable > handler, DispatchableFilter filter, bool once) |
| Creates a subscription that is active until the caller disposes the result. More...
|
|
bool | UnsubscribeInternal< TDispatchable > (object listener, DispatchableHandler< TDispatchable > handler) |
| Unsubscribes a listener from a handler. More...
|
|
A subscribe and publish pattern for Quantum callbacks. A Quantum callback is a invocation from inside the simulation during certain situations.