2008-10-27 Dan Williams <dcbw@redhat.com>
Patch from Tambet Ingo <tambet@gmail.com> * libnm-util/nm-setting.h libnm-util/nm-setting.c - Make properties private and add accessor functions * libnm-util/nm-connection.c libnm-util/nm-setting-8021x.c libnm-util/nm-setting-cdma.c libnm-util/nm-setting-connection.c libnm-util/nm-setting-gsm.c libnm-util/nm-setting-ip4-config.c libnm-util/nm-setting-ip6-config.c libnm-util/nm-setting-ppp.c libnm-util/nm-setting-pppoe.c libnm-util/nm-setting-serial.c libnm-util/nm-setting-template.c libnm-util/nm-setting-vpn.c libnm-util/nm-setting-wired.c libnm-util/nm-setting-wireless-security.c libnm-util/nm-setting-wireless.c system-settings/plugins/keyfile/reader.c system-settings/plugins/keyfile/writer.c - Use setting accessors git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@4228 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
This commit is contained in:
27
ChangeLog
27
ChangeLog
@@ -1,3 +1,30 @@
|
||||
2008-10-27 Dan Williams <dcbw@redhat.com>
|
||||
|
||||
Patch from Tambet Ingo <tambet@gmail.com>
|
||||
|
||||
* libnm-util/nm-setting.h
|
||||
libnm-util/nm-setting.c
|
||||
- Make properties private and add accessor functions
|
||||
|
||||
* libnm-util/nm-connection.c
|
||||
libnm-util/nm-setting-8021x.c
|
||||
libnm-util/nm-setting-cdma.c
|
||||
libnm-util/nm-setting-connection.c
|
||||
libnm-util/nm-setting-gsm.c
|
||||
libnm-util/nm-setting-ip4-config.c
|
||||
libnm-util/nm-setting-ip6-config.c
|
||||
libnm-util/nm-setting-ppp.c
|
||||
libnm-util/nm-setting-pppoe.c
|
||||
libnm-util/nm-setting-serial.c
|
||||
libnm-util/nm-setting-template.c
|
||||
libnm-util/nm-setting-vpn.c
|
||||
libnm-util/nm-setting-wired.c
|
||||
libnm-util/nm-setting-wireless-security.c
|
||||
libnm-util/nm-setting-wireless.c
|
||||
system-settings/plugins/keyfile/reader.c
|
||||
system-settings/plugins/keyfile/writer.c
|
||||
- Use setting accessors
|
||||
|
||||
2008-10-27 Dan Williams <dcbw@redhat.com>
|
||||
|
||||
* libnm-util/libnm-util.ver
|
||||
|
@@ -605,8 +605,8 @@ add_one_setting_to_hash (gpointer key, gpointer data, gpointer user_data)
|
||||
setting_hash = nm_setting_to_hash (setting);
|
||||
if (setting_hash)
|
||||
g_hash_table_insert (connection_hash,
|
||||
g_strdup (setting->name),
|
||||
setting_hash);
|
||||
g_strdup (nm_setting_get_name (setting)),
|
||||
setting_hash);
|
||||
}
|
||||
|
||||
GHashTable *
|
||||
|
@@ -559,7 +559,7 @@ verify (NMSetting *setting, GSList *all_settings, GError **error)
|
||||
static void
|
||||
nm_setting_802_1x_init (NMSetting8021x *setting)
|
||||
{
|
||||
((NMSetting *) setting)->name = g_strdup (NM_SETTING_802_1X_SETTING_NAME);
|
||||
g_object_set (setting, NM_SETTING_NAME, NM_SETTING_802_1X_SETTING_NAME, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@@ -188,7 +188,7 @@ need_secrets (NMSetting *setting)
|
||||
static void
|
||||
nm_setting_cdma_init (NMSettingCdma *setting)
|
||||
{
|
||||
((NMSetting *) setting)->name = g_strdup (NM_SETTING_CDMA_SETTING_NAME);
|
||||
g_object_set (setting, NM_SETTING_NAME, NM_SETTING_CDMA_SETTING_NAME, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@@ -211,7 +211,7 @@ verify (NMSetting *setting, GSList *all_settings, GError **error)
|
||||
static void
|
||||
nm_setting_connection_init (NMSettingConnection *setting)
|
||||
{
|
||||
((NMSetting *) setting)->name = g_strdup (NM_SETTING_CONNECTION_SETTING_NAME);
|
||||
g_object_set (setting, NM_SETTING_NAME, NM_SETTING_CONNECTION_SETTING_NAME, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@@ -285,7 +285,7 @@ need_secrets (NMSetting *setting)
|
||||
static void
|
||||
nm_setting_gsm_init (NMSettingGsm *setting)
|
||||
{
|
||||
((NMSetting *) setting)->name = g_strdup (NM_SETTING_GSM_SETTING_NAME);
|
||||
g_object_set (setting, NM_SETTING_NAME, NM_SETTING_GSM_SETTING_NAME, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@@ -213,7 +213,7 @@ verify (NMSetting *setting, GSList *all_settings, GError **error)
|
||||
static void
|
||||
nm_setting_ip4_config_init (NMSettingIP4Config *setting)
|
||||
{
|
||||
((NMSetting *) setting)->name = g_strdup (NM_SETTING_IP4_CONFIG_SETTING_NAME);
|
||||
g_object_set (setting, NM_SETTING_NAME, NM_SETTING_IP4_CONFIG_SETTING_NAME, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@@ -162,7 +162,7 @@ verify (NMSetting *setting, GSList *all_settings, GError **error)
|
||||
static void
|
||||
nm_setting_ip6_config_init (NMSettingIP6Config *setting)
|
||||
{
|
||||
((NMSetting *) setting)->name = g_strdup (NM_SETTING_IP6_CONFIG_SETTING_NAME);
|
||||
g_object_set (setting, NM_SETTING_NAME, NM_SETTING_IP6_CONFIG_SETTING_NAME, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@@ -115,7 +115,7 @@ verify (NMSetting *setting, GSList *all_settings, GError **error)
|
||||
static void
|
||||
nm_setting_ppp_init (NMSettingPPP *setting)
|
||||
{
|
||||
((NMSetting *) setting)->name = g_strdup (NM_SETTING_PPP_SETTING_NAME);
|
||||
g_object_set (setting, NM_SETTING_NAME, NM_SETTING_PPP_SETTING_NAME, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@@ -177,7 +177,7 @@ need_secrets (NMSetting *setting)
|
||||
static void
|
||||
nm_setting_pppoe_init (NMSettingPPPOE *setting)
|
||||
{
|
||||
((NMSetting *) setting)->name = g_strdup (NM_SETTING_PPPOE_SETTING_NAME);
|
||||
g_object_set (setting, NM_SETTING_NAME, NM_SETTING_PPPOE_SETTING_NAME, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@@ -162,7 +162,7 @@ verify (NMSetting *setting, GSList *all_settings, GError **error)
|
||||
static void
|
||||
nm_setting_serial_init (NMSettingSerial *setting)
|
||||
{
|
||||
((NMSetting *) setting)->name = g_strdup (NM_SETTING_SERIAL_SETTING_NAME);
|
||||
g_object_set (setting, NM_SETTING_NAME, NM_SETTING_SERIAL_SETTING_NAME, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@@ -52,7 +52,7 @@ verify (NMSetting *setting, GSList *all_settings)
|
||||
static void
|
||||
nm_setting_template_init (NMSettingTemplate *setting)
|
||||
{
|
||||
((NMSetting *) setting)->name = g_strdup (NM_SETTING_TEMPLATE_SETTING_NAME);
|
||||
g_object_set (setting, NM_SETTING_NAME, NM_SETTING_TEMPLATE_SETTING_NAME, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@@ -140,7 +140,7 @@ destroy_one_secret (gpointer data)
|
||||
static void
|
||||
nm_setting_vpn_init (NMSettingVPN *setting)
|
||||
{
|
||||
NM_SETTING (setting)->name = g_strdup (NM_SETTING_VPN_SETTING_NAME);
|
||||
g_object_set (setting, NM_SETTING_NAME, NM_SETTING_VPN_SETTING_NAME, NULL);
|
||||
|
||||
setting->data = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free);
|
||||
setting->secrets = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, destroy_one_secret);
|
||||
|
@@ -179,7 +179,7 @@ verify (NMSetting *setting, GSList *all_settings, GError **error)
|
||||
static void
|
||||
nm_setting_wired_init (NMSettingWired *setting)
|
||||
{
|
||||
((NMSetting *) setting)->name = g_strdup (NM_SETTING_WIRED_SETTING_NAME);
|
||||
g_object_set (setting, NM_SETTING_NAME, NM_SETTING_WIRED_SETTING_NAME, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@@ -398,7 +398,7 @@ verify (NMSetting *setting, GSList *all_settings, GError **error)
|
||||
static void
|
||||
nm_setting_wireless_security_init (NMSettingWirelessSecurity *setting)
|
||||
{
|
||||
((NMSetting *) setting)->name = g_strdup (NM_SETTING_WIRELESS_SECURITY_SETTING_NAME);
|
||||
g_object_set (setting, NM_SETTING_NAME, NM_SETTING_WIRELESS_SECURITY_SETTING_NAME, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@@ -402,7 +402,7 @@ verify (NMSetting *setting, GSList *all_settings, GError **error)
|
||||
static void
|
||||
nm_setting_wireless_init (NMSettingWireless *setting)
|
||||
{
|
||||
((NMSetting *) setting)->name = g_strdup (NM_SETTING_WIRELESS_SETTING_NAME);
|
||||
g_object_set (setting, NM_SETTING_NAME, NM_SETTING_WIRELESS_SETTING_NAME, NULL);
|
||||
}
|
||||
|
||||
static void
|
||||
|
@@ -31,6 +31,12 @@
|
||||
|
||||
G_DEFINE_ABSTRACT_TYPE (NMSetting, nm_setting, G_TYPE_OBJECT)
|
||||
|
||||
#define NM_SETTING_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING, NMSettingPrivate))
|
||||
|
||||
typedef struct {
|
||||
char *name;
|
||||
} NMSettingPrivate;
|
||||
|
||||
enum {
|
||||
PROP_0,
|
||||
PROP_NAME,
|
||||
@@ -187,7 +193,7 @@ nm_setting_get_name (NMSetting *setting)
|
||||
{
|
||||
g_return_val_if_fail (NM_IS_SETTING (setting), NULL);
|
||||
|
||||
return setting->name;
|
||||
return NM_SETTING_GET_PRIVATE (setting)->name;
|
||||
}
|
||||
|
||||
gboolean
|
||||
@@ -240,7 +246,7 @@ nm_setting_compare (NMSetting *setting,
|
||||
continue;
|
||||
|
||||
if ( (flags & COMPARE_FLAGS_IGNORE_ID)
|
||||
&& !strcmp (setting->name, NM_SETTING_CONNECTION_SETTING_NAME)
|
||||
&& !strcmp (nm_setting_get_name (setting), NM_SETTING_CONNECTION_SETTING_NAME)
|
||||
&& !strcmp (prop_spec->name, NM_SETTING_CONNECTION_ID))
|
||||
continue;
|
||||
|
||||
@@ -389,7 +395,7 @@ nm_setting_to_string (NMSetting *setting)
|
||||
if (!property_specs)
|
||||
return NULL;
|
||||
|
||||
string = g_string_new (setting->name);
|
||||
string = g_string_new (nm_setting_get_name (setting));
|
||||
g_string_append_c (string, '\n');
|
||||
|
||||
for (i = 0; i < n_property_specs; i++) {
|
||||
@@ -442,7 +448,7 @@ constructor (GType type,
|
||||
GObjectConstructParam *construct_params)
|
||||
{
|
||||
GObject *object;
|
||||
NMSetting *setting;
|
||||
NMSettingPrivate *priv;
|
||||
|
||||
object = G_OBJECT_CLASS (nm_setting_parent_class)->constructor (type,
|
||||
n_construct_params,
|
||||
@@ -450,8 +456,8 @@ constructor (GType type,
|
||||
if (!object)
|
||||
return NULL;
|
||||
|
||||
setting = NM_SETTING (object);
|
||||
if (!setting->name) {
|
||||
priv = NM_SETTING_GET_PRIVATE (object);
|
||||
if (!priv->name) {
|
||||
nm_warning ("Setting name is not set.");
|
||||
g_object_unref (object);
|
||||
object = NULL;
|
||||
@@ -463,9 +469,9 @@ constructor (GType type,
|
||||
static void
|
||||
finalize (GObject *object)
|
||||
{
|
||||
NMSetting *self = NM_SETTING (object);
|
||||
NMSettingPrivate *priv = NM_SETTING_GET_PRIVATE (object);
|
||||
|
||||
g_free (self->name);
|
||||
g_free (priv->name);
|
||||
|
||||
G_OBJECT_CLASS (nm_setting_parent_class)->finalize (object);
|
||||
}
|
||||
@@ -474,12 +480,12 @@ static void
|
||||
set_property (GObject *object, guint prop_id,
|
||||
const GValue *value, GParamSpec *pspec)
|
||||
{
|
||||
NMSetting *setting = NM_SETTING (object);
|
||||
NMSettingPrivate *priv = NM_SETTING_GET_PRIVATE (object);
|
||||
|
||||
switch (prop_id) {
|
||||
case PROP_NAME:
|
||||
g_free (setting->name);
|
||||
setting->name = g_value_dup_string (value);
|
||||
g_free (priv->name);
|
||||
priv->name = g_value_dup_string (value);
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
@@ -495,7 +501,7 @@ get_property (GObject *object, guint prop_id,
|
||||
|
||||
switch (prop_id) {
|
||||
case PROP_NAME:
|
||||
g_value_set_string (value, setting->name);
|
||||
g_value_set_string (value, nm_setting_get_name (setting));
|
||||
break;
|
||||
default:
|
||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
|
||||
@@ -508,6 +514,8 @@ nm_setting_class_init (NMSettingClass *setting_class)
|
||||
{
|
||||
GObjectClass *object_class = G_OBJECT_CLASS (setting_class);
|
||||
|
||||
g_type_class_add_private (setting_class, sizeof (NMSettingPrivate));
|
||||
|
||||
/* virtual methods */
|
||||
object_class->constructor = constructor;
|
||||
object_class->set_property = set_property;
|
||||
|
@@ -47,8 +47,6 @@ G_BEGIN_DECLS
|
||||
|
||||
typedef struct {
|
||||
GObject parent;
|
||||
|
||||
char *name;
|
||||
} NMSetting;
|
||||
|
||||
typedef struct {
|
||||
|
@@ -29,7 +29,7 @@ read_array_of_uint (GKeyFile *file,
|
||||
char **list, **iter;
|
||||
int ret;
|
||||
|
||||
list = g_key_file_get_string_list (file, setting->name, key, &length, NULL);
|
||||
list = g_key_file_get_string_list (file, nm_setting_get_name (setting), key, &length, NULL);
|
||||
if (!list || !g_strv_length (list))
|
||||
return TRUE;
|
||||
|
||||
@@ -48,7 +48,7 @@ read_array_of_uint (GKeyFile *file,
|
||||
} else {
|
||||
gint *tmp;
|
||||
|
||||
tmp = g_key_file_get_integer_list (file, setting->name, key, &length, NULL);
|
||||
tmp = g_key_file_get_integer_list (file, nm_setting_get_name (setting), key, &length, NULL);
|
||||
|
||||
array = g_array_sized_new (FALSE, FALSE, sizeof (guint32), length);
|
||||
for (i = 0; i < length; i++)
|
||||
@@ -255,19 +255,22 @@ read_array_of_array_of_uint (GKeyFile *file,
|
||||
const char *key)
|
||||
{
|
||||
gboolean success = FALSE;
|
||||
const char *setting_name;
|
||||
|
||||
/* Only handle IPv4 addresses and routes for now */
|
||||
if (!NM_IS_SETTING_IP4_CONFIG (setting))
|
||||
return FALSE;
|
||||
|
||||
setting_name = nm_setting_get_name (setting);
|
||||
|
||||
if (!strcmp (key, NM_SETTING_IP4_CONFIG_ADDRESSES)) {
|
||||
GPtrArray *addresses;
|
||||
|
||||
addresses = read_addresses (file, setting->name, key);
|
||||
addresses = read_addresses (file, setting_name, key);
|
||||
|
||||
/* Work around for previous syntax */
|
||||
if (!addresses && !strcmp (key, NM_SETTING_IP4_CONFIG_ADDRESSES))
|
||||
addresses = read_addresses (file, setting->name, "address");
|
||||
addresses = read_addresses (file, setting_name, "address");
|
||||
|
||||
if (addresses) {
|
||||
g_object_set (setting, key, addresses, NULL);
|
||||
@@ -278,7 +281,7 @@ read_array_of_array_of_uint (GKeyFile *file,
|
||||
} else if (!strcmp (key, NM_SETTING_IP4_CONFIG_ROUTES)) {
|
||||
GPtrArray *routes;
|
||||
|
||||
routes = read_routes (file, setting->name, key);
|
||||
routes = read_routes (file, setting_name, key);
|
||||
if (routes) {
|
||||
g_object_set (setting, key, routes, NULL);
|
||||
g_ptr_array_foreach (routes, free_one_route, NULL);
|
||||
@@ -295,13 +298,14 @@ read_hash_of_string (GKeyFile *file, NMSetting *setting, const char *key)
|
||||
{
|
||||
char **keys, **iter;
|
||||
char *value;
|
||||
const char *setting_name = nm_setting_get_name (setting);
|
||||
|
||||
keys = g_key_file_get_keys (file, setting->name, NULL, NULL);
|
||||
keys = g_key_file_get_keys (file, setting_name, NULL, NULL);
|
||||
if (!keys || !*keys)
|
||||
return;
|
||||
|
||||
for (iter = keys; *iter; iter++) {
|
||||
value = g_key_file_get_string (file, setting->name, *iter, NULL);
|
||||
value = g_key_file_get_string (file, setting_name, *iter, NULL);
|
||||
if (!value)
|
||||
continue;
|
||||
|
||||
@@ -330,6 +334,7 @@ read_one_setting_value (NMSetting *setting,
|
||||
{
|
||||
ReadSettingInfo *info = (ReadSettingInfo *) user_data;
|
||||
GKeyFile *file = info->keyfile;
|
||||
const char *setting_name;
|
||||
GType type;
|
||||
GError *err = NULL;
|
||||
gboolean check_for_key = TRUE;
|
||||
@@ -347,15 +352,17 @@ read_one_setting_value (NMSetting *setting,
|
||||
&& !strcmp (key, NM_SETTING_CONNECTION_READ_ONLY))
|
||||
return;
|
||||
|
||||
setting_name = nm_setting_get_name (setting);
|
||||
|
||||
/* IPv4 addresses and VPN properties don't have the exact key name */
|
||||
if (NM_IS_SETTING_IP4_CONFIG (setting) && !strcmp (key, NM_SETTING_IP4_CONFIG_ADDRESSES))
|
||||
check_for_key = FALSE;
|
||||
else if (NM_IS_SETTING_VPN (setting))
|
||||
check_for_key = FALSE;
|
||||
|
||||
if (check_for_key && !g_key_file_has_key (file, setting->name, key, &err)) {
|
||||
if (check_for_key && !g_key_file_has_key (file, setting_name, key, &err)) {
|
||||
if (err) {
|
||||
g_warning ("Error loading setting '%s' value: %s", setting->name, err->message);
|
||||
g_warning ("Error loading setting '%s' value: %s", setting_name, err->message);
|
||||
g_error_free (err);
|
||||
}
|
||||
|
||||
@@ -367,30 +374,30 @@ read_one_setting_value (NMSetting *setting,
|
||||
if (type == G_TYPE_STRING) {
|
||||
char *str_val;
|
||||
|
||||
str_val = g_key_file_get_string (file, setting->name, key, NULL);
|
||||
str_val = g_key_file_get_string (file, setting_name, key, NULL);
|
||||
g_object_set (setting, key, str_val, NULL);
|
||||
g_free (str_val);
|
||||
} else if (type == G_TYPE_UINT) {
|
||||
int int_val;
|
||||
|
||||
int_val = g_key_file_get_integer (file, setting->name, key, NULL);
|
||||
int_val = g_key_file_get_integer (file, setting_name, key, NULL);
|
||||
if (int_val < 0)
|
||||
g_warning ("Casting negative value (%i) to uint", int_val);
|
||||
g_object_set (setting, key, int_val, NULL);
|
||||
} else if (type == G_TYPE_INT) {
|
||||
int int_val;
|
||||
|
||||
int_val = g_key_file_get_integer (file, setting->name, key, NULL);
|
||||
int_val = g_key_file_get_integer (file, setting_name, key, NULL);
|
||||
g_object_set (setting, key, int_val, NULL);
|
||||
} else if (type == G_TYPE_BOOLEAN) {
|
||||
gboolean bool_val;
|
||||
|
||||
bool_val = g_key_file_get_boolean (file, setting->name, key, NULL);
|
||||
bool_val = g_key_file_get_boolean (file, setting_name, key, NULL);
|
||||
g_object_set (setting, key, bool_val, NULL);
|
||||
} else if (type == G_TYPE_CHAR) {
|
||||
int int_val;
|
||||
|
||||
int_val = g_key_file_get_integer (file, setting->name, key, NULL);
|
||||
int_val = g_key_file_get_integer (file, setting_name, key, NULL);
|
||||
if (int_val < G_MININT8 || int_val > G_MAXINT8)
|
||||
g_warning ("Casting value (%i) to char", int_val);
|
||||
|
||||
@@ -399,7 +406,7 @@ read_one_setting_value (NMSetting *setting,
|
||||
char *tmp_str;
|
||||
guint64 uint_val;
|
||||
|
||||
tmp_str = g_key_file_get_value (file, setting->name, key, NULL);
|
||||
tmp_str = g_key_file_get_value (file, setting_name, key, NULL);
|
||||
uint_val = g_ascii_strtoull (tmp_str, NULL, 10);
|
||||
g_free (tmp_str);
|
||||
g_object_set (setting, key, uint_val, NULL);
|
||||
@@ -409,7 +416,7 @@ read_one_setting_value (NMSetting *setting,
|
||||
gsize length;
|
||||
int i;
|
||||
|
||||
tmp = g_key_file_get_integer_list (file, setting->name, key, &length, NULL);
|
||||
tmp = g_key_file_get_integer_list (file, setting_name, key, &length, NULL);
|
||||
|
||||
array = g_byte_array_sized_new (length);
|
||||
for (i = 0; i < length; i++) {
|
||||
@@ -431,7 +438,7 @@ read_one_setting_value (NMSetting *setting,
|
||||
int i;
|
||||
GSList *list = NULL;
|
||||
|
||||
sa = g_key_file_get_string_list (file, setting->name, key, &length, NULL);
|
||||
sa = g_key_file_get_string_list (file, setting_name, key, &length, NULL);
|
||||
for (i = 0; i < length; i++)
|
||||
list = g_slist_prepend (list, sa[i]);
|
||||
|
||||
@@ -445,16 +452,16 @@ read_one_setting_value (NMSetting *setting,
|
||||
} else if (type == DBUS_TYPE_G_UINT_ARRAY) {
|
||||
if (!read_array_of_uint (file, setting, key)) {
|
||||
g_warning ("Unhandled setting property type (read): '%s/%s' : '%s'",
|
||||
setting->name, key, G_VALUE_TYPE_NAME (value));
|
||||
setting_name, key, G_VALUE_TYPE_NAME (value));
|
||||
}
|
||||
} else if (type == DBUS_TYPE_G_ARRAY_OF_ARRAY_OF_UINT) {
|
||||
if (!read_array_of_array_of_uint (file, setting, key)) {
|
||||
g_warning ("Unhandled setting property type (read): '%s/%s' : '%s'",
|
||||
setting->name, key, G_VALUE_TYPE_NAME (value));
|
||||
setting_name, key, G_VALUE_TYPE_NAME (value));
|
||||
}
|
||||
} else {
|
||||
g_warning ("Unhandled setting property type (read): '%s/%s' : '%s'",
|
||||
setting->name, key, G_VALUE_TYPE_NAME (value));
|
||||
setting_name, key, G_VALUE_TYPE_NAME (value));
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -48,7 +48,7 @@ write_array_of_uint (GKeyFile *file,
|
||||
}
|
||||
}
|
||||
|
||||
g_key_file_set_string_list (file, setting->name, key, (const char **) list, array->len);
|
||||
g_key_file_set_string_list (file, nm_setting_get_name (setting), key, (const char **) list, array->len);
|
||||
g_strfreev (list);
|
||||
} else {
|
||||
int *tmp_array;
|
||||
@@ -57,7 +57,7 @@ write_array_of_uint (GKeyFile *file,
|
||||
for (i = 0; i < array->len; i++)
|
||||
tmp_array[i] = g_array_index (array, int, i);
|
||||
|
||||
g_key_file_set_integer_list (file, setting->name, key, tmp_array, array->len);
|
||||
g_key_file_set_integer_list (file, nm_setting_get_name (setting), key, tmp_array, array->len);
|
||||
g_free (tmp_array);
|
||||
}
|
||||
|
||||
@@ -136,9 +136,9 @@ write_array_of_array_of_uint (GKeyFile *file,
|
||||
return TRUE;
|
||||
|
||||
if (!strcmp (key, NM_SETTING_IP4_CONFIG_ADDRESSES))
|
||||
write_ip4_values (file, setting->name, key, array, 3, 0, 2);
|
||||
write_ip4_values (file, nm_setting_get_name (setting), key, array, 3, 0, 2);
|
||||
else if (!strcmp (key, NM_SETTING_IP4_CONFIG_ROUTES))
|
||||
write_ip4_values (file, setting->name, key, array, 4, 0, 2);
|
||||
write_ip4_values (file, nm_setting_get_name (setting), key, array, 4, 0, 2);
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
@@ -177,7 +177,7 @@ write_hash_of_string (GKeyFile *file,
|
||||
&& !strcmp (key, NM_SETTING_VPN_SECRETS)) {
|
||||
info.setting_name = VPN_SECRETS_GROUP;
|
||||
} else
|
||||
info.setting_name = setting->name;
|
||||
info.setting_name = nm_setting_get_name (setting);
|
||||
|
||||
g_hash_table_foreach (hash, write_hash_of_string_helper, &info);
|
||||
}
|
||||
@@ -190,6 +190,7 @@ write_setting_value (NMSetting *setting,
|
||||
gpointer user_data)
|
||||
{
|
||||
GKeyFile *file = (GKeyFile *) user_data;
|
||||
const char *setting_name;
|
||||
GType type;
|
||||
|
||||
type = G_VALUE_TYPE (value);
|
||||
@@ -203,26 +204,28 @@ write_setting_value (NMSetting *setting,
|
||||
&& !strcmp (key, NM_SETTING_CONNECTION_READ_ONLY))
|
||||
return;
|
||||
|
||||
setting_name = nm_setting_get_name (setting);
|
||||
|
||||
if (type == G_TYPE_STRING) {
|
||||
const char *str;
|
||||
|
||||
str = g_value_get_string (value);
|
||||
if (str)
|
||||
g_key_file_set_string (file, setting->name, key, str);
|
||||
g_key_file_set_string (file, setting_name, key, str);
|
||||
} else if (type == G_TYPE_UINT)
|
||||
g_key_file_set_integer (file, setting->name, key, (int) g_value_get_uint (value));
|
||||
g_key_file_set_integer (file, setting_name, key, (int) g_value_get_uint (value));
|
||||
else if (type == G_TYPE_INT)
|
||||
g_key_file_set_integer (file, setting->name, key, g_value_get_int (value));
|
||||
g_key_file_set_integer (file, setting_name, key, g_value_get_int (value));
|
||||
else if (type == G_TYPE_UINT64) {
|
||||
char *numstr;
|
||||
|
||||
numstr = g_strdup_printf ("%" G_GUINT64_FORMAT, g_value_get_uint64 (value));
|
||||
g_key_file_set_value (file, setting->name, key, numstr);
|
||||
g_key_file_set_value (file, setting_name, key, numstr);
|
||||
g_free (numstr);
|
||||
} else if (type == G_TYPE_BOOLEAN) {
|
||||
g_key_file_set_boolean (file, setting->name, key, g_value_get_boolean (value));
|
||||
g_key_file_set_boolean (file, setting_name, key, g_value_get_boolean (value));
|
||||
} else if (type == G_TYPE_CHAR) {
|
||||
g_key_file_set_integer (file, setting->name, key, (int) g_value_get_char (value));
|
||||
g_key_file_set_integer (file, setting_name, key, (int) g_value_get_char (value));
|
||||
} else if (type == DBUS_TYPE_G_UCHAR_ARRAY) {
|
||||
GByteArray *array;
|
||||
|
||||
@@ -235,7 +238,7 @@ write_setting_value (NMSetting *setting,
|
||||
for (i = 0; i < array->len; i++)
|
||||
tmp_array[i] = (int) array->data[i];
|
||||
|
||||
g_key_file_set_integer_list (file, setting->name, key, tmp_array, array->len);
|
||||
g_key_file_set_integer_list (file, setting_name, key, tmp_array, array->len);
|
||||
g_free (tmp_array);
|
||||
}
|
||||
} else if (type == dbus_g_type_get_collection ("GSList", G_TYPE_STRING)) {
|
||||
@@ -251,7 +254,7 @@ write_setting_value (NMSetting *setting,
|
||||
for (iter = list; iter; iter = iter->next)
|
||||
array[i++] = iter->data;
|
||||
|
||||
g_key_file_set_string_list (file, setting->name, key, (const gchar **const) array, i);
|
||||
g_key_file_set_string_list (file, setting_name, key, (const gchar **const) array, i);
|
||||
g_free (array);
|
||||
}
|
||||
} else if (type == dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_STRING)) {
|
||||
@@ -259,16 +262,16 @@ write_setting_value (NMSetting *setting,
|
||||
} else if (type == DBUS_TYPE_G_UINT_ARRAY) {
|
||||
if (!write_array_of_uint (file, setting, key, value)) {
|
||||
g_warning ("Unhandled setting property type (write) '%s/%s' : '%s'",
|
||||
setting->name, key, g_type_name (type));
|
||||
setting_name, key, g_type_name (type));
|
||||
}
|
||||
} else if (type == DBUS_TYPE_G_ARRAY_OF_ARRAY_OF_UINT) {
|
||||
if (!write_array_of_array_of_uint (file, setting, key, value)) {
|
||||
g_warning ("Unhandled setting property type (write) '%s/%s' : '%s'",
|
||||
setting->name, key, g_type_name (type));
|
||||
setting_name, key, g_type_name (type));
|
||||
}
|
||||
} else {
|
||||
g_warning ("Unhandled setting property type (write) '%s/%s' : '%s'",
|
||||
setting->name, key, g_type_name (type));
|
||||
setting_name, key, g_type_name (type));
|
||||
}
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user