diff --git a/src/lib/eldbus/eldbus_introspection.h b/src/lib/eldbus/eldbus_introspection.h index bb6078a1ff..542a474e32 100644 --- a/src/lib/eldbus/eldbus_introspection.h +++ b/src/lib/eldbus/eldbus_introspection.h @@ -2,6 +2,11 @@ #define _ELDBUS_INTROSPECTION_INTROSPECTION_H #include +#include + +typedef struct _Eldbus_Proxy Eldbus_Proxy; + +#include "eldbus_model_arguments.eo.h" // DTD conversion form: http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd @@ -9,18 +14,9 @@ typedef struct _Eldbus_Introspection_Node Eldbus_Introspection_Node; typedef struct _Eldbus_Introspection_Interface Eldbus_Introspection_Interface; typedef struct _Eldbus_Introspection_Method Eldbus_Introspection_Method; typedef struct _Eldbus_Introspection_Signal Eldbus_Introspection_Signal; -typedef struct _Eldbus_Introspection_Argument Eldbus_Introspection_Argument; typedef struct _Eldbus_Introspection_Property Eldbus_Introspection_Property; typedef struct _Eldbus_Introspection_Annotation Eldbus_Introspection_Annotation; -typedef enum -{ - ELDBUS_INTROSPECTION_ARGUMENT_DIRECTION_NONE = 0, - ELDBUS_INTROSPECTION_ARGUMENT_DIRECTION_IN, - ELDBUS_INTROSPECTION_ARGUMENT_DIRECTION_OUT, - -} Eldbus_Introspection_Argument_Direction; - typedef enum { ELDBUS_INTROSPECTION_PROPERTY_ACCESS_READ, @@ -58,13 +54,6 @@ struct _Eldbus_Introspection_Signal Eina_List *annotations; }; -struct _Eldbus_Introspection_Argument -{ - Eina_Stringshare *name; // optional - Eina_Stringshare *type; - Eldbus_Introspection_Argument_Direction direction; -}; - struct _Eldbus_Introspection_Property { Eina_Stringshare *name; diff --git a/src/lib/eldbus/eldbus_model_arguments.eo b/src/lib/eldbus/eldbus_model_arguments.eo index 64f39f9ce2..5a74690938 100644 --- a/src/lib/eldbus/eldbus_model_arguments.eo +++ b/src/lib/eldbus/eldbus_model_arguments.eo @@ -1,3 +1,19 @@ +struct @extern Eldbus_Proxy; /* FIXME: Move to Eot file. */ + +enum Eldbus.Introspection.Argument_Direction +{ + none = 0, + in, + out, +} + +struct Eldbus.Introspection.Argument +{ + name: Eina.Stringshare *; [[Optional]] + type: Eina.Stringshare *; + direction: Eldbus.Introspection.Argument_Direction; +} + class Eldbus.Model_Arguments (Eo.Base, Efl.Model.Base) { legacy_prefix: null; methods { @@ -8,7 +24,7 @@ class Eldbus.Model_Arguments (Eo.Base, Efl.Model.Base) { params { @in proxy: Eldbus_Proxy*; [[Eldbus proxy]] @in name: const(char)*; [[Name]] - @in arguments: const(Eina_List)*; [[The introspected arguments]] + @in arguments: const(list)*; [[The introspected arguments]] } } @property name {