Eo: Remove del_lazy.

SVN revision: 71657
This commit is contained in:
Tom Hacohen 2012-06-03 08:42:15 +00:00
parent 0ca79b594c
commit b8aa1e41ed
3 changed files with 4 additions and 62 deletions

View File

@ -49,25 +49,13 @@ main(int argc, char *argv[])
eo_do(obj, eo_event_callback_del(EV_A_CHANGED, _a_changed_cb, (void *) 4));
fail_if(pd->cb_count != 2);
void *ret;
eo_do(obj, eo_event_callback_del_lazy(EV_A_CHANGED, _a_changed_cb, &ret));
eo_do(obj, eo_event_callback_del(EV_A_CHANGED, _a_changed_cb, (void *) 2));
fail_if(pd->cb_count != 1);
eo_do(obj, eo_event_callback_del_lazy(EV_A_CHANGED, NULL, &ret));
fail_if(ret);
fail_if(pd->cb_count != 1);
eo_do(obj, eo_event_callback_del(EV_A_CHANGED, NULL, 0));
fail_if(pd->cb_count != 1);
eo_do(obj, eo_event_callback_del_lazy(EV_A_CHANGED, _a_changed_cb, &ret));
eo_do(obj, eo_event_callback_del(EV_A_CHANGED, _a_changed_cb, (void *) 1));
fail_if(pd->cb_count != 0);
eo_do(obj, eo_event_callback_del_lazy(EV_A_CHANGED, _a_changed_cb, &ret));
fail_if(ret);
fail_if(pd->cb_count != 0);
/* Freeze/thaw. */
int fcount = 0;
cb_count = 0;
@ -116,12 +104,8 @@ main(int argc, char *argv[])
eo_do(obj, eo_event_freeze_get(&fcount));
fail_if(fcount != 0);
eo_do(obj, eo_event_callback_del_lazy(EV_A_CHANGED, _a_changed_cb, &ret));
fail_if(!ret);
eo_do(obj, eo_event_callback_del_lazy(EV_A_CHANGED, _a_changed_cb, &ret));
fail_if(!ret);
eo_do(obj, eo_event_callback_del_lazy(EV_A_CHANGED, _a_changed_cb, &ret));
fail_if(ret);
eo_do(obj, eo_event_callback_del(EV_A_CHANGED, _a_changed_cb, (void *) 1));
eo_do(obj, eo_event_callback_del(EV_A_CHANGED, _a_changed_cb, (void *) 2));
/* Global Freeze/thaw. */
fcount = 0;

View File

@ -857,7 +857,6 @@ enum {
EO_BASE_SUB_ID_WREF_DEL,
EO_BASE_SUB_ID_EVENT_CALLBACK_PRIORITY_ADD,
EO_BASE_SUB_ID_EVENT_CALLBACK_DEL,
EO_BASE_SUB_ID_EVENT_CALLBACK_DEL_LAZY,
EO_BASE_SUB_ID_EVENT_CALLBACK_CALL,
EO_BASE_SUB_ID_EVENT_CALLBACK_FORWARDER_ADD,
EO_BASE_SUB_ID_EVENT_CALLBACK_FORWARDER_DEL,
@ -1127,17 +1126,6 @@ typedef Eina_Bool (*Eo_Event_Cb)(void *data, Eo *obj, const Eo_Event_Description
#define eo_event_callback_priority_add(desc, priority, cb, data) EO_BASE_ID(EO_BASE_SUB_ID_EVENT_CALLBACK_PRIORITY_ADD), EO_TYPECHECK(const Eo_Event_Description *, desc), EO_TYPECHECK(Eo_Callback_Priority, priority), EO_TYPECHECK(Eo_Event_Cb, cb), EO_TYPECHECK(const void *, data)
/**
* @def eo_event_callback_del_lazy
* @brief Del a callback for an event
* @param[in] desc The description of the event to listen to.
* @param[in] func the callback to delete.
* @param[out] user_data The user data associated with the callback func.
*
* @see eo_event_callback_del()
*/
#define eo_event_callback_del_lazy(desc, func, user_data) EO_BASE_ID(EO_BASE_SUB_ID_EVENT_CALLBACK_DEL_LAZY), EO_TYPECHECK(const Eo_Event_Description *, desc), EO_TYPECHECK(Eo_Event_Cb, func), EO_TYPECHECK(void **, user_data)
/**
* @def eo_event_callback_del
* @brief Del a callback with a specific data associated to it for an event.
@ -1145,7 +1133,6 @@ typedef Eina_Bool (*Eo_Event_Cb)(void *data, Eo *obj, const Eo_Event_Description
* @param[in] func the callback to delete.
* @param[in] user_data The data to compare.
*
* @see eo_event_callback_del_lazy()
*/
#define eo_event_callback_del(desc, func, user_data) EO_BASE_ID(EO_BASE_SUB_ID_EVENT_CALLBACK_DEL), EO_TYPECHECK(const Eo_Event_Description *, desc), EO_TYPECHECK(Eo_Event_Cb, func), EO_TYPECHECK(const void *, user_data)

View File

@ -312,33 +312,6 @@ _ev_cb_priority_add(Eo *obj, void *class_data, va_list *list)
eo_do(obj, eo_event_callback_call(EO_EV_CALLBACK_ADD, desc, NULL));
}
static void
_ev_cb_del_lazy(Eo *obj, void *class_data, va_list *list)
{
Private_Data *pd = (Private_Data *) class_data;
const Eo_Event_Description *desc = va_arg(*list, const Eo_Event_Description *);
Eo_Event_Cb func = va_arg(*list, Eo_Event_Cb);
void **ret = va_arg(*list, void **);
Eo_Callback_Description *cb;
EINA_INLIST_FOREACH(pd->callbacks, cb)
{
if ((cb->event == desc) && (cb->func == func))
{
void *data;
data = cb->func_data;
cb->delete_me = EINA_TRUE;
_eo_callbacks_clear(pd);
if (ret) *ret = data;
eo_do(obj, eo_event_callback_call(EO_EV_CALLBACK_DEL, desc, NULL));
return;
}
}
if (ret) *ret = NULL;
}
static void
_ev_cb_del(Eo *obj, void *class_data, va_list *list)
{
@ -529,7 +502,6 @@ _class_constructor(Eo_Class *klass)
EO_OP_FUNC_CONST(EO_BASE_ID(EO_BASE_SUB_ID_WREF_DEL), _wref_del),
EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_EVENT_CALLBACK_PRIORITY_ADD), _ev_cb_priority_add),
EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_EVENT_CALLBACK_DEL), _ev_cb_del),
EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_EVENT_CALLBACK_DEL_LAZY), _ev_cb_del_lazy),
EO_OP_FUNC_CONST(EO_BASE_ID(EO_BASE_SUB_ID_EVENT_CALLBACK_CALL), _ev_cb_call),
EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_EVENT_CALLBACK_FORWARDER_ADD), _ev_cb_forwarder_add),
EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_EVENT_CALLBACK_FORWARDER_DEL), _ev_cb_forwarder_del),
@ -553,7 +525,6 @@ static const Eo_Op_Description op_desc[] = {
EO_OP_DESCRIPTION_CONST(EO_BASE_SUB_ID_WREF_DEL, "?", "Delete the weak ref."),
EO_OP_DESCRIPTION(EO_BASE_SUB_ID_EVENT_CALLBACK_PRIORITY_ADD, "?", "Add an event callback with a priority."),
EO_OP_DESCRIPTION(EO_BASE_SUB_ID_EVENT_CALLBACK_DEL, "?", "Delete an event callback"),
EO_OP_DESCRIPTION(EO_BASE_SUB_ID_EVENT_CALLBACK_DEL_LAZY, "?", "Delete an event callback in a lazy way."),
EO_OP_DESCRIPTION_CONST(EO_BASE_SUB_ID_EVENT_CALLBACK_CALL, "?", "Call the event callbacks for an event."),
EO_OP_DESCRIPTION(EO_BASE_SUB_ID_EVENT_CALLBACK_FORWARDER_ADD, "?", "Add an event forwarder."),
EO_OP_DESCRIPTION(EO_BASE_SUB_ID_EVENT_CALLBACK_FORWARDER_DEL, "?", "Delete an event forwarder."),