diff --git a/legacy/ecore/src/lib/ecore_dbus/Ecore_DBus.h b/legacy/ecore/src/lib/ecore_dbus/Ecore_DBus.h index 7fce9681e2..c81ab75b8b 100644 --- a/legacy/ecore/src/lib/ecore_dbus/Ecore_DBus.h +++ b/legacy/ecore/src/lib/ecore_dbus/Ecore_DBus.h @@ -46,7 +46,7 @@ extern "C" { typedef struct _Ecore_DBus_Message_Field Ecore_DBus_Message_Field; typedef struct _Ecore_DBus_Address Ecore_DBus_Address; - typedef void (*Ecore_DBus_Method_Call_Cb) (Ecore_DBus_Event_Method_Call *event); + typedef void (*Ecore_DBus_Method_Call_Cb) (void *data, Ecore_DBus_Event_Method_Call *event); typedef struct _Ecore_DBus_Object Ecore_DBus_Object; typedef struct _Ecore_DBus_Object_Method Ecore_DBus_Object_Method; @@ -66,6 +66,7 @@ extern "C" { char *name; Ecore_DBus_Method_Call_Cb func; + void *data; }; struct _Ecore_DBus_Object_Registry { @@ -219,6 +220,7 @@ extern "C" { EAPI void ecore_dbus_message_print(Ecore_DBus_Message *msg); EAPI void *ecore_dbus_message_header_field_get(Ecore_DBus_Message *msg, Ecore_DBus_Message_Header_Field field); EAPI void *ecore_dbus_message_body_field_get(Ecore_DBus_Message *msg, unsigned int pos); + EAPI int ecore_dbus_message_serial_get(Ecore_DBus_Message *m); /* methods */ EAPI int ecore_dbus_method_hello(Ecore_DBus_Server *svr, Ecore_DBus_Method_Return_Cb method_cb, Ecore_DBus_Error_Cb, void *data); @@ -248,7 +250,7 @@ extern "C" { EAPI Ecore_DBus_Object *ecore_dbus_object_add(Ecore_DBus_Server *svr, const char *path); EAPI void ecore_dbus_object_free(Ecore_DBus_Object *obj); - EAPI Ecore_DBus_Object_Method *ecore_dbus_object_method_add(Ecore_DBus_Object *obj, const char *interface, const char *method_name, Ecore_DBus_Method_Call_Cb func); + EAPI Ecore_DBus_Object_Method *ecore_dbus_object_method_add(Ecore_DBus_Object *obj, const char *interface, const char *method_name, Ecore_DBus_Method_Call_Cb func, void *data); EAPI void ecore_dbus_object_method_remove(Ecore_DBus_Object *obj, Ecore_DBus_Object_Method *method); EAPI void ecore_dbus_object_method_free(Ecore_DBus_Object_Method *method); diff --git a/legacy/ecore/src/lib/ecore_dbus/ecore_dbus_marshal.c b/legacy/ecore/src/lib/ecore_dbus/ecore_dbus_marshal.c index c2e4866235..f7f526ee34 100644 --- a/legacy/ecore/src/lib/ecore_dbus/ecore_dbus_marshal.c +++ b/legacy/ecore/src/lib/ecore_dbus/ecore_dbus_marshal.c @@ -162,7 +162,7 @@ _ecore_dbus_message_marshal_variant(Ecore_DBus_Message *msg, Ecore_DBus_Data_Typ _ecore_dbus_message_append_byte(msg, type); _ecore_dbus_message_append_byte(msg, '\0'); - f->value = _ecore_dbus_message_marshal(msg, &type, data); + f->value = _ecore_dbus_message_marshal(msg, (char *)&type, data); ecore_list_remove_first(msg->recurse); return f; } diff --git a/legacy/ecore/src/lib/ecore_dbus/ecore_dbus_object.c b/legacy/ecore/src/lib/ecore_dbus/ecore_dbus_object.c index efef79060d..98008a6c72 100644 --- a/legacy/ecore/src/lib/ecore_dbus/ecore_dbus_object.c +++ b/legacy/ecore/src/lib/ecore_dbus/ecore_dbus_object.c @@ -56,10 +56,7 @@ _ecore_dbus_event_method_call_cb(void *udata, int evtype, void *ev) keys = ecore_hash_keys(event->server->objects); printf("Keys\n----\n"); while ((key = ecore_list_next(keys))) - { - char *s; printf(" %s => %d\n", key, (int)ecore_hash_get(event->server->objects, key)); - } ecore_list_destroy(keys); @@ -88,7 +85,7 @@ _ecore_dbus_event_method_call_cb(void *udata, int evtype, void *ev) if (method) { printf("[ecore_dbus] method found %s\n", event->header.member); - method->func(event); + method->func(method->data, event); return 0; } @@ -141,7 +138,7 @@ _ecore_dbus_object_free(Ecore_DBus_Object *obj) /* object methods */ EAPI Ecore_DBus_Object_Method * -ecore_dbus_object_method_add(Ecore_DBus_Object *obj, const char *interface, const char *method_name, Ecore_DBus_Method_Call_Cb func) +ecore_dbus_object_method_add(Ecore_DBus_Object *obj, const char *interface, const char *method_name, Ecore_DBus_Method_Call_Cb func, void *data) { Ecore_DBus_Object_Method *m; char buf[PATH_MAX]; @@ -154,6 +151,7 @@ ecore_dbus_object_method_add(Ecore_DBus_Object *obj, const char *interface, cons m->name = strdup(method_name); m->func = func; + m->data = data; ecore_list_append(obj->methods, m); diff --git a/legacy/ecore/src/lib/ecore_dbus/ecore_dbus_utils.c b/legacy/ecore/src/lib/ecore_dbus/ecore_dbus_utils.c index c62be502b7..1b1c21d89e 100644 --- a/legacy/ecore/src/lib/ecore_dbus/ecore_dbus_utils.c +++ b/legacy/ecore/src/lib/ecore_dbus/ecore_dbus_utils.c @@ -263,4 +263,5 @@ _ecore_dbus_complete_type_length_get(const char *signature) } signature++; } + return 0; }