1 #ifndef ELDBUS_PRIVATE_TYPES_H
2 #define ELDBUS_PRIVATE_TYPES_H 1
4 typedef struct _Eldbus_Connection_Name
12 Eina_Inlist *list; //Eldbus_Connection_Context_NOC_Cb
16 Eldbus_Signal_Handler *name_owner_changed;
17 Eldbus_Pending *name_owner_get;
18 } Eldbus_Connection_Name;
20 typedef struct _Eldbus_Object_Context_Event_Cb
23 Eldbus_Object_Event_Cb cb;
25 Eina_Bool deleted : 1;
26 } Eldbus_Object_Context_Event_Cb;
28 typedef struct _Eldbus_Object_Context_Event
33 } Eldbus_Object_Context_Event;
36 typedef struct _Eldbus_Connection_Context_Event
41 } Eldbus_Connection_Context_Event;
43 struct _Eldbus_Connection
48 Eldbus_Connection_Type type;
49 DBusConnection *dbus_conn;
50 Eina_Hash *names; //Eldbus_Connection_Name
52 Eina_Inlist *cbs_free;
53 Eina_Inlist *signal_handlers;
54 Eina_Inlist *pendings;
55 Eina_Inlist *fd_handlers;
56 Eina_Inlist *timeouts;
58 Eldbus_Connection_Context_Event event_handlers[ELDBUS_CONNECTION_EVENT_LAST];
59 Eina_Inlist *root_objs;//service_object
60 Eldbus_Proxy *fdo_proxy;
68 Eldbus_Connection *conn;
72 Eina_Inlist *pendings;
73 Eina_List *signal_handlers;
74 Eina_Inlist *cbs_free;
75 Eldbus_Object_Context_Event event_handlers[ELDBUS_OBJECT_EVENT_LAST];
76 Eldbus_Signal_Handler *interfaces_added;
77 Eldbus_Signal_Handler *interfaces_removed;
78 Eldbus_Signal_Handler *properties_changed;
79 Eldbus_Proxy *properties;
82 struct _Eldbus_Signal_Handler
89 const char *interface;
93 Eina_Inlist_Sorted_State *state_args;
94 Eldbus_Connection *conn;
96 Eldbus_Connection_Name *bus;
98 Eina_Inlist *cbs_free;
102 struct _Eldbus_Pending
106 Eldbus_Message_Cb cb;
108 DBusPendingCall *dbus_pending;
109 Eldbus_Connection *conn;
112 const char *interface;
115 Eina_Inlist *cbs_free;
116 Eldbus_Message *msg_sent;
119 struct _Eldbus_Message_Iter
123 DBusMessageIter dbus_iterator;
124 Eina_Inlist *iterators;
128 struct _Eldbus_Message
132 DBusMessage *dbus_msg;
133 Eldbus_Message_Iter *iterator;
136 typedef struct _Eldbus_Service_Object Eldbus_Service_Object;
137 struct _Eldbus_Service_Object
140 Eldbus_Connection *conn;
142 Eina_Hash *interfaces;
143 Eina_Strbuf *introspection_data;
144 Eina_Bool introspection_dirty;
146 Eldbus_Service_Object *parent;
147 Eina_Inlist *children;
150 Eldbus_Service_Interface *objmanager;
151 Eina_List *iface_added;
152 Eina_List *iface_removed;
153 Ecore_Idler *idler_iface_changed;
156 struct _Eldbus_Service_Interface
161 const Eldbus_Signal *signals;
162 Eina_Array *sign_of_signals;
163 Eldbus_Service_Object *obj;
164 Eina_Hash *properties;
165 Eldbus_Property_Set_Cb set_func;
166 Eldbus_Property_Get_Cb get_func;
167 Ecore_Idler *idler_propschanged;
168 Eina_Array *props_changed;
169 Eina_Array *prop_invalidated;
172 typedef struct _Signal_Argument
175 unsigned short index;