#define _ELDBUS_INTROSPECTION_INTROSPECTION_H
#include <Eina.h>
+#include <Eo.h>
+
+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
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,
ELDBUS_INTROSPECTION_PROPERTY_ACCESS_WRITE,
ELDBUS_INTROSPECTION_PROPERTY_ACCESS_READWRITE,
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;
+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 {
params {
@in proxy: Eldbus_Proxy*; [[Eldbus proxy]]
@in name: const(char)*; [[Name]]
- @in arguments: const(Eina_List)*; [[The introspected arguments]]
+ @in arguments: const(list<Eldbus.Introspection.Argument *>)*; [[The introspected arguments]]
}
}
@property name {