forked from enlightenment/efl
parent
0df8ad55dd
commit
48e23af633
|
@ -8,10 +8,9 @@
|
|||
static int ecore_dbus_event_server_add(void *udata, int ev_type, void *ev);
|
||||
static int ecore_dbus_event_server_del(void *udata, int ev_type, void *ev);
|
||||
|
||||
static void ecore_dbus_method_name_has_owner_cb(void *data, Ecore_DBus_Message_Type type,
|
||||
Ecore_DBus_Method_Return *reply);
|
||||
static void ecore_dbus_method_add_match_cb(void *data, Ecore_DBus_Message_Type type,
|
||||
Ecore_DBus_Method_Return *reply);
|
||||
static void ecore_dbus_method_name_has_owner_cb(void *data, Ecore_DBus_Method_Return *reply);
|
||||
static void ecore_dbus_method_add_match_cb(void *data, Ecore_DBus_Method_Return *reply);
|
||||
static void ecore_dbus_method_error_cb(void *data, const char *error);
|
||||
|
||||
static int ecore_dbus_event_server_signal(void *udata, int ev_type, void *ev);
|
||||
|
||||
|
@ -63,7 +62,8 @@ ecore_dbus_event_server_add(void *udata, int ev_type, void *ev)
|
|||
event = ev;
|
||||
printf("ecore_dbus_event_server_add\n");
|
||||
ecore_dbus_method_name_has_owner(event->server, "org.freedesktop.Hal",
|
||||
ecore_dbus_method_name_has_owner_cb, NULL);
|
||||
ecore_dbus_method_name_has_owner_cb,
|
||||
ecore_dbus_method_error_cb, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -80,15 +80,9 @@ ecore_dbus_event_server_del(void *udata, int ev_type, void *ev)
|
|||
}
|
||||
|
||||
static void
|
||||
ecore_dbus_method_name_has_owner_cb(void *data, Ecore_DBus_Message_Type type,
|
||||
Ecore_DBus_Method_Return *reply)
|
||||
ecore_dbus_method_name_has_owner_cb(void *data, Ecore_DBus_Method_Return *reply)
|
||||
{
|
||||
unsigned int *exists;
|
||||
if (type != ECORE_DBUS_MESSAGE_TYPE_METHOD_RETURN)
|
||||
{
|
||||
ecore_main_loop_quit();
|
||||
return;
|
||||
}
|
||||
printf("ecore_dbus_event_server_method_return %s %s.%s\n", event_type_get(reply->type),
|
||||
reply->header.interface,
|
||||
reply->header.member);
|
||||
|
@ -107,26 +101,28 @@ ecore_dbus_method_name_has_owner_cb(void *data, Ecore_DBus_Message_Type type,
|
|||
"interface='org.freedesktop.Hal.Manager',"
|
||||
"sender='org.freedesktop.Hal',"
|
||||
"path='/org/freedesktop/Hal/Manager'",
|
||||
ecore_dbus_method_add_match_cb, NULL);
|
||||
ecore_dbus_method_add_match_cb,
|
||||
ecore_dbus_method_error_cb, NULL);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
static void
|
||||
ecore_dbus_method_add_match_cb(void *data, Ecore_DBus_Message_Type type,
|
||||
Ecore_DBus_Method_Return *reply)
|
||||
ecore_dbus_method_add_match_cb(void *data, Ecore_DBus_Method_Return *reply)
|
||||
{
|
||||
if (type != ECORE_DBUS_MESSAGE_TYPE_METHOD_RETURN)
|
||||
{
|
||||
ecore_main_loop_quit();
|
||||
return;
|
||||
}
|
||||
printf("ecore_dbus_event_server_method_return %s %s.%s\n", event_type_get(reply->type),
|
||||
reply->header.interface,
|
||||
reply->header.member);
|
||||
printf("Should be listening for device changes!\n");
|
||||
}
|
||||
|
||||
static void
|
||||
ecore_dbus_method_error_cb(void *data, const char *error)
|
||||
{
|
||||
printf("Error: %s\n", error);
|
||||
ecore_main_loop_quit();
|
||||
}
|
||||
|
||||
static int
|
||||
ecore_dbus_event_server_signal(void *udata, int ev_type, void *ev)
|
||||
{
|
||||
|
|
|
@ -8,11 +8,10 @@
|
|||
static int ecore_dbus_event_server_add(void *udata, int ev_type, void *ev);
|
||||
static int ecore_dbus_event_server_del(void *udata, int ev_type, void *ev);
|
||||
|
||||
static void ecore_dbus_method_list_names_cb(void *data,
|
||||
Ecore_DBus_Message_Type type,
|
||||
Ecore_DBus_Method_Return *ev);
|
||||
static void ecore_dbus_method_list_names_cb(void *data, Ecore_DBus_Method_Return *reply);
|
||||
static void ecore_dbus_method_error_cb(void *data, const char *error);
|
||||
|
||||
static const char * event_type_get(Ecore_DBus_Message_Type type);
|
||||
static const char *event_type_get(Ecore_DBus_Message_Type type);
|
||||
|
||||
static Ecore_DBus_Server *svr = NULL;
|
||||
|
||||
|
@ -56,7 +55,9 @@ ecore_dbus_event_server_add(void *udata, int ev_type, void *ev)
|
|||
|
||||
event = ev;
|
||||
printf("ecore_dbus_event_server_add\n");
|
||||
ecore_dbus_method_list_names(event->server, ecore_dbus_method_list_names_cb, NULL);
|
||||
ecore_dbus_method_list_names(event->server,
|
||||
ecore_dbus_method_list_names_cb,
|
||||
ecore_dbus_method_error_cb, NULL);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -74,7 +75,6 @@ ecore_dbus_event_server_del(void *udata, int ev_type, void *ev)
|
|||
|
||||
static void
|
||||
ecore_dbus_method_list_names_cb(void *data,
|
||||
Ecore_DBus_Message_Type type,
|
||||
Ecore_DBus_Method_Return *reply)
|
||||
{
|
||||
Ecore_List *names;
|
||||
|
@ -96,7 +96,13 @@ ecore_dbus_method_list_names_cb(void *data,
|
|||
ecore_list_destroy(names);
|
||||
}
|
||||
ecore_main_loop_quit();
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
ecore_dbus_method_error_cb(void *data, const char *error)
|
||||
{
|
||||
printf("Error: %s\n", error);
|
||||
ecore_main_loop_quit();
|
||||
}
|
||||
|
||||
static const char *
|
||||
|
|
|
@ -135,7 +135,8 @@ extern "C" {
|
|||
EAPI extern int ECORE_DBUS_EVENT_SERVER_SIGNAL;
|
||||
|
||||
/* callback */
|
||||
typedef void (*Ecore_DBus_Method_Cb)(void *data, Ecore_DBus_Message_Type type, Ecore_DBus_Method_Return *reply);
|
||||
typedef void (*Ecore_DBus_Method_Return_Cb)(void *data, Ecore_DBus_Method_Return *reply);
|
||||
typedef void (*Ecore_DBus_Error_Cb)(void *data, const char *error);
|
||||
|
||||
/* init */
|
||||
EAPI int ecore_dbus_init(void);
|
||||
|
@ -151,9 +152,8 @@ extern "C" {
|
|||
EAPI unsigned int ecore_dbus_message_new_method_call(Ecore_DBus_Server *svr,
|
||||
char *destination, char *path,
|
||||
char *interface, char *method,
|
||||
void (*method_cb)(void *udata,
|
||||
Ecore_DBus_Message_Type type,
|
||||
Ecore_DBus_Event_Server_Data *data),
|
||||
Ecore_DBus_Method_Return_Cb method_cb,
|
||||
Ecore_DBus_Error_Cb error_cb,
|
||||
void *data,
|
||||
char *fmt, ...);
|
||||
EAPI void ecore_dbus_message_del(Ecore_DBus_Message *msg);
|
||||
|
@ -162,14 +162,14 @@ extern "C" {
|
|||
EAPI void *ecore_dbus_message_body_field_get(Ecore_DBus_Message *msg, unsigned int pos);
|
||||
|
||||
/* methods */
|
||||
EAPI int ecore_dbus_method_hello(Ecore_DBus_Server *svr, Ecore_DBus_Method_Cb method_cb, void *data);
|
||||
EAPI int ecore_dbus_method_list_names(Ecore_DBus_Server *svr, Ecore_DBus_Method_Cb method_cb, void *data);
|
||||
EAPI int ecore_dbus_method_name_has_owner(Ecore_DBus_Server *svr, char *name, Ecore_DBus_Method_Cb method_cb, void *data);
|
||||
EAPI int ecore_dbus_method_start_service_by_name(Ecore_DBus_Server *svr, char *name, unsigned int flags, Ecore_DBus_Method_Cb method_cb, void *data);
|
||||
EAPI int ecore_dbus_method_get_name_owner(Ecore_DBus_Server *svr, char *name, Ecore_DBus_Method_Cb method_cb, void *data);
|
||||
EAPI int ecore_dbus_method_get_connection_unix_user(Ecore_DBus_Server *svr, char *connection, Ecore_DBus_Method_Cb method_cb, void *data);
|
||||
EAPI int ecore_dbus_method_add_match(Ecore_DBus_Server *svr, char *match, Ecore_DBus_Method_Cb method_cb, void *data);
|
||||
EAPI int ecore_dbus_method_remove_match(Ecore_DBus_Server *svr, char *match, Ecore_DBus_Method_Cb method_cb, void *data);
|
||||
EAPI int ecore_dbus_method_hello(Ecore_DBus_Server *svr, Ecore_DBus_Method_Return_Cb method_cb, Ecore_DBus_Error_Cb, void *data);
|
||||
EAPI int ecore_dbus_method_list_names(Ecore_DBus_Server *svr, Ecore_DBus_Method_Return_Cb method_cb, Ecore_DBus_Error_Cb, void *data);
|
||||
EAPI int ecore_dbus_method_name_has_owner(Ecore_DBus_Server *svr, char *name, Ecore_DBus_Method_Return_Cb method_cb, Ecore_DBus_Error_Cb, void *data);
|
||||
EAPI int ecore_dbus_method_start_service_by_name(Ecore_DBus_Server *svr, char *name, unsigned int flags, Ecore_DBus_Method_Return_Cb method_cb, Ecore_DBus_Error_Cb, void *data);
|
||||
EAPI int ecore_dbus_method_get_name_owner(Ecore_DBus_Server *svr, char *name, Ecore_DBus_Method_Return_Cb method_cb, Ecore_DBus_Error_Cb, void *data);
|
||||
EAPI int ecore_dbus_method_get_connection_unix_user(Ecore_DBus_Server *svr, char *connection, Ecore_DBus_Method_Return_Cb method_cb, Ecore_DBus_Error_Cb, void *data);
|
||||
EAPI int ecore_dbus_method_add_match(Ecore_DBus_Server *svr, char *match, Ecore_DBus_Method_Return_Cb method_cb, Ecore_DBus_Error_Cb, void *data);
|
||||
EAPI int ecore_dbus_method_remove_match(Ecore_DBus_Server *svr, char *match, Ecore_DBus_Method_Return_Cb method_cb, Ecore_DBus_Error_Cb, void *data);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
|
|
@ -60,7 +60,8 @@ static void _ecore_dbus_event_server_data_free(void *data, void *ev);
|
|||
|
||||
static Ecore_DBus_Event_Server_Data *_ecore_dbus_event_create(Ecore_DBus_Server *svr, Ecore_DBus_Message *msg);
|
||||
|
||||
static void _ecore_dbus_method_hello_cb(void *data, Ecore_DBus_Message_Type type, Ecore_DBus_Method_Return *reply);
|
||||
static void _ecore_dbus_method_hello_cb(void *data, Ecore_DBus_Method_Return *reply);
|
||||
static void _ecore_dbus_method_error_cb(void *data, const char *error);
|
||||
|
||||
/* local variables */
|
||||
|
||||
|
@ -316,7 +317,7 @@ _ecore_dbus_event_server_data(void *udata, int ev_type, void *ev)
|
|||
ecore_dbus_server_send(svr, "BEGIN\r\n", 7);
|
||||
svr->authenticated = 1;
|
||||
/* Register on the bus */
|
||||
ecore_dbus_method_hello(svr, _ecore_dbus_method_hello_cb, svr);
|
||||
ecore_dbus_method_hello(svr, _ecore_dbus_method_hello_cb, _ecore_dbus_method_error_cb, svr);
|
||||
}
|
||||
else if (!strncmp(e->data, "DATA", 4))
|
||||
{
|
||||
|
@ -362,20 +363,38 @@ _ecore_dbus_event_server_data(void *udata, int ev_type, void *ev)
|
|||
/* Trap known messages */
|
||||
ev2 = _ecore_dbus_event_create(svr, msg);
|
||||
if (!ev2) break;
|
||||
if ((msg->type == ECORE_DBUS_MESSAGE_TYPE_METHOD_RETURN) ||
|
||||
(msg->type == ECORE_DBUS_MESSAGE_TYPE_ERROR))
|
||||
if (msg->type == ECORE_DBUS_MESSAGE_TYPE_METHOD_RETURN)
|
||||
{
|
||||
Ecore_DBus_Message *sent;
|
||||
sent = ecore_hash_remove(svr->messages, (void *)(ev2->header.reply_serial));
|
||||
if ((sent) && (sent->cb.func))
|
||||
if ((sent) && (sent->cb.method_return))
|
||||
{
|
||||
sent->cb.func(sent->cb.data, msg->type, ev2);
|
||||
_ecore_dbus_event_server_data_free(NULL, ev2);
|
||||
sent->cb.method_return(sent->cb.data, ev2);
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("Ecore_DBus: Reply without reply serial!\n");
|
||||
}
|
||||
if (sent) _ecore_dbus_message_free(sent);
|
||||
_ecore_dbus_event_server_data_free(NULL, ev2);
|
||||
}
|
||||
else if (msg->type == ECORE_DBUS_MESSAGE_TYPE_ERROR)
|
||||
{
|
||||
Ecore_DBus_Message *sent;
|
||||
sent = ecore_hash_remove(svr->messages, (void *)(ev2->header.reply_serial));
|
||||
if ((sent) && (sent->cb.error))
|
||||
{
|
||||
char *error = NULL;
|
||||
if (ev2->args)
|
||||
error = ev2->args[0].value;
|
||||
sent->cb.error(sent->cb.data, error);
|
||||
}
|
||||
else
|
||||
{
|
||||
printf("Ecore_DBus: Error without reply serial!\n");
|
||||
}
|
||||
if (sent) _ecore_dbus_message_free(sent);
|
||||
_ecore_dbus_event_server_data_free(NULL, ev2);
|
||||
}
|
||||
else if (msg->type == ECORE_DBUS_MESSAGE_TYPE_SIGNAL)
|
||||
{
|
||||
|
@ -454,18 +473,12 @@ _ecore_dbus_event_create(Ecore_DBus_Server *svr, Ecore_DBus_Message *msg)
|
|||
}
|
||||
|
||||
static void
|
||||
_ecore_dbus_method_hello_cb(void *data, Ecore_DBus_Message_Type type, Ecore_DBus_Method_Return *reply)
|
||||
_ecore_dbus_method_hello_cb(void *data, Ecore_DBus_Method_Return *reply)
|
||||
{
|
||||
Ecore_DBus_Event_Server_Add *svr_add;
|
||||
Ecore_DBus_Server *svr;
|
||||
char *name;
|
||||
|
||||
if (type != ECORE_DBUS_MESSAGE_TYPE_METHOD_RETURN)
|
||||
{
|
||||
printf("Ecore_DBus: Could not register on the message bus\n");
|
||||
return;
|
||||
}
|
||||
|
||||
svr = data;
|
||||
name = reply->args[0].value;
|
||||
printf("Got unique name: %s\n", name);
|
||||
|
@ -481,3 +494,18 @@ _ecore_dbus_method_hello_cb(void *data, Ecore_DBus_Message_Type type, Ecore_DBus
|
|||
svr_add->server = svr;
|
||||
ecore_event_add(ECORE_DBUS_EVENT_SERVER_ADD, svr_add, NULL, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
_ecore_dbus_method_error_cb(void *data, const char *error)
|
||||
{
|
||||
Ecore_DBus_Event_Server_Del *ev;
|
||||
Ecore_DBus_Server *svr;
|
||||
|
||||
svr = data;
|
||||
printf("Ecore_DBus: error %s\n", error);
|
||||
|
||||
ev = malloc(sizeof(Ecore_DBus_Event_Server_Del));
|
||||
if (!ev) return;
|
||||
ev->server = svr;
|
||||
ecore_event_add(ECORE_DBUS_EVENT_SERVER_DEL, ev, _ecore_dbus_event_server_del_free, NULL);
|
||||
}
|
||||
|
|
|
@ -19,7 +19,8 @@ static void _ecore_dbus_message_print_raw(Ecore_DBus_Message *msg);
|
|||
EAPI unsigned int
|
||||
ecore_dbus_message_new_method_call(Ecore_DBus_Server *svr, char *destination,
|
||||
char *path, char *interface, char *method,
|
||||
Ecore_DBus_Method_Cb method_cb,
|
||||
Ecore_DBus_Method_Return_Cb method_cb,
|
||||
Ecore_DBus_Error_Cb error_cb,
|
||||
void *data,
|
||||
char *fmt, ...)
|
||||
{
|
||||
|
@ -33,7 +34,8 @@ ecore_dbus_message_new_method_call(Ecore_DBus_Server *svr, char *destination,
|
|||
Ecore_DBus_Message *msg = _ecore_dbus_message_new(svr);
|
||||
if (method_cb)
|
||||
{
|
||||
msg->cb.func = method_cb;
|
||||
msg->cb.method_return = method_cb;
|
||||
msg->cb.error = error_cb;
|
||||
msg->cb.data = data;
|
||||
}
|
||||
|
||||
|
|
|
@ -9,7 +9,10 @@
|
|||
#include "ecore_dbus_private.h"
|
||||
|
||||
EAPI int
|
||||
ecore_dbus_method_hello(Ecore_DBus_Server *svr, Ecore_DBus_Method_Cb method_cb, void *data)
|
||||
ecore_dbus_method_hello(Ecore_DBus_Server *svr,
|
||||
Ecore_DBus_Method_Return_Cb method_cb,
|
||||
Ecore_DBus_Error_Cb error_cb,
|
||||
void *data)
|
||||
{
|
||||
if (svr->unique_name)
|
||||
{
|
||||
|
@ -21,90 +24,111 @@ ecore_dbus_method_hello(Ecore_DBus_Server *svr, Ecore_DBus_Method_Cb method_cb,
|
|||
"/org/freedesktop/DBus" /*path*/,
|
||||
"org.freedesktop.DBus" /*interface*/,
|
||||
"Hello" /*method*/,
|
||||
method_cb, data,
|
||||
method_cb, error_cb, data,
|
||||
NULL /*fmt*/);
|
||||
}
|
||||
|
||||
EAPI int
|
||||
ecore_dbus_method_list_names(Ecore_DBus_Server *svr, Ecore_DBus_Method_Cb method_cb, void *data)
|
||||
ecore_dbus_method_list_names(Ecore_DBus_Server *svr,
|
||||
Ecore_DBus_Method_Return_Cb method_cb,
|
||||
Ecore_DBus_Error_Cb error_cb,
|
||||
void *data)
|
||||
{
|
||||
return ecore_dbus_message_new_method_call(svr,
|
||||
"org.freedesktop.DBus" /*destination*/,
|
||||
"/org/freedesktop/DBus" /*path*/,
|
||||
"org.freedesktop.DBus" /*interface*/,
|
||||
"ListNames" /*method*/,
|
||||
method_cb, data,
|
||||
method_cb, error_cb, data,
|
||||
NULL /*fmt*/);
|
||||
}
|
||||
|
||||
EAPI int
|
||||
ecore_dbus_method_name_has_owner(Ecore_DBus_Server *svr, char *name, Ecore_DBus_Method_Cb method_cb, void *data)
|
||||
ecore_dbus_method_name_has_owner(Ecore_DBus_Server *svr, char *name,
|
||||
Ecore_DBus_Method_Return_Cb method_cb,
|
||||
Ecore_DBus_Error_Cb error_cb,
|
||||
void *data)
|
||||
{
|
||||
return ecore_dbus_message_new_method_call(svr,
|
||||
"org.freedesktop.DBus" /*destination*/,
|
||||
"/org/freedesktop/DBus" /*path*/,
|
||||
"org.freedesktop.DBus" /*interface*/,
|
||||
"NameHasOwner" /*method*/,
|
||||
method_cb, data,
|
||||
method_cb, error_cb, data,
|
||||
"s" /*fmt*/, name);
|
||||
}
|
||||
|
||||
EAPI int
|
||||
ecore_dbus_method_start_service_by_name(Ecore_DBus_Server *svr, char *name, unsigned int flags, Ecore_DBus_Method_Cb method_cb, void *data)
|
||||
ecore_dbus_method_start_service_by_name(Ecore_DBus_Server *svr, char *name, unsigned int flags,
|
||||
Ecore_DBus_Method_Return_Cb method_cb,
|
||||
Ecore_DBus_Error_Cb error_cb,
|
||||
void *data)
|
||||
{
|
||||
return ecore_dbus_message_new_method_call(svr,
|
||||
"org.freedesktop.DBus" /*destination*/,
|
||||
"/org/freedesktop/DBus" /*path*/,
|
||||
"org.freedesktop.DBus" /*interface*/,
|
||||
"StartServiceByName" /*method*/,
|
||||
method_cb, data,
|
||||
method_cb, error_cb, data,
|
||||
"su" /*fmt*/, name, flags);
|
||||
}
|
||||
|
||||
EAPI int
|
||||
ecore_dbus_method_get_name_owner(Ecore_DBus_Server *svr, char *name, Ecore_DBus_Method_Cb method_cb, void *data)
|
||||
ecore_dbus_method_get_name_owner(Ecore_DBus_Server *svr, char *name,
|
||||
Ecore_DBus_Method_Return_Cb method_cb,
|
||||
Ecore_DBus_Error_Cb error_cb,
|
||||
void *data)
|
||||
{
|
||||
return ecore_dbus_message_new_method_call(svr,
|
||||
"org.freedesktop.DBus" /*destination*/,
|
||||
"/org/freedesktop/DBus" /*path*/,
|
||||
"org.freedesktop.DBus" /*interface*/,
|
||||
"GetNameOwner" /*method*/,
|
||||
method_cb, data,
|
||||
method_cb, error_cb, data,
|
||||
"s" /*fmt*/, name);
|
||||
}
|
||||
|
||||
EAPI int
|
||||
ecore_dbus_method_get_connection_unix_user(Ecore_DBus_Server *svr, char *connection, Ecore_DBus_Method_Cb method_cb, void *data)
|
||||
ecore_dbus_method_get_connection_unix_user(Ecore_DBus_Server *svr, char *connection,
|
||||
Ecore_DBus_Method_Return_Cb method_cb,
|
||||
Ecore_DBus_Error_Cb error_cb,
|
||||
void *data)
|
||||
{
|
||||
return ecore_dbus_message_new_method_call(svr,
|
||||
"org.freedesktop.DBus" /*destination*/,
|
||||
"/org/freedesktop/DBus" /*path*/,
|
||||
"org.freedesktop.DBus" /*interface*/,
|
||||
"GetConnectionUnixUser" /*method*/,
|
||||
method_cb, data,
|
||||
method_cb, error_cb, data,
|
||||
"s" /*fmt*/, connection);
|
||||
}
|
||||
|
||||
EAPI int
|
||||
ecore_dbus_method_add_match(Ecore_DBus_Server *svr, char *match, Ecore_DBus_Method_Cb method_cb, void *data)
|
||||
ecore_dbus_method_add_match(Ecore_DBus_Server *svr, char *match,
|
||||
Ecore_DBus_Method_Return_Cb method_cb,
|
||||
Ecore_DBus_Error_Cb error_cb,
|
||||
void *data)
|
||||
{
|
||||
return ecore_dbus_message_new_method_call(svr,
|
||||
"org.freedesktop.DBus" /*destination*/,
|
||||
"/org/freedesktop/DBus" /*path*/,
|
||||
"org.freedesktop.DBus" /*interface*/,
|
||||
"AddMatch" /*method*/,
|
||||
method_cb, data,
|
||||
method_cb, error_cb, data,
|
||||
"s" /*fmt*/, match);
|
||||
}
|
||||
|
||||
EAPI int
|
||||
ecore_dbus_method_remove_match(Ecore_DBus_Server *svr, char *match, Ecore_DBus_Method_Cb method_cb, void *data)
|
||||
ecore_dbus_method_remove_match(Ecore_DBus_Server *svr, char *match,
|
||||
Ecore_DBus_Method_Return_Cb method_cb,
|
||||
Ecore_DBus_Error_Cb error_cb,
|
||||
void *data)
|
||||
{
|
||||
return ecore_dbus_message_new_method_call(svr,
|
||||
"org.freedesktop.DBus" /*destination*/,
|
||||
"/org/freedesktop/DBus" /*path*/,
|
||||
"org.freedesktop.DBus" /*interface*/,
|
||||
"RemoveMatch" /*method*/,
|
||||
method_cb, data,
|
||||
method_cb, error_cb, data,
|
||||
"s" /*fmt*/, match);
|
||||
}
|
||||
|
|
|
@ -74,8 +74,9 @@ struct _Ecore_DBus_Message
|
|||
|
||||
/* callback */
|
||||
struct {
|
||||
Ecore_DBus_Method_Cb func;
|
||||
void *data;
|
||||
Ecore_DBus_Method_Return_Cb method_return;
|
||||
Ecore_DBus_Error_Cb error;
|
||||
void *data;
|
||||
} cb;
|
||||
|
||||
/* header fields */
|
||||
|
|
Loading…
Reference in New Issue