Enlightenment CVS committal Author : sebastid Project : e17 Module : libs/ecore
Dir : e17/libs/ecore/src/bin Modified Files: ecore_dbus_hal_test.c ecore_dbus_test.c Log Message: Add one event type for each type of message =================================================================== RCS file: /cvs/e/e17/libs/ecore/src/bin/ecore_dbus_hal_test.c,v retrieving revision 1.1 retrieving revision 1.2 diff -u -3 -r1.1 -r1.2 --- ecore_dbus_hal_test.c 26 Jul 2006 20:43:28 -0000 1.1 +++ ecore_dbus_hal_test.c 27 Jul 2006 13:29:43 -0000 1.2 @@ -7,16 +7,18 @@ 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 int ecore_dbus_event_server_data(void *udata, int ev_type, void *ev); +static int ecore_dbus_event_server_method_return(void *udata, int ev_type, void *ev); +static int ecore_dbus_event_server_signal(void *udata, int ev_type, void *ev); static const char *event_type_get(Ecore_DBus_Message_Type type); static int state = 0; +static Ecore_DBus_Server *svr = NULL; + int main(int argc, char **argv) { - Ecore_DBus_Server *svr; ecore_dbus_init(); svr = ecore_dbus_server_connect(ECORE_DBUS_BUS_SYSTEM, @@ -36,15 +38,17 @@ ecore_dbus_event_server_add, NULL); handler[i++] = ecore_event_handler_add(ECORE_DBUS_EVENT_SERVER_DEL, ecore_dbus_event_server_del, NULL); - handler[i++] = ecore_event_handler_add(ECORE_DBUS_EVENT_SERVER_DATA, - ecore_dbus_event_server_data, NULL); + handler[i++] = ecore_event_handler_add(ECORE_DBUS_EVENT_SERVER_METHOD_RETURN, + ecore_dbus_event_server_method_return, NULL); + handler[i++] = ecore_event_handler_add(ECORE_DBUS_EVENT_SERVER_SIGNAL, + ecore_dbus_event_server_signal, NULL); ecore_main_loop_begin(); for (i = 0; i < 3; i++) ecore_event_handler_del(handler[i]); - ecore_dbus_server_del(svr); + if (svr) ecore_dbus_server_del(svr); } ecore_dbus_shutdown(); return 0; @@ -57,7 +61,7 @@ event = ev; printf("ecore_dbus_event_server_add\n"); - ecore_dbus_method_hello(event->server); + ecore_dbus_method_name_has_owner(event->server, "org.freedesktop.Hal"); state++; return 0; } @@ -69,72 +73,71 @@ event = ev; printf("ecore_dbus_event_server_del\n"); + svr = NULL; ecore_main_loop_quit(); return 0; } static int -ecore_dbus_event_server_data(void *udata, int ev_type, void *ev) +ecore_dbus_event_server_method_return(void *udata, int ev_type, void *ev) { Ecore_DBus_Event_Server_Data *event; event = ev; - printf("ecore_dbus_event_server_data %s\n", event->member); - if (event->type == ECORE_DBUS_MESSAGE_TYPE_METHOD_RETURN) + printf("ecore_dbus_event_server_method_return %s %s.%s\n", event_type_get(event->type), + event->header.interface, + event->header.member); + printf("state: %d\n", state); + if (state == 1) { - if (state == 1) - { - printf("Check if hal is running\n"); - ecore_dbus_method_name_has_owner(event->server, "org.freedesktop.Hal"); - state++; - } - else if (state == 2) - { - int *exists; - - exists = ecore_dbus_message_body_field_get(event->message, 0); - if ((!exists) || (!*exists)) - { - printf("No hal\n"); - ecore_main_loop_quit(); - } - else - { - printf("Add listener for devices\n"); - ecore_dbus_method_add_match(event->server, - "type='signal'," - "interface='org.freedesktop.Hal.Manager'," - "sender='org.freedesktop.Hal'," - "path='/org/freedesktop/Hal/Manager'"); + int *exists; - state++; - } - } - else if (state == 3) + exists = event->args[0].value; + if ((!exists) || (!*exists)) { - printf("Should be listening for device changes!"); + printf("No hal\n"); + ecore_main_loop_quit(); } else { - printf("Hm: %s\n", event->member); - ecore_dbus_message_print(event->message); + printf("Add listener for devices\n"); + ecore_dbus_method_add_match(event->server, + "type='signal'," + "interface='org.freedesktop.Hal.Manager'," + "sender='org.freedesktop.Hal'," + "path='/org/freedesktop/Hal/Manager'"); + + state++; } } - else if (event->type == ECORE_DBUS_MESSAGE_TYPE_SIGNAL) + else if (state == 2) { - if (!strcmp(event->member, "org.freedesktop.Hal.Manager.DeviceAdded")) - { - printf("Device added: %s\n", (char *)ecore_dbus_message_body_field_get(event->message, 0)); - } - else if (!strcmp(event->member, "org.freedesktop.Hal.Manager.DeviceRemoved")) - { - printf("Device removed: %s\n", (char *)ecore_dbus_message_body_field_get(event->message, 0)); - } + printf("Should be listening for device changes!\n"); } else { - printf("Event: %s\n", event_type_get(event->type)); + printf("Hm: %s\n", event->header.member); ecore_dbus_message_print(event->message); + } + return 0; +} + +static int +ecore_dbus_event_server_signal(void *udata, int ev_type, void *ev) +{ + Ecore_DBus_Event_Server_Data *event; + + event = ev; + printf("ecore_dbus_event_server_signal %s %s.%s\n", event_type_get(event->type), + event->header.interface, + event->header.member); + if (!strcmp(event->header.member, "DeviceAdded")) + { + printf("Device added: %s\n", (char *)event->args[0].value); + } + else if (!strcmp(event->header.member, "DeviceRemoved")) + { + printf("Device removed: %s\n", (char *)event->args[0].value); } return 0; } =================================================================== RCS file: /cvs/e/e17/libs/ecore/src/bin/ecore_dbus_test.c,v retrieving revision 1.7 retrieving revision 1.8 diff -u -3 -r1.7 -r1.8 --- ecore_dbus_test.c 26 Jul 2006 20:43:28 -0000 1.7 +++ ecore_dbus_test.c 27 Jul 2006 13:29:43 -0000 1.8 @@ -7,15 +7,15 @@ 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 int ecore_dbus_event_server_data(void *udata, int ev_type, void *ev); +static int ecore_dbus_event_server_method_return(void *udata, int ev_type, void *ev); static const char * event_type_get(Ecore_DBus_Message_Type type); +static Ecore_DBus_Server *svr = NULL; + int main(int argc, char **argv) { - Ecore_DBus_Server *svr; - ecore_dbus_init(); svr = ecore_dbus_server_connect(ECORE_DBUS_BUS_SYSTEM, "/var/run/dbus/system_dbus_socket", -1, NULL); @@ -34,15 +34,15 @@ ecore_dbus_event_server_add, NULL); handler[i++] = ecore_event_handler_add(ECORE_DBUS_EVENT_SERVER_DEL, ecore_dbus_event_server_del, NULL); - handler[i++] = ecore_event_handler_add(ECORE_DBUS_EVENT_SERVER_DATA, - ecore_dbus_event_server_data, NULL); + handler[i++] = ecore_event_handler_add(ECORE_DBUS_EVENT_SERVER_METHOD_RETURN, + ecore_dbus_event_server_method_return, NULL); ecore_main_loop_begin(); for (i = 0; i < 3; i++) ecore_event_handler_del(handler[i]); - ecore_dbus_server_del(svr); + if (svr) ecore_dbus_server_del(svr); } ecore_dbus_shutdown(); return 0; @@ -52,12 +52,10 @@ ecore_dbus_event_server_add(void *udata, int ev_type, void *ev) { Ecore_DBus_Event_Server_Add *event; - int ret; event = ev; printf("ecore_dbus_event_server_add\n"); - ret = ecore_dbus_method_hello(event->server); - printf("ret: %d\n", ret); + ecore_dbus_method_list_names(event->server); return 0; } @@ -68,42 +66,35 @@ event = ev; printf("ecore_dbus_event_server_del\n"); + svr = NULL; ecore_main_loop_quit(); return 0; } static int -ecore_dbus_event_server_data(void *udata, int ev_type, void *ev) +ecore_dbus_event_server_method_return(void *udata, int ev_type, void *ev) { Ecore_DBus_Event_Server_Data *event; + Ecore_List *names; event = ev; - printf("ecore_dbus_event_server_data %s %s\n", event_type_get(event->type), event->member); - if (event->type != ECORE_DBUS_MESSAGE_TYPE_METHOD_RETURN) return 0; - if (!event->member) return 0; - if (!strcmp(event->member, "org.freedesktop.DBus.Hello")) - { - printf("List names\n"); - ecore_dbus_method_list_names(event->server); - } - else if (!strcmp(event->member, "org.freedesktop.DBus.ListNames")) + printf("ecore_dbus_event_server_data %s %s.%s\n", event_type_get(event->type), + event->header.interface, + event->header.member); + + printf("Got names %c\n", event->args[0].type); + names = event->args[0].value; + if (names) { - Ecore_List *names; - - printf("Got names\n"); - names = ecore_dbus_message_body_field_get(event->message, 0); - if (names) + char *name; + ecore_list_goto_first(names); + while ((name = ecore_list_next(names))) { - char *name; - ecore_list_goto_first(names); - while ((name = ecore_list_next(names))) - { - printf("Name: %s\n", name); - } - ecore_list_destroy(names); + printf("Name: %s\n", name); } - ecore_main_loop_quit(); + ecore_list_destroy(names); } + ecore_main_loop_quit(); return 0; } ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs