![]() |
Libmacro
0.2
Libmacro is an extensible macro and hotkey library.
|
mcr_IDispatcher - Blocking dispatcher, intercept signals before sending. More...
#include "mcr/base/types.h"Go to the source code of this file.
Classes | |
| struct | mcr_IDispatcher |
Macros | |
| #define | mcr_DispatchReceiver_compare mcr_ref_compare |
Typedefs | |
| typedef int(* | mcr_IDispatcher_fnc) (struct mcr_IDispatcher *idispPt) |
| typedef int(* | mcr_IDispatcher_add_fnc) (struct mcr_IDispatcher *idispPt, struct mcr_Signal *sigPt, void *receiver, mcr_dispatch_receive_fnc receiverFnc) |
| typedef void(* | mcr_IDispatcher_remove_fnc) (struct mcr_IDispatcher *idispPt, void *remReceiver) |
| typedef bool(* | mcr_IDispatcher_dispatch_fnc) (struct mcr_IDispatcher *idispPt, struct mcr_Signal *sigPt, unsigned int mods) |
| typedef void(* | mcr_IDispatcher_modify_fnc) (struct mcr_IDispatcher *idispPt, struct mcr_Signal *sigPt, unsigned int *modsPt) |
Functions | |
| MCR_API void | mcr_IDispatcher_ctor (struct mcr_IDispatcher *idispPt, struct mcr_context *ctx, void(*deinit)(struct mcr_IDispatcher *), mcr_IDispatcher_add_fnc add, void(*clear)(struct mcr_IDispatcher *), mcr_IDispatcher_dispatch_fnc dispatch, mcr_IDispatcher_modify_fnc modifier, mcr_IDispatcher_remove_fnc remove, void(*trim)(struct mcr_IDispatcher *)) |
| MCR_API struct mcr_IDispatcher * | mcr_IDispatcher_from_id (struct mcr_context *ctx, size_t signalTypeId) |
mcr_IDispatcher - Blocking dispatcher, intercept signals before sending.
Dispatchers are the consumers of modifiers.
Definition in file idispatcher.h.
| #define mcr_DispatchReceiver_compare mcr_ref_compare |
Compare mcr_DispatchReceiver, only compare receivers.
Definition at line 36 of file idispatcher.h.
| typedef int(* mcr_IDispatcher_add_fnc) (struct mcr_IDispatcher *idispPt, struct mcr_Signal *sigPt, void *receiver, mcr_dispatch_receive_fnc receiverFnc) |
Add dispatching receiver for a signal.
| idispPt | mcr_IDispatcher * Object which registers dispatch logic, and dispatches signals with modifiers |
| sigPt | opt Signal-specific logic for what to intercept |
| 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 |
| receiverFnc | opt If null mcr_Trigger_receive will be used. If receiver is not set, then this cannot be used with mcr_Trigger_receive. |
Definition at line 57 of file idispatcher.h.
| typedef bool(* mcr_IDispatcher_dispatch_fnc) (struct mcr_IDispatcher *idispPt, struct mcr_Signal *sigPt, unsigned int mods) |
Dispatch signal and modifiers
| idispPt | mcr_IDispatcher * |
| sigPt | opt Intercepted signal |
| mods | Intercepted modifiers |
Definition at line 75 of file idispatcher.h.
| typedef int(* mcr_IDispatcher_fnc) (struct mcr_IDispatcher *idispPt) |
Function on dispatcher with no arguments.
| dispPt | mcr_IDispatcher * |
Definition at line 43 of file idispatcher.h.
| typedef void(* mcr_IDispatcher_modify_fnc) (struct mcr_IDispatcher *idispPt, struct mcr_Signal *sigPt, unsigned int *modsPt) |
Modify modifiers from given signal
| idispPt | mcr_IDispatcher * |
| sigPt | opt Intercepted signal |
| modsPt | The modifiers passed in will be modified directly. |
Definition at line 83 of file idispatcher.h.
| typedef void(* mcr_IDispatcher_remove_fnc) (struct mcr_IDispatcher *idispPt, void *remReceiver) |
Remove receiver
| idispPt | mcr_IDispatcher * |
| remReceiver | opt Receiver to remove |
Definition at line 66 of file idispatcher.h.
| MCR_API void mcr_IDispatcher_ctor | ( | struct mcr_IDispatcher * | idispPt, |
| struct mcr_context * | ctx, | ||
| void(*)(struct mcr_IDispatcher *) | deinit, | ||
| mcr_IDispatcher_add_fnc | add, | ||
| void(*)(struct mcr_IDispatcher *) | clear, | ||
| mcr_IDispatcher_dispatch_fnc | dispatch, | ||
| mcr_IDispatcher_modify_fnc | modifier, | ||
| mcr_IDispatcher_remove_fnc | remove, | ||
| void(*)(struct mcr_IDispatcher *) | trim | ||
| ) |
| ctx | opt mcr_IDispatcher::ctx |
| add | opt mcr_IDispatcher::add |
| clear | opt mcr_IDispatcher::clear |
| dispatch | opt mcr_IDispatcher::dispatch |
| modifier | opt mcr_IDispatcher::modifier |
| remove | opt mcr_IDispatcher::remove |
| trim | opt mcr_IDispatcher::trim |
| MCR_API struct mcr_IDispatcher* mcr_IDispatcher_from_id | ( | struct mcr_context * | ctx, |
| size_t | signalTypeId | ||
| ) |
Get a dispatcher from a signal id.
| signalTypeId | Id of the signal type |