add data pointer to method callbacks

clean up some warnings


SVN revision: 26202
This commit is contained in:
rephorm 2006-09-29 03:05:21 +00:00 committed by rephorm
parent f32284778e
commit eae096cce5
4 changed files with 9 additions and 8 deletions

View File

@ -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);

View File

@ -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;
}

View File

@ -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);

View File

@ -263,4 +263,5 @@ _ecore_dbus_complete_type_length_get(const char *signature)
}
signature++;
}
return 0;
}