summaryrefslogtreecommitdiff
path: root/src/lib/eo
diff options
context:
space:
mode:
authorDaniel Kolesa <d.kolesa@samsung.com>2019-07-17 15:50:38 +0200
committerDaniel Kolesa <d.kolesa@samsung.com>2019-07-17 15:52:39 +0200
commitfbdbf6b132153503f056ac10e55d76422fc64dc0 (patch)
treed41fdedcb042dc0cd2897689776ea31d9b6a7685 /src/lib/eo
parentbaf1fcdb916d0142e1d0652549d658751486a534 (diff)
eolian: add builtin binbuf and event types
Binbuf is like strbuf and allows not using the Eina opaque wrapper now, which will remove some ptr(). And event translates to Efl.Event because otherwise there would be no way to get rid of void_ptr.
Diffstat (limited to 'src/lib/eo')
-rw-r--r--src/lib/eo/Eo.h28
-rw-r--r--src/lib/eo/efl_object.eo2
2 files changed, 29 insertions, 1 deletions
diff --git a/src/lib/eo/Eo.h b/src/lib/eo/Eo.h
index 5390e61c8e..ddbad15de2 100644
--- a/src/lib/eo/Eo.h
+++ b/src/lib/eo/Eo.h
@@ -214,6 +214,34 @@ typedef void (*Efl_Del_Intercept) (Eo *obj_id);
214 214
215#include "efl_object_override.eo.h" 215#include "efl_object_override.eo.h"
216#include "efl_object.eo.h" 216#include "efl_object.eo.h"
217
218/**
219 * @brief A parameter passed in event callbacks holding extra event parameters.
220 *
221 * This is the full event information passed to callbacks in C.
222 *
223 * @since 1.22
224 *
225 * @ingroup Efl
226 */
227typedef struct _Efl_Event
228{
229 Efl_Object *object; /**< The object the callback was called on.
230 *
231 * @since 1.22 */
232 const Efl_Event_Description *desc; /**< The event description.
233 *
234 * @since 1.22 */
235 void *info; /**< Extra event information passed by the event caller. Must be
236 * cast to the event type declared in the EO file. Keep in mind
237 * that: 1) Objects are passed as a normal Eo*. Event subscribers
238 * can call functions on these objects. 2) Structs, built-in
239 * types and containers are passed as const pointers, with one
240 * level of indirection.
241 *
242 * @since 1.22 */
243} Efl_Event;
244
217#define EO_CLASS EFL_OBJECT_CLASS 245#define EO_CLASS EFL_OBJECT_CLASS
218 246
219/** An event callback prototype. */ 247/** An event callback prototype. */
diff --git a/src/lib/eo/efl_object.eo b/src/lib/eo/efl_object.eo
index bea9a0e0f5..85cb664958 100644
--- a/src/lib/eo/efl_object.eo
+++ b/src/lib/eo/efl_object.eo
@@ -422,7 +422,7 @@ abstract Efl.Object
422 } 422 }
423} 423}
424 424
425struct Efl.Event { 425struct @extern Efl.Event {
426 [[A parameter passed in event callbacks holding extra event parameters. 426 [[A parameter passed in event callbacks holding extra event parameters.
427 427
428 This is the full event information passed to callbacks in C. 428 This is the full event information passed to callbacks in C.