2008-11-20 Dan Williams <dcbw@redhat.com>
authorDan Williams <dcbw@redhat.com>
Thu, 20 Nov 2008 21:23:55 +0000 (21:23 +0000)
committerDan Williams <dcbw@redhat.com>
Thu, 20 Nov 2008 21:23:55 +0000 (21:23 +0000)
Patch from Tambet Ingo <tambet@gmail.com>

* libnm-util/nm-setting.c
  libnm-util/nm-setting.h
- (NMSettingValueIterFn): instead of just a gboolean for secrets, take
all the GParamSpec flags of the property

* system-settings/plugins/keyfile/nm-keyfile-connection.c
  system-settings/plugins/keyfile/reader.c
  system-settings/plugins/keyfile/writer.c
- Update for NMSettingValueIterFn change

git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4322 4912f4e0-d625-0410-9fb7-b9a5a253dbdc

ChangeLog
libnm-util/nm-setting.c
libnm-util/nm-setting.h
system-settings/plugins/keyfile/nm-keyfile-connection.c
system-settings/plugins/keyfile/reader.c
system-settings/plugins/keyfile/writer.c

index 082679d..fa3b177 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2008-11-20  Dan Williams  <dcbw@redhat.com>
+
+       Patch from Tambet Ingo <tambet@gmail.com>
+
+       * libnm-util/nm-setting.c
+         libnm-util/nm-setting.h
+               - (NMSettingValueIterFn): instead of just a gboolean for secrets, take
+                       all the GParamSpec flags of the property
+
+       * system-settings/plugins/keyfile/nm-keyfile-connection.c
+         system-settings/plugins/keyfile/reader.c
+         system-settings/plugins/keyfile/writer.c
+               - Update for NMSettingValueIterFn change
+
 2008-11-20  Dan Williams  <dcbw@redhat.com>
 
        * libnm-util/nm-utils.c
index fd00f1a..e316381 100644 (file)
@@ -230,14 +230,13 @@ nm_setting_new_from_hash (GType setting_type,
 
 static void
 duplicate_setting (NMSetting *setting,
-                           const char *name,
-                           const GValue *value,
-                           gboolean secret,
-                           gpointer user_data)
+                   const char *name,
+                   const GValue *value,
+                   GParamFlags flags,
+                   gpointer user_data)
 {
-       GObject *dup = (GObject *) user_data;
-
-       g_object_set_property (dup, name, value);
+       if (flags & G_PARAM_WRITABLE)
+               g_object_set_property (G_OBJECT (user_data), name, value);
 }
 
 /**
@@ -407,9 +406,7 @@ nm_setting_enumerate_values (NMSetting *setting,
 
                g_value_init (&value, G_PARAM_SPEC_VALUE_TYPE (prop_spec));
                g_object_get_property (G_OBJECT (setting), prop_spec->name, &value);
-               func (setting, prop_spec->name, &value,
-                        prop_spec->flags & NM_SETTING_PARAM_SECRET,
-                        user_data);
+               func (setting, prop_spec->name, &value, prop_spec->flags, user_data);
                g_value_unset (&value);
        }
 
index 8e4af24..8303c74 100644 (file)
@@ -80,10 +80,10 @@ typedef struct {
 } NMSettingClass;
 
 typedef void (*NMSettingValueIterFn) (NMSetting *setting,
-                                                          const char *key,
-                                                          const GValue *value,
-                                                          gboolean secret,
-                                                          gpointer user_data);
+                                      const char *key,
+                                      const GValue *value,
+                                      GParamFlags flags,
+                                      gpointer user_data);
 
 
 GType nm_setting_get_type (void);
index 3f15458..c65b1b6 100644 (file)
@@ -97,12 +97,12 @@ static void
 add_secrets (NMSetting *setting,
              const char *key,
              const GValue *value,
-             gboolean secret,
+             GParamFlags flags,
              gpointer user_data)
 {
        GHashTable *secrets = user_data;
 
-       if (!secret)
+       if (!(flags & NM_SETTING_PARAM_SECRET))
                return;
 
        if (G_VALUE_HOLDS_STRING (value)) {
index d3d32ab..9efd130 100644 (file)
@@ -344,10 +344,10 @@ typedef struct {
 
 static void
 read_one_setting_value (NMSetting *setting,
-                                   const char *key,
-                                   const GValue *value,
-                                   gboolean secret,
-                                   gpointer user_data)
+                        const char *key,
+                        const GValue *value,
+                        GParamFlags flags,
+                        gpointer user_data)
 {
        ReadSettingInfo *info = (ReadSettingInfo *) user_data;
        GKeyFile *file = info->keyfile;
@@ -356,12 +356,16 @@ read_one_setting_value (NMSetting *setting,
        GError *err = NULL;
        gboolean check_for_key = TRUE;
 
+       /* Property is not writable */
+       if (!(flags & G_PARAM_WRITABLE))
+               return;
+
        /* Setting name gets picked up from the keyfile's section name instead */
        if (!strcmp (key, NM_SETTING_NAME))
                return;
 
        /* Don't read in secrets unless we want to */
-       if (secret && !info->secrets)
+       if ((flags & NM_SETTING_PARAM_SECRET) && !info->secrets)
                return;
 
        /* Don't read the NMSettingConnection object's 'read-only' property */
index 59ec69d..da5c5b0 100644 (file)
@@ -203,10 +203,10 @@ write_hash_of_string (GKeyFile *file,
 
 static void
 write_setting_value (NMSetting *setting,
-                                const char *key,
-                                const GValue *value,
-                                gboolean secret,
-                                gpointer user_data)
+                     const char *key,
+                     const GValue *value,
+                     GParamFlags flag,
+                     gpointer user_data)
 {
        GKeyFile *file = (GKeyFile *) user_data;
        const char *setting_name;