libnm-core: drop NMParamSpecSpecialized, add nm_property_compare()

NMParamSpecSpecialized existed basically to provide a version of
GParamSpecBoxed that could compare dbus-glib-valued properties
correctly.

However, g_param_values_cmp() was only used by NM directly in one
place (NMSetting's compare_property()), and we don't actually need to
indirect through GParamSpec there; we could just call
NMParamSpecSpecialized's value-comparison function directly.

So, change all NMParamSpecSpecialized properties to GParamSpecBoxed,
rename the _gvalues_compare() function it used to
"nm_property_compare()", and use that from NMSetting.

(g_param_values_cmp() also gets used internally by
g_param_value_defaults(), but all NMParamSpecSpecialized properties
have a default value of NULL, so GParamSpecBoxed's pointer-equality
check will do the job just fine there.)
This commit is contained in:
Dan Winship 2014-07-29 09:22:07 -04:00
parent 99e1699d89
commit ca9938f458
23 changed files with 311 additions and 426 deletions

View file

@ -43,8 +43,8 @@ libnm_core_headers = \
libnm_core_private_headers = \
$(core)/crypto.h \
$(core)/nm-core-internal.h \
$(core)/nm-param-spec-specialized.h \
$(core)/nm-core-internal.h \
$(core)/nm-property-compare.h \
$(core)/nm-setting-private.h \
$(core)/nm-utils-private.h
@ -52,7 +52,7 @@ libnm_core_sources = \
$(core_build)/nm-core-enum-types.c \
$(core)/crypto.c \
$(core)/nm-connection.c \
$(core)/nm-param-spec-specialized.c \
$(core)/nm-property-compare.c \
$(core)/nm-setting-8021x.c \
$(core)/nm-setting-adsl.c \
$(core)/nm-setting-bluetooth.c \

View file

@ -1,43 +0,0 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA.
*
* Copyright 2007 - 2008 Red Hat, Inc.
* Copyright 2007 - 2008 Novell, Inc.
*/
#ifndef __NM_PARAM_SPEC_SPECIALIZED_H__
#define __NM_PARAM_SPEC_SPECIALIZED_H__
#include <glib-object.h>
typedef struct _NMParamSpecSpecialized NMParamSpecSpecialized;
#define NM_TYPE_PARAM_SPEC_SPECIALIZED (_nm_param_spec_specialized_get_type ())
#define NM_IS_PARAM_SPEC_SPECIALIZED(pspec) (G_TYPE_CHECK_INSTANCE_TYPE ((pspec), NM_TYPE_PARAM_SPEC_SPECIALIZED))
#define NM_PARAM_SPEC_SPECIALIZED(pspec) (G_TYPE_CHECK_INSTANCE_CAST ((pspec), NM_TYPE_PARAM_SPEC_SPECIALIZED, NMParamSpecSpecialized))
GType _nm_param_spec_specialized_get_type (void);
GParamSpec *_nm_param_spec_specialized (const char *name,
const char *nick,
const char *blurb,
GType specialized_type,
GParamFlags flags);
#endif /* __NM_PARAM_SPEC_SPECIALIZED_H__ */

View file

@ -16,17 +16,13 @@
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA.
*
* Copyright 2007 - 2011 Red Hat, Inc.
* Copyright 2007 - 2014 Red Hat, Inc.
* Copyright 2007 - 2008 Novell, Inc.
*/
#include "nm-param-spec-specialized.h"
#include "nm-property-compare.h"
#include "nm-glib-compat.h"
struct _NMParamSpecSpecialized {
GParamSpec parent;
};
#include <string.h>
#include <math.h>
#include <netinet/in.h>
@ -34,11 +30,6 @@ struct _NMParamSpecSpecialized {
#include "nm-dbus-glib-types.h"
/***********************************************************/
/* _gvalues_compare */
gint _gvalues_compare (const GValue *value1, const GValue *value2);
static gboolean
type_is_fixed_size (GType type, gsize *tsize)
{
@ -84,7 +75,7 @@ type_is_fixed_size (GType type, gsize *tsize)
#define FLOAT_FACTOR 0.00000001
static gint
_gvalues_compare_fixed (const GValue *value1, const GValue *value2)
nm_property_compare_fixed (const GValue *value1, const GValue *value2)
{
int ret = 0;
@ -175,7 +166,7 @@ _gvalues_compare_fixed (const GValue *value1, const GValue *value2)
}
static gint
_gvalues_compare_string (const GValue *value1, const GValue *value2)
nm_property_compare_string (const GValue *value1, const GValue *value2)
{
const char *str1 = g_value_get_string (value1);
const char *str2 = g_value_get_string (value2);
@ -192,7 +183,7 @@ _gvalues_compare_string (const GValue *value1, const GValue *value2)
}
static gint
_gvalues_compare_strv (const GValue *value1, const GValue *value2)
nm_property_compare_strv (const GValue *value1, const GValue *value2)
{
char **strv1;
char **strv2;
@ -248,7 +239,7 @@ iterate_collection (const GValue *value, gpointer user_data)
}
static gint
_gvalues_compare_collection (const GValue *value1, const GValue *value2)
nm_property_compare_collection (const GValue *value1, const GValue *value2)
{
gint ret;
guint len1;
@ -285,7 +276,7 @@ _gvalues_compare_collection (const GValue *value1, const GValue *value2)
for (iter1 = list1, iter2 = list2, ret = 0;
ret == 0 && iter1 && iter2;
iter1 = iter1->next, iter2 = iter2->next)
ret = _gvalues_compare ((GValue *) iter1->data, (GValue *) iter2->data);
ret = nm_property_compare ((GValue *) iter1->data, (GValue *) iter2->data);
}
g_slist_free_full (list1, _gvalue_destroy);
@ -321,13 +312,13 @@ compare_one_map_item (gpointer key, gpointer val, gpointer user_data)
value2 = (GValue *) g_hash_table_lookup (info->hash2, key);
if (value2)
info->ret = _gvalues_compare ((GValue *) val, value2);
info->ret = nm_property_compare ((GValue *) val, value2);
else
info->ret = 1;
}
static gint
_gvalues_compare_map (const GValue *value1, const GValue *value2)
nm_property_compare_map (const GValue *value1, const GValue *value2)
{
GHashTable *hash1 = NULL;
GHashTable *hash2 = NULL;
@ -487,10 +478,10 @@ _gvalue_ip6_route_compare (const GValue *value1, const GValue *value2)
}
static gint
_gvalues_compare_struct (const GValue *value1, const GValue *value2)
nm_property_compare_struct (const GValue *value1, const GValue *value2)
{
/* value1 and value2 must contain the same type since
* _gvalues_compare() enforced that already.
* nm_property_compare() enforced that already.
*/
if (G_VALUE_HOLDS (value1, DBUS_TYPE_G_IP6_ADDRESS)) {
@ -503,8 +494,8 @@ _gvalues_compare_struct (const GValue *value1, const GValue *value2)
}
}
gint
_gvalues_compare (const GValue *value1, const GValue *value2)
int
nm_property_compare (const GValue *value1, const GValue *value2)
{
GType type1;
GType type2;
@ -524,9 +515,9 @@ _gvalues_compare (const GValue *value1, const GValue *value2)
return type1 < type2 ? -1 : type1 > type2;
if (type_is_fixed_size (type1, NULL))
ret = _gvalues_compare_fixed (value1, value2);
ret = nm_property_compare_fixed (value1, value2);
else if (type1 == G_TYPE_STRING)
ret = _gvalues_compare_string (value1, value2);
ret = nm_property_compare_string (value1, value2);
else if (G_VALUE_HOLDS_BOXED (value1)) {
gpointer p1 = g_value_get_boxed (value1);
gpointer p2 = g_value_get_boxed (value2);
@ -538,15 +529,15 @@ _gvalues_compare (const GValue *value1, const GValue *value2)
else if (!p2)
ret = -1; /* The comparision functions below don't handle NULLs */
else if (type1 == G_TYPE_STRV)
ret = _gvalues_compare_strv (value1, value2);
ret = nm_property_compare_strv (value1, value2);
else if (dbus_g_type_is_collection (type1))
ret = _gvalues_compare_collection (value1, value2);
ret = nm_property_compare_collection (value1, value2);
else if (dbus_g_type_is_map (type1))
ret = _gvalues_compare_map (value1, value2);
ret = nm_property_compare_map (value1, value2);
else if (dbus_g_type_is_struct (type1))
ret = _gvalues_compare_struct (value1, value2);
ret = nm_property_compare_struct (value1, value2);
else if (type1 == G_TYPE_VALUE)
ret = _gvalues_compare ((GValue *) g_value_get_boxed (value1), (GValue *) g_value_get_boxed (value2));
ret = nm_property_compare ((GValue *) g_value_get_boxed (value1), (GValue *) g_value_get_boxed (value2));
else {
g_warning ("Don't know how to compare boxed types '%s'", g_type_name (type1));
ret = value1 == value2;
@ -558,80 +549,3 @@ _gvalues_compare (const GValue *value1, const GValue *value2)
return ret;
}
/***********************************************************/
static void
param_specialized_init (GParamSpec *pspec)
{
}
static void
param_specialized_set_default (GParamSpec *pspec, GValue *value)
{
value->data[0].v_pointer = NULL;
}
static gboolean
param_specialized_validate (GParamSpec *pspec, GValue *value)
{
NMParamSpecSpecialized *sspec = NM_PARAM_SPEC_SPECIALIZED (pspec);
GType value_type = G_VALUE_TYPE (value);
gboolean changed = FALSE;
if (!g_value_type_compatible (value_type, G_PARAM_SPEC_VALUE_TYPE (sspec))) {
g_value_reset (value);
changed = TRUE;
}
return changed;
}
static gint
param_specialized_values_cmp (GParamSpec *pspec,
const GValue *value1,
const GValue *value2)
{
return _gvalues_compare (value1, value2);
}
GType
_nm_param_spec_specialized_get_type (void)
{
static GType type;
if (G_UNLIKELY (type) == 0) {
static const GParamSpecTypeInfo pspec_info = {
sizeof (NMParamSpecSpecialized),
0,
param_specialized_init,
G_TYPE_OBJECT, /* value_type */
NULL, /* finalize */
param_specialized_set_default,
param_specialized_validate,
param_specialized_values_cmp,
};
type = g_param_type_register_static ("NMParamSpecSpecialized", &pspec_info);
}
return type;
}
GParamSpec *
_nm_param_spec_specialized (const char *name,
const char *nick,
const char *blurb,
GType specialized_type,
GParamFlags flags)
{
NMParamSpecSpecialized *pspec;
g_return_val_if_fail (g_type_is_a (specialized_type, G_TYPE_BOXED), NULL);
pspec = g_param_spec_internal (NM_TYPE_PARAM_SPEC_SPECIALIZED,
name, nick, blurb, flags);
G_PARAM_SPEC (pspec)->value_type = specialized_type;
return G_PARAM_SPEC (pspec);
}

View file

@ -0,0 +1,30 @@
/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
/*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
* Boston, MA 02110-1301 USA.
*
* Copyright 2007 - 2014 Red Hat, Inc.
* Copyright 2007 - 2008 Novell, Inc.
*/
#ifndef __NM_PROPERTY_COMPARE_H__
#define __NM_PROPERTY_COMPARE_H__
#include <glib-object.h>
int nm_property_compare (const GValue *value1, const GValue *value2);
#endif /* __NM_PROPERTY_COMPARE_H__ */

View file

@ -25,7 +25,6 @@
#include <glib/gi18n.h>
#include "nm-setting-8021x.h"
#include "nm-param-spec-specialized.h"
#include "nm-utils.h"
#include "nm-dbus-glib-types.h"
#include "crypto.h"
@ -3135,10 +3134,10 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_EAP,
_nm_param_spec_specialized (NM_SETTING_802_1X_EAP, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_802_1X_EAP, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSetting8021x:identity:
@ -3199,10 +3198,10 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_CA_CERT,
_nm_param_spec_specialized (NM_SETTING_802_1X_CA_CERT, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_802_1X_CA_CERT, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSetting8021x:ca-path:
@ -3241,10 +3240,10 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_ALTSUBJECT_MATCHES,
_nm_param_spec_specialized (NM_SETTING_802_1X_ALTSUBJECT_MATCHES, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_802_1X_ALTSUBJECT_MATCHES, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSetting8021x:client-cert:
@ -3264,10 +3263,10 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_CLIENT_CERT,
_nm_param_spec_specialized (NM_SETTING_802_1X_CLIENT_CERT, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_802_1X_CLIENT_CERT, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSetting8021x:phase1-peapver:
@ -3373,10 +3372,10 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_PHASE2_CA_CERT,
_nm_param_spec_specialized (NM_SETTING_802_1X_PHASE2_CA_CERT, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_802_1X_PHASE2_CA_CERT, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSetting8021x:phase2-ca-path:
@ -3417,10 +3416,10 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_PHASE2_ALTSUBJECT_MATCHES,
_nm_param_spec_specialized (NM_SETTING_802_1X_PHASE2_ALTSUBJECT_MATCHES, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_802_1X_PHASE2_ALTSUBJECT_MATCHES, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSetting8021x:phase2-client-cert:
@ -3443,10 +3442,10 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_PHASE2_CLIENT_CERT,
_nm_param_spec_specialized (NM_SETTING_802_1X_PHASE2_CLIENT_CERT, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_802_1X_PHASE2_CLIENT_CERT, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSetting8021x:password:
@ -3487,11 +3486,11 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_PASSWORD_RAW,
_nm_param_spec_specialized (NM_SETTING_802_1X_PASSWORD_RAW, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
NM_SETTING_PARAM_SECRET |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_802_1X_PASSWORD_RAW, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
NM_SETTING_PARAM_SECRET |
G_PARAM_STATIC_STRINGS));
/**
* NMSetting8021x:password-raw-flags:
@ -3539,10 +3538,10 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_PRIVATE_KEY,
_nm_param_spec_specialized (NM_SETTING_802_1X_PRIVATE_KEY, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_802_1X_PRIVATE_KEY, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSetting8021x:private-key-password:
@ -3604,7 +3603,7 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_PHASE2_PRIVATE_KEY,
_nm_param_spec_specialized (NM_SETTING_802_1X_PHASE2_PRIVATE_KEY, "", "",
g_param_spec_boxed (NM_SETTING_802_1X_PHASE2_PRIVATE_KEY, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));

View file

@ -24,7 +24,6 @@
#include <net/ethernet.h>
#include <glib/gi18n.h>
#include "nm-param-spec-specialized.h"
#include "nm-dbus-glib-types.h"
#include "nm-setting-bluetooth.h"
#include "nm-setting-cdma.h"
@ -271,11 +270,11 @@ nm_setting_bluetooth_class_init (NMSettingBluetoothClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_BDADDR,
_nm_param_spec_specialized (NM_SETTING_BLUETOOTH_BDADDR, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_BLUETOOTH_BDADDR, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingBluetooth:type:

View file

@ -28,7 +28,6 @@
#include <glib/gi18n.h>
#include "nm-setting-bond.h"
#include "nm-param-spec-specialized.h"
#include "nm-utils.h"
#include "nm-utils-private.h"
#include "nm-dbus-glib-types.h"
@ -737,11 +736,11 @@ nm_setting_bond_class_init (NMSettingBondClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_OPTIONS,
_nm_param_spec_specialized (NM_SETTING_BOND_OPTIONS, "", "",
DBUS_TYPE_G_MAP_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_BOND_OPTIONS, "", "",
DBUS_TYPE_G_MAP_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
_nm_setting_class_add_dbus_only_property (parent_class, "interface-name", G_TYPE_STRING,
_nm_setting_get_deprecated_virtual_interface_name,

View file

@ -26,7 +26,6 @@
#include <glib/gi18n.h>
#include "nm-setting-bridge.h"
#include "nm-param-spec-specialized.h"
#include "nm-setting-private.h"
#include "nm-utils.h"
#include "nm-utils-private.h"
@ -386,11 +385,11 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_MAC_ADDRESS,
_nm_param_spec_specialized (NM_SETTING_BRIDGE_MAC_ADDRESS, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_BRIDGE_MAC_ADDRESS, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingBridge:stp:

View file

@ -25,7 +25,6 @@
#include "nm-utils.h"
#include "nm-dbus-glib-types.h"
#include "nm-param-spec-specialized.h"
#include "nm-setting-connection.h"
#include "nm-setting-private.h"
@ -1289,10 +1288,10 @@ nm_setting_connection_class_init (NMSettingConnectionClass *setting_class)
*/
g_object_class_install_property
(object_class, PROP_PERMISSIONS,
_nm_param_spec_specialized (NM_SETTING_CONNECTION_PERMISSIONS, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_CONNECTION_PERMISSIONS, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingConnection:autoconnect:
@ -1403,11 +1402,11 @@ nm_setting_connection_class_init (NMSettingConnectionClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_SECONDARIES,
_nm_param_spec_specialized (NM_SETTING_CONNECTION_SECONDARIES, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_FUZZY_IGNORE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_CONNECTION_SECONDARIES, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_FUZZY_IGNORE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingConnection:gateway-ping-timeout:

View file

@ -24,7 +24,6 @@
#include <glib/gi18n.h>
#include "nm-setting-dcb.h"
#include "nm-param-spec-specialized.h"
#include "nm-utils.h"
#include "nm-utils-private.h"
#include "nm-dbus-glib-types.h"
@ -1029,10 +1028,10 @@ nm_setting_dcb_class_init (NMSettingDcbClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_PFC,
_nm_param_spec_specialized (NM_SETTING_DCB_PRIORITY_FLOW_CONTROL, "", "",
DBUS_TYPE_G_UINT_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_DCB_PRIORITY_FLOW_CONTROL, "", "",
DBUS_TYPE_G_UINT_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingDcb:priority-group-flags:
@ -1057,10 +1056,10 @@ nm_setting_dcb_class_init (NMSettingDcbClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_PRIORITY_GROUP_ID,
_nm_param_spec_specialized (NM_SETTING_DCB_PRIORITY_GROUP_ID, "", "",
DBUS_TYPE_G_UINT_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_DCB_PRIORITY_GROUP_ID, "", "",
DBUS_TYPE_G_UINT_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingDcb:priority-group-bandwidth:
@ -1072,10 +1071,10 @@ nm_setting_dcb_class_init (NMSettingDcbClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_PRIORITY_GROUP_BANDWIDTH,
_nm_param_spec_specialized (NM_SETTING_DCB_PRIORITY_GROUP_BANDWIDTH, "", "",
DBUS_TYPE_G_UINT_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_DCB_PRIORITY_GROUP_BANDWIDTH, "", "",
DBUS_TYPE_G_UINT_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingDcb:priority-bandwidth:
@ -1088,10 +1087,10 @@ nm_setting_dcb_class_init (NMSettingDcbClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_PRIORITY_BANDWIDTH,
_nm_param_spec_specialized (NM_SETTING_DCB_PRIORITY_BANDWIDTH, "", "",
DBUS_TYPE_G_UINT_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_DCB_PRIORITY_BANDWIDTH, "", "",
DBUS_TYPE_G_UINT_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingDcb:priority-strict-bandwidth:
@ -1104,10 +1103,10 @@ nm_setting_dcb_class_init (NMSettingDcbClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_PRIORITY_STRICT,
_nm_param_spec_specialized (NM_SETTING_DCB_PRIORITY_STRICT_BANDWIDTH, "", "",
DBUS_TYPE_G_UINT_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_DCB_PRIORITY_STRICT_BANDWIDTH, "", "",
DBUS_TYPE_G_UINT_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingDcb:priority-traffic-class:
@ -1118,8 +1117,8 @@ nm_setting_dcb_class_init (NMSettingDcbClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_PRIORITY_TRAFFIC_CLASS,
_nm_param_spec_specialized (NM_SETTING_DCB_PRIORITY_TRAFFIC_CLASS, "", "",
DBUS_TYPE_G_UINT_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_DCB_PRIORITY_TRAFFIC_CLASS, "", "",
DBUS_TYPE_G_UINT_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
}

View file

@ -24,7 +24,6 @@
#include <glib/gi18n.h>
#include "nm-setting-infiniband.h"
#include "nm-param-spec-specialized.h"
#include "nm-utils.h"
#include "nm-utils-private.h"
#include "nm-setting-private.h"
@ -416,11 +415,11 @@ nm_setting_infiniband_class_init (NMSettingInfinibandClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_MAC_ADDRESS,
_nm_param_spec_specialized (NM_SETTING_INFINIBAND_MAC_ADDRESS, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_INFINIBAND_MAC_ADDRESS, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingInfiniband:mtu:

View file

@ -25,7 +25,6 @@
#include <glib/gi18n.h>
#include "nm-setting-ip4-config.h"
#include "nm-param-spec-specialized.h"
#include "nm-utils.h"
#include "nm-dbus-glib-types.h"
#include "nm-glib-compat.h"
@ -1240,10 +1239,10 @@ nm_setting_ip4_config_class_init (NMSettingIP4ConfigClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_DNS,
_nm_param_spec_specialized (NM_SETTING_IP4_CONFIG_DNS, "", "",
DBUS_TYPE_G_UINT_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_IP4_CONFIG_DNS, "", "",
DBUS_TYPE_G_UINT_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingIP4Config:dns-search:
@ -1256,10 +1255,10 @@ nm_setting_ip4_config_class_init (NMSettingIP4ConfigClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_DNS_SEARCH,
_nm_param_spec_specialized (NM_SETTING_IP4_CONFIG_DNS_SEARCH, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_IP4_CONFIG_DNS_SEARCH, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingIP4Config:addresses:
@ -1275,11 +1274,11 @@ nm_setting_ip4_config_class_init (NMSettingIP4ConfigClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_ADDRESSES,
_nm_param_spec_specialized (NM_SETTING_IP4_CONFIG_ADDRESSES, "", "",
DBUS_TYPE_G_ARRAY_OF_ARRAY_OF_UINT,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_IP4_CONFIG_ADDRESSES, "", "",
DBUS_TYPE_G_ARRAY_OF_ARRAY_OF_UINT,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingIP4Config:address-labels:
@ -1288,11 +1287,11 @@ nm_setting_ip4_config_class_init (NMSettingIP4ConfigClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_ADDRESS_LABELS,
_nm_param_spec_specialized ("address-labels", "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed ("address-labels", "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingIP4Config:routes:
@ -1308,11 +1307,11 @@ nm_setting_ip4_config_class_init (NMSettingIP4ConfigClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_ROUTES,
_nm_param_spec_specialized (NM_SETTING_IP4_CONFIG_ROUTES, "", "",
DBUS_TYPE_G_ARRAY_OF_ARRAY_OF_UINT,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_IP4_CONFIG_ROUTES, "", "",
DBUS_TYPE_G_ARRAY_OF_ARRAY_OF_UINT,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingIP4Config:ignore-auto-routes:

View file

@ -24,7 +24,6 @@
#include <glib/gi18n.h>
#include "nm-setting-ip6-config.h"
#include "nm-param-spec-specialized.h"
#include "nm-utils.h"
#include "nm-dbus-glib-types.h"
#include "nm-glib-compat.h"
@ -1047,10 +1046,10 @@ nm_setting_ip6_config_class_init (NMSettingIP6ConfigClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_DNS,
_nm_param_spec_specialized (NM_SETTING_IP6_CONFIG_DNS, "", "",
DBUS_TYPE_G_ARRAY_OF_ARRAY_OF_UCHAR,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_IP6_CONFIG_DNS, "", "",
DBUS_TYPE_G_ARRAY_OF_ARRAY_OF_UCHAR,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingIP6Config:dns-search:
@ -1063,10 +1062,10 @@ nm_setting_ip6_config_class_init (NMSettingIP6ConfigClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_DNS_SEARCH,
_nm_param_spec_specialized (NM_SETTING_IP6_CONFIG_DNS_SEARCH, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_IP6_CONFIG_DNS_SEARCH, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingIP6Config:addresses:
@ -1084,11 +1083,11 @@ nm_setting_ip6_config_class_init (NMSettingIP6ConfigClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_ADDRESSES,
_nm_param_spec_specialized (NM_SETTING_IP6_CONFIG_ADDRESSES, "", "",
DBUS_TYPE_G_ARRAY_OF_IP6_ADDRESS,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_IP6_CONFIG_ADDRESSES, "", "",
DBUS_TYPE_G_ARRAY_OF_IP6_ADDRESS,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingIP6Config:routes:
@ -1104,11 +1103,11 @@ nm_setting_ip6_config_class_init (NMSettingIP6ConfigClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_ROUTES,
_nm_param_spec_specialized (NM_SETTING_IP6_CONFIG_ROUTES, "", "",
DBUS_TYPE_G_ARRAY_OF_IP6_ROUTE,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_IP6_CONFIG_ROUTES, "", "",
DBUS_TYPE_G_ARRAY_OF_IP6_ROUTE,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingIP6Config:ignore-auto-routes:

View file

@ -26,7 +26,6 @@
#include "nm-setting-olpc-mesh.h"
#include "nm-dbus-interface.h"
#include "nm-param-spec-specialized.h"
#include "nm-utils.h"
#include "nm-dbus-glib-types.h"
#include "nm-utils-private.h"
@ -234,11 +233,11 @@ nm_setting_olpc_mesh_class_init (NMSettingOlpcMeshClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_SSID,
_nm_param_spec_specialized (NM_SETTING_OLPC_MESH_SSID, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_OLPC_MESH_SSID, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingOlpcMesh:channel:
@ -263,8 +262,8 @@ nm_setting_olpc_mesh_class_init (NMSettingOlpcMeshClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_DHCP_ANYCAST_ADDRESS,
_nm_param_spec_specialized (NM_SETTING_OLPC_MESH_DHCP_ANYCAST_ADDRESS, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_OLPC_MESH_DHCP_ANYCAST_ADDRESS, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
}

View file

@ -24,7 +24,6 @@
#include <glib/gi18n.h>
#include "nm-setting-team.h"
#include "nm-param-spec-specialized.h"
#include "nm-utils.h"
#include "nm-utils-private.h"
#include "nm-dbus-glib-types.h"

View file

@ -25,7 +25,6 @@
#include <glib/gi18n.h>
#include "nm-setting-vlan.h"
#include "nm-param-spec-specialized.h"
#include "nm-utils.h"
#include "nm-dbus-glib-types.h"
#include "nm-setting-connection.h"
@ -753,11 +752,11 @@ nm_setting_vlan_class_init (NMSettingVlanClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_INGRESS_PRIORITY_MAP,
_nm_param_spec_specialized (NM_SETTING_VLAN_INGRESS_PRIORITY_MAP, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_VLAN_INGRESS_PRIORITY_MAP, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingVlan:egress-priority-map:
@ -768,11 +767,11 @@ nm_setting_vlan_class_init (NMSettingVlanClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_EGRESS_PRIORITY_MAP,
_nm_param_spec_specialized (NM_SETTING_VLAN_EGRESS_PRIORITY_MAP, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_VLAN_EGRESS_PRIORITY_MAP, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
_nm_setting_class_add_dbus_only_property (parent_class, "interface-name", G_TYPE_STRING,
_nm_setting_get_deprecated_virtual_interface_name,

View file

@ -26,7 +26,6 @@
#include <glib/gi18n.h>
#include "nm-setting-vpn.h"
#include "nm-param-spec-specialized.h"
#include "nm-utils.h"
#include "nm-dbus-glib-types.h"
#include "nm-setting-private.h"
@ -845,10 +844,10 @@ nm_setting_vpn_class_init (NMSettingVpnClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_DATA,
_nm_param_spec_specialized (NM_SETTING_VPN_DATA, "", "",
DBUS_TYPE_G_MAP_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_VPN_DATA, "", "",
DBUS_TYPE_G_MAP_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingVpn:secrets:
@ -858,9 +857,9 @@ nm_setting_vpn_class_init (NMSettingVpnClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_SECRETS,
_nm_param_spec_specialized (NM_SETTING_VPN_SECRETS, "", "",
DBUS_TYPE_G_MAP_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_SECRET |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_VPN_SECRETS, "", "",
DBUS_TYPE_G_MAP_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_SECRET |
G_PARAM_STATIC_STRINGS));
}

View file

@ -26,7 +26,6 @@
#include <glib/gi18n.h>
#include "nm-setting-wimax.h"
#include "nm-param-spec-specialized.h"
#include "nm-setting-private.h"
/**
@ -251,8 +250,8 @@ nm_setting_wimax_class_init (NMSettingWimaxClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_MAC_ADDRESS,
_nm_param_spec_specialized (NM_SETTING_WIMAX_MAC_ADDRESS, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_WIMAX_MAC_ADDRESS, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
}

View file

@ -26,7 +26,6 @@
#include <glib/gi18n.h>
#include "nm-setting-wired.h"
#include "nm-param-spec-specialized.h"
#include "nm-utils.h"
#include "nm-utils-private.h"
#include "nm-dbus-glib-types.h"
@ -907,11 +906,11 @@ nm_setting_wired_class_init (NMSettingWiredClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_MAC_ADDRESS,
_nm_param_spec_specialized (NM_SETTING_WIRED_MAC_ADDRESS, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_WIRED_MAC_ADDRESS, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingWired:cloned-mac-address:
@ -921,11 +920,11 @@ nm_setting_wired_class_init (NMSettingWiredClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_CLONED_MAC_ADDRESS,
_nm_param_spec_specialized (NM_SETTING_WIRED_CLONED_MAC_ADDRESS, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_WIRED_CLONED_MAC_ADDRESS, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingWired:mac-address-blacklist:
@ -937,11 +936,11 @@ nm_setting_wired_class_init (NMSettingWiredClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_MAC_ADDRESS_BLACKLIST,
_nm_param_spec_specialized (NM_SETTING_WIRED_MAC_ADDRESS_BLACKLIST, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_FUZZY_IGNORE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_WIRED_MAC_ADDRESS_BLACKLIST, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_FUZZY_IGNORE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingWired:mtu:
@ -971,11 +970,11 @@ nm_setting_wired_class_init (NMSettingWiredClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_S390_SUBCHANNELS,
_nm_param_spec_specialized (NM_SETTING_WIRED_S390_SUBCHANNELS, "", "",
DBUS_TYPE_G_ARRAY_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_WIRED_S390_SUBCHANNELS, "", "",
DBUS_TYPE_G_ARRAY_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingWired:s390-nettype:
@ -1001,9 +1000,9 @@ nm_setting_wired_class_init (NMSettingWiredClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_S390_OPTIONS,
_nm_param_spec_specialized (NM_SETTING_WIRED_S390_OPTIONS, "", "",
DBUS_TYPE_G_MAP_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_WIRED_S390_OPTIONS, "", "",
DBUS_TYPE_G_MAP_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
G_PARAM_STATIC_STRINGS));
}

View file

@ -27,7 +27,6 @@
#include "nm-setting-wireless-security.h"
#include "nm-setting-8021x.h"
#include "nm-param-spec-specialized.h"
#include "nm-utils.h"
#include "nm-dbus-glib-types.h"
#include "nm-utils-private.h"
@ -1389,10 +1388,10 @@ nm_setting_wireless_security_class_init (NMSettingWirelessSecurityClass *setting
**/
g_object_class_install_property
(object_class, PROP_PROTO,
_nm_param_spec_specialized (NM_SETTING_WIRELESS_SECURITY_PROTO, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_WIRELESS_SECURITY_PROTO, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingWirelessSecurity:pairwise:
@ -1404,10 +1403,10 @@ nm_setting_wireless_security_class_init (NMSettingWirelessSecurityClass *setting
**/
g_object_class_install_property
(object_class, PROP_PAIRWISE,
_nm_param_spec_specialized (NM_SETTING_WIRELESS_SECURITY_PAIRWISE, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_WIRELESS_SECURITY_PAIRWISE, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingWirelessSecurity:group:
@ -1419,10 +1418,10 @@ nm_setting_wireless_security_class_init (NMSettingWirelessSecurityClass *setting
**/
g_object_class_install_property
(object_class, PROP_GROUP,
_nm_param_spec_specialized (NM_SETTING_WIRELESS_SECURITY_GROUP, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_WIRELESS_SECURITY_GROUP, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingWirelessSecurity:leap-username:

View file

@ -27,7 +27,6 @@
#include "nm-setting-wireless.h"
#include "nm-dbus-interface.h"
#include "nm-param-spec-specialized.h"
#include "nm-utils.h"
#include "nm-dbus-glib-types.h"
#include "nm-utils-private.h"
@ -997,10 +996,10 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_SSID,
_nm_param_spec_specialized (NM_SETTING_WIRELESS_SSID, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_WIRELESS_SSID, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingWireless:mode:
@ -1058,10 +1057,10 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_BSSID,
_nm_param_spec_specialized (NM_SETTING_WIRELESS_BSSID, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_WIRELESS_BSSID, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingWireless:rate:
@ -1105,10 +1104,10 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_MAC_ADDRESS,
_nm_param_spec_specialized (NM_SETTING_WIRELESS_MAC_ADDRESS, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_WIRELESS_MAC_ADDRESS, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingWireless:cloned-mac-address:
@ -1118,10 +1117,10 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_CLONED_MAC_ADDRESS,
_nm_param_spec_specialized (NM_SETTING_WIRELESS_CLONED_MAC_ADDRESS, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_WIRELESS_CLONED_MAC_ADDRESS, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingWireless:mac-address-blacklist:
@ -1132,11 +1131,11 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_MAC_ADDRESS_BLACKLIST,
_nm_param_spec_specialized (NM_SETTING_WIRELESS_MAC_ADDRESS_BLACKLIST, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_FUZZY_IGNORE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_WIRELESS_MAC_ADDRESS_BLACKLIST, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_FUZZY_IGNORE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingWireless:seen-bssids:
@ -1150,11 +1149,11 @@ nm_setting_wireless_class_init (NMSettingWirelessClass *setting_class)
**/
g_object_class_install_property
(object_class, PROP_SEEN_BSSIDS,
_nm_param_spec_specialized (NM_SETTING_WIRELESS_SEEN_BSSIDS, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_FUZZY_IGNORE |
G_PARAM_STATIC_STRINGS));
g_param_spec_boxed (NM_SETTING_WIRELESS_SEEN_BSSIDS, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_FUZZY_IGNORE |
G_PARAM_STATIC_STRINGS));
/**
* NMSettingWireless:mtu:

View file

@ -28,6 +28,7 @@
#include "nm-setting-connection.h"
#include "nm-utils.h"
#include "nm-utils-private.h"
#include "nm-property-compare.h"
/**
* SECTION:nm-setting
@ -912,7 +913,7 @@ compare_property (NMSetting *setting,
{
GValue value1 = G_VALUE_INIT;
GValue value2 = G_VALUE_INIT;
gboolean different;
int cmp;
/* Handle compare flags */
if (prop_spec->flags & NM_SETTING_PARAM_SECRET) {
@ -944,12 +945,12 @@ compare_property (NMSetting *setting,
g_value_init (&value2, prop_spec->value_type);
g_object_get_property (G_OBJECT (other), prop_spec->name, &value2);
different = g_param_values_cmp ((GParamSpec *) prop_spec, &value1, &value2);
cmp = nm_property_compare (&value1, &value2);
g_value_unset (&value1);
g_value_unset (&value2);
return different == 0 ? TRUE : FALSE;
return cmp == 0;
}
/**

View file

@ -26,9 +26,9 @@
#include "nm-dbus-glib-types.h"
#include "nm-glib-compat.h"
#include "nm-test-utils.h"
#include "nm-property-compare.h"
extern gint _gvalues_compare (const GValue *value1, const GValue *value2);
#include "nm-test-utils.h"
static void
compare_ints (void)
@ -41,13 +41,13 @@ compare_ints (void)
g_value_set_int (&value1, 5);
g_value_set_int (&value2, 5);
g_assert (_gvalues_compare (&value1, &value2) == 0);
g_assert (nm_property_compare (&value1, &value2) == 0);
g_value_set_int (&value2, 10);
g_assert (_gvalues_compare (&value1, &value2) < 0);
g_assert (nm_property_compare (&value1, &value2) < 0);
g_value_set_int (&value2, 1);
g_assert (_gvalues_compare (&value1, &value2) > 0);
g_assert (nm_property_compare (&value1, &value2) > 0);
}
static void
@ -63,12 +63,12 @@ compare_strings (void)
g_value_set_string (&value1, str1);
g_value_set_string (&value2, str1);
g_assert (_gvalues_compare (&value1, &value2) == 0);
g_assert (nm_property_compare (&value1, &value2) == 0);
g_value_set_string (&value2, str2);
g_assert (_gvalues_compare (&value1, &value2) < 0);
g_assert (nm_property_compare (&value1, &value2) < 0);
g_assert (_gvalues_compare (&value2, &value1) > 0);
g_assert (nm_property_compare (&value2, &value1) > 0);
}
static void
@ -86,16 +86,16 @@ compare_strv (void)
g_value_set_boxed (&value1, strv1);
g_value_set_boxed (&value2, strv1);
g_assert (_gvalues_compare (&value1, &value2) == 0);
g_assert (nm_property_compare (&value1, &value2) == 0);
g_value_set_boxed (&value2, strv2);
g_assert (_gvalues_compare (&value1, &value2) != 0);
g_assert (nm_property_compare (&value1, &value2) != 0);
g_value_set_boxed (&value2, strv3);
g_assert (_gvalues_compare (&value1, &value2) != 0);
g_assert (nm_property_compare (&value1, &value2) != 0);
g_value_set_boxed (&value2, strv4);
g_assert (_gvalues_compare (&value1, &value2) != 0);
g_assert (nm_property_compare (&value1, &value2) != 0);
}
static void
@ -120,16 +120,16 @@ compare_garrays (void)
g_value_set_boxed (&value1, array1);
g_value_set_boxed (&value2, array2);
g_assert (_gvalues_compare (&value1, &value2) == 0);
g_assert (nm_property_compare (&value1, &value2) == 0);
g_array_remove_index (array2, 0);
g_value_set_boxed (&value2, array2);
g_assert (_gvalues_compare (&value1, &value2) != 0);
g_assert (nm_property_compare (&value1, &value2) != 0);
i = 7;
g_array_prepend_val (array2, i);
g_value_set_boxed (&value2, array2);
g_assert (_gvalues_compare (&value1, &value2) != 0);
g_assert (nm_property_compare (&value1, &value2) != 0);
}
static void
@ -154,15 +154,15 @@ compare_ptrarrays (void)
g_ptr_array_add (array2, "world");
g_value_set_boxed (&value2, array2);
g_assert (_gvalues_compare (&value1, &value2) == 0);
g_assert (nm_property_compare (&value1, &value2) == 0);
g_ptr_array_add (array2, "boo");
g_value_set_boxed (&value2, array2);
g_assert (_gvalues_compare (&value1, &value2) != 0);
g_assert (nm_property_compare (&value1, &value2) != 0);
g_ptr_array_add (array1, "booz");
g_value_set_boxed (&value1, array1);
g_assert (_gvalues_compare (&value1, &value2) != 0);
g_assert (nm_property_compare (&value1, &value2) != 0);
}
static void
@ -189,15 +189,15 @@ compare_str_hash (void)
g_value_set_boxed (&value1, hash1);
g_value_set_boxed (&value2, hash2);
g_assert (_gvalues_compare (&value1, &value2) == 0);
g_assert (nm_property_compare (&value1, &value2) == 0);
g_hash_table_remove (hash2, "key2");
g_value_set_boxed (&value2, hash2);
g_assert (_gvalues_compare (&value1, &value2) != 0);
g_assert (nm_property_compare (&value1, &value2) != 0);
g_hash_table_insert (hash2, "key2", "moon");
g_value_set_boxed (&value2, hash2);
g_assert (_gvalues_compare (&value1, &value2) != 0);
g_assert (nm_property_compare (&value1, &value2) != 0);
}
static GValue *
@ -260,15 +260,15 @@ compare_gvalue_hash (void)
g_value_set_boxed (&value1, hash1);
g_value_set_boxed (&value2, hash2);
g_assert (_gvalues_compare (&value1, &value2) == 0);
g_assert (nm_property_compare (&value1, &value2) == 0);
g_hash_table_remove (hash2, "key2");
g_value_set_boxed (&value2, hash2);
g_assert (_gvalues_compare (&value1, &value2) != 0);
g_assert (nm_property_compare (&value1, &value2) != 0);
g_hash_table_insert (hash2, "key2", str_to_gvalue ("moon"));
g_value_set_boxed (&value2, hash2);
g_assert (_gvalues_compare (&value1, &value2) != 0);
g_assert (nm_property_compare (&value1, &value2) != 0);
}
static void
@ -365,15 +365,15 @@ compare_ip6_addresses (void)
g_value_set_boxed (&value1, array1);
g_value_set_boxed (&value2, array1);
g_assert (_gvalues_compare (&value1, &value2) == 0);
g_assert (nm_property_compare (&value1, &value2) == 0);
g_value_set_boxed (&value1, array1);
g_value_set_boxed (&value2, array2);
g_assert (_gvalues_compare (&value1, &value2) != 0);
g_assert (nm_property_compare (&value1, &value2) != 0);
g_value_set_boxed (&value1, array1);
g_value_set_boxed (&value2, array3);
g_assert (_gvalues_compare (&value1, &value2) != 0);
g_assert (nm_property_compare (&value1, &value2) != 0);
}
NMTST_DEFINE ();