25 #ifndef MCR_BASE_ITRIGGER_H_ 26 #define MCR_BASE_ITRIGGER_H_ 34 typedef bool (*mcr_Trigger_receive_fnc)(
struct mcr_Trigger *triggerPt,
35 struct mcr_Signal *dispatchSignal,
unsigned int mods);
int(* mcr_compare_fnc)(const void *lhsPt, const void *rhsPt)
struct mcr_context * context
MCR_API void mcr_ITrigger_deinit(struct mcr_ITrigger *itrigPt)
MCR_API void mcr_ITrigger_init(struct mcr_ITrigger *itrigPt)
MCR_API size_t mcr_ITrigger_id(struct mcr_ITrigger *itrigPt)
int(* mcr_data_fnc)(void *dataPt)
MCR_API const char * mcr_ITrigger_name(struct mcr_context *ctx, struct mcr_ITrigger *itrigPt)
mcr_Trigger_receive_fnc receive
void(* deallocate)(void *)
int(* mcr_copy_fnc)(void *destinationPt, const void *sourcePt)
MCR_API struct mcr_ITrigger * mcr_ITrigger_from_id(struct mcr_context *ctx, size_t id)
struct mcr_Interface interface
MCR_API void mcr_ITrigger_ctor(struct mcr_ITrigger *itrigPt, struct mcr_context *context, size_t dataSize, void *(*allocate)(), void(*deallocate)(void *), mcr_data_fnc init, mcr_data_fnc deinit, mcr_compare_fnc compare, mcr_copy_fnc copy, mcr_Trigger_receive_fnc receiveFnc)
MCR_API struct mcr_ITrigger * mcr_ITrigger_from_name(struct mcr_context *ctx, const char *name)
MCR_API struct mcr_IRegistry * mcr_ITrigger_registry(struct mcr_context *ctx)