Seb, Sure ?
Enlightenment SVN wrote: > Log: > No need to have a callback if not async. > Author: englebass > Date: 2008-11-16 14:01:34 -0800 (Sun, 16 Nov 2008) > New Revision: 37681 > > Modified: > trunk/e_dbus/src/bin/nm.c trunk/e_dbus/src/lib/nm/E_Nm.h > trunk/e_dbus/src/lib/nm/e_nms.c trunk/e_dbus/src/lib/nm/e_nms_connection.c > > Modified: trunk/e_dbus/src/bin/nm.c > =================================================================== > --- trunk/e_dbus/src/bin/nm.c 2008-11-16 21:33:28 UTC (rev 37680) > +++ trunk/e_dbus/src/bin/nm.c 2008-11-16 22:01:34 UTC (rev 37681) > @@ -156,20 +156,6 @@ > } > > static int > -cb_nms(void *data, E_NMS *reply) > -{ > - if (!reply) > - { > - ecore_main_loop_quit(); > - return 1; > - } > - nms = reply; > - e_nms_dump(nms); > - e_nms_list_connections(nms, cb_nms_connections, nms); > - return 1; > -} > - > -static int > cb_nm(void *data, E_NM *reply) > { > if (!reply) > @@ -190,8 +176,10 @@ > } > /* > e_nm_get_devices(nm, cb_get_devices, nm); > - e_nms_get(nm, cb_nms, nm); > */ > + nms = e_nms_get(nm); > + e_nms_dump(nms); > + e_nms_list_connections(nms, cb_nms_connections, nms); > return 1; > } > > > Modified: trunk/e_dbus/src/lib/nm/E_Nm.h > =================================================================== > --- trunk/e_dbus/src/lib/nm/E_Nm.h 2008-11-16 21:33:28 UTC (rev 37680) > +++ trunk/e_dbus/src/lib/nm/E_Nm.h 2008-11-16 22:01:34 UTC (rev 37681) > @@ -330,19 +330,19 @@ > /* TODO: org.freedesktop.NetworkManager.DHCP4Config api */ > > /* org.freedesktop.NetworkManagerSettings api */ > - EAPI int e_nms_get(E_NM *nm, int (*cb_func)(void *data, E_NMS *nms), > void *data); > - EAPI void e_nms_free(E_NMS *nms); > - EAPI void e_nms_dump(E_NMS *nms); > - EAPI int e_nms_list_connections(E_NMS *nms, > + EAPI E_NMS *e_nms_get(E_NM *nm); > + EAPI void e_nms_free(E_NMS *nms); > + EAPI void e_nms_dump(E_NMS *nms); > + EAPI int e_nms_list_connections(E_NMS *nms, > int (*cb_func)(void *data, Ecore_List *list), > void *data); > > EAPI void e_nms_callback_new_connection_set(E_NMS *nms, int > (*cb_func)(E_NMS *nms, const char *service_name, const char *connection)); > > /* org.freedesktop.NetworkManagerSettings.Connection(.*) api */ > - EAPI int e_nms_connection_get(E_NMS *nms, const char *service_name, > const char *connection, int (*cb_func)(void *data, E_NMS_Connection *conn), > void *data); > - EAPI void e_nms_connection_free(E_NMS_Connection *conn); > - EAPI void e_nms_connection_dump(E_NMS_Connection *conn); > + EAPI E_NMS_Connection *e_nms_connection_get(E_NMS *nms, const char > *service_name, const char *connection); > + EAPI void e_nms_connection_free(E_NMS_Connection *conn); > + EAPI void e_nms_connection_dump(E_NMS_Connection *conn); > > /* TODO: e_nms_connection_update */ > /* TODO: e_nms_connection_delete */ > > Modified: trunk/e_dbus/src/lib/nm/e_nms.c > =================================================================== > --- trunk/e_dbus/src/lib/nm/e_nms.c 2008-11-16 21:33:28 UTC (rev 37680) > +++ trunk/e_dbus/src/lib/nm/e_nms.c 2008-11-16 22:01:34 UTC (rev 37681) > @@ -4,39 +4,6 @@ > #include <string.h> > > static void > -check_done(Reply_Data *d, Ecore_List *list) > -{ > - ecore_list_first_goto(list); > - if (ecore_list_empty_is(list)) > - { > - d->cb_func(d->data, NULL); > - ecore_list_destroy(list); > - free(d); > - } > - else if (ecore_list_current(list) != (void *)-1) > - { > - d->cb_func(d->data, list); > - free(d); > - } > -} > - > -static int > -cb_nms_connection(void *data, E_NMS_Connection *conn) > -{ > - Reply_Data *d; > - Ecore_List *list; > - > - d = data; > - list = d->reply; > - if (conn) > - ecore_list_append(list, conn); > - ecore_list_first_remove(list); > - > - check_done(d, list); > - return 1; > -} > - > -static void > cb_nms_user_connections(void *data, void *reply, DBusError *err) > { > Reply_Data *d; > @@ -57,13 +24,10 @@ > return; > } > list2 = ecore_list_new(); > - d->reply = list2; > ecore_list_free_cb_set(list2, ECORE_FREE_CB(e_nms_connection_free)); > - ecore_list_append(list2, (void *)-1); > while ((path = ecore_list_first_remove(list))) > { > - ecore_list_prepend(list2, (void *)-1); > - e_nms_connection_get(nms, E_NMS_SERVICE_SYSTEM, path, cb_nms_connection, > d); > + ecore_list_append(list2, e_nms_connection_get(nms, E_NMS_SERVICE_SYSTEM, > path)); > free(path); > } > ecore_list_destroy(list); > @@ -71,13 +35,9 @@ > connections = reply; > ecore_list_first_goto(connections); > while ((path = ecore_list_next(connections))) > - { > - ecore_list_prepend(list2, (void *)-1); > - e_nms_connection_get(nms, E_NMS_SERVICE_USER, path, cb_nms_connection, > d); > - } > - ecore_list_first_remove(list2); > - > - check_done(d, list2); > + ecore_list_append(list2, e_nms_connection_get(nms, E_NMS_SERVICE_USER, > path)); > + d->cb_func(d->data, list2); > + free(d); > } > > static void > @@ -147,8 +107,8 @@ > new_connection(E_NMS_SERVICE_USER, data, msg); > } > > -EAPI int > -e_nms_get(E_NM *nm, int (*cb_func)(void *data, E_NMS *nms), void *data) > +EAPI E_NMS * > +e_nms_get(E_NM *nm) > { > E_NMS_Internal *nmsi; > > @@ -158,8 +118,7 @@ > ecore_list_append(nmsi->handlers, > e_nms_signal_handler_add(nmsi->nmi->conn, E_NMS_SERVICE_SYSTEM, > "NewConnection", cb_new_system_connection, nmsi)); > ecore_list_append(nmsi->handlers, > e_nms_signal_handler_add(nmsi->nmi->conn, E_NMS_SERVICE_USER, > "NewConnection", cb_new_user_connection, nmsi)); > > - (*cb_func)(data, (E_NMS *)nmsi); > - return 1; > + return (E_NMS *)nmsi; > } > > EAPI void > > Modified: trunk/e_dbus/src/lib/nm/e_nms_connection.c > =================================================================== > --- trunk/e_dbus/src/lib/nm/e_nms_connection.c 2008-11-16 21:33:28 UTC > (rev 37680) > +++ trunk/e_dbus/src/lib/nm/e_nms_connection.c 2008-11-16 22:01:34 UTC > (rev 37681) > @@ -21,8 +21,8 @@ > free(d); > } > > -EAPI int > -e_nms_connection_get(E_NMS *nms, const char *service_name, const char > *connection, int (*cb_func)(void *data, E_NMS_Connection *conn), void *data) > +EAPI E_NMS_Connection * > +e_nms_connection_get(E_NMS *nms, const char *service_name, const char > *connection) > { > E_NMS_Internal *nmsi; > E_NMS_Connection_Internal *conn; > @@ -32,8 +32,7 @@ > conn->nmi = nmsi->nmi; > conn->conn.path = strdup(connection); > conn->conn.service_name = strdup(service_name); > - (*cb_func)(data, (E_NMS_Connection *)conn); > - return 1; > + return &conn->conn; > } > > EAPI void > > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > _______________________________________________ > enlightenment-svn mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/enlightenment-svn > ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel