forked from enlightenment/efl
elementary: Use callback array for monitoring callbacks in fileselector
Use callback array to register/unregister monitoring callbacks in fileselector for added safety and consistency.
This commit is contained in:
parent
3186f3a5fd
commit
c951b6b754
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue