Author: dcbw
Date: Thu Jan 17 22:58:05 2008
New Revision: 459
URL: http://svn.gnome.org/viewvc/network-manager-applet?rev=459&view=rev
Log:
2008-01-17 Dan Williams <[EMAIL PROTECTED]>
* src/applet-dbus-settings.c
src/applet-dbus-settings.h
- (update_user_connections): new function; factor out common
code to
update user connections
- (applet_dbus_settings_list_connections): use
update_user_connections()
- (applet_dbus_settings_get_all_connections): new function;
return a
a GSList of all connections (both system and user)
Modified:
trunk/ChangeLog
trunk/src/applet-dbus-settings.c
trunk/src/applet-dbus-settings.h
Modified: trunk/src/applet-dbus-settings.c
==============================================================================
--- trunk/src/applet-dbus-settings.c (original)
+++ trunk/src/applet-dbus-settings.c Thu Jan 17 22:58:05 2008
@@ -609,20 +609,59 @@
return cnc_list;
}
+static void
+update_user_connections (AppletDbusSettings *applet_settings)
+{
+ g_return_if_fail (APPLET_IS_DBUS_SETTINGS (applet_settings));
+
+ if (applet_settings->connections)
+ return;
+
+ applet_settings->connections = get_connections (applet_settings);
+ if (!applet_settings->connections)
+ g_warning ("No networks found in the configuration database");
+}
+
GSList *
applet_dbus_settings_list_connections (AppletDbusSettings *applet_settings)
{
g_return_val_if_fail (APPLET_IS_DBUS_SETTINGS (applet_settings), NULL);
- if (!applet_settings->connections) {
- applet_settings->connections = get_connections
(applet_settings);
- if (!applet_settings->connections)
- g_warning ("No networks found in the configuration
database");
- }
+ update_user_connections (applet_settings);
return applet_settings->connections;
}
+static void
+add_system_connection (gpointer key, gpointer value, gpointer user_data)
+{
+ GSList **list = (GSList **) user_data;
+
+ *list = g_slist_append (*list, NM_CONNECTION (value));
+}
+
+GSList *
+applet_dbus_settings_get_all_connections (AppletDbusSettings *applet_settings)
+{
+ GSList *connections = NULL, *iter;
+
+ g_return_val_if_fail (APPLET_IS_DBUS_SETTINGS (applet_settings), NULL);
+
+ g_hash_table_foreach (applet_settings->system_connections,
+ add_system_connection,
+ &connections);
+
+ update_user_connections (applet_settings);
+ for (iter = applet_settings->connections; iter; iter = g_slist_next
(iter)) {
+ NMConnectionSettings *cs = NM_CONNECTION_SETTINGS (iter->data);
+ NMConnection *con =
applet_dbus_connection_settings_get_connection (cs);
+
+ connections = g_slist_append (connections, con);
+ }
+
+ return connections;
+}
+
static GPtrArray *
list_connections (NMSettings *settings)
{
Modified: trunk/src/applet-dbus-settings.h
==============================================================================
--- trunk/src/applet-dbus-settings.h (original)
+++ trunk/src/applet-dbus-settings.h Thu Jan 17 22:58:05 2008
@@ -101,6 +101,10 @@
AppletDbusConnectionSettings * applet_dbus_settings_get_by_connection
(AppletDbusSettings *settings,
NMConnection *connection);
+/* Returns a list of NMConnectionSettings objects */
GSList * applet_dbus_settings_list_connections (AppletDbusSettings *settings);
+/* Returns a list of both user and system NMConnection objects */
+GSList * applet_dbus_settings_get_all_connections (AppletDbusSettings
*settings);
+
#endif
_______________________________________________
SVN-commits-list mailing list (read only)
http://mail.gnome.org/mailman/listinfo/svn-commits-list
Want to limit the commits to a few modules? Go to above URL, log in to edit
your options and select the modules ('topics') you want.
Module maintainer? It is possible to set the reply-to to your development
mailing list. Email [EMAIL PROTECTED] if interested.