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

@@ -44,7 +44,7 @@ libnm_core_headers = \
libnm_core_private_headers = \
$(core)/crypto.h \
$(core)/nm-core-internal.h \
$(core)/nm-param-spec-specialized.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,7 +3134,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_802_1X_EAP, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -3199,7 +3198,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_802_1X_CA_CERT, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -3241,7 +3240,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_802_1X_ALTSUBJECT_MATCHES, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -3264,7 +3263,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_802_1X_CLIENT_CERT, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -3373,7 +3372,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_802_1X_PHASE2_CA_CERT, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -3417,7 +3416,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_802_1X_PHASE2_ALTSUBJECT_MATCHES, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -3443,7 +3442,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_802_1X_PHASE2_CLIENT_CERT, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -3487,7 +3486,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_802_1X_PASSWORD_RAW, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
NM_SETTING_PARAM_SECRET |
@@ -3539,7 +3538,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_802_1X_PRIVATE_KEY, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -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,7 +270,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_BLUETOOTH_BDADDR, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |

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,7 +736,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_BOND_OPTIONS, "", "",
DBUS_TYPE_G_MAP_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |

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,7 +385,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_BRIDGE_MAC_ADDRESS, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |

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,7 +1288,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_CONNECTION_PERMISSIONS, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -1403,7 +1402,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_CONNECTION_SECONDARIES, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_FUZZY_IGNORE |

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,7 +1028,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_DCB_PRIORITY_FLOW_CONTROL, "", "",
DBUS_TYPE_G_UINT_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -1057,7 +1056,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_DCB_PRIORITY_GROUP_ID, "", "",
DBUS_TYPE_G_UINT_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -1072,7 +1071,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_DCB_PRIORITY_GROUP_BANDWIDTH, "", "",
DBUS_TYPE_G_UINT_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -1088,7 +1087,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_DCB_PRIORITY_BANDWIDTH, "", "",
DBUS_TYPE_G_UINT_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -1104,7 +1103,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_DCB_PRIORITY_STRICT_BANDWIDTH, "", "",
DBUS_TYPE_G_UINT_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -1118,7 +1117,7 @@ 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, "", "",
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,7 +415,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_INFINIBAND_MAC_ADDRESS, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |

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,7 +1239,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_IP4_CONFIG_DNS, "", "",
DBUS_TYPE_G_UINT_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -1256,7 +1255,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_IP4_CONFIG_DNS_SEARCH, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -1275,7 +1274,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_IP4_CONFIG_ADDRESSES, "", "",
DBUS_TYPE_G_ARRAY_OF_ARRAY_OF_UINT,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
@@ -1288,7 +1287,7 @@ 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", "", "",
g_param_spec_boxed ("address-labels", "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
@@ -1308,7 +1307,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_IP4_CONFIG_ROUTES, "", "",
DBUS_TYPE_G_ARRAY_OF_ARRAY_OF_UINT,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |

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,7 +1046,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_IP6_CONFIG_DNS, "", "",
DBUS_TYPE_G_ARRAY_OF_ARRAY_OF_UCHAR,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -1063,7 +1062,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_IP6_CONFIG_DNS_SEARCH, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -1084,7 +1083,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_IP6_CONFIG_ADDRESSES, "", "",
DBUS_TYPE_G_ARRAY_OF_IP6_ADDRESS,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
@@ -1104,7 +1103,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_IP6_CONFIG_ROUTES, "", "",
DBUS_TYPE_G_ARRAY_OF_IP6_ROUTE,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |

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,7 +233,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_OLPC_MESH_SSID, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
@@ -263,7 +262,7 @@ 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, "", "",
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,7 +752,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_VLAN_INGRESS_PRIORITY_MAP, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
@@ -768,7 +767,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_VLAN_EGRESS_PRIORITY_MAP, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |

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,7 +844,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_VPN_DATA, "", "",
DBUS_TYPE_G_MAP_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -858,7 +857,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_VPN_SECRETS, "", "",
DBUS_TYPE_G_MAP_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_SECRET |

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,7 +250,7 @@ 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, "", "",
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,7 +906,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_WIRED_MAC_ADDRESS, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
@@ -921,7 +920,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_WIRED_CLONED_MAC_ADDRESS, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
@@ -937,7 +936,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_WIRED_MAC_ADDRESS_BLACKLIST, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_FUZZY_IGNORE |
@@ -971,7 +970,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_WIRED_S390_SUBCHANNELS, "", "",
DBUS_TYPE_G_ARRAY_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |
@@ -1001,7 +1000,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_WIRED_S390_OPTIONS, "", "",
DBUS_TYPE_G_MAP_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_INFERRABLE |

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,7 +1388,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_WIRELESS_SECURITY_PROTO, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -1404,7 +1403,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_WIRELESS_SECURITY_PAIRWISE, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -1419,7 +1418,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_WIRELESS_SECURITY_GROUP, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));

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,7 +996,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_WIRELESS_SSID, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -1058,7 +1057,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_WIRELESS_BSSID, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -1105,7 +1104,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_WIRELESS_MAC_ADDRESS, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -1118,7 +1117,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_WIRELESS_CLONED_MAC_ADDRESS, "", "",
DBUS_TYPE_G_UCHAR_ARRAY,
G_PARAM_READWRITE |
G_PARAM_STATIC_STRINGS));
@@ -1132,7 +1131,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_WIRELESS_MAC_ADDRESS_BLACKLIST, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_FUZZY_IGNORE |
@@ -1150,7 +1149,7 @@ 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, "", "",
g_param_spec_boxed (NM_SETTING_WIRELESS_SEEN_BSSIDS, "", "",
DBUS_TYPE_G_LIST_OF_STRING,
G_PARAM_READWRITE |
NM_SETTING_PARAM_FUZZY_IGNORE |

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 ();