mirror of
https://github.com/MidnightCommander/mc
synced 2024-12-22 20:36:50 +03:00
a5195d285a
Example: gboolean mkdir_callback(const gchar *event_group, const gchar *event_name, gpointer init_data, gpointer event_data) { ... /* some action for handle event */ return TRUE; /* got chance to run other callbacks for this event or */ return FALSE; /* break execution for other callbacks */ } mc_event_add ("filesystem", "mkdir", mkdir_callback, "some init data", NULL); mc_event_add ("filesystem", "mkdir", mkdir_log_callback, "some init data", NULL); mc_event_add ("filesystem", "mkdir", third_callback, NULL, NULL); /* Last add - first run. In this case execution order is * third_callback * mkdir_log_callback * mkdir_callback if third_callback fuctions will return FALSE, then other callbacks (mkdir_log_callback and mkdir_callback) never run! */ ... /* some code */ /* for example, after pressing F7 */ mc_event_raise("filesystem", "mkdir", "some event_data... path to directory"); Signed-off-by: Slava Zanko <slavazanko@gmail.com>
32 lines
1.2 KiB
C
32 lines
1.2 KiB
C
#ifndef MC_EVENT_INTERNAL_H
|
|
#define MC_EVENT_INTERNAL_H
|
|
|
|
/*** typedefs(not structures) and defined constants ********************/
|
|
|
|
/*** enums *************************************************************/
|
|
|
|
/*** structures declarations (and typedefs of structures)***************/
|
|
|
|
typedef struct mc_event_callback_struct
|
|
{
|
|
gpointer init_data;
|
|
mc_event_callback_func_t callback;
|
|
} mc_event_callback_t;
|
|
|
|
|
|
/*** global variables defined in .c file *******************************/
|
|
|
|
extern GTree *mc_event_grouplist;
|
|
|
|
/*** declarations of public functions **********************************/
|
|
|
|
GTree *mc_event_get_event_group_by_name (const gchar * event_group_name, gboolean create_new,
|
|
GError ** mcerror);
|
|
GPtrArray *mc_event_get_event_by_name (GTree * event_group, const gchar * event_name,
|
|
gboolean create_new, GError ** mcerror);
|
|
mc_event_callback_t *mc_event_is_callback_in_array (GPtrArray * callbacks,
|
|
mc_event_callback_func_t event_callback);
|
|
|
|
/*** inline functions ****************************************************************************/
|
|
#endif /* MC_EVENT_INTERNAL_H */
|