summaryrefslogtreecommitdiff
path: root/system-settings/src
diff options
context:
space:
mode:
authorAntti Kaijanmäki <antti@kaijanmaki.net>2008-08-18 08:30:28 +0000
committerAntti Kaijanmäki <antti@kaijanmaki.net>2008-08-18 08:30:28 +0000
commit2c21a2fe6b0498585fba0beb003ac8aa6351803c (patch)
tree9544edfe2ed9a6c96eda933c35fb5110f1d666c6 /system-settings/src
parente04934d93efba622123809cc767488af673b2967 (diff)
downloadNetworkManager-mbca.tar.gz
keep up with trunkmbca
git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/branches/mbca@3981 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
Diffstat (limited to 'system-settings/src')
-rw-r--r--system-settings/src/dbus-settings.c21
-rw-r--r--system-settings/src/nm-system-config-interface.c7
-rw-r--r--system-settings/src/nm-system-config-interface.h7
3 files changed, 25 insertions, 10 deletions
diff --git a/system-settings/src/dbus-settings.c b/system-settings/src/dbus-settings.c
index 21c0a448e1..0cb8abcb2c 100644
--- a/system-settings/src/dbus-settings.c
+++ b/system-settings/src/dbus-settings.c
@@ -1,8 +1,10 @@
-/* -*- Mode: C; tab-width: 5; indent-tabs-mode: t; c-basic-offset: 5 -*- */
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* NetworkManager system settings service
*
* Søren Sandmann <sandmann@daimi.au.dk>
+ * Dan Williams <dcbw@redhat.com>
+ * Tambet Ingo <tambet@gmail.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -18,7 +20,8 @@
* with this program; if not, write to the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * (C) Copyright 2007 Red Hat, Inc.
+ * (C) Copyright 2007 - 2008 Red Hat, Inc.
+ * (C) Copyright 2008 Novell, Inc.
*/
#include <NetworkManager.h>
@@ -263,7 +266,9 @@ nm_sysconfig_settings_class_init (NMSysconfigSettingsClass *class)
dbus_g_object_type_install_info (G_TYPE_FROM_CLASS (settings_class),
&dbus_glib_nm_settings_system_object_info);
- dbus_g_error_domain_register (NM_SYSCONFIG_SETTINGS_ERROR, NULL, NM_TYPE_SYSCONFIG_SETTINGS_ERROR);
+ dbus_g_error_domain_register (NM_SYSCONFIG_SETTINGS_ERROR,
+ NM_DBUS_IFACE_SETTINGS_SYSTEM,
+ NM_TYPE_SYSCONFIG_SETTINGS_ERROR);
}
static void
@@ -453,6 +458,8 @@ impl_settings_add_connection (NMSysconfigSettings *self,
connection = nm_connection_new_from_hash (hash, &cnfh_error);
if (connection) {
+ GError *add_error = NULL;
+
/* Here's how it works:
1) plugin writes a connection.
2) plugin notices that a new connection is available for reading.
@@ -461,9 +468,12 @@ impl_settings_add_connection (NMSysconfigSettings *self,
*/
success = FALSE;
- for (iter = priv->plugins; iter && success == FALSE; iter = iter->next)
+ for (iter = priv->plugins; iter && success == FALSE; iter = iter->next) {
success = nm_system_config_interface_add_connection (NM_SYSTEM_CONFIG_INTERFACE (iter->data),
- connection);
+ connection, &add_error);
+ if (!success && add_error)
+ g_error_free (add_error);
+ }
g_object_unref (connection);
@@ -491,3 +501,4 @@ impl_settings_add_connection (NMSysconfigSettings *self,
return TRUE;
}
}
+
diff --git a/system-settings/src/nm-system-config-interface.c b/system-settings/src/nm-system-config-interface.c
index e868bf7fac..3b73730601 100644
--- a/system-settings/src/nm-system-config-interface.c
+++ b/system-settings/src/nm-system-config-interface.c
@@ -1,4 +1,4 @@
-/* -*- Mode: C; tab-width: 5; indent-tabs-mode: t; c-basic-offset: 5 -*- */
+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/* NetworkManager -- Network link manager
*
* Dan Williams <dcbw@redhat.com>
@@ -139,7 +139,8 @@ nm_system_config_interface_supports_add (NMSystemConfigInterface *config)
gboolean
nm_system_config_interface_add_connection (NMSystemConfigInterface *config,
- NMConnection *connection)
+ NMConnection *connection,
+ GError **error)
{
gboolean success = FALSE;
@@ -147,7 +148,7 @@ nm_system_config_interface_add_connection (NMSystemConfigInterface *config,
g_return_val_if_fail (NM_IS_CONNECTION (connection), FALSE);
if (NM_SYSTEM_CONFIG_INTERFACE_GET_INTERFACE (config)->add_connection)
- success = NM_SYSTEM_CONFIG_INTERFACE_GET_INTERFACE (config)->add_connection (config, connection);
+ success = NM_SYSTEM_CONFIG_INTERFACE_GET_INTERFACE (config)->add_connection (config, connection, error);
return success;
}
diff --git a/system-settings/src/nm-system-config-interface.h b/system-settings/src/nm-system-config-interface.h
index 62306bcda6..4a258e3e99 100644
--- a/system-settings/src/nm-system-config-interface.h
+++ b/system-settings/src/nm-system-config-interface.h
@@ -60,12 +60,14 @@ GObject * nm_system_config_factory (void);
#define NM_SYSTEM_CONFIG_INTERFACE_NAME "name"
#define NM_SYSTEM_CONFIG_INTERFACE_INFO "info"
+#define NM_SYSTEM_CONFIG_INTERFACE_HOSTNAME "hostname"
typedef enum {
NM_SYSTEM_CONFIG_INTERFACE_PROP_FIRST = 0x1000,
NM_SYSTEM_CONFIG_INTERFACE_PROP_NAME = NM_SYSTEM_CONFIG_INTERFACE_PROP_FIRST,
NM_SYSTEM_CONFIG_INTERFACE_PROP_INFO,
+ NM_SYSTEM_CONFIG_INTERFACE_PROP_HOSTNAME,
} NMSystemConfigInterfaceProp;
@@ -92,7 +94,7 @@ struct _NMSystemConfigInterface {
/*
* Add a new connection.
*/
- gboolean (*add_connection) (NMSystemConfigInterface *config, NMConnection *connection);
+ gboolean (*add_connection) (NMSystemConfigInterface *config, NMConnection *connection, GError **error);
/* Signals */
@@ -115,7 +117,8 @@ GSList *nm_system_config_interface_get_unmanaged_devices (NMSystemConfigInterfac
gboolean nm_system_config_interface_supports_add (NMSystemConfigInterface *config);
gboolean nm_system_config_interface_add_connection (NMSystemConfigInterface *config,
- NMConnection *connection);
+ NMConnection *connection,
+ GError **error);
G_END_DECLS