12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #ifndef MC__EVENT_H
- #define MC__EVENT_H
- #include "event-types.h"
- /*** typedefs(not structures) and defined constants **********************************************/
- struct event_info_t;
- typedef gboolean (*mc_event_callback_func_t) (struct event_info_t *, gpointer, GError **);
- /*** enums ***************************************************************************************/
- /*** structures declarations (and typedefs of structures)*****************************************/
- typedef union
- {
- gboolean b;
- int i;
- char *s;
- void *p;
- } event_return_t;
- typedef struct event_info_t
- {
- const char *group_name;
- const char *name;
- gpointer init_data;
- event_return_t *ret;
- } event_info_t;
- typedef struct
- {
- const char *name;
- mc_event_callback_func_t cb;
- gpointer init_data;
- } event_init_group_t;
- typedef struct
- {
- const char *group_name;
- event_init_group_t *events;
- } event_init_t;
- /*** global variables defined in .c file *********************************************************/
- /*** declarations of public functions ************************************************************/
- /* event.c: */
- gboolean mc_event_init (GError **);
- gboolean mc_event_deinit (GError **);
- /* manage.c: */
- gboolean mc_event_add (const gchar *, const gchar *, mc_event_callback_func_t, gpointer, GError **);
- void mc_event_del (const gchar *, const gchar *, mc_event_callback_func_t, gpointer);
- void mc_event_destroy (const gchar *, const gchar *);
- void mc_event_group_del (const gchar *);
- gboolean mc_event_present (const gchar *, const gchar *);
- gboolean mc_event_mass_add (event_init_t *, GError **);
- /* raise.c: */
- gboolean
- mc_event_dispatch (const gchar * event_group_name, const gchar * event_name, gpointer event_data,
- event_return_t * ret, GError ** error);
- /*** inline functions ****************************************************************************/
- #endif /* MC__EVENT_H */
|