diff options
-rw-r--r-- | ChangeLog | 14 | ||||
-rw-r--r-- | libnm-util/nm-setting.c | 17 | ||||
-rw-r--r-- | libnm-util/nm-setting.h | 8 | ||||
-rw-r--r-- | system-settings/plugins/keyfile/nm-keyfile-connection.c | 4 | ||||
-rw-r--r-- | system-settings/plugins/keyfile/reader.c | 14 | ||||
-rw-r--r-- | system-settings/plugins/keyfile/writer.c | 8 |
6 files changed, 40 insertions, 25 deletions
@@ -1,5 +1,19 @@ 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 libnm-util/nm-utils.h - More documentation updates diff --git a/libnm-util/nm-setting.c b/libnm-util/nm-setting.c index fd00f1a2fa..e3163813da 100644 --- a/libnm-util/nm-setting.c +++ b/libnm-util/nm-setting.c @@ -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); } diff --git a/libnm-util/nm-setting.h b/libnm-util/nm-setting.h index 8e4af24783..8303c74108 100644 --- a/libnm-util/nm-setting.h +++ b/libnm-util/nm-setting.h @@ -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); diff --git a/system-settings/plugins/keyfile/nm-keyfile-connection.c b/system-settings/plugins/keyfile/nm-keyfile-connection.c index 3f15458b38..c65b1b636e 100644 --- a/system-settings/plugins/keyfile/nm-keyfile-connection.c +++ b/system-settings/plugins/keyfile/nm-keyfile-connection.c @@ -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)) { diff --git a/system-settings/plugins/keyfile/reader.c b/system-settings/plugins/keyfile/reader.c index d3d32ab1cd..9efd1307bd 100644 --- a/system-settings/plugins/keyfile/reader.c +++ b/system-settings/plugins/keyfile/reader.c @@ -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 */ diff --git a/system-settings/plugins/keyfile/writer.c b/system-settings/plugins/keyfile/writer.c index 59ec69d702..da5c5b09a5 100644 --- a/system-settings/plugins/keyfile/writer.c +++ b/system-settings/plugins/keyfile/writer.c @@ -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; |