summaryrefslogtreecommitdiff
path: root/src/lib/eldbus/eldbus_types.eot
blob: 0ec9943902490415865ed2e5b30cd94081d01288 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import eina_types;

struct Eldbus.Proxy;
struct Eldbus.Connection; [[Represents a connection of one the type of connection with the DBus daemon.]]
struct Eldbus.Object; [[Represents an object path already attached with bus name or unique id]]

enum Eldbus.Introspection.Argument_Direction
{
   none = 0,
   in,
   out,
}

/* DTD conversion form: http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd */

enum Eldbus.Introspection.Property_Access
{
   read,
   write,
   readwrite,
}

/* FIXME: Properly type all of these lists. */
struct Eldbus.Introspection.Node
{
   name: Eina.Stringshare *; [[optional]]
   nodes: list<void *> *;
   interfaces: list<void *> *;
}

struct Eldbus.Introspection.Interface
{
   name: Eina.Stringshare *;
   methods: list<void *> *;
   signals: list<void *> *;
   properties: list<void *> *;
   annotations: list<void *> *;
}

struct Eldbus.Introspection.Method
{
   name: Eina.Stringshare *;
   arguments: list<void *> *;
   annotations: list<void *> *;
}

struct Eldbus.Introspection.Property
{
   name: Eina.Stringshare *;
   type: Eina.Stringshare *;
   access: Eldbus.Introspection.Property_Access;
   annotations: list<void *> *;
}

struct Eldbus.Introspection.Annotation
{
   name: Eina.Stringshare *;
   value: Eina.Stringshare *;
}

struct Eldbus.Introspection.Argument
{
    name: Eina.Stringshare *; [[Optional]]
    type: Eina.Stringshare *;
    direction: Eldbus.Introspection.Argument_Direction;
}

struct Eldbus.Introspection.Signal
{
    name: Eina.Stringshare *;
    arguments: list<Eldbus.Introspection.Argument *> *;
    annotations: list<Eldbus.Introspection.Annotation *> *;
}