forked from enlightenment/efl
edbus: register interface before name
Else will clients activating a service fail, as the dbus expects to know available interfaces on name request. SVN revision: 78811
This commit is contained in:
parent
593b9c00e0
commit
75579a775b
|
@ -350,7 +350,6 @@ static const EDBus_Service_Interface_Desc iface_desc = {
|
|||
static void
|
||||
on_name_request(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
|
||||
{
|
||||
EDBus_Connection *conn = data;
|
||||
unsigned int flag;
|
||||
|
||||
resp2 = malloc(sizeof(char) * 5);
|
||||
|
@ -373,8 +372,6 @@ on_name_request(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
|
|||
printf("error name already in use\n");
|
||||
return;
|
||||
}
|
||||
|
||||
edbus_service_interface_register(conn, PATH, &iface_desc);
|
||||
}
|
||||
|
||||
int
|
||||
|
@ -387,7 +384,8 @@ main(void)
|
|||
|
||||
conn = edbus_connection_get(EDBUS_CONNECTION_TYPE_SESSION);
|
||||
|
||||
edbus_name_request(conn, BUS, EDBUS_NAME_REQUEST_FLAG_DO_NOT_QUEUE, on_name_request, conn);
|
||||
edbus_service_interface_register(conn, PATH, &iface_desc);
|
||||
edbus_name_request(conn, BUS, EDBUS_NAME_REQUEST_FLAG_DO_NOT_QUEUE, on_name_request, NULL);
|
||||
|
||||
ecore_main_loop_begin();
|
||||
|
||||
|
|
|
@ -195,6 +195,7 @@ on_name_request(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
|
|||
EDBus_Service_Interface *iface;
|
||||
unsigned int flag;
|
||||
|
||||
iface = data;
|
||||
if (edbus_message_error_get(msg, NULL, NULL))
|
||||
{
|
||||
printf("error on on_name_request\n");
|
||||
|
@ -213,7 +214,6 @@ on_name_request(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
|
|||
return;
|
||||
}
|
||||
|
||||
iface = edbus_service_interface_register(conn, PATH, &iface_desc);
|
||||
ecore_timer_add(5, send_signal_alive, iface);
|
||||
ecore_timer_add(6, send_signal_hello, iface);
|
||||
}
|
||||
|
@ -221,13 +221,16 @@ on_name_request(void *data, const EDBus_Message *msg, EDBus_Pending *pending)
|
|||
int
|
||||
main(void)
|
||||
{
|
||||
EDBus_Service_Interface *iface;
|
||||
|
||||
ecore_init();
|
||||
edbus_init();
|
||||
|
||||
conn = edbus_connection_get(EDBUS_CONNECTION_TYPE_SESSION);
|
||||
|
||||
iface = edbus_service_interface_register(conn, PATH, &iface_desc);
|
||||
edbus_name_request(conn, BUS, EDBUS_NAME_REQUEST_FLAG_DO_NOT_QUEUE,
|
||||
on_name_request, NULL);
|
||||
on_name_request, iface);
|
||||
|
||||
ecore_main_loop_begin();
|
||||
|
||||
|
|
Loading…
Reference in New Issue