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

Reply via email to