+2008-11-14 Dan Williams <dcbw@redhat.com>
+
+ * introspection/nm-settings-system.xml
+ system-settings/src/dbus-settings.c
+ system-settings/src/dbus-settings.h
+ - Add a "CanModify" property to indicate if any plugins support
+ connection modification
+
2008-11-14 Dan Williams <dcbw@redhat.com>
Relicense libnm-glib to LGPLv2+ with agreement from contributors
PROP_0,
PROP_UNMANAGED_DEVICES,
PROP_HOSTNAME,
+ PROP_CAN_MODIFY,
LAST_PROP
};
return devices;
}
+static NMSystemConfigInterface *
+get_first_plugin_by_capability (NMSysconfigSettings *self,
+ guint32 capability)
+{
+ NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self);
+ GSList *iter;
+
+ g_return_val_if_fail (self != NULL, NULL);
+
+ /* Do any of the plugins support setting the hostname? */
+ for (iter = priv->plugins; iter; iter = iter->next) {
+ NMSystemConfigInterfaceCapabilities caps = NM_SYSTEM_CONFIG_INTERFACE_CAP_NONE;
+
+ g_object_get (G_OBJECT (iter->data), NM_SYSTEM_CONFIG_INTERFACE_CAPABILITIES, &caps, NULL);
+ if (caps & capability)
+ return NM_SYSTEM_CONFIG_INTERFACE (iter->data);
+ }
+
+ return NULL;
+}
+
static void
get_property (GObject *object, guint prop_id,
GValue *value, GParamSpec *pspec)
NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self);
GSList *iter;
+
switch (prop_id) {
case PROP_UNMANAGED_DEVICES:
g_value_take_boxed (value, get_unmanaged_devices (self));
if (!g_value_get_string (value))
g_value_set_static_string (value, "");
break;
+ case PROP_CAN_MODIFY:
+ g_value_set_boolean (value, !!get_first_plugin_by_capability (self, NM_SYSTEM_CONFIG_INTERFACE_CAP_MODIFY_CONNECTIONS));
+ break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
break;
NULL,
G_PARAM_READABLE));
+ g_object_class_install_property
+ (object_class, PROP_CAN_MODIFY,
+ g_param_spec_boolean (NM_SYSCONFIG_SETTINGS_CAN_MODIFY,
+ "CanModify",
+ "Can modify",
+ FALSE,
+ G_PARAM_READABLE));
+
/* signals */
signals[PROPERTIES_CHANGED] =
g_signal_new ("properties-changed",
return TRUE;
}
-static NMSystemConfigInterface *
-get_first_plugin_by_capability (NMSysconfigSettings *self,
- guint32 capability)
-{
- NMSysconfigSettingsPrivate *priv = NM_SYSCONFIG_SETTINGS_GET_PRIVATE (self);
- GSList *iter;
-
- g_return_val_if_fail (self != NULL, NULL);
-
- /* Do any of the plugins support setting the hostname? */
- for (iter = priv->plugins; iter; iter = iter->next) {
- NMSystemConfigInterfaceCapabilities caps = NM_SYSTEM_CONFIG_INTERFACE_CAP_NONE;
-
- g_object_get (G_OBJECT (iter->data), NM_SYSTEM_CONFIG_INTERFACE_CAPABILITIES, &caps, NULL);
- if (caps & capability)
- return NM_SYSTEM_CONFIG_INTERFACE (iter->data);
- }
-
- return NULL;
-}
-
static gboolean
impl_settings_add_connection (NMSysconfigSettings *self,
GHashTable *hash,