Related to idispatcher.h.
More...
Go to the source code of this file.
|
| MCR_API int | mcr_dispatch_lock (struct mcr_context *ctx) |
| |
| MCR_API int | mcr_dispatch_unlock (struct mcr_context *ctx) |
| |
| MCR_API bool | mcr_dispatch (struct mcr_context *ctx, struct mcr_Signal *sigPt) |
| | Blocking signal intercept. More...
|
| |
| MCR_API int | mcr_dispatch_set_dispatchers (struct mcr_context *ctx, struct mcr_IDispatcher **dispatchers, size_t count) |
| |
| MCR_API void | mcr_dispatch_set_generic_dispatcher (struct mcr_context *ctx, struct mcr_IDispatcher *dispatcherPt) |
| |
| MCR_API size_t | mcr_dispatch_count (struct mcr_context *ctx) |
| |
| MCR_API bool | mcr_dispatch_enabled (struct mcr_context *ctx, struct mcr_ISignal *isigPt) |
| |
| MCR_API void | mcr_dispatch_set_enabled (struct mcr_context *ctx, struct mcr_ISignal *typePt, bool enableFlag) |
| |
| MCR_API void | mcr_dispatch_set_enabled_all (struct mcr_context *ctx, bool enableFlag) |
| |
| MCR_API int | mcr_dispatch_add (struct mcr_context *ctx, struct mcr_Signal *interceptPt, void *receiver, mcr_dispatch_receive_fnc receiveFnc) |
| |
| MCR_API int | mcr_dispatch_add_generic (struct mcr_context *ctx, struct mcr_Signal *interceptPt, void *receiver, mcr_dispatch_receive_fnc receiveFnc) |
| |
| MCR_API void | mcr_dispatch_clear (struct mcr_context *ctx, struct mcr_ISignal *isigPt) |
| |
| MCR_API void | mcr_dispatch_clear_all (struct mcr_context *ctx) |
| |
| MCR_API void | mcr_dispatch_modify (struct mcr_context *ctx, struct mcr_Signal *sigPt, unsigned int *modifiersPt) |
| | Modify modifiers without dispatching. More...
|
| |
| MCR_API void | mcr_dispatch_remove (struct mcr_context *ctx, struct mcr_ISignal *typePt, void *remReceiver) |
| |
| MCR_API void | mcr_dispatch_remove_all (struct mcr_context *ctx, void *remReceiver) |
| |
| MCR_API void | mcr_dispatch_trim (struct mcr_context *ctx, struct mcr_ISignal *isigPt) |
| |
| MCR_API void | mcr_dispatch_trim_all (struct mcr_context *ctx) |
| |
Related to idispatcher.h.
Dispatchers are the consumers of modifiers.
Definition in file dispatch.h.
§ mcr_dispatch()
§ mcr_dispatch_add()
Add a receiver to the dispatch for given signal.
- Parameters
-
| interceptPt | opt Used for dispatch logic and to find the dispatcher to add to |
| receiver | opt If null the receiverFnc will be sent with a null pointer. This must be set for null receiver function, or mcr_Trigger_receive |
| receiveFnc | opt If null mcr_Trigger_receive will be used. If receiver is not set, then this cannot be used with mcr_Trigger_receive. |
- Returns
- reterr
§ mcr_dispatch_add_generic()
Add a receiver to the generic dispatcher
The generic dispatcher is dispatched for all signals. If a signal is provided the address will be used for dispatch logic.
- Parameters
-
| interceptPt | opt Used for dispatch logic |
| receiver | opt If null the receiverFnc will be sent with a null pointer. This must be set for null receiver function, or mcr_Trigger_receive |
| receiveFnc | opt If null mcr_Trigger_receive will be used. If receiver is not set, then this cannot be used with mcr_Trigger_receive. |
- Returns
- reterr
§ mcr_dispatch_clear()
Remove all receivers for a signal type
- Parameters
-
| isigPt | opt Signal type to remove receivers for |
- Returns
- reterr
§ mcr_dispatch_clear_all()
| MCR_API void mcr_dispatch_clear_all |
( |
struct mcr_context * |
ctx | ) |
|
Remove all receivers for all registered dispatchers
- Returns
- reterr
§ mcr_dispatch_count()
| MCR_API size_t mcr_dispatch_count |
( |
struct mcr_context * |
ctx | ) |
|
Get the number of registered dispatchers, including null values
- Returns
- retind
§ mcr_dispatch_enabled()
Dispatching enabled for a signal type
- Parameters
-
| isigPt | opt Signal interface |
- Returns
- True if signal interface has a dispatcher
§ mcr_dispatch_lock()
| MCR_API int mcr_dispatch_lock |
( |
struct mcr_context * |
ctx | ) |
|
Enter dispatch critical section. Do not modify dispatchers or receivers in the middle of dispatch.
- Returns
- reterr
§ mcr_dispatch_modify()
| MCR_API void mcr_dispatch_modify |
( |
struct mcr_context * |
ctx, |
|
|
struct mcr_Signal * |
sigPt, |
|
|
unsigned int * |
modifiersPt |
|
) |
| |
§ mcr_dispatch_remove()
| MCR_API void mcr_dispatch_remove |
( |
struct mcr_context * |
ctx, |
|
|
struct mcr_ISignal * |
typePt, |
|
|
void * |
remReceiver |
|
) |
| |
Remove a receiver callback for a signal type.
- Parameters
-
| typePt | opt Signal type to remove from |
| remReceiver | opt The receiver callback to be removed |
- Returns
- reterr
§ mcr_dispatch_remove_all()
| MCR_API void mcr_dispatch_remove_all |
( |
struct mcr_context * |
ctx, |
|
|
void * |
remReceiver |
|
) |
| |
Remove a receiver callback for all signal types.
- Parameters
-
| remReceiver | opt The receiver object to be removed |
- Returns
- reterr
§ mcr_dispatch_set_dispatchers()
§ mcr_dispatch_set_enabled()
| MCR_API void mcr_dispatch_set_enabled |
( |
struct mcr_context * |
ctx, |
|
|
struct mcr_ISignal * |
typePt, |
|
|
bool |
enableFlag |
|
) |
| |
Enable dispatching from the given signal type.
- Parameters
-
| typePt | opt Signal interface to enable dispatch |
| enable | True to set the correct dispatcher for the signal interface. Otherwise set the signal interface dispatcher to null. |
§ mcr_dispatch_set_enabled_all()
| MCR_API void mcr_dispatch_set_enabled_all |
( |
struct mcr_context * |
ctx, |
|
|
bool |
enableFlag |
|
) |
| |
Set dispatching enabled for all registered dispatchers
- Parameters
-
| enable | True to set the correct dispatcher for all signal interfaces. Otherwise set the signal interface dispatchers are set to null. |
§ mcr_dispatch_set_generic_dispatcher()
§ mcr_dispatch_trim()
Minimize allocation for a signal type.
- Parameters
-
| isigPt | opt Signal type to minimize |
- Returns
- reterr
§ mcr_dispatch_trim_all()
| MCR_API void mcr_dispatch_trim_all |
( |
struct mcr_context * |
ctx | ) |
|
Minimize allocation for all dispatchers.
- Returns
- reterr
§ mcr_dispatch_unlock()
| MCR_API int mcr_dispatch_unlock |
( |
struct mcr_context * |
ctx | ) |
|
Exit dispatch critical section. Do not modify dispatchers or receivers in the middle of dispatch.
- Returns
- reterr