diff options
author | Vitor Sousa <vitorsousasilva@gmail.com> | 2016-06-21 13:58:47 -0300 |
---|---|---|
committer | Vitor Sousa <vitorsousasilva@gmail.com> | 2016-06-21 14:04:38 -0300 |
commit | c951b6b754534e496f1545ac65b611c6e66736fb (patch) | |
tree | 1665f4132bf2f8d6aa1677bdff062d49cf63b5a5 | |
parent | 3186f3a5fd2e2659ae6084bae89ef602da8d7b6f (diff) | |
download | efl-c951b6b754534e496f1545ac65b611c6e66736fb.tar.gz |
elementary: Use callback array for monitoring callbacks in fileselector
Use callback array to register/unregister monitoring callbacks in
fileselector for added safety and consistency.
-rw-r--r-- | src/lib/elementary/elc_fileselector.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/lib/elementary/elc_fileselector.c b/src/lib/elementary/elc_fileselector.c index 68f5535713..88fa320c20 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 |