Eo: Remove del_lazy.
authorTom Hacohen <tom@stosb.com>
Sun, 3 Jun 2012 08:42:15 +0000 (08:42 +0000)
committerTom Hacohen <tom@stosb.com>
Sun, 3 Jun 2012 08:42:15 +0000 (08:42 +0000)
SVN revision: 71657

legacy/eobj/examples/signals/main.c
legacy/eobj/lib/Eo.h
legacy/eobj/lib/eo_base_class.c

index 7636fc8..7ce03f3 100644 (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;
index 9570fe9..29f2968 100644 (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,
@@ -1128,24 +1127,12 @@ typedef Eina_Bool (*Eo_Event_Cb)(void *data, Eo *obj, const Eo_Event_Description
 
 
 /**
- * @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.
  * @param[in] desc The description of the event to listen to.
  * @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)
 
index e5dc5d2..6370425 100644 (file)
@@ -313,33 +313,6 @@ _ev_cb_priority_add(Eo *obj, void *class_data, va_list *list)
 }
 
 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)
 {
    Private_Data *pd = (Private_Data *) class_data;
@@ -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."),