summaryrefslogtreecommitdiff
path: root/libnm-util/nm-setting.c
diff options
context:
space:
mode:
Diffstat (limited to 'libnm-util/nm-setting.c')
-rw-r--r--libnm-util/nm-setting.c183
1 files changed, 24 insertions, 159 deletions
diff --git a/libnm-util/nm-setting.c b/libnm-util/nm-setting.c
index 0f8b7d4f2..6f014bffb 100644
--- a/libnm-util/nm-setting.c
+++ b/libnm-util/nm-setting.c
@@ -19,14 +19,13 @@
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA.
*
- * (C) Copyright 2007 - 2011 Red Hat, Inc.
+ * (C) Copyright 2007 - 2008 Red Hat, Inc.
* (C) Copyright 2007 - 2008 Novell, Inc.
*/
#include <string.h>
#include "nm-setting.h"
-#include "nm-setting-private.h"
#include "nm-setting-connection.h"
#include "nm-utils.h"
@@ -108,23 +107,21 @@ destroy_gvalue (gpointer data)
/**
* nm_setting_to_hash:
* @setting: the #NMSetting
- * @flags: hash flags, e.g. %NM_SETTING_HASH_FLAG_ALL
*
* Converts the #NMSetting into a #GHashTable mapping each setting property
* name to a GValue describing that property, suitable for marshalling over
* D-Bus or serializing. The mapping is string:GValue.
*
- * Returns: (transfer full) (element-type utf8 GObject.Value): a new #GHashTable describing the setting's properties
+ * Returns: a new #GHashTable describing the setting's properties
**/
GHashTable *
-nm_setting_to_hash (NMSetting *setting, NMSettingHashFlags flags)
+nm_setting_to_hash (NMSetting *setting)
{
GHashTable *hash;
GParamSpec **property_specs;
guint n_property_specs;
guint i;
- g_return_val_if_fail (setting != NULL, NULL);
g_return_val_if_fail (NM_IS_SETTING (setting), NULL);
property_specs = g_object_class_list_properties (G_OBJECT_GET_CLASS (setting), &n_property_specs);
@@ -135,40 +132,28 @@ nm_setting_to_hash (NMSetting *setting, NMSettingHashFlags flags)
}
hash = g_hash_table_new_full (g_str_hash, g_str_equal,
- (GDestroyNotify) g_free, destroy_gvalue);
+ (GDestroyNotify) g_free,
+ destroy_gvalue);
for (i = 0; i < n_property_specs; i++) {
GParamSpec *prop_spec = property_specs[i];
- GValue *value;
- if (!(prop_spec->flags & NM_SETTING_PARAM_SERIALIZE))
- continue;
-
- if ( (flags & NM_SETTING_HASH_FLAG_NO_SECRETS)
- && (prop_spec->flags & NM_SETTING_PARAM_SECRET))
- continue;
-
- if ( (flags & NM_SETTING_HASH_FLAG_ONLY_SECRETS)
- && !(prop_spec->flags & NM_SETTING_PARAM_SECRET))
- continue;
+ if (prop_spec->flags & NM_SETTING_PARAM_SERIALIZE) {
+ GValue *value;
- value = g_slice_new0 (GValue);
- g_value_init (value, prop_spec->value_type);
- g_object_get_property (G_OBJECT (setting), prop_spec->name, value);
+ value = g_slice_new0 (GValue);
+ g_value_init (value, prop_spec->value_type);
+ g_object_get_property (G_OBJECT (setting), prop_spec->name, value);
- /* Don't serialize values with default values */
- if (!g_param_value_defaults (prop_spec, value))
- g_hash_table_insert (hash, g_strdup (prop_spec->name), value);
- else
- destroy_gvalue (value);
+ /* Don't serialize values with default values */
+ if (!g_param_value_defaults (prop_spec, value))
+ g_hash_table_insert (hash, g_strdup (prop_spec->name), value);
+ else
+ destroy_gvalue (value);
+ }
}
- g_free (property_specs);
- /* Don't return empty hashes */
- if (g_hash_table_size (hash) < 1) {
- g_hash_table_destroy (hash);
- hash = NULL;
- }
+ g_free (property_specs);
return hash;
}
@@ -191,7 +176,7 @@ one_property_cb (gpointer key, gpointer val, gpointer user_data)
param_spec = g_object_class_find_property (info->class, prop_name);
if (!param_spec || !(param_spec->flags & NM_SETTING_PARAM_SERIALIZE)) {
/* Oh, we're so nice and only warn, maybe it should be a fatal error? */
- g_warning ("Ignoring invalid property '%s'", prop_name);
+ nm_warning ("Ignoring invalid property '%s'", prop_name);
return;
}
@@ -200,8 +185,8 @@ one_property_cb (gpointer key, gpointer val, gpointer user_data)
info->params[info->n_params].name = prop_name;
info->n_params++;
} else {
- g_warning ("Ignoring property '%s' with invalid type (%s)",
- prop_name, G_VALUE_TYPE_NAME (src_value));
+ nm_warning ("Ignoring property '%s' with invalid type (%s)",
+ prop_name, G_VALUE_TYPE_NAME (src_value));
g_value_unset (dst_value);
}
}
@@ -269,7 +254,7 @@ duplicate_setting (NMSetting *setting,
*
* Duplicates a #NMSetting.
*
- * Returns: (transfer full): a new #NMSetting containing the same properties and values as the
+ * Returns: a new #NMSetting containing the same properties and values as the
* source #NMSetting
**/
NMSetting *
@@ -529,7 +514,7 @@ nm_setting_diff (NMSetting *a,
/**
* nm_setting_enumerate_values:
* @setting: the #NMSetting
- * @func: (scope call): user-supplied function called for each property of the setting
+ * @func: user-supplied function called for each property of the setting
* @user_data: user data passed to @func at each invocation
*
* Iterates over each property of the #NMSetting object, calling the supplied
@@ -604,7 +589,7 @@ nm_setting_clear_secrets (NMSetting *setting)
* guide to what secrets may be required, because in some circumstances, there
* is no way to conclusively determine exactly which secrets are needed.
*
- * Returns: (transfer full) (element-type utf8): a #GPtrArray containing the property names of secrets of the
+ * Returns: a #GPtrArray containing the property names of secrets of the
* #NMSetting which may be required; the caller owns the array
* and must free the each array element with g_free(), as well as the array
* itself with g_ptr_array_free()
@@ -699,124 +684,6 @@ nm_setting_update_secrets (NMSetting *setting, GHashTable *secrets, GError **err
return TRUE;
}
-static gboolean
-is_secret_prop (NMSetting *setting, const char *secret_name, GError **error)
-{
- GParamSpec *pspec;
-
- pspec = g_object_class_find_property (G_OBJECT_GET_CLASS (setting), secret_name);
- if (!pspec) {
- g_set_error (error,
- NM_SETTING_ERROR,
- NM_SETTING_ERROR_PROPERTY_NOT_FOUND,
- "Secret %s not provided by this setting", secret_name);
- return FALSE;
- }
-
- if (!(pspec->flags & NM_SETTING_PARAM_SECRET)) {
- g_set_error (error,
- NM_SETTING_ERROR,
- NM_SETTING_ERROR_PROPERTY_NOT_SECRET,
- "Property %s is not a secret", secret_name);
- return FALSE;
- }
-
- return TRUE;
-}
-
-static gboolean
-get_secret_flags (NMSetting *setting,
- const char *secret_name,
- gboolean verify_secret,
- NMSettingSecretFlags *out_flags,
- GError **error)
-{
- char *flags_prop;
- NMSettingSecretFlags flags = NM_SETTING_SECRET_FLAG_NONE;
-
- if (verify_secret)
- g_return_val_if_fail (is_secret_prop (setting, secret_name, error), FALSE);
-
- flags_prop = g_strdup_printf ("%s-flags", secret_name);
- g_object_get (G_OBJECT (setting), flags_prop, &flags, NULL);
- g_free (flags_prop);
-
- if (out_flags)
- *out_flags = flags;
- return TRUE;
-}
-
-/**
- * nm_setting_get_secret_flags:
- * @setting: the #NMSetting
- * @secret_name: the secret key name to get flags for
- * @out_flags: on success, the #NMSettingSecretFlags for the secret
- * @error: location to store error, or %NULL
- *
- * For a given secret, retrieves the #NMSettingSecretFlags describing how to
- * handle that secret.
- *
- * Returns: TRUE on success (if the given secret name was a valid property of
- * this setting, and if that property is secret), FALSE if not
- **/
-gboolean
-nm_setting_get_secret_flags (NMSetting *setting,
- const char *secret_name,
- NMSettingSecretFlags *out_flags,
- GError **error)
-{
- g_return_val_if_fail (setting != NULL, FALSE);
- g_return_val_if_fail (NM_IS_SETTING (setting), FALSE);
- g_return_val_if_fail (secret_name != NULL, FALSE);
-
- return NM_SETTING_GET_CLASS (setting)->get_secret_flags (setting, secret_name, TRUE, out_flags, error);
-}
-
-static gboolean
-set_secret_flags (NMSetting *setting,
- const char *secret_name,
- gboolean verify_secret,
- NMSettingSecretFlags flags,
- GError **error)
-{
- char *flags_prop;
-
- if (verify_secret)
- g_return_val_if_fail (is_secret_prop (setting, secret_name, error), FALSE);
-
- flags_prop = g_strdup_printf ("%s-flags", secret_name);
- g_object_set (G_OBJECT (setting), flags_prop, flags, NULL);
- g_free (flags_prop);
- return TRUE;
-}
-
-/**
- * nm_setting_set_secret_flags:
- * @setting: the #NMSetting
- * @secret_name: the secret key name to set flags for
- * @flags: the #NMSettingSecretFlags for the secret
- * @error: location to store error, or %NULL
- *
- * For a given secret, retrieves the #NMSettingSecretFlags describing how to
- * handle that secret.
- *
- * Returns: TRUE on success (if the given secret name was a valid property of
- * this setting, and if that property is secret), FALSE if not
- **/
-gboolean
-nm_setting_set_secret_flags (NMSetting *setting,
- const char *secret_name,
- NMSettingSecretFlags flags,
- GError **error)
-{
- g_return_val_if_fail (setting != NULL, FALSE);
- g_return_val_if_fail (NM_IS_SETTING (setting), FALSE);
- g_return_val_if_fail (secret_name != NULL, FALSE);
- g_return_val_if_fail (flags <= NM_SETTING_SECRET_FLAGS_ALL, FALSE);
-
- return NM_SETTING_GET_CLASS (setting)->set_secret_flags (setting, secret_name, TRUE, flags, error);
-}
-
/**
* nm_setting_to_string:
* @setting: the #NMSetting
@@ -908,7 +775,7 @@ constructor (GType type,
priv = NM_SETTING_GET_PRIVATE (object);
if (!priv->name) {
- g_warning ("Setting name is not set.");
+ nm_warning ("Setting name is not set.");
g_object_unref (object);
object = NULL;
}
@@ -973,8 +840,6 @@ nm_setting_class_init (NMSettingClass *setting_class)
object_class->finalize = finalize;
setting_class->update_one_secret = update_one_secret;
- setting_class->get_secret_flags = get_secret_flags;
- setting_class->set_secret_flags = set_secret_flags;
/* Properties */