Christopher Michael wrote: > Seb, > > Sure ? > Dual Core Anyone..?
> > 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 > ------------------------------------------------------------------------- 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