From c951b6b754534e496f1545ac65b611c6e66736fb Mon Sep 17 00:00:00 2001 From: Vitor Sousa Date: Tue, 21 Jun 2016 13:58:47 -0300 Subject: [PATCH] elementary: Use callback array for monitoring callbacks in fileselector Use callback array to register/unregister monitoring callbacks in fileselector for added safety and consistency. --- src/lib/elementary/elc_fileselector.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/lib/elementary/elc_fileselector.c b/src/lib/elementary/elc_fileselector.c index 68f5535..88fa320 100644 --- a/src/lib/elementary/elc_fileselector.c +++ b/src/lib/elementary/elc_fileselector.c @@ -66,6 +66,10 @@ static void _resource_created(void *, const Eo_Event *); static void _resource_deleted(void *, const Eo_Event *); static void _listing_request_cleanup(Listing_Request *); +EO_CALLBACKS_ARRAY_DEFINE(monitoring_callbacks, + { EFL_MODEL_EVENT_CHILD_ADDED, _resource_created }, + { EFL_MODEL_EVENT_CHILD_REMOVED, _resource_deleted }); + static void _model_free_eo_cb(void *data) { @@ -77,16 +81,14 @@ static void _monitoring_start(Elm_Fileselector *fs, Elm_Fileselector_Data *sd, Efl_Model *model) { sd->monitoring = EINA_TRUE; - eo_event_callback_add(model, EFL_MODEL_EVENT_CHILD_ADDED, _resource_created, fs); - eo_event_callback_add(model, EFL_MODEL_EVENT_CHILD_REMOVED, _resource_deleted, fs); + eo_event_callback_array_add(model, monitoring_callbacks(), fs); } static void _monitoring_stop(Elm_Fileselector *fs, Elm_Fileselector_Data *sd, Efl_Model *model) { sd->monitoring = EINA_FALSE; - eo_event_callback_del(model, EFL_MODEL_EVENT_CHILD_ADDED, _resource_created, fs); - eo_event_callback_del(model, EFL_MODEL_EVENT_CHILD_REMOVED, _resource_deleted, fs); + eo_event_callback_array_del(model, monitoring_callbacks(), fs); } static void -- 2.7.4