eo: do not expose callback,add and del events in bindings

These events have been removed from efl_object.eo. Bindings can
still use the EFL_EVENT_CALLBACK_ADD and EFL_EVENT_CALLBACK_DEL
events from C, but they won't be available to the bound language.
The rationale is that bound languages probably will have their
own way to handle callbacks and C function pointers will mean
very little to them. For example, the binding code could route
the native callback through a dispatcher so the received
function ptr would always be that of the dispatcher method.

Closes D6179.
This commit is contained in:
Xavi Artigas 2018-05-18 16:41:45 +02:00 committed by Daniel Kolesa
parent e1cb483643
commit 5d1898dd9e
3 changed files with 18 additions and 2 deletions

View File

@ -2116,6 +2116,18 @@ eina_value_object_get(Eina_Value *v)
return r;
}
/**
* @brief Event triggered when a callback was added to the object
*/
#define EFL_EVENT_CALLBACK_ADD (&(_EFL_EVENT_CALLBACK_ADD))
EAPI extern const Efl_Event_Description _EFL_EVENT_CALLBACK_ADD;
/**
* @brief Event triggered when a callback was removed from the object
*/
#define EFL_EVENT_CALLBACK_DEL (&(_EFL_EVENT_CALLBACK_DEL))
EAPI extern const Efl_Event_Description _EFL_EVENT_CALLBACK_DEL;
/**
* @}
*/

View File

@ -303,8 +303,6 @@ abstract Efl.Object ()
class.destructor;
}
events {
callback,add @hot; [[A callback was added.]]
callback,del @hot; [[A callback was deleted.]]
del @hot; [[Object is being deleted.]]
invalidate @hot; [[Object is being invalidated and loosing its parent.]]
noref @hot; [[Object has lost its last reference, only parent relationship is keeping it alive.]]

View File

@ -12,6 +12,12 @@
#define EFL_EVENT_SPECIAL_SKIP 1
EAPI const Efl_Event_Description _EFL_EVENT_CALLBACK_ADD =
EFL_EVENT_DESCRIPTION_HOT("callback,add");
EAPI const Efl_Event_Description _EFL_EVENT_CALLBACK_DEL =
EFL_EVENT_DESCRIPTION_HOT("callback,del");
static int event_freeze_count = 0;
typedef struct _Eo_Callback_Description Eo_Callback_Description;