diff options
author | Thomas Haller <thaller@redhat.com> | 2019-01-11 08:32:54 +0100 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2019-01-13 15:27:23 +0100 |
commit | f84b4274755537a144e5a202528e63bfbb24b462 (patch) | |
tree | acec12eacf212154d86aa718f61ef9f3e3a6086d | |
parent | 5b3bc8d48fe409b75ed173a77a63340f92b3849e (diff) | |
download | NetworkManager-f84b4274755537a144e5a202528e63bfbb24b462.tar.gz |
libnm-core: reorder code in settingsth/libnm-settings-properties
Order the code in our common way. No other changes.
- ensure to include the main header first (directly after
"nm-default.h").
- reorder function definitions: get_property(), set_property(),
*_init(), *_new(), finalize(), *_class_init().
48 files changed, 2838 insertions, 2532 deletions
diff --git a/libnm-core/nm-connection.c b/libnm-core/nm-connection.c index f1ed3d53f4..c2b2ae0b56 100644 --- a/libnm-core/nm-connection.c +++ b/libnm-core/nm-connection.c @@ -22,10 +22,11 @@ #include "nm-default.h" +#include "nm-connection.h" + #include <string.h> #include <arpa/inet.h> -#include "nm-connection.h" #include "nm-connection-private.h" #include "nm-utils.h" #include "nm-setting-private.h" @@ -50,6 +51,17 @@ * */ +/*****************************************************************************/ + +enum { + SECRETS_UPDATED, + SECRETS_CLEARED, + CHANGED, + LAST_SIGNAL +}; + +static guint signals[LAST_SIGNAL] = { 0 }; + typedef struct { NMConnection *self; @@ -59,19 +71,10 @@ typedef struct { char *path; } NMConnectionPrivate; -static NMConnectionPrivate *nm_connection_get_private (NMConnection *connection); -#define NM_CONNECTION_GET_PRIVATE(o) (nm_connection_get_private ((NMConnection *)o)) - G_DEFINE_INTERFACE (NMConnection, nm_connection, G_TYPE_OBJECT) -enum { - SECRETS_UPDATED, - SECRETS_CLEARED, - CHANGED, - LAST_SIGNAL -}; - -static guint signals[LAST_SIGNAL] = { 0 }; +static NMConnectionPrivate *nm_connection_get_private (NMConnection *connection); +#define NM_CONNECTION_GET_PRIVATE(o) (nm_connection_get_private ((NMConnection *)o)) /*****************************************************************************/ diff --git a/libnm-core/nm-setting-6lowpan.c b/libnm-core/nm-setting-6lowpan.c index c0ce232dab..3a2b084ec0 100644 --- a/libnm-core/nm-setting-6lowpan.c +++ b/libnm-core/nm-setting-6lowpan.c @@ -19,9 +19,20 @@ #include "nm-default.h" -#include "nm-setting-private.h" #include "nm-setting-6lowpan.h" +#include "nm-setting-private.h" + +/** + * SECTION:nm-setting-6lowpan + * @short_description: Describes connection properties for 6LoWPAN interfaces + * + * The #NMSetting6Lowpan object is a #NMSetting subclass that describes properties + * necessary for connection to 6LoWPAN interfaces. + **/ + +/*****************************************************************************/ + NM_GOBJECT_PROPERTIES_DEFINE_BASE ( PROP_PARENT, ); @@ -43,33 +54,11 @@ struct _NMSetting6LowpanClass { NMSettingClass parent; }; -/** - * SECTION:nm-setting-6lowpan - * @short_description: Describes connection properties for 6LoWPAN interfaces - * - * The #NMSetting6Lowpan object is a #NMSetting subclass that describes properties - * necessary for connection to 6LoWPAN interfaces. - **/ - G_DEFINE_TYPE (NMSetting6Lowpan, nm_setting_6lowpan, NM_TYPE_SETTING) #define NM_SETTING_6LOWPAN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_6LOWPAN, NMSetting6LowpanPrivate)) - -/** - * nm_setting_6lowpan_new: - * - * Creates a new #NMSetting6Lowpan object with default values. - * - * Returns: (transfer full): the new empty #NMSetting6Lowpan object - * - * Since: 1.14 - **/ -NMSetting * -nm_setting_6lowpan_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_6LOWPAN, NULL); -} +/*****************************************************************************/ /** * nm_setting_6lowpan_get_parent: @@ -143,22 +132,18 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) return TRUE; } -static void -nm_setting_6lowpan_init (NMSetting6Lowpan *setting) -{ -} +/*****************************************************************************/ static void -set_property (GObject *object, guint prop_id, - const GValue *value, GParamSpec *pspec) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { NMSetting6Lowpan *setting = NM_SETTING_6LOWPAN (object); NMSetting6LowpanPrivate *priv = NM_SETTING_6LOWPAN_GET_PRIVATE (setting); switch (prop_id) { case PROP_PARENT: - g_free (priv->parent); - priv->parent = g_value_dup_string (value); + g_value_set_string (value, priv->parent); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -167,15 +152,16 @@ set_property (GObject *object, guint prop_id, } static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) { NMSetting6Lowpan *setting = NM_SETTING_6LOWPAN (object); NMSetting6LowpanPrivate *priv = NM_SETTING_6LOWPAN_GET_PRIVATE (setting); switch (prop_id) { case PROP_PARENT: - g_value_set_string (value, priv->parent); + g_free (priv->parent); + priv->parent = g_value_dup_string (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -183,6 +169,28 @@ get_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + +static void +nm_setting_6lowpan_init (NMSetting6Lowpan *setting) +{ +} + +/** + * nm_setting_6lowpan_new: + * + * Creates a new #NMSetting6Lowpan object with default values. + * + * Returns: (transfer full): the new empty #NMSetting6Lowpan object + * + * Since: 1.14 + **/ +NMSetting * +nm_setting_6lowpan_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_6LOWPAN, NULL); +} + static void finalize (GObject *object) { @@ -202,8 +210,8 @@ nm_setting_6lowpan_class_init (NMSetting6LowpanClass *klass) g_type_class_add_private (klass, sizeof (NMSetting6LowpanPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-8021x.c b/libnm-core/nm-setting-8021x.c index efbf5371ae..19741fdf9b 100644 --- a/libnm-core/nm-setting-8021x.c +++ b/libnm-core/nm-setting-8021x.c @@ -3369,8 +3369,6 @@ finalize (GObject *object) NMSetting8021x *self = NM_SETTING_802_1X (object); NMSetting8021xPrivate *priv = NM_SETTING_802_1X_GET_PRIVATE (self); - /* Strings first. g_free() already checks for NULLs so we don't have to */ - g_free (priv->identity); g_free (priv->anonymous_identity); g_free (priv->ca_path); @@ -3416,8 +3414,8 @@ nm_setting_802_1x_class_init (NMSetting8021xClass *klass) g_type_class_add_private (klass, sizeof (NMSetting8021xPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-adsl.c b/libnm-core/nm-setting-adsl.c index 1d6530a8e3..b7f7d746a6 100644 --- a/libnm-core/nm-setting-adsl.c +++ b/libnm-core/nm-setting-adsl.c @@ -21,9 +21,10 @@ #include "nm-default.h" +#include "nm-setting-adsl.h" + #include <string.h> -#include "nm-setting-adsl.h" #include "nm-setting-ppp.h" #include "nm-setting-private.h" #include "nm-utils.h" @@ -37,9 +38,17 @@ * properties of ADSL connections. */ -G_DEFINE_TYPE (NMSettingAdsl, nm_setting_adsl, NM_TYPE_SETTING) +/*****************************************************************************/ -#define NM_SETTING_ADSL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_ADSL, NMSettingAdslPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE_BASE ( + PROP_USERNAME, + PROP_PASSWORD, + PROP_PASSWORD_FLAGS, + PROP_PROTOCOL, + PROP_ENCAPSULATION, + PROP_VPI, + PROP_VCI, +); typedef struct { char * username; @@ -51,28 +60,11 @@ typedef struct { guint32 vci; } NMSettingAdslPrivate; -NM_GOBJECT_PROPERTIES_DEFINE_BASE ( - PROP_USERNAME, - PROP_PASSWORD, - PROP_PASSWORD_FLAGS, - PROP_PROTOCOL, - PROP_ENCAPSULATION, - PROP_VPI, - PROP_VCI, -); +G_DEFINE_TYPE (NMSettingAdsl, nm_setting_adsl, NM_TYPE_SETTING) -/** - * nm_setting_adsl_new: - * - * Creates a new #NMSettingAdsl object with default values. - * - * Returns: the new empty #NMSettingAdsl object - **/ -NMSetting * -nm_setting_adsl_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_ADSL, NULL); -} +#define NM_SETTING_ADSL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_ADSL, NMSettingAdslPrivate)) + +/*****************************************************************************/ /** * nm_setting_adsl_get_username: @@ -247,22 +239,40 @@ need_secrets (NMSetting *setting) return secrets; } -static void -nm_setting_adsl_init (NMSettingAdsl *setting) -{ -} +/*****************************************************************************/ static void -finalize (GObject *object) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { - NMSettingAdslPrivate *priv = NM_SETTING_ADSL_GET_PRIVATE (object); - - g_free (priv->username); - g_free (priv->password); - g_free (priv->protocol); - g_free (priv->encapsulation); + NMSettingAdsl *setting = NM_SETTING_ADSL (object); - G_OBJECT_CLASS (nm_setting_adsl_parent_class)->finalize (object); + switch (prop_id) { + case PROP_USERNAME: + g_value_set_string (value, nm_setting_adsl_get_username (setting)); + break; + case PROP_PASSWORD: + g_value_set_string (value, nm_setting_adsl_get_password (setting)); + break; + case PROP_PASSWORD_FLAGS: + g_value_set_flags (value, nm_setting_adsl_get_password_flags (setting)); + break; + case PROP_PROTOCOL: + g_value_set_string (value, nm_setting_adsl_get_protocol (setting)); + break; + case PROP_ENCAPSULATION: + g_value_set_string (value, nm_setting_adsl_get_encapsulation (setting)); + break; + case PROP_VPI: + g_value_set_uint (value, nm_setting_adsl_get_vpi (setting)); + break; + case PROP_VCI: + g_value_set_uint (value, nm_setting_adsl_get_vci (setting)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } } static void @@ -306,38 +316,37 @@ set_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +nm_setting_adsl_init (NMSettingAdsl *setting) { - NMSettingAdsl *setting = NM_SETTING_ADSL (object); +} - switch (prop_id) { - case PROP_USERNAME: - g_value_set_string (value, nm_setting_adsl_get_username (setting)); - break; - case PROP_PASSWORD: - g_value_set_string (value, nm_setting_adsl_get_password (setting)); - break; - case PROP_PASSWORD_FLAGS: - g_value_set_flags (value, nm_setting_adsl_get_password_flags (setting)); - break; - case PROP_PROTOCOL: - g_value_set_string (value, nm_setting_adsl_get_protocol (setting)); - break; - case PROP_ENCAPSULATION: - g_value_set_string (value, nm_setting_adsl_get_encapsulation (setting)); - break; - case PROP_VPI: - g_value_set_uint (value, nm_setting_adsl_get_vpi (setting)); - break; - case PROP_VCI: - g_value_set_uint (value, nm_setting_adsl_get_vci (setting)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } +/** + * nm_setting_adsl_new: + * + * Creates a new #NMSettingAdsl object with default values. + * + * Returns: the new empty #NMSettingAdsl object + **/ +NMSetting * +nm_setting_adsl_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_ADSL, NULL); +} + +static void +finalize (GObject *object) +{ + NMSettingAdslPrivate *priv = NM_SETTING_ADSL_GET_PRIVATE (object); + + g_free (priv->username); + g_free (priv->password); + g_free (priv->protocol); + g_free (priv->encapsulation); + + G_OBJECT_CLASS (nm_setting_adsl_parent_class)->finalize (object); } static void @@ -348,8 +357,8 @@ nm_setting_adsl_class_init (NMSettingAdslClass *klass) g_type_class_add_private (klass, sizeof (NMSettingAdslPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-bluetooth.c b/libnm-core/nm-setting-bluetooth.c index df5680c934..a31928403a 100644 --- a/libnm-core/nm-setting-bluetooth.c +++ b/libnm-core/nm-setting-bluetooth.c @@ -22,11 +22,12 @@ #include "nm-default.h" +#include "nm-setting-bluetooth.h" + #include <string.h> #include <net/ethernet.h> #include "nm-connection-private.h" -#include "nm-setting-bluetooth.h" #include "nm-setting-cdma.h" #include "nm-setting-gsm.h" #include "nm-setting-private.h" @@ -43,31 +44,23 @@ * Point (NAP) profiles. **/ -G_DEFINE_TYPE (NMSettingBluetooth, nm_setting_bluetooth, NM_TYPE_SETTING) +/*****************************************************************************/ -#define NM_SETTING_BLUETOOTH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_BLUETOOTH, NMSettingBluetoothPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE_BASE ( + PROP_BDADDR, + PROP_TYPE, +); typedef struct { char *bdaddr; char *type; } NMSettingBluetoothPrivate; -NM_GOBJECT_PROPERTIES_DEFINE_BASE ( - PROP_BDADDR, - PROP_TYPE, -); +G_DEFINE_TYPE (NMSettingBluetooth, nm_setting_bluetooth, NM_TYPE_SETTING) -/** - * nm_setting_bluetooth_new: - * - * Creates a new #NMSettingBluetooth object with default values. - * - * Returns: (transfer full): the new empty #NMSettingBluetooth object - **/ -NMSetting *nm_setting_bluetooth_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_BLUETOOTH, NULL); -} +#define NM_SETTING_BLUETOOTH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_BLUETOOTH, NMSettingBluetoothPrivate)) + +/*****************************************************************************/ /** * nm_setting_bluetooth_get_connection_type: @@ -221,20 +214,25 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) return TRUE; } -static void -nm_setting_bluetooth_init (NMSettingBluetooth *setting) -{ -} +/*****************************************************************************/ static void -finalize (GObject *object) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { - NMSettingBluetoothPrivate *priv = NM_SETTING_BLUETOOTH_GET_PRIVATE (object); - - g_free (priv->bdaddr); - g_free (priv->type); + NMSettingBluetooth *setting = NM_SETTING_BLUETOOTH (object); - G_OBJECT_CLASS (nm_setting_bluetooth_parent_class)->finalize (object); + switch (prop_id) { + case PROP_BDADDR: + g_value_set_string (value, nm_setting_bluetooth_get_bdaddr (setting)); + break; + case PROP_TYPE: + g_value_set_string (value, nm_setting_bluetooth_get_connection_type (setting)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } } static void @@ -258,23 +256,34 @@ set_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +nm_setting_bluetooth_init (NMSettingBluetooth *setting) { - NMSettingBluetooth *setting = NM_SETTING_BLUETOOTH (object); +} - switch (prop_id) { - case PROP_BDADDR: - g_value_set_string (value, nm_setting_bluetooth_get_bdaddr (setting)); - break; - case PROP_TYPE: - g_value_set_string (value, nm_setting_bluetooth_get_connection_type (setting)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } +/** + * nm_setting_bluetooth_new: + * + * Creates a new #NMSettingBluetooth object with default values. + * + * Returns: (transfer full): the new empty #NMSettingBluetooth object + **/ +NMSetting *nm_setting_bluetooth_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_BLUETOOTH, NULL); +} + +static void +finalize (GObject *object) +{ + NMSettingBluetoothPrivate *priv = NM_SETTING_BLUETOOTH_GET_PRIVATE (object); + + g_free (priv->bdaddr); + g_free (priv->type); + + G_OBJECT_CLASS (nm_setting_bluetooth_parent_class)->finalize (object); } static void @@ -286,8 +295,8 @@ nm_setting_bluetooth_class_init (NMSettingBluetoothClass *klass) g_type_class_add_private (klass, sizeof (NMSettingBluetoothPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-bond.c b/libnm-core/nm-setting-bond.c index 87cc1b6c0a..fa55c06f28 100644 --- a/libnm-core/nm-setting-bond.c +++ b/libnm-core/nm-setting-bond.c @@ -21,13 +21,14 @@ #include "nm-default.h" +#include "nm-setting-bond.h" + #include <string.h> #include <stdlib.h> #include <errno.h> #include <netinet/in.h> #include <arpa/inet.h> -#include "nm-setting-bond.h" #include "nm-utils.h" #include "nm-utils-private.h" #include "nm-connection-private.h" @@ -960,8 +961,8 @@ nm_setting_bond_class_init (NMSettingBondClass *klass) g_type_class_add_private (klass, sizeof (NMSettingBondPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-bridge-port.c b/libnm-core/nm-setting-bridge-port.c index 166740b3ad..b8670afded 100644 --- a/libnm-core/nm-setting-bridge-port.c +++ b/libnm-core/nm-setting-bridge-port.c @@ -21,11 +21,12 @@ #include "nm-default.h" +#include "nm-setting-bridge-port.h" + #include <string.h> #include <ctype.h> #include <stdlib.h> -#include "nm-setting-bridge-port.h" #include "nm-utils.h" #include "nm-utils-private.h" #include "nm-connection-private.h" @@ -40,9 +41,13 @@ * optional properties that apply to bridge ports. **/ -G_DEFINE_TYPE (NMSettingBridgePort, nm_setting_bridge_port, NM_TYPE_SETTING) +/*****************************************************************************/ -#define NM_SETTING_BRIDGE_PORT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_BRIDGE_PORT, NMSettingBridgePortPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE_BASE ( + PROP_PRIORITY, + PROP_PATH_COST, + PROP_HAIRPIN_MODE, +); typedef struct { guint16 priority; @@ -50,11 +55,9 @@ typedef struct { gboolean hairpin_mode; } NMSettingBridgePortPrivate; -NM_GOBJECT_PROPERTIES_DEFINE_BASE ( - PROP_PRIORITY, - PROP_PATH_COST, - PROP_HAIRPIN_MODE, -); +G_DEFINE_TYPE (NMSettingBridgePort, nm_setting_bridge_port, NM_TYPE_SETTING) + +#define NM_SETTING_BRIDGE_PORT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_BRIDGE_PORT, NMSettingBridgePortPrivate)) /*****************************************************************************/ @@ -139,39 +142,21 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) /*****************************************************************************/ -/** - * nm_setting_bridge_port_new: - * - * Creates a new #NMSettingBridgePort object with default values. - * - * Returns: (transfer full): the new empty #NMSettingBridgePort object - **/ -NMSetting * -nm_setting_bridge_port_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_BRIDGE_PORT, NULL); -} - -static void -nm_setting_bridge_port_init (NMSettingBridgePort *setting) -{ -} - static void -set_property (GObject *object, guint prop_id, - const GValue *value, GParamSpec *pspec) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { NMSettingBridgePortPrivate *priv = NM_SETTING_BRIDGE_PORT_GET_PRIVATE (object); switch (prop_id) { case PROP_PRIORITY: - priv->priority = g_value_get_uint (value); + g_value_set_uint (value, priv->priority); break; case PROP_PATH_COST: - priv->path_cost = g_value_get_uint (value); + g_value_set_uint (value, priv->path_cost); break; case PROP_HAIRPIN_MODE: - priv->hairpin_mode = g_value_get_boolean (value); + g_value_set_boolean (value, priv->hairpin_mode); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -180,20 +165,20 @@ set_property (GObject *object, guint prop_id, } static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) { NMSettingBridgePortPrivate *priv = NM_SETTING_BRIDGE_PORT_GET_PRIVATE (object); switch (prop_id) { case PROP_PRIORITY: - g_value_set_uint (value, priv->priority); + priv->priority = g_value_get_uint (value); break; case PROP_PATH_COST: - g_value_set_uint (value, priv->path_cost); + priv->path_cost = g_value_get_uint (value); break; case PROP_HAIRPIN_MODE: - g_value_set_boolean (value, priv->hairpin_mode); + priv->hairpin_mode = g_value_get_boolean (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -201,6 +186,26 @@ get_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + +static void +nm_setting_bridge_port_init (NMSettingBridgePort *setting) +{ +} + +/** + * nm_setting_bridge_port_new: + * + * Creates a new #NMSettingBridgePort object with default values. + * + * Returns: (transfer full): the new empty #NMSettingBridgePort object + **/ +NMSetting * +nm_setting_bridge_port_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_BRIDGE_PORT, NULL); +} + static void nm_setting_bridge_port_class_init (NMSettingBridgePortClass *klass) { @@ -209,8 +214,8 @@ nm_setting_bridge_port_class_init (NMSettingBridgePortClass *klass) g_type_class_add_private (klass, sizeof (NMSettingBridgePortPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-bridge.c b/libnm-core/nm-setting-bridge.c index 35d0e31b81..328c1fd3d3 100644 --- a/libnm-core/nm-setting-bridge.c +++ b/libnm-core/nm-setting-bridge.c @@ -21,11 +21,12 @@ #include "nm-default.h" +#include "nm-setting-bridge.h" + #include <string.h> #include <ctype.h> #include <stdlib.h> -#include "nm-setting-bridge.h" #include "nm-connection-private.h" #include "nm-utils.h" #include "nm-utils-private.h" @@ -38,9 +39,19 @@ * necessary for bridging connections. **/ -G_DEFINE_TYPE (NMSettingBridge, nm_setting_bridge, NM_TYPE_SETTING) +/*****************************************************************************/ -#define NM_SETTING_BRIDGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_BRIDGE, NMSettingBridgePrivate)) +NM_GOBJECT_PROPERTIES_DEFINE_BASE ( + PROP_MAC_ADDRESS, + PROP_STP, + PROP_PRIORITY, + PROP_FORWARD_DELAY, + PROP_HELLO_TIME, + PROP_MAX_AGE, + PROP_AGEING_TIME, + PROP_GROUP_FORWARD_MASK, + PROP_MULTICAST_SNOOPING, +); typedef struct { char * mac_address; @@ -54,30 +65,11 @@ typedef struct { gboolean multicast_snooping; } NMSettingBridgePrivate; -NM_GOBJECT_PROPERTIES_DEFINE_BASE ( - PROP_MAC_ADDRESS, - PROP_STP, - PROP_PRIORITY, - PROP_FORWARD_DELAY, - PROP_HELLO_TIME, - PROP_MAX_AGE, - PROP_AGEING_TIME, - PROP_GROUP_FORWARD_MASK, - PROP_MULTICAST_SNOOPING, -); +G_DEFINE_TYPE (NMSettingBridge, nm_setting_bridge, NM_TYPE_SETTING) -/** - * nm_setting_bridge_new: - * - * Creates a new #NMSettingBridge object with default values. - * - * Returns: (transfer full): the new empty #NMSettingBridge object - **/ -NMSetting * -nm_setting_bridge_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_BRIDGE, NULL); -} +#define NM_SETTING_BRIDGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_BRIDGE, NMSettingBridgePrivate)) + +/*****************************************************************************/ /** * nm_setting_bridge_get_mac_address: @@ -290,56 +282,42 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) return _nm_connection_verify_required_interface_name (connection, error); } -static void -nm_setting_bridge_init (NMSettingBridge *setting) -{ -} - -static void -finalize (GObject *object) -{ - NMSettingBridgePrivate *priv = NM_SETTING_BRIDGE_GET_PRIVATE (object); - - g_free (priv->mac_address); - - G_OBJECT_CLASS (nm_setting_bridge_parent_class)->finalize (object); -} +/*****************************************************************************/ static void -set_property (GObject *object, guint prop_id, - const GValue *value, GParamSpec *pspec) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { NMSettingBridgePrivate *priv = NM_SETTING_BRIDGE_GET_PRIVATE (object); + NMSettingBridge *setting = NM_SETTING_BRIDGE (object); switch (prop_id) { case PROP_MAC_ADDRESS: - g_free (priv->mac_address); - priv->mac_address = _nm_utils_hwaddr_canonical_or_invalid (g_value_get_string (value), - ETH_ALEN); + g_value_set_string (value, nm_setting_bridge_get_mac_address (setting)); break; case PROP_STP: - priv->stp = g_value_get_boolean (value); + g_value_set_boolean (value, priv->stp); break; case PROP_PRIORITY: - priv->priority = (guint16) g_value_get_uint (value); + g_value_set_uint (value, priv->priority); break; case PROP_FORWARD_DELAY: - priv->forward_delay = (guint16) g_value_get_uint (value); + g_value_set_uint (value, priv->forward_delay); break; case PROP_HELLO_TIME: - priv->hello_time = (guint16) g_value_get_uint (value); + g_value_set_uint (value, priv->hello_time); break; case PROP_MAX_AGE: - priv->max_age = (guint16) g_value_get_uint (value); + g_value_set_uint (value, priv->max_age); break; case PROP_AGEING_TIME: - priv->ageing_time = g_value_get_uint (value); + g_value_set_uint (value, priv->ageing_time); break; case PROP_GROUP_FORWARD_MASK: - priv->group_forward_mask = (guint16) g_value_get_uint (value); + g_value_set_uint (value, priv->group_forward_mask); break; case PROP_MULTICAST_SNOOPING: - priv->multicast_snooping = g_value_get_boolean (value); + g_value_set_boolean (value, priv->multicast_snooping); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -348,39 +326,40 @@ set_property (GObject *object, guint prop_id, } static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) { NMSettingBridgePrivate *priv = NM_SETTING_BRIDGE_GET_PRIVATE (object); - NMSettingBridge *setting = NM_SETTING_BRIDGE (object); switch (prop_id) { case PROP_MAC_ADDRESS: - g_value_set_string (value, nm_setting_bridge_get_mac_address (setting)); + g_free (priv->mac_address); + priv->mac_address = _nm_utils_hwaddr_canonical_or_invalid (g_value_get_string (value), + ETH_ALEN); break; case PROP_STP: - g_value_set_boolean (value, priv->stp); + priv->stp = g_value_get_boolean (value); break; case PROP_PRIORITY: - g_value_set_uint (value, priv->priority); + priv->priority = (guint16) g_value_get_uint (value); break; case PROP_FORWARD_DELAY: - g_value_set_uint (value, priv->forward_delay); + priv->forward_delay = (guint16) g_value_get_uint (value); break; case PROP_HELLO_TIME: - g_value_set_uint (value, priv->hello_time); + priv->hello_time = (guint16) g_value_get_uint (value); break; case PROP_MAX_AGE: - g_value_set_uint (value, priv->max_age); + priv->max_age = (guint16) g_value_get_uint (value); break; case PROP_AGEING_TIME: - g_value_set_uint (value, priv->ageing_time); + priv->ageing_time = g_value_get_uint (value); break; case PROP_GROUP_FORWARD_MASK: - g_value_set_uint (value, priv->group_forward_mask); + priv->group_forward_mask = (guint16) g_value_get_uint (value); break; case PROP_MULTICAST_SNOOPING: - g_value_set_boolean (value, priv->multicast_snooping); + priv->multicast_snooping = g_value_get_boolean (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -388,6 +367,36 @@ get_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + +static void +nm_setting_bridge_init (NMSettingBridge *setting) +{ +} + +/** + * nm_setting_bridge_new: + * + * Creates a new #NMSettingBridge object with default values. + * + * Returns: (transfer full): the new empty #NMSettingBridge object + **/ +NMSetting * +nm_setting_bridge_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_BRIDGE, NULL); +} + +static void +finalize (GObject *object) +{ + NMSettingBridgePrivate *priv = NM_SETTING_BRIDGE_GET_PRIVATE (object); + + g_free (priv->mac_address); + + G_OBJECT_CLASS (nm_setting_bridge_parent_class)->finalize (object); +} + static void nm_setting_bridge_class_init (NMSettingBridgeClass *klass) { @@ -397,8 +406,8 @@ nm_setting_bridge_class_init (NMSettingBridgeClass *klass) g_type_class_add_private (klass, sizeof (NMSettingBridgePrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-cdma.c b/libnm-core/nm-setting-cdma.c index 3b27f45c8f..1e5cd81ec6 100644 --- a/libnm-core/nm-setting-cdma.c +++ b/libnm-core/nm-setting-cdma.c @@ -21,9 +21,10 @@ #include "nm-default.h" +#include "nm-setting-cdma.h" + #include <string.h> -#include "nm-setting-cdma.h" #include "nm-utils.h" #include "nm-setting-private.h" #include "nm-core-enum-types.h" @@ -37,9 +38,15 @@ * networks, including those using CDMA2000/EVDO technology. */ -G_DEFINE_TYPE (NMSettingCdma, nm_setting_cdma, NM_TYPE_SETTING) +/*****************************************************************************/ -#define NM_SETTING_CDMA_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_CDMA, NMSettingCdmaPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE_BASE ( + PROP_NUMBER, + PROP_USERNAME, + PROP_PASSWORD, + PROP_PASSWORD_FLAGS, + PROP_MTU, +); typedef struct { char *number; /* For dialing, duh */ @@ -49,26 +56,11 @@ typedef struct { guint32 mtu; } NMSettingCdmaPrivate; -NM_GOBJECT_PROPERTIES_DEFINE_BASE ( - PROP_NUMBER, - PROP_USERNAME, - PROP_PASSWORD, - PROP_PASSWORD_FLAGS, - PROP_MTU, -); +G_DEFINE_TYPE (NMSettingCdma, nm_setting_cdma, NM_TYPE_SETTING) -/** - * nm_setting_cdma_new: - * - * Creates a new #NMSettingCdma object with default values. - * - * Returns: the new empty #NMSettingCdma object - **/ -NMSetting * -nm_setting_cdma_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_CDMA, NULL); -} +#define NM_SETTING_CDMA_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_CDMA, NMSettingCdmaPrivate)) + +/*****************************************************************************/ /** * nm_setting_cdma_get_number: @@ -203,21 +195,34 @@ need_secrets (NMSetting *setting) return secrets; } -static void -nm_setting_cdma_init (NMSettingCdma *setting) -{ -} +/*****************************************************************************/ static void -finalize (GObject *object) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { - NMSettingCdmaPrivate *priv = NM_SETTING_CDMA_GET_PRIVATE (object); - - g_free (priv->number); - g_free (priv->username); - g_free (priv->password); + NMSettingCdma *setting = NM_SETTING_CDMA (object); - G_OBJECT_CLASS (nm_setting_cdma_parent_class)->finalize (object); + switch (prop_id) { + case PROP_NUMBER: + g_value_set_string (value, nm_setting_cdma_get_number (setting)); + break; + case PROP_USERNAME: + g_value_set_string (value, nm_setting_cdma_get_username (setting)); + break; + case PROP_PASSWORD: + g_value_set_string (value, nm_setting_cdma_get_password (setting)); + break; + case PROP_PASSWORD_FLAGS: + g_value_set_flags (value, nm_setting_cdma_get_password_flags (setting)); + break; + case PROP_MTU: + g_value_set_uint (value, nm_setting_cdma_get_mtu (setting)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } } static void @@ -251,32 +256,36 @@ set_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +nm_setting_cdma_init (NMSettingCdma *setting) { - NMSettingCdma *setting = NM_SETTING_CDMA (object); +} - switch (prop_id) { - case PROP_NUMBER: - g_value_set_string (value, nm_setting_cdma_get_number (setting)); - break; - case PROP_USERNAME: - g_value_set_string (value, nm_setting_cdma_get_username (setting)); - break; - case PROP_PASSWORD: - g_value_set_string (value, nm_setting_cdma_get_password (setting)); - break; - case PROP_PASSWORD_FLAGS: - g_value_set_flags (value, nm_setting_cdma_get_password_flags (setting)); - break; - case PROP_MTU: - g_value_set_uint (value, nm_setting_cdma_get_mtu (setting)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } +/** + * nm_setting_cdma_new: + * + * Creates a new #NMSettingCdma object with default values. + * + * Returns: the new empty #NMSettingCdma object + **/ +NMSetting * +nm_setting_cdma_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_CDMA, NULL); +} + +static void +finalize (GObject *object) +{ + NMSettingCdmaPrivate *priv = NM_SETTING_CDMA_GET_PRIVATE (object); + + g_free (priv->number); + g_free (priv->username); + g_free (priv->password); + + G_OBJECT_CLASS (nm_setting_cdma_parent_class)->finalize (object); } static void @@ -287,8 +296,8 @@ nm_setting_cdma_class_init (NMSettingCdmaClass *klass) g_type_class_add_private (klass, sizeof (NMSettingCdmaPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-connection.c b/libnm-core/nm-setting-connection.c index 22daf74548..a32044d249 100644 --- a/libnm-core/nm-setting-connection.c +++ b/libnm-core/nm-setting-connection.c @@ -45,9 +45,7 @@ * a #NMSettingConnection setting. **/ -G_DEFINE_TYPE (NMSettingConnection, nm_setting_connection, NM_TYPE_SETTING) - -#define NM_SETTING_CONNECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_CONNECTION, NMSettingConnectionPrivate)) +/*****************************************************************************/ typedef enum { PERM_TYPE_USER = 0, @@ -58,6 +56,32 @@ typedef struct { char *item; } Permission; +NM_GOBJECT_PROPERTIES_DEFINE (NMSettingConnection, + PROP_ID, + PROP_UUID, + PROP_INTERFACE_NAME, + PROP_TYPE, + PROP_PERMISSIONS, + PROP_AUTOCONNECT, + PROP_AUTOCONNECT_PRIORITY, + PROP_AUTOCONNECT_RETRIES, + PROP_MULTI_CONNECT, + PROP_TIMESTAMP, + PROP_READ_ONLY, + PROP_ZONE, + PROP_MASTER, + PROP_SLAVE_TYPE, + PROP_AUTOCONNECT_SLAVES, + PROP_SECONDARIES, + PROP_GATEWAY_PING_TIMEOUT, + PROP_METERED, + PROP_LLDP, + PROP_MDNS, + PROP_LLMNR, + PROP_STABLE_ID, + PROP_AUTH_RETRIES, +); + typedef struct { char *id; char *uuid; @@ -84,31 +108,9 @@ typedef struct { int llmnr; } NMSettingConnectionPrivate; -NM_GOBJECT_PROPERTIES_DEFINE (NMSettingConnection, - PROP_ID, - PROP_UUID, - PROP_INTERFACE_NAME, - PROP_TYPE, - PROP_PERMISSIONS, - PROP_AUTOCONNECT, - PROP_AUTOCONNECT_PRIORITY, - PROP_AUTOCONNECT_RETRIES, - PROP_MULTI_CONNECT, - PROP_TIMESTAMP, - PROP_READ_ONLY, - PROP_ZONE, - PROP_MASTER, - PROP_SLAVE_TYPE, - PROP_AUTOCONNECT_SLAVES, - PROP_SECONDARIES, - PROP_GATEWAY_PING_TIMEOUT, - PROP_METERED, - PROP_LLDP, - PROP_MDNS, - PROP_LLMNR, - PROP_STABLE_ID, - PROP_AUTH_RETRIES, -); +G_DEFINE_TYPE (NMSettingConnection, nm_setting_connection, NM_TYPE_SETTING) + +#define NM_SETTING_CONNECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_CONNECTION, NMSettingConnectionPrivate)) /*****************************************************************************/ @@ -194,18 +196,6 @@ permission_free (Permission *p) /*****************************************************************************/ /** - * nm_setting_connection_new: - * - * Creates a new #NMSettingConnection object with default values. - * - * Returns: the new empty #NMSettingConnection object - **/ -NMSetting *nm_setting_connection_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_CONNECTION, NULL); -} - -/** * nm_setting_connection_get_id: * @setting: the #NMSettingConnection * @@ -1300,34 +1290,6 @@ compare_property (const NMSettInfoSetting *sett_info, flags); } -static void -nm_setting_connection_init (NMSettingConnection *setting) -{ - NMSettingConnectionPrivate *priv = NM_SETTING_CONNECTION_GET_PRIVATE (setting); - - priv->mdns = NM_SETTING_CONNECTION_MDNS_DEFAULT; - priv->llmnr = NM_SETTING_CONNECTION_LLMNR_DEFAULT; -} - -static void -finalize (GObject *object) -{ - NMSettingConnectionPrivate *priv = NM_SETTING_CONNECTION_GET_PRIVATE (object); - - g_free (priv->id); - g_free (priv->uuid); - g_free (priv->stable_id); - g_free (priv->interface_name); - g_free (priv->type); - g_free (priv->zone); - g_free (priv->master); - g_free (priv->slave_type); - g_slist_free_full (priv->permissions, (GDestroyNotify) permission_free); - g_slist_free_full (priv->secondaries, g_free); - - G_OBJECT_CLASS (nm_setting_connection_parent_class)->finalize (object); -} - static GSList * perm_strv_to_permlist (char **strv) { @@ -1348,91 +1310,98 @@ perm_strv_to_permlist (char **strv) return list; } +static char ** +perm_permlist_to_strv (GSList *permlist) +{ + GPtrArray *strings; + GSList *iter; + + strings = g_ptr_array_new (); + for (iter = permlist; iter; iter = g_slist_next (iter)) + g_ptr_array_add (strings, permission_to_string ((Permission *) iter->data)); + g_ptr_array_add (strings, NULL); + + return (char **) g_ptr_array_free (strings, FALSE); +} + +/*****************************************************************************/ + static void -set_property (GObject *object, guint prop_id, - const GValue *value, GParamSpec *pspec) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { - NMSettingConnectionPrivate *priv = NM_SETTING_CONNECTION_GET_PRIVATE (object); + NMSettingConnection *setting = NM_SETTING_CONNECTION (object); + NMSettingConnectionPrivate *priv = NM_SETTING_CONNECTION_GET_PRIVATE (setting); switch (prop_id) { case PROP_ID: - g_free (priv->id); - priv->id = g_value_dup_string (value); + g_value_set_string (value, nm_setting_connection_get_id (setting)); break; case PROP_UUID: - g_free (priv->uuid); - priv->uuid = g_value_dup_string (value); + g_value_set_string (value, nm_setting_connection_get_uuid (setting)); break; case PROP_STABLE_ID: - g_free (priv->stable_id); - priv->stable_id = g_value_dup_string (value); + g_value_set_string (value, nm_setting_connection_get_stable_id (setting)); break; case PROP_INTERFACE_NAME: - g_free (priv->interface_name); - priv->interface_name = g_value_dup_string (value); + g_value_set_string (value, nm_setting_connection_get_interface_name (setting)); break; case PROP_TYPE: - g_free (priv->type); - priv->type = g_value_dup_string (value); + g_value_set_string (value, nm_setting_connection_get_connection_type (setting)); break; case PROP_PERMISSIONS: - g_slist_free_full (priv->permissions, (GDestroyNotify) permission_free); - priv->permissions = perm_strv_to_permlist (g_value_get_boxed (value)); + g_value_take_boxed (value, perm_permlist_to_strv (priv->permissions)); break; case PROP_AUTOCONNECT: - priv->autoconnect = g_value_get_boolean (value); + g_value_set_boolean (value, nm_setting_connection_get_autoconnect (setting)); break; case PROP_AUTOCONNECT_PRIORITY: - priv->autoconnect_priority = g_value_get_int (value); + g_value_set_int (value, nm_setting_connection_get_autoconnect_priority (setting)); break; case PROP_AUTOCONNECT_RETRIES: - priv->autoconnect_retries = g_value_get_int (value); + g_value_set_int (value, nm_setting_connection_get_autoconnect_retries (setting)); break; case PROP_MULTI_CONNECT: - priv->multi_connect = g_value_get_int (value); + g_value_set_int (value, priv->multi_connect); break; case PROP_TIMESTAMP: - priv->timestamp = g_value_get_uint64 (value); + g_value_set_uint64 (value, nm_setting_connection_get_timestamp (setting)); break; case PROP_READ_ONLY: - priv->read_only = g_value_get_boolean (value); + g_value_set_boolean (value, nm_setting_connection_get_read_only (setting)); break; case PROP_ZONE: - g_free (priv->zone); - priv->zone = g_value_dup_string (value); + g_value_set_string (value, nm_setting_connection_get_zone (setting)); break; case PROP_MASTER: - g_free (priv->master); - priv->master = g_value_dup_string (value); + g_value_set_string (value, nm_setting_connection_get_master (setting)); break; case PROP_SLAVE_TYPE: - g_free (priv->slave_type); - priv->slave_type = g_value_dup_string (value); + g_value_set_string (value, nm_setting_connection_get_slave_type (setting)); break; case PROP_AUTOCONNECT_SLAVES: - priv->autoconnect_slaves = g_value_get_enum (value); + g_value_set_enum (value, nm_setting_connection_get_autoconnect_slaves (setting)); break; case PROP_SECONDARIES: - g_slist_free_full (priv->secondaries, g_free); - priv->secondaries = _nm_utils_strv_to_slist (g_value_get_boxed (value), TRUE); + g_value_take_boxed (value, _nm_utils_slist_to_strv (priv->secondaries, TRUE)); break; case PROP_GATEWAY_PING_TIMEOUT: - priv->gateway_ping_timeout = g_value_get_uint (value); + g_value_set_uint (value, priv->gateway_ping_timeout); break; case PROP_METERED: - priv->metered = g_value_get_enum (value); + g_value_set_enum (value, priv->metered); break; case PROP_LLDP: - priv->lldp = g_value_get_int (value); + g_value_set_int (value, priv->lldp); break; case PROP_AUTH_RETRIES: - priv->auth_retries = g_value_get_int (value); + g_value_set_int (value, priv->auth_retries); break; case PROP_MDNS: - priv->mdns = g_value_get_int (value); + g_value_set_int (value, priv->mdns); break; case PROP_LLMNR: - priv->llmnr = g_value_get_int (value); + g_value_set_int (value, priv->llmnr); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -1440,96 +1409,91 @@ set_property (GObject *object, guint prop_id, } } -static char ** -perm_permlist_to_strv (GSList *permlist) -{ - GPtrArray *strings; - GSList *iter; - - strings = g_ptr_array_new (); - for (iter = permlist; iter; iter = g_slist_next (iter)) - g_ptr_array_add (strings, permission_to_string ((Permission *) iter->data)); - g_ptr_array_add (strings, NULL); - - return (char **) g_ptr_array_free (strings, FALSE); -} - static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) { - NMSettingConnection *setting = NM_SETTING_CONNECTION (object); - NMSettingConnectionPrivate *priv = NM_SETTING_CONNECTION_GET_PRIVATE (setting); + NMSettingConnectionPrivate *priv = NM_SETTING_CONNECTION_GET_PRIVATE (object); switch (prop_id) { case PROP_ID: - g_value_set_string (value, nm_setting_connection_get_id (setting)); + g_free (priv->id); + priv->id = g_value_dup_string (value); break; case PROP_UUID: - g_value_set_string (value, nm_setting_connection_get_uuid (setting)); + g_free (priv->uuid); + priv->uuid = g_value_dup_string (value); break; case PROP_STABLE_ID: - g_value_set_string (value, nm_setting_connection_get_stable_id (setting)); + g_free (priv->stable_id); + priv->stable_id = g_value_dup_string (value); break; case PROP_INTERFACE_NAME: - g_value_set_string (value, nm_setting_connection_get_interface_name (setting)); + g_free (priv->interface_name); + priv->interface_name = g_value_dup_string (value); break; case PROP_TYPE: - g_value_set_string (value, nm_setting_connection_get_connection_type (setting)); + g_free (priv->type); + priv->type = g_value_dup_string (value); break; case PROP_PERMISSIONS: - g_value_take_boxed (value, perm_permlist_to_strv (priv->permissions)); + g_slist_free_full (priv->permissions, (GDestroyNotify) permission_free); + priv->permissions = perm_strv_to_permlist (g_value_get_boxed (value)); break; case PROP_AUTOCONNECT: - g_value_set_boolean (value, nm_setting_connection_get_autoconnect (setting)); + priv->autoconnect = g_value_get_boolean (value); break; case PROP_AUTOCONNECT_PRIORITY: - g_value_set_int (value, nm_setting_connection_get_autoconnect_priority (setting)); + priv->autoconnect_priority = g_value_get_int (value); break; case PROP_AUTOCONNECT_RETRIES: - g_value_set_int (value, nm_setting_connection_get_autoconnect_retries (setting)); + priv->autoconnect_retries = g_value_get_int (value); break; case PROP_MULTI_CONNECT: - g_value_set_int (value, priv->multi_connect); + priv->multi_connect = g_value_get_int (value); break; case PROP_TIMESTAMP: - g_value_set_uint64 (value, nm_setting_connection_get_timestamp (setting)); + priv->timestamp = g_value_get_uint64 (value); break; case PROP_READ_ONLY: - g_value_set_boolean (value, nm_setting_connection_get_read_only (setting)); + priv->read_only = g_value_get_boolean (value); break; case PROP_ZONE: - g_value_set_string (value, nm_setting_connection_get_zone (setting)); + g_free (priv->zone); + priv->zone = g_value_dup_string (value); break; case PROP_MASTER: - g_value_set_string (value, nm_setting_connection_get_master (setting)); + g_free (priv->master); + priv->master = g_value_dup_string (value); break; case PROP_SLAVE_TYPE: - g_value_set_string (value, nm_setting_connection_get_slave_type (setting)); + g_free (priv->slave_type); + priv->slave_type = g_value_dup_string (value); break; case PROP_AUTOCONNECT_SLAVES: - g_value_set_enum (value, nm_setting_connection_get_autoconnect_slaves (setting)); + priv->autoconnect_slaves = g_value_get_enum (value); break; case PROP_SECONDARIES: - g_value_take_boxed (value, _nm_utils_slist_to_strv (priv->secondaries, TRUE)); + g_slist_free_full (priv->secondaries, g_free); + priv->secondaries = _nm_utils_strv_to_slist (g_value_get_boxed (value), TRUE); break; case PROP_GATEWAY_PING_TIMEOUT: - g_value_set_uint (value, priv->gateway_ping_timeout); + priv->gateway_ping_timeout = g_value_get_uint (value); break; case PROP_METERED: - g_value_set_enum (value, priv->metered); + priv->metered = g_value_get_enum (value); break; case PROP_LLDP: - g_value_set_int (value, priv->lldp); + priv->lldp = g_value_get_int (value); break; case PROP_AUTH_RETRIES: - g_value_set_int (value, priv->auth_retries); + priv->auth_retries = g_value_get_int (value); break; case PROP_MDNS: - g_value_set_int (value, priv->mdns); + priv->mdns = g_value_get_int (value); break; case PROP_LLMNR: - g_value_set_int (value, priv->llmnr); + priv->llmnr = g_value_get_int (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -1537,6 +1501,48 @@ get_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + +static void +nm_setting_connection_init (NMSettingConnection *setting) +{ + NMSettingConnectionPrivate *priv = NM_SETTING_CONNECTION_GET_PRIVATE (setting); + + priv->mdns = NM_SETTING_CONNECTION_MDNS_DEFAULT; + priv->llmnr = NM_SETTING_CONNECTION_LLMNR_DEFAULT; +} + +/** + * nm_setting_connection_new: + * + * Creates a new #NMSettingConnection object with default values. + * + * Returns: the new empty #NMSettingConnection object + **/ +NMSetting *nm_setting_connection_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_CONNECTION, NULL); +} + +static void +finalize (GObject *object) +{ + NMSettingConnectionPrivate *priv = NM_SETTING_CONNECTION_GET_PRIVATE (object); + + g_free (priv->id); + g_free (priv->uuid); + g_free (priv->stable_id); + g_free (priv->interface_name); + g_free (priv->type); + g_free (priv->zone); + g_free (priv->master); + g_free (priv->slave_type); + g_slist_free_full (priv->permissions, (GDestroyNotify) permission_free); + g_slist_free_full (priv->secondaries, g_free); + + G_OBJECT_CLASS (nm_setting_connection_parent_class)->finalize (object); +} + static void nm_setting_connection_class_init (NMSettingConnectionClass *klass) { @@ -1546,8 +1552,8 @@ nm_setting_connection_class_init (NMSettingConnectionClass *klass) g_type_class_add_private (klass, sizeof (NMSettingConnectionPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-dcb.c b/libnm-core/nm-setting-dcb.c index c5eaddd9a3..42c7d247e2 100644 --- a/libnm-core/nm-setting-dcb.c +++ b/libnm-core/nm-setting-dcb.c @@ -21,9 +21,10 @@ #include "nm-default.h" +#include "nm-setting-dcb.h" + #include <string.h> -#include "nm-setting-dcb.h" #include "nm-utils.h" #include "nm-utils-private.h" #include "nm-setting-private.h" @@ -40,9 +41,30 @@ * of storage technologies like Fibre Channel over Ethernet (FCoE) and iSCSI. **/ -G_DEFINE_TYPE (NMSettingDcb, nm_setting_dcb, NM_TYPE_SETTING) +/*****************************************************************************/ -#define NM_SETTING_DCB_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_DCB, NMSettingDcbPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE (NMSettingDcb, + + PROP_APP_FCOE_FLAGS, + PROP_APP_FCOE_PRIORITY, + PROP_APP_FCOE_MODE, + + PROP_APP_ISCSI_FLAGS, + PROP_APP_ISCSI_PRIORITY, + + PROP_APP_FIP_FLAGS, + PROP_APP_FIP_PRIORITY, + + PROP_PFC_FLAGS, + PROP_PRIORITY_FLOW_CONTROL, + + PROP_PRIORITY_GROUP_FLAGS, + PROP_PRIORITY_GROUP_ID, + PROP_PRIORITY_GROUP_BANDWIDTH, + PROP_PRIORITY_BANDWIDTH, + PROP_PRIORITY_STRICT_BANDWIDTH, + PROP_PRIORITY_TRAFFIC_CLASS, +); typedef struct { NMSettingDcbFlags app_fcoe_flags; @@ -68,41 +90,11 @@ typedef struct { guint priority_traffic_class[8]; } NMSettingDcbPrivate; -NM_GOBJECT_PROPERTIES_DEFINE (NMSettingDcb, - - PROP_APP_FCOE_FLAGS, - PROP_APP_FCOE_PRIORITY, - PROP_APP_FCOE_MODE, - - PROP_APP_ISCSI_FLAGS, - PROP_APP_ISCSI_PRIORITY, - - PROP_APP_FIP_FLAGS, - PROP_APP_FIP_PRIORITY, - - PROP_PFC_FLAGS, - PROP_PRIORITY_FLOW_CONTROL, +G_DEFINE_TYPE (NMSettingDcb, nm_setting_dcb, NM_TYPE_SETTING) - PROP_PRIORITY_GROUP_FLAGS, - PROP_PRIORITY_GROUP_ID, - PROP_PRIORITY_GROUP_BANDWIDTH, - PROP_PRIORITY_BANDWIDTH, - PROP_PRIORITY_STRICT_BANDWIDTH, - PROP_PRIORITY_TRAFFIC_CLASS, -); +#define NM_SETTING_DCB_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_DCB, NMSettingDcbPrivate)) -/** - * nm_setting_dcb_new: - * - * Creates a new #NMSettingDcb object with default values. - * - * Returns: (transfer full): the new empty #NMSettingDcb object - **/ -NMSetting * -nm_setting_dcb_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_DCB, NULL); -} +/*****************************************************************************/ /** * nm_setting_dcb_get_app_fcoe_flags: @@ -722,11 +714,6 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) /*****************************************************************************/ -static void -nm_setting_dcb_init (NMSettingDcb *setting) -{ -} - G_STATIC_ASSERT (sizeof (guint) == sizeof (gboolean)); static inline void @@ -774,58 +761,60 @@ _nm_setting_dcb_uint_array_from_dbus (GVariant *dbus_value, set_gvalue_from_array (prop_value, (guint *) array, length); } +/*****************************************************************************/ + static void -set_property (GObject *object, guint prop_id, - const GValue *value, GParamSpec *pspec) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { - NMSettingDcbPrivate *priv = NM_SETTING_DCB_GET_PRIVATE (object); + NMSettingDcb *setting = NM_SETTING_DCB (object); + NMSettingDcbPrivate *priv = NM_SETTING_DCB_GET_PRIVATE (setting); switch (prop_id) { case PROP_APP_FCOE_FLAGS: - priv->app_fcoe_flags = g_value_get_flags (value); + g_value_set_flags (value, priv->app_fcoe_flags); break; case PROP_APP_FCOE_PRIORITY: - priv->app_fcoe_priority = g_value_get_int (value); + g_value_set_int (value, priv->app_fcoe_priority); break; case PROP_APP_FCOE_MODE: - g_free (priv->app_fcoe_mode); - priv->app_fcoe_mode = g_value_dup_string (value); + g_value_set_string (value, priv->app_fcoe_mode); break; case PROP_APP_ISCSI_FLAGS: - priv->app_iscsi_flags = g_value_get_flags (value); + g_value_set_flags (value, priv->app_iscsi_flags); break; case PROP_APP_ISCSI_PRIORITY: - priv->app_iscsi_priority = g_value_get_int (value); + g_value_set_int (value, priv->app_iscsi_priority); break; case PROP_APP_FIP_FLAGS: - priv->app_fip_flags = g_value_get_flags (value); + g_value_set_flags (value, priv->app_fip_flags); break; case PROP_APP_FIP_PRIORITY: - priv->app_fip_priority = g_value_get_int (value); + g_value_set_int (value, priv->app_fip_priority); break; case PROP_PFC_FLAGS: - priv->pfc_flags = g_value_get_flags (value); + g_value_set_flags (value, priv->pfc_flags); break; case PROP_PRIORITY_FLOW_CONTROL: - SET_ARRAY_FROM_GVALUE (value, priv->pfc); + SET_GVALUE_FROM_ARRAY (value, priv->pfc); break; case PROP_PRIORITY_GROUP_FLAGS: - priv->priority_group_flags = g_value_get_flags (value); + g_value_set_flags (value, priv->priority_group_flags); break; case PROP_PRIORITY_GROUP_ID: - SET_ARRAY_FROM_GVALUE (value, priv->priority_group_id); + SET_GVALUE_FROM_ARRAY (value, priv->priority_group_id); break; case PROP_PRIORITY_GROUP_BANDWIDTH: - SET_ARRAY_FROM_GVALUE (value, priv->priority_group_bandwidth); + SET_GVALUE_FROM_ARRAY (value, priv->priority_group_bandwidth); break; case PROP_PRIORITY_BANDWIDTH: - SET_ARRAY_FROM_GVALUE (value, priv->priority_bandwidth); + SET_GVALUE_FROM_ARRAY (value, priv->priority_bandwidth); break; case PROP_PRIORITY_STRICT_BANDWIDTH: - SET_ARRAY_FROM_GVALUE (value, priv->priority_strict); + SET_GVALUE_FROM_ARRAY (value, priv->priority_strict); break; case PROP_PRIORITY_TRAFFIC_CLASS: - SET_ARRAY_FROM_GVALUE (value, priv->priority_traffic_class); + SET_GVALUE_FROM_ARRAY (value, priv->priority_traffic_class); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -834,57 +823,57 @@ set_property (GObject *object, guint prop_id, } static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) { - NMSettingDcb *setting = NM_SETTING_DCB (object); - NMSettingDcbPrivate *priv = NM_SETTING_DCB_GET_PRIVATE (setting); + NMSettingDcbPrivate *priv = NM_SETTING_DCB_GET_PRIVATE (object); switch (prop_id) { case PROP_APP_FCOE_FLAGS: - g_value_set_flags (value, priv->app_fcoe_flags); + priv->app_fcoe_flags = g_value_get_flags (value); break; case PROP_APP_FCOE_PRIORITY: - g_value_set_int (value, priv->app_fcoe_priority); + priv->app_fcoe_priority = g_value_get_int (value); break; case PROP_APP_FCOE_MODE: - g_value_set_string (value, priv->app_fcoe_mode); + g_free (priv->app_fcoe_mode); + priv->app_fcoe_mode = g_value_dup_string (value); break; case PROP_APP_ISCSI_FLAGS: - g_value_set_flags (value, priv->app_iscsi_flags); + priv->app_iscsi_flags = g_value_get_flags (value); break; case PROP_APP_ISCSI_PRIORITY: - g_value_set_int (value, priv->app_iscsi_priority); + priv->app_iscsi_priority = g_value_get_int (value); break; case PROP_APP_FIP_FLAGS: - g_value_set_flags (value, priv->app_fip_flags); + priv->app_fip_flags = g_value_get_flags (value); break; case PROP_APP_FIP_PRIORITY: - g_value_set_int (value, priv->app_fip_priority); + priv->app_fip_priority = g_value_get_int (value); break; case PROP_PFC_FLAGS: - g_value_set_flags (value, priv->pfc_flags); + priv->pfc_flags = g_value_get_flags (value); break; case PROP_PRIORITY_FLOW_CONTROL: - SET_GVALUE_FROM_ARRAY (value, priv->pfc); + SET_ARRAY_FROM_GVALUE (value, priv->pfc); break; case PROP_PRIORITY_GROUP_FLAGS: - g_value_set_flags (value, priv->priority_group_flags); + priv->priority_group_flags = g_value_get_flags (value); break; case PROP_PRIORITY_GROUP_ID: - SET_GVALUE_FROM_ARRAY (value, priv->priority_group_id); + SET_ARRAY_FROM_GVALUE (value, priv->priority_group_id); break; case PROP_PRIORITY_GROUP_BANDWIDTH: - SET_GVALUE_FROM_ARRAY (value, priv->priority_group_bandwidth); + SET_ARRAY_FROM_GVALUE (value, priv->priority_group_bandwidth); break; case PROP_PRIORITY_BANDWIDTH: - SET_GVALUE_FROM_ARRAY (value, priv->priority_bandwidth); + SET_ARRAY_FROM_GVALUE (value, priv->priority_bandwidth); break; case PROP_PRIORITY_STRICT_BANDWIDTH: - SET_GVALUE_FROM_ARRAY (value, priv->priority_strict); + SET_ARRAY_FROM_GVALUE (value, priv->priority_strict); break; case PROP_PRIORITY_TRAFFIC_CLASS: - SET_GVALUE_FROM_ARRAY (value, priv->priority_traffic_class); + SET_ARRAY_FROM_GVALUE (value, priv->priority_traffic_class); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -892,6 +881,26 @@ get_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + +static void +nm_setting_dcb_init (NMSettingDcb *setting) +{ +} + +/** + * nm_setting_dcb_new: + * + * Creates a new #NMSettingDcb object with default values. + * + * Returns: (transfer full): the new empty #NMSettingDcb object + **/ +NMSetting * +nm_setting_dcb_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_DCB, NULL); +} + static void finalize (GObject *object) { @@ -911,9 +920,9 @@ nm_setting_dcb_class_init (NMSettingDcbClass *klass) g_type_class_add_private (klass, sizeof (NMSettingDcbPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; - object_class->finalize = finalize; + object_class->set_property = set_property; + object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-dummy.c b/libnm-core/nm-setting-dummy.c index 9ae05ec4e7..bd85a74e90 100644 --- a/libnm-core/nm-setting-dummy.c +++ b/libnm-core/nm-setting-dummy.c @@ -34,22 +34,11 @@ * necessary for connection to dummy devices **/ +/*****************************************************************************/ + G_DEFINE_TYPE (NMSettingDummy, nm_setting_dummy, NM_TYPE_SETTING) -/** - * nm_setting_dummy_new: - * - * Creates a new #NMSettingDummy object with default values. - * - * Returns: (transfer full): the new empty #NMSettingDummy object - * - * Since: 1.8 - **/ -NMSetting * -nm_setting_dummy_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_DUMMY, NULL); -} +/*****************************************************************************/ static gboolean verify (NMSetting *setting, NMConnection *connection, GError **error) @@ -60,11 +49,28 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) return TRUE; } +/*****************************************************************************/ + static void nm_setting_dummy_init (NMSettingDummy *setting) { } +/** + * nm_setting_dummy_new: + * + * Creates a new #NMSettingDummy object with default values. + * + * Returns: (transfer full): the new empty #NMSettingDummy object + * + * Since: 1.8 + **/ +NMSetting * +nm_setting_dummy_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_DUMMY, NULL); +} + static void nm_setting_dummy_class_init (NMSettingDummyClass *klass) { diff --git a/libnm-core/nm-setting-generic.c b/libnm-core/nm-setting-generic.c index 44402e397d..fe5ce3caba 100644 --- a/libnm-core/nm-setting-generic.c +++ b/libnm-core/nm-setting-generic.c @@ -22,6 +22,7 @@ #include "nm-default.h" #include "nm-setting-generic.h" + #include "nm-setting-private.h" /** @@ -36,16 +37,23 @@ * the "connection type" setting on #NMConnections for generic devices. **/ -G_DEFINE_TYPE (NMSettingGeneric, nm_setting_generic, NM_TYPE_SETTING) - -#define NM_SETTING_GENERIC_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_GENERIC, NMSettingGenericPrivate)) +/*****************************************************************************/ typedef struct { int dummy; } NMSettingGenericPrivate; +G_DEFINE_TYPE (NMSettingGeneric, nm_setting_generic, NM_TYPE_SETTING) + +#define NM_SETTING_GENERIC_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_GENERIC, NMSettingGenericPrivate)) + /*****************************************************************************/ +static void +nm_setting_generic_init (NMSettingGeneric *setting) +{ +} + /** * nm_setting_generic_new: * @@ -60,11 +68,6 @@ nm_setting_generic_new (void) } static void -nm_setting_generic_init (NMSettingGeneric *setting) -{ -} - -static void nm_setting_generic_class_init (NMSettingGenericClass *klass) { NMSettingClass *setting_class = NM_SETTING_CLASS (klass); diff --git a/libnm-core/nm-setting-gsm.c b/libnm-core/nm-setting-gsm.c index c715950b29..68d2903240 100644 --- a/libnm-core/nm-setting-gsm.c +++ b/libnm-core/nm-setting-gsm.c @@ -22,9 +22,10 @@ #include "nm-default.h" +#include "nm-setting-gsm.h" + #include <string.h> -#include "nm-setting-gsm.h" #include "nm-utils.h" #include "nm-setting-private.h" #include "nm-core-enum-types.h" @@ -38,9 +39,23 @@ * networks, including those using GPRS/EDGE and UMTS/HSPA technology. */ -G_DEFINE_TYPE (NMSettingGsm, nm_setting_gsm, NM_TYPE_SETTING) +/*****************************************************************************/ -#define NM_SETTING_GSM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_GSM, NMSettingGsmPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE_BASE ( + PROP_NUMBER, + PROP_USERNAME, + PROP_PASSWORD, + PROP_PASSWORD_FLAGS, + PROP_APN, + PROP_NETWORK_ID, + PROP_PIN, + PROP_PIN_FLAGS, + PROP_HOME_ONLY, + PROP_DEVICE_ID, + PROP_SIM_ID, + PROP_SIM_OPERATOR_ID, + PROP_MTU, +); typedef struct { char *number; /* For dialing, duh */ @@ -63,34 +78,11 @@ typedef struct { guint32 mtu; } NMSettingGsmPrivate; -NM_GOBJECT_PROPERTIES_DEFINE_BASE ( - PROP_NUMBER, - PROP_USERNAME, - PROP_PASSWORD, - PROP_PASSWORD_FLAGS, - PROP_APN, - PROP_NETWORK_ID, - PROP_PIN, - PROP_PIN_FLAGS, - PROP_HOME_ONLY, - PROP_DEVICE_ID, - PROP_SIM_ID, - PROP_SIM_OPERATOR_ID, - PROP_MTU, -); +G_DEFINE_TYPE (NMSettingGsm, nm_setting_gsm, NM_TYPE_SETTING) -/** - * nm_setting_gsm_new: - * - * Creates a new #NMSettingGsm object with default values. - * - * Returns: the new empty #NMSettingGsm object - **/ -NMSetting * -nm_setting_gsm_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_GSM, NULL); -} +#define NM_SETTING_GSM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_GSM, NMSettingGsmPrivate)) + +/*****************************************************************************/ /** * nm_setting_gsm_get_number: @@ -457,27 +449,58 @@ need_secrets (NMSetting *setting) return secrets; } -static void -nm_setting_gsm_init (NMSettingGsm *setting) -{ -} +/*****************************************************************************/ static void -finalize (GObject *object) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { - NMSettingGsmPrivate *priv = NM_SETTING_GSM_GET_PRIVATE (object); - - g_free (priv->number); - g_free (priv->username); - g_free (priv->password); - g_free (priv->apn); - g_free (priv->network_id); - g_free (priv->pin); - g_free (priv->device_id); - g_free (priv->sim_id); - g_free (priv->sim_operator_id); + NMSettingGsm *setting = NM_SETTING_GSM (object); - G_OBJECT_CLASS (nm_setting_gsm_parent_class)->finalize (object); + switch (prop_id) { + case PROP_NUMBER: + g_value_set_string (value, nm_setting_gsm_get_number (setting)); + break; + case PROP_USERNAME: + g_value_set_string (value, nm_setting_gsm_get_username (setting)); + break; + case PROP_PASSWORD: + g_value_set_string (value, nm_setting_gsm_get_password (setting)); + break; + case PROP_PASSWORD_FLAGS: + g_value_set_flags (value, nm_setting_gsm_get_password_flags (setting)); + break; + case PROP_APN: + g_value_set_string (value, nm_setting_gsm_get_apn (setting)); + break; + case PROP_NETWORK_ID: + g_value_set_string (value, nm_setting_gsm_get_network_id (setting)); + break; + case PROP_PIN: + g_value_set_string (value, nm_setting_gsm_get_pin (setting)); + break; + case PROP_PIN_FLAGS: + g_value_set_flags (value, nm_setting_gsm_get_pin_flags (setting)); + break; + case PROP_HOME_ONLY: + g_value_set_boolean (value, nm_setting_gsm_get_home_only (setting)); + break; + case PROP_DEVICE_ID: + g_value_set_string (value, nm_setting_gsm_get_device_id (setting)); + break; + case PROP_SIM_ID: + g_value_set_string (value, nm_setting_gsm_get_sim_id (setting)); + break; + case PROP_SIM_OPERATOR_ID: + g_value_set_string (value, nm_setting_gsm_get_sim_operator_id (setting)); + break; + case PROP_MTU: + g_value_set_uint (value, nm_setting_gsm_get_mtu (setting)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } } static void @@ -548,56 +571,42 @@ set_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +nm_setting_gsm_init (NMSettingGsm *setting) { - NMSettingGsm *setting = NM_SETTING_GSM (object); +} - switch (prop_id) { - case PROP_NUMBER: - g_value_set_string (value, nm_setting_gsm_get_number (setting)); - break; - case PROP_USERNAME: - g_value_set_string (value, nm_setting_gsm_get_username (setting)); - break; - case PROP_PASSWORD: - g_value_set_string (value, nm_setting_gsm_get_password (setting)); - break; - case PROP_PASSWORD_FLAGS: - g_value_set_flags (value, nm_setting_gsm_get_password_flags (setting)); - break; - case PROP_APN: - g_value_set_string (value, nm_setting_gsm_get_apn (setting)); - break; - case PROP_NETWORK_ID: - g_value_set_string (value, nm_setting_gsm_get_network_id (setting)); - break; - case PROP_PIN: - g_value_set_string (value, nm_setting_gsm_get_pin (setting)); - break; - case PROP_PIN_FLAGS: - g_value_set_flags (value, nm_setting_gsm_get_pin_flags (setting)); - break; - case PROP_HOME_ONLY: - g_value_set_boolean (value, nm_setting_gsm_get_home_only (setting)); - break; - case PROP_DEVICE_ID: - g_value_set_string (value, nm_setting_gsm_get_device_id (setting)); - break; - case PROP_SIM_ID: - g_value_set_string (value, nm_setting_gsm_get_sim_id (setting)); - break; - case PROP_SIM_OPERATOR_ID: - g_value_set_string (value, nm_setting_gsm_get_sim_operator_id (setting)); - break; - case PROP_MTU: - g_value_set_uint (value, nm_setting_gsm_get_mtu (setting)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } +/** + * nm_setting_gsm_new: + * + * Creates a new #NMSettingGsm object with default values. + * + * Returns: the new empty #NMSettingGsm object + **/ +NMSetting * +nm_setting_gsm_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_GSM, NULL); +} + +static void +finalize (GObject *object) +{ + NMSettingGsmPrivate *priv = NM_SETTING_GSM_GET_PRIVATE (object); + + g_free (priv->number); + g_free (priv->username); + g_free (priv->password); + g_free (priv->apn); + g_free (priv->network_id); + g_free (priv->pin); + g_free (priv->device_id); + g_free (priv->sim_id); + g_free (priv->sim_operator_id); + + G_OBJECT_CLASS (nm_setting_gsm_parent_class)->finalize (object); } static void @@ -609,8 +618,8 @@ nm_setting_gsm_class_init (NMSettingGsmClass *klass) g_type_class_add_private (klass, sizeof (NMSettingGsmPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-infiniband.c b/libnm-core/nm-setting-infiniband.c index 1bb2ca6985..9348fa2be0 100644 --- a/libnm-core/nm-setting-infiniband.c +++ b/libnm-core/nm-setting-infiniband.c @@ -21,9 +21,10 @@ #include "nm-default.h" +#include "nm-setting-infiniband.h" + #include <stdlib.h> -#include "nm-setting-infiniband.h" #include "nm-utils.h" #include "nm-utils-private.h" #include "nm-setting-private.h" @@ -37,9 +38,15 @@ * necessary for connection to IP-over-InfiniBand networks. **/ -G_DEFINE_TYPE (NMSettingInfiniband, nm_setting_infiniband, NM_TYPE_SETTING) +/*****************************************************************************/ -#define NM_SETTING_INFINIBAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_INFINIBAND, NMSettingInfinibandPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE_BASE ( + PROP_MAC_ADDRESS, + PROP_MTU, + PROP_TRANSPORT_MODE, + PROP_P_KEY, + PROP_PARENT, +); typedef struct { char *mac_address; @@ -49,26 +56,11 @@ typedef struct { char *parent, *virtual_iface_name; } NMSettingInfinibandPrivate; -NM_GOBJECT_PROPERTIES_DEFINE_BASE ( - PROP_MAC_ADDRESS, - PROP_MTU, - PROP_TRANSPORT_MODE, - PROP_P_KEY, - PROP_PARENT, -); +G_DEFINE_TYPE (NMSettingInfiniband, nm_setting_infiniband, NM_TYPE_SETTING) -/** - * nm_setting_infiniband_new: - * - * Creates a new #NMSettingInfiniband object with default values. - * - * Returns: (transfer full): the new empty #NMSettingInfiniband object - **/ -NMSetting * -nm_setting_infiniband_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_INFINIBAND, NULL); -} +#define NM_SETTING_INFINIBAND_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_INFINIBAND, NMSettingInfinibandPrivate)) + +/*****************************************************************************/ /** * nm_setting_infiniband_get_mac_address: @@ -292,22 +284,34 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) return TRUE; } -static void -nm_setting_infiniband_init (NMSettingInfiniband *setting) -{ -} +/*****************************************************************************/ static void -finalize (GObject *object) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { - NMSettingInfinibandPrivate *priv = NM_SETTING_INFINIBAND_GET_PRIVATE (object); - - g_free (priv->transport_mode); - g_free (priv->mac_address); - g_free (priv->parent); - g_free (priv->virtual_iface_name); + NMSettingInfiniband *setting = NM_SETTING_INFINIBAND (object); - G_OBJECT_CLASS (nm_setting_infiniband_parent_class)->finalize (object); + switch (prop_id) { + case PROP_MAC_ADDRESS: + g_value_set_string (value, nm_setting_infiniband_get_mac_address (setting)); + break; + case PROP_MTU: + g_value_set_uint (value, nm_setting_infiniband_get_mtu (setting)); + break; + case PROP_TRANSPORT_MODE: + g_value_set_string (value, nm_setting_infiniband_get_transport_mode (setting)); + break; + case PROP_P_KEY: + g_value_set_int (value, nm_setting_infiniband_get_p_key (setting)); + break; + case PROP_PARENT: + g_value_set_string (value, nm_setting_infiniband_get_parent (setting)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } } static void @@ -344,32 +348,37 @@ set_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +nm_setting_infiniband_init (NMSettingInfiniband *setting) { - NMSettingInfiniband *setting = NM_SETTING_INFINIBAND (object); +} - switch (prop_id) { - case PROP_MAC_ADDRESS: - g_value_set_string (value, nm_setting_infiniband_get_mac_address (setting)); - break; - case PROP_MTU: - g_value_set_uint (value, nm_setting_infiniband_get_mtu (setting)); - break; - case PROP_TRANSPORT_MODE: - g_value_set_string (value, nm_setting_infiniband_get_transport_mode (setting)); - break; - case PROP_P_KEY: - g_value_set_int (value, nm_setting_infiniband_get_p_key (setting)); - break; - case PROP_PARENT: - g_value_set_string (value, nm_setting_infiniband_get_parent (setting)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } +/** + * nm_setting_infiniband_new: + * + * Creates a new #NMSettingInfiniband object with default values. + * + * Returns: (transfer full): the new empty #NMSettingInfiniband object + **/ +NMSetting * +nm_setting_infiniband_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_INFINIBAND, NULL); +} + +static void +finalize (GObject *object) +{ + NMSettingInfinibandPrivate *priv = NM_SETTING_INFINIBAND_GET_PRIVATE (object); + + g_free (priv->transport_mode); + g_free (priv->mac_address); + g_free (priv->parent); + g_free (priv->virtual_iface_name); + + G_OBJECT_CLASS (nm_setting_infiniband_parent_class)->finalize (object); } static void @@ -381,8 +390,8 @@ nm_setting_infiniband_class_init (NMSettingInfinibandClass *klass) g_type_class_add_private (klass, sizeof (NMSettingInfinibandPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-ip-config.c b/libnm-core/nm-setting-ip-config.c index 010330d5d4..2a1868e356 100644 --- a/libnm-core/nm-setting-ip-config.c +++ b/libnm-core/nm-setting-ip-config.c @@ -22,10 +22,11 @@ #include "nm-default.h" +#include "nm-setting-ip-config.h" + #include <string.h> #include <arpa/inet.h> -#include "nm-setting-ip-config.h" #include "nm-setting-ip4-config.h" #include "nm-setting-ip6-config.h" #include "nm-utils.h" @@ -44,6 +45,8 @@ * related to IP addressing, routing, and Domain Name Service. **/ +/*****************************************************************************/ + const NMUtilsDNSOptionDesc _nm_utils_dns_option_descs[] = { { NM_SETTING_DNS_OPTION_DEBUG, FALSE, FALSE }, { NM_SETTING_DNS_OPTION_NDOTS, TRUE, FALSE }, @@ -1382,9 +1385,26 @@ _nm_ip_route_attribute_validate_all (const NMIPRoute *route) /*****************************************************************************/ -G_DEFINE_ABSTRACT_TYPE (NMSettingIPConfig, nm_setting_ip_config, NM_TYPE_SETTING) - -#define NM_SETTING_IP_CONFIG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_IP_CONFIG, NMSettingIPConfigPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE (NMSettingIPConfig, + PROP_METHOD, + PROP_DNS, + PROP_DNS_SEARCH, + PROP_DNS_OPTIONS, + PROP_DNS_PRIORITY, + PROP_ADDRESSES, + PROP_GATEWAY, + PROP_ROUTES, + PROP_ROUTE_METRIC, + PROP_ROUTE_TABLE, + PROP_IGNORE_AUTO_ROUTES, + PROP_IGNORE_AUTO_DNS, + PROP_DHCP_HOSTNAME, + PROP_DHCP_SEND_HOSTNAME, + PROP_NEVER_DEFAULT, + PROP_MAY_FAIL, + PROP_DAD_TIMEOUT, + PROP_DHCP_TIMEOUT, +); typedef struct { char *method; @@ -1407,26 +1427,11 @@ typedef struct { int dhcp_timeout; } NMSettingIPConfigPrivate; -NM_GOBJECT_PROPERTIES_DEFINE (NMSettingIPConfig, - PROP_METHOD, - PROP_DNS, - PROP_DNS_SEARCH, - PROP_DNS_OPTIONS, - PROP_DNS_PRIORITY, - PROP_ADDRESSES, - PROP_GATEWAY, - PROP_ROUTES, - PROP_ROUTE_METRIC, - PROP_ROUTE_TABLE, - PROP_IGNORE_AUTO_ROUTES, - PROP_IGNORE_AUTO_DNS, - PROP_DHCP_HOSTNAME, - PROP_DHCP_SEND_HOSTNAME, - PROP_NEVER_DEFAULT, - PROP_MAY_FAIL, - PROP_DAD_TIMEOUT, - PROP_DHCP_TIMEOUT, -); +G_DEFINE_ABSTRACT_TYPE (NMSettingIPConfig, nm_setting_ip_config, NM_TYPE_SETTING) + +#define NM_SETTING_IP_CONFIG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_IP_CONFIG, NMSettingIPConfigPrivate)) + +/*****************************************************************************/ #define NM_SETTING_IP_CONFIG_GET_FAMILY(setting) (NM_IS_SETTING_IP4_CONFIG (setting) ? AF_INET : AF_INET6) @@ -2659,36 +2664,112 @@ compare_property (const NMSettInfoSetting *sett_info, /*****************************************************************************/ -static void -nm_setting_ip_config_init (NMSettingIPConfig *setting) +static gboolean +ip_gateway_set (NMSetting *setting, + GVariant *connection_dict, + const char *property, + GVariant *value, + NMSettingParseFlags parse_flags, + GError **error) { - NMSettingIPConfigPrivate *priv = NM_SETTING_IP_CONFIG_GET_PRIVATE (setting); + /* FIXME: properly handle errors */ - priv->dns = g_ptr_array_new_with_free_func (g_free); - priv->dns_search = g_ptr_array_new_with_free_func (g_free); - priv->dns_options = NULL; - priv->addresses = g_ptr_array_new_with_free_func ((GDestroyNotify) nm_ip_address_unref); - priv->routes = g_ptr_array_new_with_free_func ((GDestroyNotify) nm_ip_route_unref); + /* Don't set from 'gateway' if we're going to use the gateway in 'addresses' */ + if (_nm_setting_use_legacy_property (setting, connection_dict, "addresses", "gateway")) + return TRUE; + + g_object_set (setting, property, g_variant_get_string (value, NULL), NULL); + return TRUE; } -static void -finalize (GObject *object) +GArray * +_nm_sett_info_property_override_create_array_ip_config (void) { - NMSettingIPConfig *self = NM_SETTING_IP_CONFIG (object); - NMSettingIPConfigPrivate *priv = NM_SETTING_IP_CONFIG_GET_PRIVATE (self); + nm_auto_unref_gtypeclass NMSettingClass *setting_class = g_type_class_ref (NM_TYPE_SETTING_IP_CONFIG); + GArray *properties_override = _nm_sett_info_property_override_create_array (); - g_free (priv->method); - g_free (priv->gateway); - g_free (priv->dhcp_hostname); + _properties_override_add_override (properties_override, + obj_properties[PROP_GATEWAY], + G_VARIANT_TYPE_STRING, + NULL, + ip_gateway_set, + NULL); - g_ptr_array_unref (priv->dns); - g_ptr_array_unref (priv->dns_search); - if (priv->dns_options) - g_ptr_array_unref (priv->dns_options); - g_ptr_array_unref (priv->addresses); - g_ptr_array_unref (priv->routes); + return properties_override; +} - G_OBJECT_CLASS (nm_setting_ip_config_parent_class)->finalize (object); +/*****************************************************************************/ + +static void +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) +{ + NMSettingIPConfig *setting = NM_SETTING_IP_CONFIG (object); + NMSettingIPConfigPrivate *priv = NM_SETTING_IP_CONFIG_GET_PRIVATE (setting); + + switch (prop_id) { + case PROP_METHOD: + g_value_set_string (value, nm_setting_ip_config_get_method (setting)); + break; + case PROP_DNS: + g_value_take_boxed (value, _nm_utils_ptrarray_to_strv (priv->dns)); + break; + case PROP_DNS_SEARCH: + g_value_take_boxed (value, _nm_utils_ptrarray_to_strv (priv->dns_search)); + break; + case PROP_DNS_OPTIONS: + g_value_take_boxed (value, priv->dns_options ? _nm_utils_ptrarray_to_strv (priv->dns_options) : NULL); + break; + case PROP_DNS_PRIORITY: + g_value_set_int (value, priv->dns_priority); + break; + case PROP_ADDRESSES: + g_value_take_boxed (value, _nm_utils_copy_array (priv->addresses, + (NMUtilsCopyFunc) nm_ip_address_dup, + (GDestroyNotify) nm_ip_address_unref)); + break; + case PROP_GATEWAY: + g_value_set_string (value, nm_setting_ip_config_get_gateway (setting)); + break; + case PROP_ROUTES: + g_value_take_boxed (value, _nm_utils_copy_array (priv->routes, + (NMUtilsCopyFunc) nm_ip_route_dup, + (GDestroyNotify) nm_ip_route_unref)); + break; + case PROP_ROUTE_METRIC: + g_value_set_int64 (value, priv->route_metric); + break; + case PROP_ROUTE_TABLE: + g_value_set_uint (value, priv->route_table); + break; + case PROP_IGNORE_AUTO_ROUTES: + g_value_set_boolean (value, nm_setting_ip_config_get_ignore_auto_routes (setting)); + break; + case PROP_IGNORE_AUTO_DNS: + g_value_set_boolean (value, nm_setting_ip_config_get_ignore_auto_dns (setting)); + break; + case PROP_DHCP_HOSTNAME: + g_value_set_string (value, nm_setting_ip_config_get_dhcp_hostname (setting)); + break; + case PROP_DHCP_SEND_HOSTNAME: + g_value_set_boolean (value, nm_setting_ip_config_get_dhcp_send_hostname (setting)); + break; + case PROP_NEVER_DEFAULT: + g_value_set_boolean (value, priv->never_default); + break; + case PROP_MAY_FAIL: + g_value_set_boolean (value, priv->may_fail); + break; + case PROP_DAD_TIMEOUT: + g_value_set_int (value, nm_setting_ip_config_get_dad_timeout (setting)); + break; + case PROP_DHCP_TIMEOUT: + g_value_set_int (value, nm_setting_ip_config_get_dhcp_timeout (setting)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } } static void @@ -2791,110 +2872,38 @@ set_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +nm_setting_ip_config_init (NMSettingIPConfig *setting) { - NMSettingIPConfig *setting = NM_SETTING_IP_CONFIG (object); NMSettingIPConfigPrivate *priv = NM_SETTING_IP_CONFIG_GET_PRIVATE (setting); - switch (prop_id) { - case PROP_METHOD: - g_value_set_string (value, nm_setting_ip_config_get_method (setting)); - break; - case PROP_DNS: - g_value_take_boxed (value, _nm_utils_ptrarray_to_strv (priv->dns)); - break; - case PROP_DNS_SEARCH: - g_value_take_boxed (value, _nm_utils_ptrarray_to_strv (priv->dns_search)); - break; - case PROP_DNS_OPTIONS: - g_value_take_boxed (value, priv->dns_options ? _nm_utils_ptrarray_to_strv (priv->dns_options) : NULL); - break; - case PROP_DNS_PRIORITY: - g_value_set_int (value, priv->dns_priority); - break; - case PROP_ADDRESSES: - g_value_take_boxed (value, _nm_utils_copy_array (priv->addresses, - (NMUtilsCopyFunc) nm_ip_address_dup, - (GDestroyNotify) nm_ip_address_unref)); - break; - case PROP_GATEWAY: - g_value_set_string (value, nm_setting_ip_config_get_gateway (setting)); - break; - case PROP_ROUTES: - g_value_take_boxed (value, _nm_utils_copy_array (priv->routes, - (NMUtilsCopyFunc) nm_ip_route_dup, - (GDestroyNotify) nm_ip_route_unref)); - break; - case PROP_ROUTE_METRIC: - g_value_set_int64 (value, priv->route_metric); - break; - case PROP_ROUTE_TABLE: - g_value_set_uint (value, priv->route_table); - break; - case PROP_IGNORE_AUTO_ROUTES: - g_value_set_boolean (value, nm_setting_ip_config_get_ignore_auto_routes (setting)); - break; - case PROP_IGNORE_AUTO_DNS: - g_value_set_boolean (value, nm_setting_ip_config_get_ignore_auto_dns (setting)); - break; - case PROP_DHCP_HOSTNAME: - g_value_set_string (value, nm_setting_ip_config_get_dhcp_hostname (setting)); - break; - case PROP_DHCP_SEND_HOSTNAME: - g_value_set_boolean (value, nm_setting_ip_config_get_dhcp_send_hostname (setting)); - break; - case PROP_NEVER_DEFAULT: - g_value_set_boolean (value, priv->never_default); - break; - case PROP_MAY_FAIL: - g_value_set_boolean (value, priv->may_fail); - break; - case PROP_DAD_TIMEOUT: - g_value_set_int (value, nm_setting_ip_config_get_dad_timeout (setting)); - break; - case PROP_DHCP_TIMEOUT: - g_value_set_int (value, nm_setting_ip_config_get_dhcp_timeout (setting)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } + priv->dns = g_ptr_array_new_with_free_func (g_free); + priv->dns_search = g_ptr_array_new_with_free_func (g_free); + priv->dns_options = NULL; + priv->addresses = g_ptr_array_new_with_free_func ((GDestroyNotify) nm_ip_address_unref); + priv->routes = g_ptr_array_new_with_free_func ((GDestroyNotify) nm_ip_route_unref); } -static gboolean -ip_gateway_set (NMSetting *setting, - GVariant *connection_dict, - const char *property, - GVariant *value, - NMSettingParseFlags parse_flags, - GError **error) +static void +finalize (GObject *object) { - /* FIXME: properly handle errors */ - - /* Don't set from 'gateway' if we're going to use the gateway in 'addresses' */ - if (_nm_setting_use_legacy_property (setting, connection_dict, "addresses", "gateway")) - return TRUE; - - g_object_set (setting, property, g_variant_get_string (value, NULL), NULL); - return TRUE; -} + NMSettingIPConfig *self = NM_SETTING_IP_CONFIG (object); + NMSettingIPConfigPrivate *priv = NM_SETTING_IP_CONFIG_GET_PRIVATE (self); -GArray * -_nm_sett_info_property_override_create_array_ip_config (void) -{ - nm_auto_unref_gtypeclass NMSettingClass *setting_class = g_type_class_ref (NM_TYPE_SETTING_IP_CONFIG); - GArray *properties_override = _nm_sett_info_property_override_create_array (); + g_free (priv->method); + g_free (priv->gateway); + g_free (priv->dhcp_hostname); - _properties_override_add_override (properties_override, - obj_properties[PROP_GATEWAY], - G_VARIANT_TYPE_STRING, - NULL, - ip_gateway_set, - NULL); + g_ptr_array_unref (priv->dns); + g_ptr_array_unref (priv->dns_search); + if (priv->dns_options) + g_ptr_array_unref (priv->dns_options); + g_ptr_array_unref (priv->addresses); + g_ptr_array_unref (priv->routes); - return properties_override; + G_OBJECT_CLASS (nm_setting_ip_config_parent_class)->finalize (object); } static void @@ -2905,8 +2914,8 @@ nm_setting_ip_config_class_init (NMSettingIPConfigClass *klass) g_type_class_add_private (klass, sizeof (NMSettingIPConfigPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-ip-tunnel.c b/libnm-core/nm-setting-ip-tunnel.c index b0a05d3a1f..9fdb5481a9 100644 --- a/libnm-core/nm-setting-ip-tunnel.c +++ b/libnm-core/nm-setting-ip-tunnel.c @@ -30,9 +30,23 @@ * @short_description: Describes connection properties for IP tunnel devices **/ -G_DEFINE_TYPE (NMSettingIPTunnel, nm_setting_ip_tunnel, NM_TYPE_SETTING) +/*****************************************************************************/ -#define NM_SETTING_IP_TUNNEL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_IP_TUNNEL, NMSettingIPTunnelPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE_BASE ( + PROP_PARENT, + PROP_MODE, + PROP_LOCAL, + PROP_REMOTE, + PROP_TTL, + PROP_TOS, + PROP_PATH_MTU_DISCOVERY, + PROP_INPUT_KEY, + PROP_OUTPUT_KEY, + PROP_ENCAPSULATION_LIMIT, + PROP_FLOW_LABEL, + PROP_MTU, + PROP_FLAGS, +); typedef struct { char *parent; @@ -50,21 +64,11 @@ typedef struct { guint32 flags; } NMSettingIPTunnelPrivate; -NM_GOBJECT_PROPERTIES_DEFINE_BASE ( - PROP_PARENT, - PROP_MODE, - PROP_LOCAL, - PROP_REMOTE, - PROP_TTL, - PROP_TOS, - PROP_PATH_MTU_DISCOVERY, - PROP_INPUT_KEY, - PROP_OUTPUT_KEY, - PROP_ENCAPSULATION_LIMIT, - PROP_FLOW_LABEL, - PROP_MTU, - PROP_FLAGS, -); +G_DEFINE_TYPE (NMSettingIPTunnel, nm_setting_ip_tunnel, NM_TYPE_SETTING) + +#define NM_SETTING_IP_TUNNEL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_IP_TUNNEL, NMSettingIPTunnelPrivate)) + +/*****************************************************************************/ /** * nm_setting_ip_tunnel_get_parent: @@ -471,77 +475,54 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) return TRUE; } -/** - * nm_setting_ip_tunnel_new: - * - * Creates a new #NMSettingIPTunnel object with default values. - * - * Returns: (transfer full): the new empty #NMSettingIPTunnel object - * - * Since: 1.2 - **/ -NMSetting * -nm_setting_ip_tunnel_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_IP_TUNNEL, NULL); -} - -static void -nm_setting_ip_tunnel_init (NMSettingIPTunnel *setting) -{ -} +/*****************************************************************************/ static void -set_property (GObject *object, guint prop_id, - const GValue *value, GParamSpec *pspec) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { NMSettingIPTunnel *setting = NM_SETTING_IP_TUNNEL (object); NMSettingIPTunnelPrivate *priv = NM_SETTING_IP_TUNNEL_GET_PRIVATE (setting); switch (prop_id) { case PROP_PARENT: - g_free (priv->parent); - priv->parent = g_value_dup_string (value); + g_value_set_string (value, priv->parent); break; case PROP_MODE: - priv->mode = g_value_get_uint (value); + g_value_set_uint (value, priv->mode); break; case PROP_LOCAL: - g_free (priv->local); - priv->local = g_value_dup_string (value); + g_value_set_string (value, priv->local); break; case PROP_REMOTE: - g_free (priv->remote); - priv->remote = g_value_dup_string (value); + g_value_set_string (value, priv->remote); break; case PROP_TTL: - priv->ttl = g_value_get_uint (value); + g_value_set_uint (value, priv->ttl); break; case PROP_TOS: - priv->tos = g_value_get_uint (value); + g_value_set_uint (value, priv->tos); break; case PROP_PATH_MTU_DISCOVERY: - priv->path_mtu_discovery = g_value_get_boolean (value); + g_value_set_boolean (value, priv->path_mtu_discovery); break; case PROP_INPUT_KEY: - g_free (priv->input_key); - priv->input_key = g_value_dup_string (value); + g_value_set_string (value, priv->input_key); break; case PROP_OUTPUT_KEY: - g_free (priv->output_key); - priv->output_key = g_value_dup_string (value); + g_value_set_string (value, priv->output_key); break; case PROP_ENCAPSULATION_LIMIT: - priv->encapsulation_limit = g_value_get_uint (value); + g_value_set_uint (value, priv->encapsulation_limit); break; case PROP_FLOW_LABEL: - priv->flow_label = g_value_get_uint (value); + g_value_set_uint (value, priv->flow_label); break; case PROP_MTU: - priv->mtu = g_value_get_uint (value); + g_value_set_uint (value, priv->mtu); break; case PROP_FLAGS: - priv->flags = g_value_get_uint (value); + g_value_set_uint (value, priv->flags); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -550,51 +531,56 @@ set_property (GObject *object, guint prop_id, } static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) { NMSettingIPTunnel *setting = NM_SETTING_IP_TUNNEL (object); NMSettingIPTunnelPrivate *priv = NM_SETTING_IP_TUNNEL_GET_PRIVATE (setting); switch (prop_id) { case PROP_PARENT: - g_value_set_string (value, priv->parent); + g_free (priv->parent); + priv->parent = g_value_dup_string (value); break; case PROP_MODE: - g_value_set_uint (value, priv->mode); + priv->mode = g_value_get_uint (value); break; case PROP_LOCAL: - g_value_set_string (value, priv->local); + g_free (priv->local); + priv->local = g_value_dup_string (value); break; case PROP_REMOTE: - g_value_set_string (value, priv->remote); + g_free (priv->remote); + priv->remote = g_value_dup_string (value); break; case PROP_TTL: - g_value_set_uint (value, priv->ttl); + priv->ttl = g_value_get_uint (value); break; case PROP_TOS: - g_value_set_uint (value, priv->tos); + priv->tos = g_value_get_uint (value); break; case PROP_PATH_MTU_DISCOVERY: - g_value_set_boolean (value, priv->path_mtu_discovery); + priv->path_mtu_discovery = g_value_get_boolean (value); break; case PROP_INPUT_KEY: - g_value_set_string (value, priv->input_key); + g_free (priv->input_key); + priv->input_key = g_value_dup_string (value); break; case PROP_OUTPUT_KEY: - g_value_set_string (value, priv->output_key); + g_free (priv->output_key); + priv->output_key = g_value_dup_string (value); break; case PROP_ENCAPSULATION_LIMIT: - g_value_set_uint (value, priv->encapsulation_limit); + priv->encapsulation_limit = g_value_get_uint (value); break; case PROP_FLOW_LABEL: - g_value_set_uint (value, priv->flow_label); + priv->flow_label = g_value_get_uint (value); break; case PROP_MTU: - g_value_set_uint (value, priv->mtu); + priv->mtu = g_value_get_uint (value); break; case PROP_FLAGS: - g_value_set_uint (value, priv->flags); + priv->flags = g_value_get_uint (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -602,6 +588,28 @@ get_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + +static void +nm_setting_ip_tunnel_init (NMSettingIPTunnel *setting) +{ +} + +/** + * nm_setting_ip_tunnel_new: + * + * Creates a new #NMSettingIPTunnel object with default values. + * + * Returns: (transfer full): the new empty #NMSettingIPTunnel object + * + * Since: 1.2 + **/ +NMSetting * +nm_setting_ip_tunnel_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_IP_TUNNEL, NULL); +} + static void finalize (GObject *object) { @@ -625,8 +633,8 @@ nm_setting_ip_tunnel_class_init (NMSettingIPTunnelClass *klass) g_type_class_add_private (klass, sizeof (NMSettingIPTunnelPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-ip4-config.c b/libnm-core/nm-setting-ip4-config.c index 80c3a4b5c1..59529bc270 100644 --- a/libnm-core/nm-setting-ip4-config.c +++ b/libnm-core/nm-setting-ip4-config.c @@ -21,9 +21,10 @@ #include "nm-default.h" +#include "nm-setting-ip4-config.h" + #include <string.h> -#include "nm-setting-ip4-config.h" #include "nm-setting-private.h" /** @@ -50,32 +51,23 @@ * connection. **/ -G_DEFINE_TYPE (NMSettingIP4Config, nm_setting_ip4_config, NM_TYPE_SETTING_IP_CONFIG) +/*****************************************************************************/ -#define NM_SETTING_IP4_CONFIG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_IP4_CONFIG, NMSettingIP4ConfigPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE_BASE ( + PROP_DHCP_CLIENT_ID, + PROP_DHCP_FQDN, +); typedef struct { char *dhcp_client_id; char *dhcp_fqdn; } NMSettingIP4ConfigPrivate; -NM_GOBJECT_PROPERTIES_DEFINE_BASE ( - PROP_DHCP_CLIENT_ID, - PROP_DHCP_FQDN, -); +G_DEFINE_TYPE (NMSettingIP4Config, nm_setting_ip4_config, NM_TYPE_SETTING_IP_CONFIG) -/** - * nm_setting_ip4_config_new: - * - * Creates a new #NMSettingIP4Config object with default values. - * - * Returns: (transfer full): the new empty #NMSettingIP4Config object - **/ -NMSetting * -nm_setting_ip4_config_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_IP4_CONFIG, NULL); -} +#define NM_SETTING_IP4_CONFIG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_IP4_CONFIG, NMSettingIP4ConfigPrivate)) + +/*****************************************************************************/ /** * nm_setting_ip4_config_get_dhcp_client_id: @@ -249,62 +241,6 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) return TRUE; } -static void -nm_setting_ip4_config_init (NMSettingIP4Config *setting) -{ -} - -static void -finalize (GObject *object) -{ - NMSettingIP4ConfigPrivate *priv = NM_SETTING_IP4_CONFIG_GET_PRIVATE (object); - - g_free (priv->dhcp_client_id); - g_free (priv->dhcp_fqdn); - - G_OBJECT_CLASS (nm_setting_ip4_config_parent_class)->finalize (object); -} - -static void -set_property (GObject *object, guint prop_id, - const GValue *value, GParamSpec *pspec) -{ - NMSettingIP4ConfigPrivate *priv = NM_SETTING_IP4_CONFIG_GET_PRIVATE (object); - - switch (prop_id) { - case PROP_DHCP_CLIENT_ID: - g_free (priv->dhcp_client_id); - priv->dhcp_client_id = g_value_dup_string (value); - break; - case PROP_DHCP_FQDN: - g_free (priv->dhcp_fqdn); - priv->dhcp_fqdn = g_value_dup_string (value); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) -{ - NMSettingIP4Config *s_ip4 = NM_SETTING_IP4_CONFIG (object); - - switch (prop_id) { - case PROP_DHCP_CLIENT_ID: - g_value_set_string (value, nm_setting_ip4_config_get_dhcp_client_id (s_ip4)); - break; - case PROP_DHCP_FQDN: - g_value_set_string (value, nm_setting_ip4_config_get_dhcp_fqdn (s_ip4)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - static GVariant * ip4_dns_to_dbus (const GValue *prop_value) { @@ -526,6 +462,79 @@ ip4_route_data_set (NMSetting *setting, return TRUE; } +/*****************************************************************************/ + +static void +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) +{ + NMSettingIP4Config *s_ip4 = NM_SETTING_IP4_CONFIG (object); + + switch (prop_id) { + case PROP_DHCP_CLIENT_ID: + g_value_set_string (value, nm_setting_ip4_config_get_dhcp_client_id (s_ip4)); + break; + case PROP_DHCP_FQDN: + g_value_set_string (value, nm_setting_ip4_config_get_dhcp_fqdn (s_ip4)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) +{ + NMSettingIP4ConfigPrivate *priv = NM_SETTING_IP4_CONFIG_GET_PRIVATE (object); + + switch (prop_id) { + case PROP_DHCP_CLIENT_ID: + g_free (priv->dhcp_client_id); + priv->dhcp_client_id = g_value_dup_string (value); + break; + case PROP_DHCP_FQDN: + g_free (priv->dhcp_fqdn); + priv->dhcp_fqdn = g_value_dup_string (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +/*****************************************************************************/ + +static void +nm_setting_ip4_config_init (NMSettingIP4Config *setting) +{ +} + +/** + * nm_setting_ip4_config_new: + * + * Creates a new #NMSettingIP4Config object with default values. + * + * Returns: (transfer full): the new empty #NMSettingIP4Config object + **/ +NMSetting * +nm_setting_ip4_config_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_IP4_CONFIG, NULL); +} + +static void +finalize (GObject *object) +{ + NMSettingIP4ConfigPrivate *priv = NM_SETTING_IP4_CONFIG_GET_PRIVATE (object); + + g_free (priv->dhcp_client_id); + g_free (priv->dhcp_fqdn); + + G_OBJECT_CLASS (nm_setting_ip4_config_parent_class)->finalize (object); +} + static void nm_setting_ip4_config_class_init (NMSettingIP4ConfigClass *klass) { @@ -535,8 +544,8 @@ nm_setting_ip4_config_class_init (NMSettingIP4ConfigClass *klass) g_type_class_add_private (setting_class, sizeof (NMSettingIP4ConfigPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-ip6-config.c b/libnm-core/nm-setting-ip6-config.c index 81797f43a1..bf3acf96b0 100644 --- a/libnm-core/nm-setting-ip6-config.c +++ b/libnm-core/nm-setting-ip6-config.c @@ -52,9 +52,14 @@ * supported. **/ -G_DEFINE_TYPE (NMSettingIP6Config, nm_setting_ip6_config, NM_TYPE_SETTING_IP_CONFIG) +/*****************************************************************************/ -#define NM_SETTING_IP6_CONFIG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_IP6_CONFIG, NMSettingIP6ConfigPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE_BASE ( + PROP_IP6_PRIVACY, + PROP_ADDR_GEN_MODE, + PROP_TOKEN, + PROP_DHCP_DUID, +); typedef struct { NMSettingIP6ConfigPrivacy ip6_privacy; @@ -63,25 +68,11 @@ typedef struct { char *dhcp_duid; } NMSettingIP6ConfigPrivate; -NM_GOBJECT_PROPERTIES_DEFINE_BASE ( - PROP_IP6_PRIVACY, - PROP_ADDR_GEN_MODE, - PROP_TOKEN, - PROP_DHCP_DUID, -); +G_DEFINE_TYPE (NMSettingIP6Config, nm_setting_ip6_config, NM_TYPE_SETTING_IP_CONFIG) -/** - * nm_setting_ip6_config_new: - * - * Creates a new #NMSettingIP6Config object with default values. - * - * Returns: (transfer full): the new empty #NMSettingIP6Config object - **/ -NMSetting * -nm_setting_ip6_config_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_IP6_CONFIG, NULL); -} +#define NM_SETTING_IP6_CONFIG_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_IP6_CONFIG, NMSettingIP6ConfigPrivate)) + +/*****************************************************************************/ /** * nm_setting_ip6_config_get_ip6_privacy: @@ -309,11 +300,6 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) return TRUE; } -static void -nm_setting_ip6_config_init (NMSettingIP6Config *setting) -{ -} - static GVariant * ip6_dns_to_dbus (const GValue *prop_value) { @@ -481,26 +467,26 @@ ip6_route_data_set (NMSetting *setting, return TRUE; } +/*****************************************************************************/ + static void -set_property (GObject *object, guint prop_id, - const GValue *value, GParamSpec *pspec) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { NMSettingIP6ConfigPrivate *priv = NM_SETTING_IP6_CONFIG_GET_PRIVATE (object); switch (prop_id) { case PROP_IP6_PRIVACY: - priv->ip6_privacy = g_value_get_enum (value); + g_value_set_enum (value, priv->ip6_privacy); break; case PROP_ADDR_GEN_MODE: - priv->addr_gen_mode = g_value_get_int (value); + g_value_set_int (value, priv->addr_gen_mode); break; case PROP_TOKEN: - g_free (priv->token); - priv->token = g_value_dup_string (value); + g_value_set_string (value, priv->token); break; case PROP_DHCP_DUID: - g_free (priv->dhcp_duid); - priv->dhcp_duid = g_value_dup_string (value); + g_value_set_string (value, priv->dhcp_duid); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -509,23 +495,25 @@ set_property (GObject *object, guint prop_id, } static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) { NMSettingIP6ConfigPrivate *priv = NM_SETTING_IP6_CONFIG_GET_PRIVATE (object); switch (prop_id) { case PROP_IP6_PRIVACY: - g_value_set_enum (value, priv->ip6_privacy); + priv->ip6_privacy = g_value_get_enum (value); break; case PROP_ADDR_GEN_MODE: - g_value_set_int (value, priv->addr_gen_mode); + priv->addr_gen_mode = g_value_get_int (value); break; case PROP_TOKEN: - g_value_set_string (value, priv->token); + g_free (priv->token); + priv->token = g_value_dup_string (value); break; case PROP_DHCP_DUID: - g_value_set_string (value, priv->dhcp_duid); + g_free (priv->dhcp_duid); + priv->dhcp_duid = g_value_dup_string (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -533,6 +521,26 @@ get_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + +static void +nm_setting_ip6_config_init (NMSettingIP6Config *setting) +{ +} + +/** + * nm_setting_ip6_config_new: + * + * Creates a new #NMSettingIP6Config object with default values. + * + * Returns: (transfer full): the new empty #NMSettingIP6Config object + **/ +NMSetting * +nm_setting_ip6_config_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_IP6_CONFIG, NULL); +} + static void finalize (GObject *object) { @@ -554,8 +562,8 @@ nm_setting_ip6_config_class_init (NMSettingIP6ConfigClass *klass) g_type_class_add_private (klass, sizeof (NMSettingIP6ConfigPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-macsec.c b/libnm-core/nm-setting-macsec.c index 9f60f945c1..3d93ac5ae6 100644 --- a/libnm-core/nm-setting-macsec.c +++ b/libnm-core/nm-setting-macsec.c @@ -42,9 +42,19 @@ * necessary for connection to MACsec (IEEE 802.1AE) interfaces. **/ -G_DEFINE_TYPE (NMSettingMacsec, nm_setting_macsec, NM_TYPE_SETTING) +/*****************************************************************************/ -#define NM_SETTING_MACSEC_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_MACSEC, NMSettingMacsecPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE_BASE ( + PROP_PARENT, + PROP_MODE, + PROP_ENCRYPT, + PROP_MKA_CAK, + PROP_MKA_CAK_FLAGS, + PROP_MKA_CKN, + PROP_PORT, + PROP_VALIDATION, + PROP_SEND_SCI, +); typedef struct { char *parent; @@ -58,32 +68,11 @@ typedef struct { NMSettingMacsecValidation validation; } NMSettingMacsecPrivate; -NM_GOBJECT_PROPERTIES_DEFINE_BASE ( - PROP_PARENT, - PROP_MODE, - PROP_ENCRYPT, - PROP_MKA_CAK, - PROP_MKA_CAK_FLAGS, - PROP_MKA_CKN, - PROP_PORT, - PROP_VALIDATION, - PROP_SEND_SCI, -); +G_DEFINE_TYPE (NMSettingMacsec, nm_setting_macsec, NM_TYPE_SETTING) -/** - * nm_setting_macsec_new: - * - * Creates a new #NMSettingMacsec object with default values. - * - * Returns: (transfer full): the new empty #NMSettingMacsec object - * - * Since: 1.6 - **/ -NMSetting * -nm_setting_macsec_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_MACSEC, NULL); -} +#define NM_SETTING_MACSEC_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_MACSEC, NMSettingMacsecPrivate)) + +/*****************************************************************************/ /** * nm_setting_macsec_get_parent: @@ -395,48 +384,42 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) return TRUE; } -static void -nm_setting_macsec_init (NMSettingMacsec *setting) -{ -} +/*****************************************************************************/ static void -set_property (GObject *object, guint prop_id, - const GValue *value, GParamSpec *pspec) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { NMSettingMacsec *setting = NM_SETTING_MACSEC (object); NMSettingMacsecPrivate *priv = NM_SETTING_MACSEC_GET_PRIVATE (setting); switch (prop_id) { case PROP_PARENT: - g_free (priv->parent); - priv->parent = g_value_dup_string (value); + g_value_set_string (value, priv->parent); break; case PROP_MODE: - priv->mode = g_value_get_int (value); + g_value_set_int (value, priv->mode); break; case PROP_ENCRYPT: - priv->encrypt = g_value_get_boolean (value); + g_value_set_boolean (value, priv->encrypt); break; case PROP_MKA_CAK: - nm_free_secret (priv->mka_cak); - priv->mka_cak = g_value_dup_string (value); + g_value_set_string (value, priv->mka_cak); break; case PROP_MKA_CAK_FLAGS: - priv->mka_cak_flags = g_value_get_flags (value); + g_value_set_flags (value, priv->mka_cak_flags); break; case PROP_MKA_CKN: - g_free (priv->mka_ckn); - priv->mka_ckn = g_value_dup_string (value); + g_value_set_string (value, priv->mka_ckn); break; case PROP_PORT: - priv->port = g_value_get_int (value); + g_value_set_int (value, priv->port); break; case PROP_VALIDATION: - priv->validation = g_value_get_int (value); + g_value_set_int (value, priv->validation); break; case PROP_SEND_SCI: - priv->send_sci = g_value_get_boolean (value); + g_value_set_boolean (value, priv->send_sci); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -445,39 +428,42 @@ set_property (GObject *object, guint prop_id, } static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) { NMSettingMacsec *setting = NM_SETTING_MACSEC (object); NMSettingMacsecPrivate *priv = NM_SETTING_MACSEC_GET_PRIVATE (setting); switch (prop_id) { case PROP_PARENT: - g_value_set_string (value, priv->parent); + g_free (priv->parent); + priv->parent = g_value_dup_string (value); break; case PROP_MODE: - g_value_set_int (value, priv->mode); + priv->mode = g_value_get_int (value); break; case PROP_ENCRYPT: - g_value_set_boolean (value, priv->encrypt); + priv->encrypt = g_value_get_boolean (value); break; case PROP_MKA_CAK: - g_value_set_string (value, priv->mka_cak); + nm_free_secret (priv->mka_cak); + priv->mka_cak = g_value_dup_string (value); break; case PROP_MKA_CAK_FLAGS: - g_value_set_flags (value, priv->mka_cak_flags); + priv->mka_cak_flags = g_value_get_flags (value); break; case PROP_MKA_CKN: - g_value_set_string (value, priv->mka_ckn); + g_free (priv->mka_ckn); + priv->mka_ckn = g_value_dup_string (value); break; case PROP_PORT: - g_value_set_int (value, priv->port); + priv->port = g_value_get_int (value); break; case PROP_VALIDATION: - g_value_set_int (value, priv->validation); + priv->validation = g_value_get_int (value); break; case PROP_SEND_SCI: - g_value_set_boolean (value, priv->send_sci); + priv->send_sci = g_value_get_boolean (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -485,6 +471,28 @@ get_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + +static void +nm_setting_macsec_init (NMSettingMacsec *setting) +{ +} + +/** + * nm_setting_macsec_new: + * + * Creates a new #NMSettingMacsec object with default values. + * + * Returns: (transfer full): the new empty #NMSettingMacsec object + * + * Since: 1.6 + **/ +NMSetting * +nm_setting_macsec_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_MACSEC, NULL); +} + static void finalize (GObject *object) { @@ -506,8 +514,8 @@ nm_setting_macsec_class_init (NMSettingMacsecClass *klass) g_type_class_add_private (klass, sizeof (NMSettingMacsecPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-macvlan.c b/libnm-core/nm-setting-macvlan.c index 44328de461..a25e105598 100644 --- a/libnm-core/nm-setting-macvlan.c +++ b/libnm-core/nm-setting-macvlan.c @@ -21,10 +21,11 @@ #include "nm-default.h" +#include "nm-setting-macvlan.h" + #include <stdlib.h> #include <string.h> -#include "nm-setting-macvlan.h" #include "nm-utils.h" #include "nm-setting-connection.h" #include "nm-setting-private.h" @@ -39,9 +40,14 @@ * necessary for connection to macvlan interfaces. **/ -G_DEFINE_TYPE (NMSettingMacvlan, nm_setting_macvlan, NM_TYPE_SETTING) +/*****************************************************************************/ -#define NM_SETTING_MACVLAN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_MACVLAN, NMSettingMacvlanPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE_BASE ( + PROP_PARENT, + PROP_MODE, + PROP_PROMISCUOUS, + PROP_TAP, +); typedef struct { char *parent; @@ -50,27 +56,11 @@ typedef struct { gboolean tap; } NMSettingMacvlanPrivate; -NM_GOBJECT_PROPERTIES_DEFINE_BASE ( - PROP_PARENT, - PROP_MODE, - PROP_PROMISCUOUS, - PROP_TAP, -); +G_DEFINE_TYPE (NMSettingMacvlan, nm_setting_macvlan, NM_TYPE_SETTING) -/** - * nm_setting_macvlan_new: - * - * Creates a new #NMSettingMacvlan object with default values. - * - * Returns: (transfer full): the new empty #NMSettingMacvlan object - * - * Since: 1.2 - **/ -NMSetting * -nm_setting_macvlan_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_MACVLAN, NULL); -} +#define NM_SETTING_MACVLAN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_MACVLAN, NMSettingMacvlanPrivate)) + +/*****************************************************************************/ /** * nm_setting_macvlan_get_parent: @@ -134,11 +124,6 @@ nm_setting_macvlan_get_tap (NMSettingMacvlan *setting) /*****************************************************************************/ -static void -nm_setting_macvlan_init (NMSettingMacvlan *setting) -{ -} - static gboolean verify (NMSetting *setting, NMConnection *connection, GError **error) { @@ -191,26 +176,27 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) return TRUE; } +/*****************************************************************************/ + static void -set_property (GObject *object, guint prop_id, - const GValue *value, GParamSpec *pspec) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { NMSettingMacvlan *setting = NM_SETTING_MACVLAN (object); NMSettingMacvlanPrivate *priv = NM_SETTING_MACVLAN_GET_PRIVATE (setting); switch (prop_id) { case PROP_PARENT: - g_free (priv->parent); - priv->parent = g_value_dup_string (value); + g_value_set_string (value, priv->parent); break; case PROP_MODE: - priv->mode = g_value_get_uint (value); + g_value_set_uint (value, priv->mode); break; case PROP_PROMISCUOUS: - priv->promiscuous = g_value_get_boolean (value); + g_value_set_boolean (value, priv->promiscuous); break; case PROP_TAP: - priv->tap = g_value_get_boolean (value); + g_value_set_boolean (value, priv->tap); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -219,24 +205,25 @@ set_property (GObject *object, guint prop_id, } static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) { NMSettingMacvlan *setting = NM_SETTING_MACVLAN (object); NMSettingMacvlanPrivate *priv = NM_SETTING_MACVLAN_GET_PRIVATE (setting); switch (prop_id) { case PROP_PARENT: - g_value_set_string (value, priv->parent); + g_free (priv->parent); + priv->parent = g_value_dup_string (value); break; case PROP_MODE: - g_value_set_uint (value, priv->mode); + priv->mode = g_value_get_uint (value); break; case PROP_PROMISCUOUS: - g_value_set_boolean (value, priv->promiscuous); + priv->promiscuous = g_value_get_boolean (value); break; case PROP_TAP: - g_value_set_boolean (value, priv->tap); + priv->tap = g_value_get_boolean (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -244,6 +231,28 @@ get_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + +static void +nm_setting_macvlan_init (NMSettingMacvlan *setting) +{ +} + +/** + * nm_setting_macvlan_new: + * + * Creates a new #NMSettingMacvlan object with default values. + * + * Returns: (transfer full): the new empty #NMSettingMacvlan object + * + * Since: 1.2 + **/ +NMSetting * +nm_setting_macvlan_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_MACVLAN, NULL); +} + static void finalize (GObject *object) { @@ -263,8 +272,8 @@ nm_setting_macvlan_class_init (NMSettingMacvlanClass *klass) g_type_class_add_private (klass, sizeof (NMSettingMacvlanPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-match.c b/libnm-core/nm-setting-match.c index 0964c64471..2f331060d0 100644 --- a/libnm-core/nm-setting-match.c +++ b/libnm-core/nm-setting-match.c @@ -15,6 +15,7 @@ #include "nm-default.h" #include "nm-setting-match.h" + #include "nm-setting-private.h" #include "nm-utils-private.h" @@ -24,6 +25,12 @@ * @include: nm-setting-match.h **/ +/*****************************************************************************/ + +NM_GOBJECT_PROPERTIES_DEFINE (NMSettingMatch, + PROP_INTERFACE_NAME, +); + /** * NMSettingMatch: * @@ -42,10 +49,6 @@ struct _NMSettingMatchClass { G_DEFINE_TYPE (NMSettingMatch, nm_setting_match, NM_TYPE_SETTING) -NM_GOBJECT_PROPERTIES_DEFINE (NMSettingMatch, - PROP_INTERFACE_NAME, -); - /*****************************************************************************/ /** @@ -194,6 +197,8 @@ nm_setting_match_get_interface_names (NMSettingMatch *setting, guint *length) return (const char *const *) setting->interface_name->pdata; } +/*****************************************************************************/ + static void get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) @@ -227,6 +232,8 @@ set_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + static void nm_setting_match_init (NMSettingMatch *setting) { @@ -264,9 +271,9 @@ nm_setting_match_class_init (NMSettingMatchClass *klass) GObjectClass *object_class = G_OBJECT_CLASS (klass); NMSettingClass *setting_class = NM_SETTING_CLASS (klass); - object_class->finalize = finalize; object_class->get_property = get_property; object_class->set_property = set_property; + object_class->finalize = finalize; /** * NMSettingMatch:interface-name diff --git a/libnm-core/nm-setting-olpc-mesh.c b/libnm-core/nm-setting-olpc-mesh.c index 11917410f2..eb87e1ff21 100644 --- a/libnm-core/nm-setting-olpc-mesh.c +++ b/libnm-core/nm-setting-olpc-mesh.c @@ -22,9 +22,10 @@ #include "nm-default.h" +#include "nm-setting-olpc-mesh.h" + #include <string.h> -#include "nm-setting-olpc-mesh.h" #include "nm-utils.h" #include "nm-utils-private.h" #include "nm-setting-private.h" @@ -37,11 +38,13 @@ * necessary for connection to OLPC-Mesh devices. **/ -static void nm_setting_olpc_mesh_init (NMSettingOlpcMesh *setting); +/*****************************************************************************/ -G_DEFINE_TYPE (NMSettingOlpcMesh, nm_setting_olpc_mesh, NM_TYPE_SETTING) - -#define NM_SETTING_OLPC_MESH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_OLPC_MESH, NMSettingOlpcMeshPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE_BASE ( + PROP_SSID, + PROP_CHANNEL, + PROP_DHCP_ANYCAST_ADDRESS, +); typedef struct { GBytes *ssid; @@ -49,28 +52,11 @@ typedef struct { char *dhcp_anycast_addr; } NMSettingOlpcMeshPrivate; -NM_GOBJECT_PROPERTIES_DEFINE_BASE ( - PROP_SSID, - PROP_CHANNEL, - PROP_DHCP_ANYCAST_ADDRESS, -); +G_DEFINE_TYPE (NMSettingOlpcMesh, nm_setting_olpc_mesh, NM_TYPE_SETTING) -/** - * nm_setting_olpc_mesh_new: - * - * Creates a new #NMSettingOlpcMesh object with default values. - * - * Returns: the new empty #NMSettingOlpcMesh object - **/ -NMSetting *nm_setting_olpc_mesh_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_OLPC_MESH, NULL); -} +#define NM_SETTING_OLPC_MESH_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_OLPC_MESH, NMSettingOlpcMeshPrivate)) -static void -nm_setting_olpc_mesh_init (NMSettingOlpcMesh *setting) -{ -} +/*****************************************************************************/ /** * nm_setting_olpc_mesh_get_ssid: @@ -149,16 +135,28 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) return TRUE; } +/*****************************************************************************/ + static void -finalize (GObject *object) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { - NMSettingOlpcMeshPrivate *priv = NM_SETTING_OLPC_MESH_GET_PRIVATE (object); - - if (priv->ssid) - g_bytes_unref (priv->ssid); - g_free (priv->dhcp_anycast_addr); + NMSettingOlpcMesh *setting = NM_SETTING_OLPC_MESH (object); - G_OBJECT_CLASS (nm_setting_olpc_mesh_parent_class)->finalize (object); + switch (prop_id) { + case PROP_SSID: + g_value_set_boxed (value, nm_setting_olpc_mesh_get_ssid (setting)); + break; + case PROP_CHANNEL: + g_value_set_uint (value, nm_setting_olpc_mesh_get_channel (setting)); + break; + case PROP_DHCP_ANYCAST_ADDRESS: + g_value_set_string (value, nm_setting_olpc_mesh_get_dhcp_anycast_address (setting)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } } static void @@ -186,26 +184,35 @@ set_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +nm_setting_olpc_mesh_init (NMSettingOlpcMesh *setting) { - NMSettingOlpcMesh *setting = NM_SETTING_OLPC_MESH (object); +} - switch (prop_id) { - case PROP_SSID: - g_value_set_boxed (value, nm_setting_olpc_mesh_get_ssid (setting)); - break; - case PROP_CHANNEL: - g_value_set_uint (value, nm_setting_olpc_mesh_get_channel (setting)); - break; - case PROP_DHCP_ANYCAST_ADDRESS: - g_value_set_string (value, nm_setting_olpc_mesh_get_dhcp_anycast_address (setting)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } +/** + * nm_setting_olpc_mesh_new: + * + * Creates a new #NMSettingOlpcMesh object with default values. + * + * Returns: the new empty #NMSettingOlpcMesh object + **/ +NMSetting *nm_setting_olpc_mesh_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_OLPC_MESH, NULL); +} + +static void +finalize (GObject *object) +{ + NMSettingOlpcMeshPrivate *priv = NM_SETTING_OLPC_MESH_GET_PRIVATE (object); + + if (priv->ssid) + g_bytes_unref (priv->ssid); + g_free (priv->dhcp_anycast_addr); + + G_OBJECT_CLASS (nm_setting_olpc_mesh_parent_class)->finalize (object); } static void @@ -217,8 +224,8 @@ nm_setting_olpc_mesh_class_init (NMSettingOlpcMeshClass *klass) g_type_class_add_private (klass, sizeof (NMSettingOlpcMeshPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-ovs-bridge.c b/libnm-core/nm-setting-ovs-bridge.c index 918dca983a..e69dcdea96 100644 --- a/libnm-core/nm-setting-ovs-bridge.c +++ b/libnm-core/nm-setting-ovs-bridge.c @@ -34,6 +34,8 @@ * necessary for Open vSwitch bridges. **/ +/*****************************************************************************/ + NM_GOBJECT_PROPERTIES_DEFINE_BASE ( PROP_FAIL_MODE, PROP_MCAST_SNOOPING_ENABLE, @@ -265,8 +267,8 @@ nm_setting_ovs_bridge_class_init (NMSettingOvsBridgeClass *klass) GObjectClass *object_class = G_OBJECT_CLASS (klass); NMSettingClass *setting_class = NM_SETTING_CLASS (klass); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-ovs-interface.c b/libnm-core/nm-setting-ovs-interface.c index 1d0fe16cf7..ad7f2eadd1 100644 --- a/libnm-core/nm-setting-ovs-interface.c +++ b/libnm-core/nm-setting-ovs-interface.c @@ -33,6 +33,8 @@ * necessary for Open vSwitch interfaces. **/ +/*****************************************************************************/ + NM_GOBJECT_PROPERTIES_DEFINE_BASE ( PROP_TYPE, ); @@ -364,8 +366,8 @@ nm_setting_ovs_interface_class_init (NMSettingOvsInterfaceClass *klass) GObjectClass *object_class = G_OBJECT_CLASS (klass); NMSettingClass *setting_class = NM_SETTING_CLASS (klass); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-ovs-patch.c b/libnm-core/nm-setting-ovs-patch.c index bd0be24b21..2a46810c32 100644 --- a/libnm-core/nm-setting-ovs-patch.c +++ b/libnm-core/nm-setting-ovs-patch.c @@ -34,6 +34,8 @@ * necessary for Open vSwitch interfaces of type "patch". **/ +/*****************************************************************************/ + NM_GOBJECT_PROPERTIES_DEFINE_BASE ( PROP_PEER, ); diff --git a/libnm-core/nm-setting-ppp.c b/libnm-core/nm-setting-ppp.c index 5f8c5c7b4c..12a8c36609 100644 --- a/libnm-core/nm-setting-ppp.c +++ b/libnm-core/nm-setting-ppp.c @@ -23,6 +23,7 @@ #include "nm-default.h" #include "nm-setting-ppp.h" + #include "nm-setting-private.h" /** @@ -35,9 +36,28 @@ * cable and DSL modems and some mobile broadband devices. **/ -G_DEFINE_TYPE (NMSettingPpp, nm_setting_ppp, NM_TYPE_SETTING) +/*****************************************************************************/ -#define NM_SETTING_PPP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_PPP, NMSettingPppPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE_BASE ( + PROP_NOAUTH, + PROP_REFUSE_EAP, + PROP_REFUSE_PAP, + PROP_REFUSE_CHAP, + PROP_REFUSE_MSCHAP, + PROP_REFUSE_MSCHAPV2, + PROP_NOBSDCOMP, + PROP_NODEFLATE, + PROP_NO_VJ_COMP, + PROP_REQUIRE_MPPE, + PROP_REQUIRE_MPPE_128, + PROP_MPPE_STATEFUL, + PROP_CRTSCTS, + PROP_BAUD, + PROP_MRU, + PROP_MTU, + PROP_LCP_ECHO_FAILURE, + PROP_LCP_ECHO_INTERVAL, +); typedef struct { gboolean noauth; @@ -60,39 +80,11 @@ typedef struct { guint32 lcp_echo_interval; } NMSettingPppPrivate; -NM_GOBJECT_PROPERTIES_DEFINE_BASE ( - PROP_NOAUTH, - PROP_REFUSE_EAP, - PROP_REFUSE_PAP, - PROP_REFUSE_CHAP, - PROP_REFUSE_MSCHAP, - PROP_REFUSE_MSCHAPV2, - PROP_NOBSDCOMP, - PROP_NODEFLATE, - PROP_NO_VJ_COMP, - PROP_REQUIRE_MPPE, - PROP_REQUIRE_MPPE_128, - PROP_MPPE_STATEFUL, - PROP_CRTSCTS, - PROP_BAUD, - PROP_MRU, - PROP_MTU, - PROP_LCP_ECHO_FAILURE, - PROP_LCP_ECHO_INTERVAL, -); +G_DEFINE_TYPE (NMSettingPpp, nm_setting_ppp, NM_TYPE_SETTING) -/** - * nm_setting_ppp_new: - * - * Creates a new #NMSettingPpp object with default values. - * - * Returns: (transfer full): the new empty #NMSettingPpp object - **/ -NMSetting * -nm_setting_ppp_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_PPP, NULL); -} +#define NM_SETTING_PPP_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_PPP, NMSettingPppPrivate)) + +/*****************************************************************************/ /** * nm_setting_ppp_get_noauth: @@ -380,71 +372,68 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) return TRUE; } -static void -nm_setting_ppp_init (NMSettingPpp *setting) -{ -} +/*****************************************************************************/ static void -set_property (GObject *object, guint prop_id, - const GValue *value, GParamSpec *pspec) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { - NMSettingPppPrivate *priv = NM_SETTING_PPP_GET_PRIVATE (object); + NMSettingPpp *setting = NM_SETTING_PPP (object); switch (prop_id) { case PROP_NOAUTH: - priv->noauth = g_value_get_boolean (value); + g_value_set_boolean (value, nm_setting_ppp_get_noauth (setting)); break; case PROP_REFUSE_EAP: - priv->refuse_eap = g_value_get_boolean (value); + g_value_set_boolean (value, nm_setting_ppp_get_refuse_eap (setting)); break; case PROP_REFUSE_PAP: - priv->refuse_pap = g_value_get_boolean (value); + g_value_set_boolean (value, nm_setting_ppp_get_refuse_pap (setting)); break; case PROP_REFUSE_CHAP: - priv->refuse_chap = g_value_get_boolean (value); + g_value_set_boolean (value, nm_setting_ppp_get_refuse_chap (setting)); break; case PROP_REFUSE_MSCHAP: - priv->refuse_mschap = g_value_get_boolean (value); + g_value_set_boolean (value, nm_setting_ppp_get_refuse_mschap (setting)); break; case PROP_REFUSE_MSCHAPV2: - priv->refuse_mschapv2 = g_value_get_boolean (value); + g_value_set_boolean (value, nm_setting_ppp_get_refuse_mschapv2 (setting)); break; case PROP_NOBSDCOMP: - priv->nobsdcomp = g_value_get_boolean (value); + g_value_set_boolean (value, nm_setting_ppp_get_nobsdcomp (setting)); break; case PROP_NODEFLATE: - priv->nodeflate = g_value_get_boolean (value); + g_value_set_boolean (value, nm_setting_ppp_get_nodeflate (setting)); break; case PROP_NO_VJ_COMP: - priv->no_vj_comp = g_value_get_boolean (value); + g_value_set_boolean (value, nm_setting_ppp_get_no_vj_comp (setting)); break; case PROP_REQUIRE_MPPE: - priv->require_mppe = g_value_get_boolean (value); + g_value_set_boolean (value, nm_setting_ppp_get_require_mppe (setting)); break; case PROP_REQUIRE_MPPE_128: - priv->require_mppe_128 = g_value_get_boolean (value); + g_value_set_boolean (value, nm_setting_ppp_get_require_mppe_128 (setting)); break; case PROP_MPPE_STATEFUL: - priv->mppe_stateful = g_value_get_boolean (value); + g_value_set_boolean (value, nm_setting_ppp_get_mppe_stateful (setting)); break; case PROP_CRTSCTS: - priv->crtscts = g_value_get_boolean (value); + g_value_set_boolean (value, nm_setting_ppp_get_crtscts (setting)); break; case PROP_BAUD: - priv->baud = g_value_get_uint (value); + g_value_set_uint (value, nm_setting_ppp_get_baud (setting)); break; case PROP_MRU: - priv->mru = g_value_get_uint (value); + g_value_set_uint (value, nm_setting_ppp_get_mru (setting)); break; case PROP_MTU: - priv->mtu = g_value_get_uint (value); + g_value_set_uint (value, nm_setting_ppp_get_mtu (setting)); break; case PROP_LCP_ECHO_FAILURE: - priv->lcp_echo_failure = g_value_get_uint (value); + g_value_set_uint (value, nm_setting_ppp_get_lcp_echo_failure (setting)); break; case PROP_LCP_ECHO_INTERVAL: - priv->lcp_echo_interval = g_value_get_uint (value); + g_value_set_uint (value, nm_setting_ppp_get_lcp_echo_interval (setting)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -453,65 +442,65 @@ set_property (GObject *object, guint prop_id, } static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) { - NMSettingPpp *setting = NM_SETTING_PPP (object); + NMSettingPppPrivate *priv = NM_SETTING_PPP_GET_PRIVATE (object); switch (prop_id) { case PROP_NOAUTH: - g_value_set_boolean (value, nm_setting_ppp_get_noauth (setting)); + priv->noauth = g_value_get_boolean (value); break; case PROP_REFUSE_EAP: - g_value_set_boolean (value, nm_setting_ppp_get_refuse_eap (setting)); + priv->refuse_eap = g_value_get_boolean (value); break; case PROP_REFUSE_PAP: - g_value_set_boolean (value, nm_setting_ppp_get_refuse_pap (setting)); + priv->refuse_pap = g_value_get_boolean (value); break; case PROP_REFUSE_CHAP: - g_value_set_boolean (value, nm_setting_ppp_get_refuse_chap (setting)); + priv->refuse_chap = g_value_get_boolean (value); break; case PROP_REFUSE_MSCHAP: - g_value_set_boolean (value, nm_setting_ppp_get_refuse_mschap (setting)); + priv->refuse_mschap = g_value_get_boolean (value); break; case PROP_REFUSE_MSCHAPV2: - g_value_set_boolean (value, nm_setting_ppp_get_refuse_mschapv2 (setting)); + priv->refuse_mschapv2 = g_value_get_boolean (value); break; case PROP_NOBSDCOMP: - g_value_set_boolean (value, nm_setting_ppp_get_nobsdcomp (setting)); + priv->nobsdcomp = g_value_get_boolean (value); break; case PROP_NODEFLATE: - g_value_set_boolean (value, nm_setting_ppp_get_nodeflate (setting)); + priv->nodeflate = g_value_get_boolean (value); break; case PROP_NO_VJ_COMP: - g_value_set_boolean (value, nm_setting_ppp_get_no_vj_comp (setting)); + priv->no_vj_comp = g_value_get_boolean (value); break; case PROP_REQUIRE_MPPE: - g_value_set_boolean (value, nm_setting_ppp_get_require_mppe (setting)); + priv->require_mppe = g_value_get_boolean (value); break; case PROP_REQUIRE_MPPE_128: - g_value_set_boolean (value, nm_setting_ppp_get_require_mppe_128 (setting)); + priv->require_mppe_128 = g_value_get_boolean (value); break; case PROP_MPPE_STATEFUL: - g_value_set_boolean (value, nm_setting_ppp_get_mppe_stateful (setting)); + priv->mppe_stateful = g_value_get_boolean (value); break; case PROP_CRTSCTS: - g_value_set_boolean (value, nm_setting_ppp_get_crtscts (setting)); + priv->crtscts = g_value_get_boolean (value); break; case PROP_BAUD: - g_value_set_uint (value, nm_setting_ppp_get_baud (setting)); + priv->baud = g_value_get_uint (value); break; case PROP_MRU: - g_value_set_uint (value, nm_setting_ppp_get_mru (setting)); + priv->mru = g_value_get_uint (value); break; case PROP_MTU: - g_value_set_uint (value, nm_setting_ppp_get_mtu (setting)); + priv->mtu = g_value_get_uint (value); break; case PROP_LCP_ECHO_FAILURE: - g_value_set_uint (value, nm_setting_ppp_get_lcp_echo_failure (setting)); + priv->lcp_echo_failure = g_value_get_uint (value); break; case PROP_LCP_ECHO_INTERVAL: - g_value_set_uint (value, nm_setting_ppp_get_lcp_echo_interval (setting)); + priv->lcp_echo_interval = g_value_get_uint (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -519,6 +508,26 @@ get_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + +static void +nm_setting_ppp_init (NMSettingPpp *setting) +{ +} + +/** + * nm_setting_ppp_new: + * + * Creates a new #NMSettingPpp object with default values. + * + * Returns: (transfer full): the new empty #NMSettingPpp object + **/ +NMSetting * +nm_setting_ppp_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_PPP, NULL); +} + static void nm_setting_ppp_class_init (NMSettingPppClass *klass) { @@ -527,8 +536,8 @@ nm_setting_ppp_class_init (NMSettingPppClass *klass) g_type_class_add_private (klass, sizeof (NMSettingPppPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-pppoe.c b/libnm-core/nm-setting-pppoe.c index 56412cd772..e316688856 100644 --- a/libnm-core/nm-setting-pppoe.c +++ b/libnm-core/nm-setting-pppoe.c @@ -22,9 +22,10 @@ #include "nm-default.h" +#include "nm-setting-pppoe.h" + #include <string.h> -#include "nm-setting-pppoe.h" #include "nm-setting-ppp.h" #include "nm-setting-private.h" #include "nm-core-enum-types.h" @@ -38,9 +39,15 @@ * to provide IP transport, for example cable or DSL modems. **/ -G_DEFINE_TYPE (NMSettingPppoe, nm_setting_pppoe, NM_TYPE_SETTING) +/*****************************************************************************/ -#define NM_SETTING_PPPOE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_PPPOE, NMSettingPppoePrivate)) +NM_GOBJECT_PROPERTIES_DEFINE_BASE ( + PROP_PARENT, + PROP_SERVICE, + PROP_USERNAME, + PROP_PASSWORD, + PROP_PASSWORD_FLAGS, +); typedef struct { char *parent; @@ -50,26 +57,11 @@ typedef struct { NMSettingSecretFlags password_flags; } NMSettingPppoePrivate; -NM_GOBJECT_PROPERTIES_DEFINE_BASE ( - PROP_PARENT, - PROP_SERVICE, - PROP_USERNAME, - PROP_PASSWORD, - PROP_PASSWORD_FLAGS, -); +G_DEFINE_TYPE (NMSettingPppoe, nm_setting_pppoe, NM_TYPE_SETTING) -/** - * nm_setting_pppoe_new: - * - * Creates a new #NMSettingPppoe object with default values. - * - * Returns: (transfer full): the new empty #NMSettingPppoe object - **/ -NMSetting * -nm_setting_pppoe_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_PPPOE, NULL); -} +#define NM_SETTING_PPPOE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_PPPOE, NMSettingPppoePrivate)) + +/*****************************************************************************/ /** * nm_setting_pppoe_get_parent: @@ -204,36 +196,29 @@ need_secrets (NMSetting *setting) return secrets; } -static void -nm_setting_pppoe_init (NMSettingPppoe *setting) -{ -} +/*****************************************************************************/ static void -set_property (GObject *object, guint prop_id, - const GValue *value, GParamSpec *pspec) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { - NMSettingPppoePrivate *priv = NM_SETTING_PPPOE_GET_PRIVATE (object); + NMSettingPppoe *setting = NM_SETTING_PPPOE (object); switch (prop_id) { case PROP_PARENT: - g_free (priv->parent); - priv->parent = g_value_dup_string (value); + g_value_set_string (value, nm_setting_pppoe_get_parent (setting)); break; case PROP_SERVICE: - g_free (priv->service); - priv->service = g_value_dup_string (value); + g_value_set_string (value, nm_setting_pppoe_get_service (setting)); break; case PROP_USERNAME: - g_free (priv->username); - priv->username = g_value_dup_string (value); + g_value_set_string (value, nm_setting_pppoe_get_username (setting)); break; case PROP_PASSWORD: - g_free (priv->password); - priv->password = g_value_dup_string (value); + g_value_set_string (value, nm_setting_pppoe_get_password (setting)); break; case PROP_PASSWORD_FLAGS: - priv->password_flags = g_value_get_flags (value); + g_value_set_flags (value, nm_setting_pppoe_get_password_flags (setting)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -242,26 +227,30 @@ set_property (GObject *object, guint prop_id, } static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) { - NMSettingPppoe *setting = NM_SETTING_PPPOE (object); + NMSettingPppoePrivate *priv = NM_SETTING_PPPOE_GET_PRIVATE (object); switch (prop_id) { case PROP_PARENT: - g_value_set_string (value, nm_setting_pppoe_get_parent (setting)); + g_free (priv->parent); + priv->parent = g_value_dup_string (value); break; case PROP_SERVICE: - g_value_set_string (value, nm_setting_pppoe_get_service (setting)); + g_free (priv->service); + priv->service = g_value_dup_string (value); break; case PROP_USERNAME: - g_value_set_string (value, nm_setting_pppoe_get_username (setting)); + g_free (priv->username); + priv->username = g_value_dup_string (value); break; case PROP_PASSWORD: - g_value_set_string (value, nm_setting_pppoe_get_password (setting)); + g_free (priv->password); + priv->password = g_value_dup_string (value); break; case PROP_PASSWORD_FLAGS: - g_value_set_flags (value, nm_setting_pppoe_get_password_flags (setting)); + priv->password_flags = g_value_get_flags (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -269,6 +258,26 @@ get_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + +static void +nm_setting_pppoe_init (NMSettingPppoe *setting) +{ +} + +/** + * nm_setting_pppoe_new: + * + * Creates a new #NMSettingPppoe object with default values. + * + * Returns: (transfer full): the new empty #NMSettingPppoe object + **/ +NMSetting * +nm_setting_pppoe_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_PPPOE, NULL); +} + static void finalize (GObject *object) { @@ -290,8 +299,8 @@ nm_setting_pppoe_class_init (NMSettingPppoeClass *klass) g_type_class_add_private (klass, sizeof (NMSettingPppoePrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-proxy.c b/libnm-core/nm-setting-proxy.c index 6649691c54..dbb69aeb91 100644 --- a/libnm-core/nm-setting-proxy.c +++ b/libnm-core/nm-setting-proxy.c @@ -22,6 +22,7 @@ #include "nm-default.h" #include "nm-setting-proxy.h" + #include "nm-utils.h" #include "nm-setting-private.h" @@ -39,9 +40,14 @@ * to fulfill client queries. **/ -G_DEFINE_TYPE (NMSettingProxy, nm_setting_proxy, NM_TYPE_SETTING) +/*****************************************************************************/ -#define NM_SETTING_PROXY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_PROXY, NMSettingProxyPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE_BASE ( + PROP_METHOD, + PROP_BROWSER_ONLY, + PROP_PAC_URL, + PROP_PAC_SCRIPT, +); typedef struct { NMSettingProxyMethod method; @@ -50,27 +56,11 @@ typedef struct { char *pac_script; } NMSettingProxyPrivate; -NM_GOBJECT_PROPERTIES_DEFINE_BASE ( - PROP_METHOD, - PROP_BROWSER_ONLY, - PROP_PAC_URL, - PROP_PAC_SCRIPT, -); +G_DEFINE_TYPE (NMSettingProxy, nm_setting_proxy, NM_TYPE_SETTING) -/** - * nm_setting_proxy_new: - * - * Creates a new #NMSettingProxy object. - * - * Returns: the new empty #NMSettingProxy object - * - * Since: 1.6 - **/ -NMSetting * -nm_setting_proxy_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_PROXY, NULL); -} +#define NM_SETTING_PROXY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_PROXY, NMSettingProxyPrivate)) + +/*****************************************************************************/ /** * nm_setting_proxy_get_method: @@ -210,22 +200,7 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) return TRUE; } -static void -nm_setting_proxy_init (NMSettingProxy *setting) -{ -} - -static void -finalize (GObject *object) -{ - NMSettingProxy *self = NM_SETTING_PROXY (object); - NMSettingProxyPrivate *priv = NM_SETTING_PROXY_GET_PRIVATE (self); - - g_free (priv->pac_url); - g_free (priv->pac_script); - - G_OBJECT_CLASS (nm_setting_proxy_parent_class)->finalize (object); -} +/*****************************************************************************/ static void get_property (GObject *object, guint prop_id, @@ -279,6 +254,40 @@ set_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + +static void +nm_setting_proxy_init (NMSettingProxy *setting) +{ +} + +/** + * nm_setting_proxy_new: + * + * Creates a new #NMSettingProxy object. + * + * Returns: the new empty #NMSettingProxy object + * + * Since: 1.6 + **/ +NMSetting * +nm_setting_proxy_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_PROXY, NULL); +} + +static void +finalize (GObject *object) +{ + NMSettingProxy *self = NM_SETTING_PROXY (object); + NMSettingProxyPrivate *priv = NM_SETTING_PROXY_GET_PRIVATE (self); + + g_free (priv->pac_url); + g_free (priv->pac_script); + + G_OBJECT_CLASS (nm_setting_proxy_parent_class)->finalize (object); +} + static void nm_setting_proxy_class_init (NMSettingProxyClass *klass) { @@ -287,8 +296,8 @@ nm_setting_proxy_class_init (NMSettingProxyClass *klass) g_type_class_add_private (klass, sizeof (NMSettingProxyPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-serial.c b/libnm-core/nm-setting-serial.c index c0efc23782..8b8bb76d64 100644 --- a/libnm-core/nm-setting-serial.c +++ b/libnm-core/nm-setting-serial.c @@ -22,9 +22,10 @@ #include "nm-default.h" +#include "nm-setting-serial.h" + #include <string.h> -#include "nm-setting-serial.h" #include "nm-setting-private.h" /** @@ -37,9 +38,15 @@ * such as mobile broadband or analog telephone connections. **/ -G_DEFINE_TYPE (NMSettingSerial, nm_setting_serial, NM_TYPE_SETTING) +/*****************************************************************************/ -#define NM_SETTING_SERIAL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_SERIAL, NMSettingSerialPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE_BASE ( + PROP_BAUD, + PROP_BITS, + PROP_PARITY, + PROP_STOPBITS, + PROP_SEND_DELAY, +); typedef struct { guint baud; @@ -49,26 +56,11 @@ typedef struct { guint64 send_delay; } NMSettingSerialPrivate; -NM_GOBJECT_PROPERTIES_DEFINE_BASE ( - PROP_BAUD, - PROP_BITS, - PROP_PARITY, - PROP_STOPBITS, - PROP_SEND_DELAY, -); +G_DEFINE_TYPE (NMSettingSerial, nm_setting_serial, NM_TYPE_SETTING) -/** - * nm_setting_serial_new: - * - * Creates a new #NMSettingSerial object with default values. - * - * Returns: (transfer full): the new empty #NMSettingSerial object - **/ -NMSetting * -nm_setting_serial_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_SERIAL, NULL); -} +#define NM_SETTING_SERIAL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_SERIAL, NMSettingSerialPrivate)) + +/*****************************************************************************/ /** * nm_setting_serial_get_baud: @@ -140,11 +132,6 @@ nm_setting_serial_get_send_delay (NMSettingSerial *setting) return NM_SETTING_SERIAL_GET_PRIVATE (setting)->send_delay; } -static void -nm_setting_serial_init (NMSettingSerial *setting) -{ -} - static GVariant * parity_to_dbus (const GValue *from) { @@ -176,27 +163,29 @@ parity_from_dbus (GVariant *from, GValue *to) } } +/*****************************************************************************/ + static void -set_property (GObject *object, guint prop_id, - const GValue *value, GParamSpec *pspec) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { - NMSettingSerialPrivate *priv = NM_SETTING_SERIAL_GET_PRIVATE (object); + NMSettingSerial *setting = NM_SETTING_SERIAL (object); switch (prop_id) { case PROP_BAUD: - priv->baud = g_value_get_uint (value); + g_value_set_uint (value, nm_setting_serial_get_baud (setting)); break; case PROP_BITS: - priv->bits = g_value_get_uint (value); + g_value_set_uint (value, nm_setting_serial_get_bits (setting)); break; case PROP_PARITY: - priv->parity = g_value_get_enum (value); + g_value_set_enum (value, nm_setting_serial_get_parity (setting)); break; case PROP_STOPBITS: - priv->stopbits = g_value_get_uint (value); + g_value_set_uint (value, nm_setting_serial_get_stopbits (setting)); break; case PROP_SEND_DELAY: - priv->send_delay = g_value_get_uint64 (value); + g_value_set_uint64 (value, nm_setting_serial_get_send_delay (setting)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -205,26 +194,26 @@ set_property (GObject *object, guint prop_id, } static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) { - NMSettingSerial *setting = NM_SETTING_SERIAL (object); + NMSettingSerialPrivate *priv = NM_SETTING_SERIAL_GET_PRIVATE (object); switch (prop_id) { case PROP_BAUD: - g_value_set_uint (value, nm_setting_serial_get_baud (setting)); + priv->baud = g_value_get_uint (value); break; case PROP_BITS: - g_value_set_uint (value, nm_setting_serial_get_bits (setting)); + priv->bits = g_value_get_uint (value); break; case PROP_PARITY: - g_value_set_enum (value, nm_setting_serial_get_parity (setting)); + priv->parity = g_value_get_enum (value); break; case PROP_STOPBITS: - g_value_set_uint (value, nm_setting_serial_get_stopbits (setting)); + priv->stopbits = g_value_get_uint (value); break; case PROP_SEND_DELAY: - g_value_set_uint64 (value, nm_setting_serial_get_send_delay (setting)); + priv->send_delay = g_value_get_uint64 (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -232,6 +221,26 @@ get_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + +static void +nm_setting_serial_init (NMSettingSerial *setting) +{ +} + +/** + * nm_setting_serial_new: + * + * Creates a new #NMSettingSerial object with default values. + * + * Returns: (transfer full): the new empty #NMSettingSerial object + **/ +NMSetting * +nm_setting_serial_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_SERIAL, NULL); +} + static void nm_setting_serial_class_init (NMSettingSerialClass *klass) { @@ -241,8 +250,8 @@ nm_setting_serial_class_init (NMSettingSerialClass *klass) g_type_class_add_private (klass, sizeof (NMSettingSerialPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; /** * NMSettingSerial:baud: diff --git a/libnm-core/nm-setting-sriov.c b/libnm-core/nm-setting-sriov.c index c43b82f39e..068d218574 100644 --- a/libnm-core/nm-setting-sriov.c +++ b/libnm-core/nm-setting-sriov.c @@ -15,6 +15,7 @@ #include "nm-default.h" #include "nm-setting-sriov.h" + #include "nm-setting-private.h" #include "nm-utils-private.h" @@ -24,6 +25,14 @@ * @include: nm-setting-sriov.h **/ +/*****************************************************************************/ + +NM_GOBJECT_PROPERTIES_DEFINE (NMSettingSriov, + PROP_TOTAL_VFS, + PROP_VFS, + PROP_AUTOPROBE_DRIVERS, +); + /** * NMSettingSriov: * @@ -44,12 +53,6 @@ struct _NMSettingSriovClass { G_DEFINE_TYPE (NMSettingSriov, nm_setting_sriov, NM_TYPE_SETTING) -NM_GOBJECT_PROPERTIES_DEFINE (NMSettingSriov, - PROP_TOTAL_VFS, - PROP_VFS, - PROP_AUTOPROBE_DRIVERS, -); - /*****************************************************************************/ G_DEFINE_BOXED_TYPE (NMSriovVF, nm_sriov_vf, nm_sriov_vf_dup, nm_sriov_vf_unref) @@ -702,21 +705,6 @@ nm_sriov_vf_get_vlan_protocol (const NMSriovVF *vf, guint vlan_id) /*****************************************************************************/ /** - * nm_setting_sriov_new: - * - * Creates a new #NMSettingSriov object with default values. - * - * Returns: (transfer full): the new empty #NMSettingSriov object - * - * Since: 1.14 - **/ -NMSetting * -nm_setting_sriov_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_SRIOV, NULL); -} - -/** * nm_setting_sriov_get_total_vfs: * @setting: the #NMSettingSriov * @@ -1136,24 +1124,58 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) return TRUE; } +static NMTernary +compare_property (const NMSettInfoSetting *sett_info, + guint property_idx, + NMSetting *setting, + NMSetting *other, + NMSettingCompareFlags flags) +{ + NMSettingSriov *a; + NMSettingSriov *b; + guint i; + + if (nm_streq (sett_info->property_infos[property_idx].name, NM_SETTING_SRIOV_VFS)) { + if (other) { + a = NM_SETTING_SRIOV (setting); + b = NM_SETTING_SRIOV (other); + + if (a->vfs->len != b->vfs->len) + return FALSE; + for (i = 0; i < a->vfs->len; i++) { + if (!nm_sriov_vf_equal (a->vfs->pdata[i], b->vfs->pdata[i])) + return FALSE; + } + } + return TRUE; + } + + return NM_SETTING_CLASS (nm_setting_sriov_parent_class)->compare_property (sett_info, + property_idx, + setting, + other, + flags); +} + +/*****************************************************************************/ + static void -set_property (GObject *object, guint prop_id, - const GValue *value, GParamSpec *pspec) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { NMSettingSriov *self = NM_SETTING_SRIOV (object); switch (prop_id) { case PROP_TOTAL_VFS: - self->total_vfs = g_value_get_uint (value); + g_value_set_uint (value, self->total_vfs); break; case PROP_VFS: - g_ptr_array_unref (self->vfs); - self->vfs = _nm_utils_copy_array (g_value_get_boxed (value), - (NMUtilsCopyFunc) nm_sriov_vf_dup, - (GDestroyNotify) nm_sriov_vf_unref); + g_value_take_boxed (value, _nm_utils_copy_array (self->vfs, + (NMUtilsCopyFunc) nm_sriov_vf_dup, + (GDestroyNotify) nm_sriov_vf_unref)); break; case PROP_AUTOPROBE_DRIVERS: - self->autoprobe_drivers = g_value_get_enum (value); + g_value_set_enum (value, self->autoprobe_drivers); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -1162,22 +1184,23 @@ set_property (GObject *object, guint prop_id, } static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) { NMSettingSriov *self = NM_SETTING_SRIOV (object); switch (prop_id) { case PROP_TOTAL_VFS: - g_value_set_uint (value, self->total_vfs); + self->total_vfs = g_value_get_uint (value); break; case PROP_VFS: - g_value_take_boxed (value, _nm_utils_copy_array (self->vfs, - (NMUtilsCopyFunc) nm_sriov_vf_dup, - (GDestroyNotify) nm_sriov_vf_unref)); + g_ptr_array_unref (self->vfs); + self->vfs = _nm_utils_copy_array (g_value_get_boxed (value), + (NMUtilsCopyFunc) nm_sriov_vf_dup, + (GDestroyNotify) nm_sriov_vf_unref); break; case PROP_AUTOPROBE_DRIVERS: - g_value_set_enum (value, self->autoprobe_drivers); + self->autoprobe_drivers = g_value_get_enum (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -1185,38 +1208,7 @@ get_property (GObject *object, guint prop_id, } } -static NMTernary -compare_property (const NMSettInfoSetting *sett_info, - guint property_idx, - NMSetting *setting, - NMSetting *other, - NMSettingCompareFlags flags) -{ - NMSettingSriov *a; - NMSettingSriov *b; - guint i; - - if (nm_streq (sett_info->property_infos[property_idx].name, NM_SETTING_SRIOV_VFS)) { - if (other) { - a = NM_SETTING_SRIOV (setting); - b = NM_SETTING_SRIOV (other); - - if (a->vfs->len != b->vfs->len) - return FALSE; - for (i = 0; i < a->vfs->len; i++) { - if (!nm_sriov_vf_equal (a->vfs->pdata[i], b->vfs->pdata[i])) - return FALSE; - } - } - return TRUE; - } - - return NM_SETTING_CLASS (nm_setting_sriov_parent_class)->compare_property (sett_info, - property_idx, - setting, - other, - flags); -} +/*****************************************************************************/ static void nm_setting_sriov_init (NMSettingSriov *setting) @@ -1224,6 +1216,21 @@ nm_setting_sriov_init (NMSettingSriov *setting) setting->vfs = g_ptr_array_new_with_free_func ((GDestroyNotify) nm_sriov_vf_unref); } +/** + * nm_setting_sriov_new: + * + * Creates a new #NMSettingSriov object with default values. + * + * Returns: (transfer full): the new empty #NMSettingSriov object + * + * Since: 1.14 + **/ +NMSetting * +nm_setting_sriov_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_SRIOV, NULL); +} + static void finalize (GObject *object) { diff --git a/libnm-core/nm-setting-tc-config.c b/libnm-core/nm-setting-tc-config.c index 95db21bc27..7425ae73f4 100644 --- a/libnm-core/nm-setting-tc-config.c +++ b/libnm-core/nm-setting-tc-config.c @@ -19,9 +19,10 @@ #include "nm-default.h" +#include "nm-setting-tc-config.h" + #include <linux/pkt_sched.h> -#include "nm-setting-tc-config.h" #include "nm-setting-private.h" /** @@ -833,20 +834,7 @@ struct _NMSettingTCConfigClass { G_DEFINE_TYPE (NMSettingTCConfig, nm_setting_tc_config, NM_TYPE_SETTING) -/** - * nm_setting_tc_config_new: - * - * Creates a new #NMSettingTCConfig object with default values. - * - * Returns: (transfer full): the new empty #NMSettingTCConfig object - * - * Since: 1.12 - **/ -NMSetting * -nm_setting_tc_config_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_TC_CONFIG, NULL); -} +/*****************************************************************************/ /** * nm_setting_tc_config_get_num_qdiscs: @@ -1122,65 +1110,6 @@ nm_setting_tc_config_clear_tfilters (NMSettingTCConfig *self) /*****************************************************************************/ -static void -set_property (GObject *object, guint prop_id, - const GValue *value, GParamSpec *pspec) -{ - NMSettingTCConfig *self = NM_SETTING_TC_CONFIG (object); - - switch (prop_id) { - case PROP_QDISCS: - g_ptr_array_unref (self->qdiscs); - self->qdiscs = _nm_utils_copy_array (g_value_get_boxed (value), - (NMUtilsCopyFunc) nm_tc_qdisc_dup, - (GDestroyNotify) nm_tc_qdisc_unref); - break; - case PROP_TFILTERS: - g_ptr_array_unref (self->tfilters); - self->tfilters = _nm_utils_copy_array (g_value_get_boxed (value), - (NMUtilsCopyFunc) nm_tc_tfilter_dup, - (GDestroyNotify) nm_tc_tfilter_unref); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) -{ - NMSettingTCConfig *self = NM_SETTING_TC_CONFIG (object); - - switch (prop_id) { - case PROP_QDISCS: - g_value_take_boxed (value, _nm_utils_copy_array (self->qdiscs, - (NMUtilsCopyFunc) nm_tc_qdisc_dup, - (GDestroyNotify) nm_tc_qdisc_unref)); - break; - case PROP_TFILTERS: - g_value_take_boxed (value, _nm_utils_copy_array (self->tfilters, - (NMUtilsCopyFunc) nm_tc_tfilter_dup, - (GDestroyNotify) nm_tc_tfilter_unref)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - -static void -finalize (GObject *object) -{ - NMSettingTCConfig *self = NM_SETTING_TC_CONFIG (object); - - g_ptr_array_unref (self->qdiscs); - g_ptr_array_unref (self->tfilters); - - G_OBJECT_CLASS (nm_setting_tc_config_parent_class)->finalize (object); -} - static gboolean verify (NMSetting *setting, NMConnection *connection, GError **error) { @@ -1272,13 +1201,6 @@ compare_property (const NMSettInfoSetting *sett_info, flags); } -static void -nm_setting_tc_config_init (NMSettingTCConfig *self) -{ - self->qdiscs = g_ptr_array_new_with_free_func ((GDestroyNotify) nm_tc_qdisc_unref); - self->tfilters = g_ptr_array_new_with_free_func ((GDestroyNotify) nm_tc_tfilter_unref); -} - /** * _qdiscs_to_variant: * @qdiscs: (element-type NMTCQdisc): an array of #NMTCQdisc objects @@ -1590,6 +1512,91 @@ tc_tfilters_set (NMSetting *setting, return TRUE; } +/*****************************************************************************/ + +static void +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) +{ + NMSettingTCConfig *self = NM_SETTING_TC_CONFIG (object); + + switch (prop_id) { + case PROP_QDISCS: + g_value_take_boxed (value, _nm_utils_copy_array (self->qdiscs, + (NMUtilsCopyFunc) nm_tc_qdisc_dup, + (GDestroyNotify) nm_tc_qdisc_unref)); + break; + case PROP_TFILTERS: + g_value_take_boxed (value, _nm_utils_copy_array (self->tfilters, + (NMUtilsCopyFunc) nm_tc_tfilter_dup, + (GDestroyNotify) nm_tc_tfilter_unref)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +static void +set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) +{ + NMSettingTCConfig *self = NM_SETTING_TC_CONFIG (object); + + switch (prop_id) { + case PROP_QDISCS: + g_ptr_array_unref (self->qdiscs); + self->qdiscs = _nm_utils_copy_array (g_value_get_boxed (value), + (NMUtilsCopyFunc) nm_tc_qdisc_dup, + (GDestroyNotify) nm_tc_qdisc_unref); + break; + case PROP_TFILTERS: + g_ptr_array_unref (self->tfilters); + self->tfilters = _nm_utils_copy_array (g_value_get_boxed (value), + (NMUtilsCopyFunc) nm_tc_tfilter_dup, + (GDestroyNotify) nm_tc_tfilter_unref); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +/*****************************************************************************/ + +static void +nm_setting_tc_config_init (NMSettingTCConfig *self) +{ + self->qdiscs = g_ptr_array_new_with_free_func ((GDestroyNotify) nm_tc_qdisc_unref); + self->tfilters = g_ptr_array_new_with_free_func ((GDestroyNotify) nm_tc_tfilter_unref); +} + +/** + * nm_setting_tc_config_new: + * + * Creates a new #NMSettingTCConfig object with default values. + * + * Returns: (transfer full): the new empty #NMSettingTCConfig object + * + * Since: 1.12 + **/ +NMSetting * +nm_setting_tc_config_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_TC_CONFIG, NULL); +} + +static void +finalize (GObject *object) +{ + NMSettingTCConfig *self = NM_SETTING_TC_CONFIG (object); + + g_ptr_array_unref (self->qdiscs); + g_ptr_array_unref (self->tfilters); + + G_OBJECT_CLASS (nm_setting_tc_config_parent_class)->finalize (object); +} + static void nm_setting_tc_config_class_init (NMSettingTCConfigClass *klass) { @@ -1597,8 +1604,8 @@ nm_setting_tc_config_class_init (NMSettingTCConfigClass *klass) NMSettingClass *setting_class = NM_SETTING_CLASS (klass); GArray *properties_override = _nm_sett_info_property_override_create_array (); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->compare_property = compare_property; diff --git a/libnm-core/nm-setting-team-port.c b/libnm-core/nm-setting-team-port.c index 99bcd88082..5277e9c01d 100644 --- a/libnm-core/nm-setting-team-port.c +++ b/libnm-core/nm-setting-team-port.c @@ -21,11 +21,12 @@ #include "nm-default.h" +#include "nm-setting-team-port.h" + #include <string.h> #include <ctype.h> #include <stdlib.h> -#include "nm-setting-team-port.h" #include "nm-utils.h" #include "nm-utils-private.h" #include "nm-connection-private.h" @@ -39,19 +40,7 @@ * optional properties that apply to team ports. **/ -G_DEFINE_TYPE (NMSettingTeamPort, nm_setting_team_port, NM_TYPE_SETTING) - -#define NM_SETTING_TEAM_PORT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_TEAM_PORT, NMSettingTeamPortPrivate)) - -typedef struct { - char *config; - int queue_id; - int prio; - gboolean sticky; - int lacp_prio; - int lacp_key; - GPtrArray *link_watchers; /* Array of NMTeamLinkWatcher */ -} NMSettingTeamPortPrivate; +/*****************************************************************************/ /* Keep aligned with _prop_to_keys[] */ NM_GOBJECT_PROPERTIES_DEFINE (NMSettingTeamPort, @@ -75,18 +64,21 @@ static const _NMUtilsTeamPropertyKeys _prop_to_keys[_PROPERTY_ENUMS_LAST] = { [PROP_LINK_WATCHERS] = { "link_watch", NULL, NULL, 0 } }; -/** - * nm_setting_team_port_new: - * - * Creates a new #NMSettingTeamPort object with default values. - * - * Returns: (transfer full): the new empty #NMSettingTeamPort object - **/ -NMSetting * -nm_setting_team_port_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_TEAM_PORT, NULL); -} +typedef struct { + char *config; + int queue_id; + int prio; + gboolean sticky; + int lacp_prio; + int lacp_key; + GPtrArray *link_watchers; /* Array of NMTeamLinkWatcher */ +} NMSettingTeamPortPrivate; + +G_DEFINE_TYPE (NMSettingTeamPort, nm_setting_team_port, NM_TYPE_SETTING) + +#define NM_SETTING_TEAM_PORT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_TEAM_PORT, NMSettingTeamPortPrivate)) + +/*****************************************************************************/ /** * nm_setting_team_port_get_config: @@ -462,18 +454,45 @@ compare_property (const NMSettInfoSetting *sett_info, flags); } +/*****************************************************************************/ + static void -nm_setting_team_port_init (NMSettingTeamPort *setting) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { + NMSettingTeamPort *setting = NM_SETTING_TEAM_PORT (object); NMSettingTeamPortPrivate *priv = NM_SETTING_TEAM_PORT_GET_PRIVATE (setting); - priv->queue_id = NM_SETTING_TEAM_PORT_QUEUE_ID_DEFAULT; - priv->lacp_prio = NM_SETTING_TEAM_PORT_LACP_PRIO_DEFAULT; - priv->link_watchers = g_ptr_array_new_with_free_func ((GDestroyNotify) nm_team_link_watcher_unref); + switch (prop_id) { + case PROP_CONFIG: + g_value_set_string (value, nm_setting_team_port_get_config (setting)); + break; + case PROP_QUEUE_ID: + g_value_set_int (value, priv->queue_id); + break; + case PROP_PRIO: + g_value_set_int (value, priv->prio); + break; + case PROP_STICKY: + g_value_set_boolean (value, priv->sticky); + break; + case PROP_LACP_PRIO: + g_value_set_int (value, priv->lacp_prio); + break; + case PROP_LACP_KEY: + g_value_set_int (value, priv->lacp_key); + break; + case PROP_LINK_WATCHERS: + g_value_take_boxed (value, _nm_utils_copy_array (priv->link_watchers, + (NMUtilsCopyFunc) nm_team_link_watcher_dup, + (GDestroyNotify) nm_team_link_watcher_unref)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } } -#define JSON_TO_VAL(typ, id) _nm_utils_json_extract_##typ (priv->config, _prop_to_keys[id], TRUE) - static void set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) @@ -482,6 +501,8 @@ set_property (GObject *object, guint prop_id, const GValue *align_value = NULL; gboolean align_config = FALSE; +#define JSON_TO_VAL(typ, id) _nm_utils_json_extract_##typ (priv->config, _prop_to_keys[id], TRUE) + switch (prop_id) { case PROP_CONFIG: g_free (priv->config); @@ -553,41 +574,29 @@ set_property (GObject *object, guint prop_id, _nm_utils_json_append_gvalue (&priv->config, _prop_to_keys[prop_id], align_value); } +/*****************************************************************************/ + static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +nm_setting_team_port_init (NMSettingTeamPort *setting) { - NMSettingTeamPort *setting = NM_SETTING_TEAM_PORT (object); NMSettingTeamPortPrivate *priv = NM_SETTING_TEAM_PORT_GET_PRIVATE (setting); - switch (prop_id) { - case PROP_CONFIG: - g_value_set_string (value, nm_setting_team_port_get_config (setting)); - break; - case PROP_QUEUE_ID: - g_value_set_int (value, priv->queue_id); - break; - case PROP_PRIO: - g_value_set_int (value, priv->prio); - break; - case PROP_STICKY: - g_value_set_boolean (value, priv->sticky); - break; - case PROP_LACP_PRIO: - g_value_set_int (value, priv->lacp_prio); - break; - case PROP_LACP_KEY: - g_value_set_int (value, priv->lacp_key); - break; - case PROP_LINK_WATCHERS: - g_value_take_boxed (value, _nm_utils_copy_array (priv->link_watchers, - (NMUtilsCopyFunc) nm_team_link_watcher_dup, - (GDestroyNotify) nm_team_link_watcher_unref)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } + priv->queue_id = NM_SETTING_TEAM_PORT_QUEUE_ID_DEFAULT; + priv->lacp_prio = NM_SETTING_TEAM_PORT_LACP_PRIO_DEFAULT; + priv->link_watchers = g_ptr_array_new_with_free_func ((GDestroyNotify) nm_team_link_watcher_unref); +} + +/** + * nm_setting_team_port_new: + * + * Creates a new #NMSettingTeamPort object with default values. + * + * Returns: (transfer full): the new empty #NMSettingTeamPort object + **/ +NMSetting * +nm_setting_team_port_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_TEAM_PORT, NULL); } static void @@ -610,8 +619,8 @@ nm_setting_team_port_class_init (NMSettingTeamPortClass *klass) g_type_class_add_private (klass, sizeof (NMSettingTeamPortPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->compare_property = compare_property; diff --git a/libnm-core/nm-setting-team.c b/libnm-core/nm-setting-team.c index ec4cf95a9f..3161c05f43 100644 --- a/libnm-core/nm-setting-team.c +++ b/libnm-core/nm-setting-team.c @@ -21,10 +21,11 @@ #include "nm-default.h" +#include "nm-setting-team.h" + #include <string.h> #include <stdlib.h> -#include "nm-setting-team.h" #include "nm-utils.h" #include "nm-utils-private.h" #include "nm-connection-private.h" @@ -624,29 +625,6 @@ nm_team_link_watcher_get_flags (NMTeamLinkWatcher *watcher) /*****************************************************************************/ -G_DEFINE_TYPE (NMSettingTeam, nm_setting_team, NM_TYPE_SETTING) - -#define NM_SETTING_TEAM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_TEAM, NMSettingTeamPrivate)) - -typedef struct { - char *config; - int notify_peers_count; - int notify_peers_interval; - int mcast_rejoin_count; - int mcast_rejoin_interval; - char *runner; - char *runner_hwaddr_policy; - GPtrArray *runner_tx_hash; - char *runner_tx_balancer; - int runner_tx_balancer_interval; - gboolean runner_active; - gboolean runner_fast_rate; - int runner_sys_prio; - int runner_min_ports; - char *runner_agg_select_policy; - GPtrArray *link_watchers; /* Array of NMTeamLinkWatcher */ -} NMSettingTeamPrivate; - /* Keep aligned with _prop_to_keys[] */ NM_GOBJECT_PROPERTIES_DEFINE (NMSettingTeam, PROP_CONFIG, @@ -688,18 +666,30 @@ static const _NMUtilsTeamPropertyKeys _prop_to_keys[_PROPERTY_ENUMS_LAST] = { [PROP_LINK_WATCHERS] = { "link_watch", NULL, NULL, 0 } }; -/** - * nm_setting_team_new: - * - * Creates a new #NMSettingTeam object with default values. - * - * Returns: (transfer full): the new empty #NMSettingTeam object - **/ -NMSetting * -nm_setting_team_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_TEAM, NULL); -} +typedef struct { + char *config; + int notify_peers_count; + int notify_peers_interval; + int mcast_rejoin_count; + int mcast_rejoin_interval; + char *runner; + char *runner_hwaddr_policy; + GPtrArray *runner_tx_hash; + char *runner_tx_balancer; + int runner_tx_balancer_interval; + gboolean runner_active; + gboolean runner_fast_rate; + int runner_sys_prio; + int runner_min_ports; + char *runner_agg_select_policy; + GPtrArray *link_watchers; /* Array of NMTeamLinkWatcher */ +} NMSettingTeamPrivate; + +G_DEFINE_TYPE (NMSettingTeam, nm_setting_team, NM_TYPE_SETTING) + +#define NM_SETTING_TEAM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_TEAM, NMSettingTeamPrivate)) + +/*****************************************************************************/ /** * nm_setting_team_get_config: @@ -1357,35 +1347,6 @@ compare_property (const NMSettInfoSetting *sett_info, flags); } -static void -nm_setting_team_init (NMSettingTeam *setting) -{ - NMSettingTeamPrivate *priv = NM_SETTING_TEAM_GET_PRIVATE (setting); - - priv->runner = g_strdup (NM_SETTING_TEAM_RUNNER_ROUNDROBIN); - priv->runner_tx_balancer_interval = -1; - priv->runner_sys_prio = -1; - priv->runner_min_ports = -1; - priv->link_watchers = g_ptr_array_new_with_free_func ((GDestroyNotify) nm_team_link_watcher_unref); -} - -static void -finalize (GObject *object) -{ - NMSettingTeamPrivate *priv = NM_SETTING_TEAM_GET_PRIVATE (object); - - g_free (priv->config); - g_free (priv->runner); - g_free (priv->runner_hwaddr_policy); - g_free (priv->runner_tx_balancer); - g_free (priv->runner_agg_select_policy); - if (priv->runner_tx_hash) - g_ptr_array_unref (priv->runner_tx_hash); - g_ptr_array_unref (priv->link_watchers); - - G_OBJECT_CLASS (nm_setting_team_parent_class)->finalize (object); -} - #define JSON_TO_VAL(typ, id) _nm_utils_json_extract_##typ (priv->config, _prop_to_keys[id], FALSE) static void @@ -1430,6 +1391,73 @@ _align_team_properties (NMSettingTeam *setting) priv->link_watchers = JSON_TO_VAL (ptr_array, PROP_LINK_WATCHERS); } +/*****************************************************************************/ + +static void +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) +{ + NMSettingTeam *setting = NM_SETTING_TEAM (object); + NMSettingTeamPrivate *priv = NM_SETTING_TEAM_GET_PRIVATE (setting); + + switch (prop_id) { + case PROP_CONFIG: + g_value_set_string (value, nm_setting_team_get_config (setting)); + break; + case PROP_NOTIFY_PEERS_COUNT: + g_value_set_int (value, priv->notify_peers_count); + break; + case PROP_NOTIFY_PEERS_INTERVAL: + g_value_set_int (value, priv->notify_peers_interval); + break; + case PROP_MCAST_REJOIN_COUNT: + g_value_set_int (value, priv->mcast_rejoin_count); + break; + case PROP_MCAST_REJOIN_INTERVAL: + g_value_set_int (value, priv->mcast_rejoin_interval); + break; + case PROP_RUNNER: + g_value_set_string (value, nm_setting_team_get_runner (setting)); + break; + case PROP_RUNNER_HWADDR_POLICY: + g_value_set_string (value, nm_setting_team_get_runner_hwaddr_policy (setting)); + break; + case PROP_RUNNER_TX_HASH: + g_value_take_boxed (value, priv->runner_tx_hash ? + _nm_utils_ptrarray_to_strv (priv->runner_tx_hash): NULL); + break; + case PROP_RUNNER_TX_BALANCER: + g_value_set_string (value, nm_setting_team_get_runner_tx_balancer (setting)); + break; + case PROP_RUNNER_TX_BALANCER_INTERVAL: + g_value_set_int (value, priv->runner_tx_balancer_interval); + break; + case PROP_RUNNER_ACTIVE: + g_value_set_boolean (value, nm_setting_team_get_runner_active (setting)); + break; + case PROP_RUNNER_FAST_RATE: + g_value_set_boolean (value, nm_setting_team_get_runner_fast_rate (setting)); + break; + case PROP_RUNNER_SYS_PRIO: + g_value_set_int (value, priv->runner_sys_prio); + break; + case PROP_RUNNER_MIN_PORTS: + g_value_set_int (value, priv->runner_min_ports); + break; + case PROP_RUNNER_AGG_SELECT_POLICY: + g_value_set_string (value, nm_setting_team_get_runner_agg_select_policy (setting)); + break; + case PROP_LINK_WATCHERS: + g_value_take_boxed (value, _nm_utils_copy_array (priv->link_watchers, + (NMUtilsCopyFunc) nm_team_link_watcher_dup, + (GDestroyNotify) nm_team_link_watcher_unref)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + static void set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) @@ -1573,69 +1601,48 @@ set_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +nm_setting_team_init (NMSettingTeam *setting) { - NMSettingTeam *setting = NM_SETTING_TEAM (object); NMSettingTeamPrivate *priv = NM_SETTING_TEAM_GET_PRIVATE (setting); - switch (prop_id) { - case PROP_CONFIG: - g_value_set_string (value, nm_setting_team_get_config (setting)); - break; - case PROP_NOTIFY_PEERS_COUNT: - g_value_set_int (value, priv->notify_peers_count); - break; - case PROP_NOTIFY_PEERS_INTERVAL: - g_value_set_int (value, priv->notify_peers_interval); - break; - case PROP_MCAST_REJOIN_COUNT: - g_value_set_int (value, priv->mcast_rejoin_count); - break; - case PROP_MCAST_REJOIN_INTERVAL: - g_value_set_int (value, priv->mcast_rejoin_interval); - break; - case PROP_RUNNER: - g_value_set_string (value, nm_setting_team_get_runner (setting)); - break; - case PROP_RUNNER_HWADDR_POLICY: - g_value_set_string (value, nm_setting_team_get_runner_hwaddr_policy (setting)); - break; - case PROP_RUNNER_TX_HASH: - g_value_take_boxed (value, priv->runner_tx_hash ? - _nm_utils_ptrarray_to_strv (priv->runner_tx_hash): NULL); - break; - case PROP_RUNNER_TX_BALANCER: - g_value_set_string (value, nm_setting_team_get_runner_tx_balancer (setting)); - break; - case PROP_RUNNER_TX_BALANCER_INTERVAL: - g_value_set_int (value, priv->runner_tx_balancer_interval); - break; - case PROP_RUNNER_ACTIVE: - g_value_set_boolean (value, nm_setting_team_get_runner_active (setting)); - break; - case PROP_RUNNER_FAST_RATE: - g_value_set_boolean (value, nm_setting_team_get_runner_fast_rate (setting)); - break; - case PROP_RUNNER_SYS_PRIO: - g_value_set_int (value, priv->runner_sys_prio); - break; - case PROP_RUNNER_MIN_PORTS: - g_value_set_int (value, priv->runner_min_ports); - break; - case PROP_RUNNER_AGG_SELECT_POLICY: - g_value_set_string (value, nm_setting_team_get_runner_agg_select_policy (setting)); - break; - case PROP_LINK_WATCHERS: - g_value_take_boxed (value, _nm_utils_copy_array (priv->link_watchers, - (NMUtilsCopyFunc) nm_team_link_watcher_dup, - (GDestroyNotify) nm_team_link_watcher_unref)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } + priv->runner = g_strdup (NM_SETTING_TEAM_RUNNER_ROUNDROBIN); + priv->runner_tx_balancer_interval = -1; + priv->runner_sys_prio = -1; + priv->runner_min_ports = -1; + priv->link_watchers = g_ptr_array_new_with_free_func ((GDestroyNotify) nm_team_link_watcher_unref); +} + +/** + * nm_setting_team_new: + * + * Creates a new #NMSettingTeam object with default values. + * + * Returns: (transfer full): the new empty #NMSettingTeam object + **/ +NMSetting * +nm_setting_team_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_TEAM, NULL); +} + +static void +finalize (GObject *object) +{ + NMSettingTeamPrivate *priv = NM_SETTING_TEAM_GET_PRIVATE (object); + + g_free (priv->config); + g_free (priv->runner); + g_free (priv->runner_hwaddr_policy); + g_free (priv->runner_tx_balancer); + g_free (priv->runner_agg_select_policy); + if (priv->runner_tx_hash) + g_ptr_array_unref (priv->runner_tx_hash); + g_ptr_array_unref (priv->link_watchers); + + G_OBJECT_CLASS (nm_setting_team_parent_class)->finalize (object); } static void @@ -1647,8 +1654,8 @@ nm_setting_team_class_init (NMSettingTeamClass *klass) g_type_class_add_private (klass, sizeof (NMSettingTeamPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->compare_property = compare_property; diff --git a/libnm-core/nm-setting-tun.c b/libnm-core/nm-setting-tun.c index 6aa33e11c6..348c9fc1ba 100644 --- a/libnm-core/nm-setting-tun.c +++ b/libnm-core/nm-setting-tun.c @@ -21,10 +21,11 @@ #include "nm-default.h" +#include "nm-setting-tun.h" + #include <stdlib.h> #include <string.h> -#include "nm-setting-tun.h" #include "nm-utils.h" #include "nm-setting-connection.h" #include "nm-setting-private.h" @@ -38,9 +39,16 @@ * necessary for connection to TUN/TAP interfaces. **/ -G_DEFINE_TYPE (NMSettingTun, nm_setting_tun, NM_TYPE_SETTING) +/*****************************************************************************/ -#define NM_SETTING_TUN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_TUN, NMSettingTunPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE_BASE ( + PROP_MODE, + PROP_OWNER, + PROP_GROUP, + PROP_PI, + PROP_VNET_HDR, + PROP_MULTI_QUEUE, +); typedef struct { NMSettingTunMode mode; @@ -51,29 +59,11 @@ typedef struct { gboolean multi_queue; } NMSettingTunPrivate; -NM_GOBJECT_PROPERTIES_DEFINE_BASE ( - PROP_MODE, - PROP_OWNER, - PROP_GROUP, - PROP_PI, - PROP_VNET_HDR, - PROP_MULTI_QUEUE, -); +G_DEFINE_TYPE (NMSettingTun, nm_setting_tun, NM_TYPE_SETTING) -/** - * nm_setting_tun_new: - * - * Creates a new #NMSettingTun object with default values. - * - * Returns: (transfer full): the new empty #NMSettingTun object - * - * Since: 1.2 - **/ -NMSetting * -nm_setting_tun_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_TUN, NULL); -} +#define NM_SETTING_TUN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_TUN, NMSettingTunPrivate)) + +/*****************************************************************************/ /** * nm_setting_tun_get_mode: @@ -165,11 +155,6 @@ nm_setting_tun_get_multi_queue (NMSettingTun *setting) return NM_SETTING_TUN_GET_PRIVATE (setting)->multi_queue; } -static void -nm_setting_tun_init (NMSettingTun *setting) -{ -} - static gboolean verify (NMSetting *setting, NMConnection *connection, GError **error) { @@ -210,70 +195,94 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) return TRUE; } +/*****************************************************************************/ + static void -set_property (GObject *object, guint prop_id, - const GValue *value, GParamSpec *pspec) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { NMSettingTun *setting = NM_SETTING_TUN (object); NMSettingTunPrivate *priv = NM_SETTING_TUN_GET_PRIVATE (setting); switch (prop_id) { case PROP_MODE: - priv->mode = g_value_get_uint (value); + g_value_set_uint (value, priv->mode); break; case PROP_OWNER: - g_free (priv->owner); - priv->owner = g_value_dup_string (value); + g_value_set_string (value, priv->owner); break; case PROP_GROUP: - g_free (priv->group); - priv->group = g_value_dup_string (value); + g_value_set_string (value, priv->group); break; case PROP_PI: - priv->pi = g_value_get_boolean (value); + g_value_set_boolean (value, priv->pi); break; case PROP_VNET_HDR: - priv->vnet_hdr = g_value_get_boolean (value); + g_value_set_boolean (value, priv->vnet_hdr); break; case PROP_MULTI_QUEUE: - priv->multi_queue = g_value_get_boolean (value); + g_value_set_boolean (value, priv->multi_queue); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } + static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) { NMSettingTun *setting = NM_SETTING_TUN (object); NMSettingTunPrivate *priv = NM_SETTING_TUN_GET_PRIVATE (setting); switch (prop_id) { case PROP_MODE: - g_value_set_uint (value, priv->mode); + priv->mode = g_value_get_uint (value); break; case PROP_OWNER: - g_value_set_string (value, priv->owner); + g_free (priv->owner); + priv->owner = g_value_dup_string (value); break; case PROP_GROUP: - g_value_set_string (value, priv->group); + g_free (priv->group); + priv->group = g_value_dup_string (value); break; case PROP_PI: - g_value_set_boolean (value, priv->pi); + priv->pi = g_value_get_boolean (value); break; case PROP_VNET_HDR: - g_value_set_boolean (value, priv->vnet_hdr); + priv->vnet_hdr = g_value_get_boolean (value); break; case PROP_MULTI_QUEUE: - g_value_set_boolean (value, priv->multi_queue); + priv->multi_queue = g_value_get_boolean (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); break; } } +/*****************************************************************************/ + +static void +nm_setting_tun_init (NMSettingTun *setting) +{ +} + +/** + * nm_setting_tun_new: + * + * Creates a new #NMSettingTun object with default values. + * + * Returns: (transfer full): the new empty #NMSettingTun object + * + * Since: 1.2 + **/ +NMSetting * +nm_setting_tun_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_TUN, NULL); +} static void finalize (GObject *object) @@ -295,8 +304,8 @@ nm_setting_tun_class_init (NMSettingTunClass *klass) g_type_class_add_private (klass, sizeof (NMSettingTunPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-user.c b/libnm-core/nm-setting-user.c index cef02092c8..01ac671b14 100644 --- a/libnm-core/nm-setting-user.c +++ b/libnm-core/nm-setting-user.c @@ -550,8 +550,8 @@ nm_setting_user_class_init (NMSettingUserClass *klass) NMSettingClass *setting_class = NM_SETTING_CLASS (klass); GArray *properties_override = _nm_sett_info_property_override_create_array (); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->compare_property = compare_property; @@ -584,15 +584,14 @@ nm_setting_user_class_init (NMSettingUserClass *klass) G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS); - g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties); - _properties_override_add_transform (properties_override, - g_object_class_find_property (G_OBJECT_CLASS (setting_class), - NM_SETTING_USER_DATA), + obj_properties[PROP_DATA], G_VARIANT_TYPE ("a{ss}"), _nm_utils_strdict_to_dbus, _nm_utils_strdict_from_dbus); + g_object_class_install_properties (object_class, _PROPERTY_ENUMS_LAST, obj_properties); + _nm_setting_class_commit_full (setting_class, NM_META_SETTING_TYPE_USER, NULL, properties_override); } diff --git a/libnm-core/nm-setting-vlan.c b/libnm-core/nm-setting-vlan.c index c077800f4f..4eba1626fe 100644 --- a/libnm-core/nm-setting-vlan.c +++ b/libnm-core/nm-setting-vlan.c @@ -41,9 +41,15 @@ * necessary for connection to VLAN interfaces. **/ -G_DEFINE_TYPE (NMSettingVlan, nm_setting_vlan, NM_TYPE_SETTING) +/*****************************************************************************/ -#define NM_SETTING_VLAN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_VLAN, NMSettingVlanPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE (NMSettingVlan, + PROP_PARENT, + PROP_ID, + PROP_FLAGS, + PROP_INGRESS_PRIORITY_MAP, + PROP_EGRESS_PRIORITY_MAP, +); typedef struct { char *parent; @@ -53,31 +59,16 @@ typedef struct { GSList *egress_priority_map; } NMSettingVlanPrivate; -NM_GOBJECT_PROPERTIES_DEFINE (NMSettingVlan, - PROP_PARENT, - PROP_ID, - PROP_FLAGS, - PROP_INGRESS_PRIORITY_MAP, - PROP_EGRESS_PRIORITY_MAP, -); +G_DEFINE_TYPE (NMSettingVlan, nm_setting_vlan, NM_TYPE_SETTING) + +#define NM_SETTING_VLAN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_VLAN, NMSettingVlanPrivate)) + +/*****************************************************************************/ #define MAX_SKB_PRIO G_MAXUINT32 #define MAX_8021P_PRIO 7 /* Max 802.1p priority */ /** - * nm_setting_vlan_new: - * - * Creates a new #NMSettingVlan object with default values. - * - * Returns: (transfer full): the new empty #NMSettingVlan object - **/ -NMSetting * -nm_setting_vlan_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_VLAN, NULL); -} - -/** * nm_setting_vlan_get_parent: * @setting: the #NMSettingVlan * @@ -591,11 +582,6 @@ nm_setting_vlan_clear_priorities (NMSettingVlan *setting, NMVlanPriorityMap map) /*****************************************************************************/ -static void -nm_setting_vlan_init (NMSettingVlan *setting) -{ -} - static int verify (NMSetting *setting, NMConnection *connection, GError **error) { @@ -734,38 +720,6 @@ priority_strv_to_maplist (NMVlanPriorityMap map, char **strv) return g_slist_sort (list, prio_map_compare); } -static void -set_property (GObject *object, guint prop_id, - const GValue *value, GParamSpec *pspec) -{ - NMSettingVlan *setting = NM_SETTING_VLAN (object); - NMSettingVlanPrivate *priv = NM_SETTING_VLAN_GET_PRIVATE (setting); - - switch (prop_id) { - case PROP_PARENT: - g_free (priv->parent); - priv->parent = g_value_dup_string (value); - break; - case PROP_ID: - priv->id = g_value_get_uint (value); - break; - case PROP_FLAGS: - priv->flags = g_value_get_flags (value); - break; - case PROP_INGRESS_PRIORITY_MAP: - g_slist_free_full (priv->ingress_priority_map, g_free); - priv->ingress_priority_map = priority_strv_to_maplist (NM_VLAN_INGRESS_MAP, g_value_get_boxed (value)); - break; - case PROP_EGRESS_PRIORITY_MAP: - g_slist_free_full (priv->egress_priority_map, g_free); - priv->egress_priority_map = priority_strv_to_maplist (NM_VLAN_EGRESS_MAP, g_value_get_boxed (value)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } -} - static char ** priority_maplist_to_strv (GSList *list) { @@ -784,6 +738,8 @@ priority_maplist_to_strv (GSList *list) return (char **) g_ptr_array_free (strv, FALSE); } +/*****************************************************************************/ + static void get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) @@ -814,6 +770,58 @@ get_property (GObject *object, guint prop_id, } static void +set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) +{ + NMSettingVlan *setting = NM_SETTING_VLAN (object); + NMSettingVlanPrivate *priv = NM_SETTING_VLAN_GET_PRIVATE (setting); + + switch (prop_id) { + case PROP_PARENT: + g_free (priv->parent); + priv->parent = g_value_dup_string (value); + break; + case PROP_ID: + priv->id = g_value_get_uint (value); + break; + case PROP_FLAGS: + priv->flags = g_value_get_flags (value); + break; + case PROP_INGRESS_PRIORITY_MAP: + g_slist_free_full (priv->ingress_priority_map, g_free); + priv->ingress_priority_map = priority_strv_to_maplist (NM_VLAN_INGRESS_MAP, g_value_get_boxed (value)); + break; + case PROP_EGRESS_PRIORITY_MAP: + g_slist_free_full (priv->egress_priority_map, g_free); + priv->egress_priority_map = priority_strv_to_maplist (NM_VLAN_EGRESS_MAP, g_value_get_boxed (value)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } +} + +/*****************************************************************************/ + +static void +nm_setting_vlan_init (NMSettingVlan *setting) +{ +} + +/** + * nm_setting_vlan_new: + * + * Creates a new #NMSettingVlan object with default values. + * + * Returns: (transfer full): the new empty #NMSettingVlan object + **/ +NMSetting * +nm_setting_vlan_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_VLAN, NULL); +} + +static void finalize (GObject *object) { NMSettingVlan *setting = NM_SETTING_VLAN (object); @@ -835,8 +843,8 @@ nm_setting_vlan_class_init (NMSettingVlanClass *klass) g_type_class_add_private (klass, sizeof (NMSettingVlanPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-vpn.c b/libnm-core/nm-setting-vpn.c index 3e074c29d5..62ed373df7 100644 --- a/libnm-core/nm-setting-vpn.c +++ b/libnm-core/nm-setting-vpn.c @@ -21,13 +21,13 @@ #include "nm-default.h" +#include "nm-setting-vpn.h" + #include <string.h> #include <errno.h> #include <stdlib.h> #include "nm-utils/nm-secret-utils.h" - -#include "nm-setting-vpn.h" #include "nm-utils.h" #include "nm-utils-private.h" #include "nm-setting-private.h" @@ -45,9 +45,16 @@ * properties. **/ -G_DEFINE_TYPE (NMSettingVpn, nm_setting_vpn, NM_TYPE_SETTING) +/*****************************************************************************/ -#define NM_SETTING_VPN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_VPN, NMSettingVpnPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE (NMSettingVpn, + PROP_SERVICE_TYPE, + PROP_USER_NAME, + PROP_PERSISTENT, + PROP_DATA, + PROP_SECRETS, + PROP_TIMEOUT, +); typedef struct { char *service_type; @@ -85,27 +92,11 @@ typedef struct { guint32 timeout; } NMSettingVpnPrivate; -NM_GOBJECT_PROPERTIES_DEFINE (NMSettingVpn, - PROP_SERVICE_TYPE, - PROP_USER_NAME, - PROP_PERSISTENT, - PROP_DATA, - PROP_SECRETS, - PROP_TIMEOUT, -); +G_DEFINE_TYPE (NMSettingVpn, nm_setting_vpn, NM_TYPE_SETTING) -/** - * nm_setting_vpn_new: - * - * Creates a new #NMSettingVpn object with default values. - * - * Returns: (transfer full): the new empty #NMSettingVpn object - **/ -NMSetting * -nm_setting_vpn_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_VPN, NULL); -} +#define NM_SETTING_VPN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_VPN, NMSettingVpnPrivate)) + +/*****************************************************************************/ /** * nm_setting_vpn_get_service_type: @@ -853,26 +844,38 @@ clear_secrets_with_flags (NMSetting *setting, return changed; } -static void -nm_setting_vpn_init (NMSettingVpn *setting) -{ - NMSettingVpnPrivate *priv = NM_SETTING_VPN_GET_PRIVATE (setting); - - priv->data = g_hash_table_new_full (nm_str_hash, g_str_equal, g_free, g_free); - priv->secrets = g_hash_table_new_full (nm_str_hash, g_str_equal, g_free, (GDestroyNotify) nm_free_secret); -} +/*****************************************************************************/ static void -finalize (GObject *object) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { - NMSettingVpnPrivate *priv = NM_SETTING_VPN_GET_PRIVATE (object); - - g_free (priv->service_type); - g_free (priv->user_name); - g_hash_table_destroy (priv->data); - g_hash_table_destroy (priv->secrets); + NMSettingVpn *setting = NM_SETTING_VPN (object); + NMSettingVpnPrivate *priv = NM_SETTING_VPN_GET_PRIVATE (setting); - G_OBJECT_CLASS (nm_setting_vpn_parent_class)->finalize (object); + switch (prop_id) { + case PROP_SERVICE_TYPE: + g_value_set_string (value, nm_setting_vpn_get_service_type (setting)); + break; + case PROP_USER_NAME: + g_value_set_string (value, nm_setting_vpn_get_user_name (setting)); + break; + case PROP_PERSISTENT: + g_value_set_boolean (value, priv->persistent); + break; + case PROP_DATA: + g_value_take_boxed (value, _nm_utils_copy_strdict (priv->data)); + break; + case PROP_SECRETS: + g_value_take_boxed (value, _nm_utils_copy_strdict (priv->secrets)); + break; + case PROP_TIMEOUT: + g_value_set_uint (value, nm_setting_vpn_get_timeout (setting)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } } static void @@ -910,36 +913,41 @@ set_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +nm_setting_vpn_init (NMSettingVpn *setting) { - NMSettingVpn *setting = NM_SETTING_VPN (object); NMSettingVpnPrivate *priv = NM_SETTING_VPN_GET_PRIVATE (setting); - switch (prop_id) { - case PROP_SERVICE_TYPE: - g_value_set_string (value, nm_setting_vpn_get_service_type (setting)); - break; - case PROP_USER_NAME: - g_value_set_string (value, nm_setting_vpn_get_user_name (setting)); - break; - case PROP_PERSISTENT: - g_value_set_boolean (value, priv->persistent); - break; - case PROP_DATA: - g_value_take_boxed (value, _nm_utils_copy_strdict (priv->data)); - break; - case PROP_SECRETS: - g_value_take_boxed (value, _nm_utils_copy_strdict (priv->secrets)); - break; - case PROP_TIMEOUT: - g_value_set_uint (value, nm_setting_vpn_get_timeout (setting)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } + priv->data = g_hash_table_new_full (nm_str_hash, g_str_equal, g_free, g_free); + priv->secrets = g_hash_table_new_full (nm_str_hash, g_str_equal, g_free, (GDestroyNotify) nm_free_secret); +} + +/** + * nm_setting_vpn_new: + * + * Creates a new #NMSettingVpn object with default values. + * + * Returns: (transfer full): the new empty #NMSettingVpn object + **/ +NMSetting * +nm_setting_vpn_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_VPN, NULL); +} + +static void +finalize (GObject *object) +{ + NMSettingVpnPrivate *priv = NM_SETTING_VPN_GET_PRIVATE (object); + + g_free (priv->service_type); + g_free (priv->user_name); + g_hash_table_destroy (priv->data); + g_hash_table_destroy (priv->secrets); + + G_OBJECT_CLASS (nm_setting_vpn_parent_class)->finalize (object); } static void @@ -951,8 +959,8 @@ nm_setting_vpn_class_init (NMSettingVpnClass *klass) g_type_class_add_private (klass, sizeof (NMSettingVpnPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-vxlan.c b/libnm-core/nm-setting-vxlan.c index cd64f2dad8..0c21be27db 100644 --- a/libnm-core/nm-setting-vxlan.c +++ b/libnm-core/nm-setting-vxlan.c @@ -21,10 +21,11 @@ #include "nm-default.h" +#include "nm-setting-vxlan.h" + #include <stdlib.h> #include <string.h> -#include "nm-setting-vxlan.h" #include "nm-utils.h" #include "nm-setting-private.h" @@ -36,9 +37,28 @@ * necessary for connection to VXLAN interfaces. **/ -G_DEFINE_TYPE (NMSettingVxlan, nm_setting_vxlan, NM_TYPE_SETTING) +#define DST_PORT_DEFAULT 8472 -#define NM_SETTING_VXLAN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_VXLAN, NMSettingVxlanPrivate)) +/*****************************************************************************/ + +NM_GOBJECT_PROPERTIES_DEFINE_BASE ( + PROP_PARENT, + PROP_ID, + PROP_LOCAL, + PROP_REMOTE, + PROP_SOURCE_PORT_MIN, + PROP_SOURCE_PORT_MAX, + PROP_DESTINATION_PORT, + PROP_TOS, + PROP_TTL, + PROP_AGEING, + PROP_LIMIT, + PROP_LEARNING, + PROP_PROXY, + PROP_RSC, + PROP_L2_MISS, + PROP_L3_MISS, +); typedef struct { char *parent; @@ -59,41 +79,11 @@ typedef struct { gboolean l3_miss; } NMSettingVxlanPrivate; -NM_GOBJECT_PROPERTIES_DEFINE_BASE ( - PROP_PARENT, - PROP_ID, - PROP_LOCAL, - PROP_REMOTE, - PROP_SOURCE_PORT_MIN, - PROP_SOURCE_PORT_MAX, - PROP_DESTINATION_PORT, - PROP_TOS, - PROP_TTL, - PROP_AGEING, - PROP_LIMIT, - PROP_LEARNING, - PROP_PROXY, - PROP_RSC, - PROP_L2_MISS, - PROP_L3_MISS, -); +G_DEFINE_TYPE (NMSettingVxlan, nm_setting_vxlan, NM_TYPE_SETTING) -#define DST_PORT_DEFAULT 8472 +#define NM_SETTING_VXLAN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_VXLAN, NMSettingVxlanPrivate)) -/** - * nm_setting_vxlan_new: - * - * Creates a new #NMSettingVxlan object with default values. - * - * Returns: (transfer full): the new empty #NMSettingVxlan object - * - * Since: 1.2 - **/ -NMSetting * -nm_setting_vxlan_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_VXLAN, NULL); -} +/*****************************************************************************/ /** * nm_setting_vxlan_get_parent: @@ -337,11 +327,6 @@ nm_setting_vxlan_get_l3_miss (NMSettingVxlan *setting) /*****************************************************************************/ -static void -nm_setting_vxlan_init (NMSettingVxlan *setting) -{ -} - static gboolean verify (NMSetting *setting, NMConnection *connection, GError **error) { @@ -419,64 +404,63 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) return TRUE; } +/*****************************************************************************/ + static void -set_property (GObject *object, guint prop_id, - const GValue *value, GParamSpec *pspec) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { NMSettingVxlan *setting = NM_SETTING_VXLAN (object); NMSettingVxlanPrivate *priv = NM_SETTING_VXLAN_GET_PRIVATE (setting); switch (prop_id) { case PROP_PARENT: - g_free (priv->parent); - priv->parent = g_value_dup_string (value); + g_value_set_string (value, priv->parent); break; case PROP_ID: - priv->id = g_value_get_uint (value); + g_value_set_uint (value, priv->id); break; case PROP_LOCAL: - g_free (priv->local); - priv->local = g_value_dup_string (value); + g_value_set_string (value, priv->local); break; case PROP_REMOTE: - g_free (priv->remote); - priv->remote = g_value_dup_string (value); + g_value_set_string (value, priv->remote); break; case PROP_SOURCE_PORT_MIN: - priv->source_port_min = g_value_get_uint (value); + g_value_set_uint (value, priv->source_port_min); break; case PROP_SOURCE_PORT_MAX: - priv->source_port_max = g_value_get_uint (value); + g_value_set_uint (value, priv->source_port_max); break; case PROP_DESTINATION_PORT: - priv->destination_port = g_value_get_uint (value); + g_value_set_uint (value, priv->destination_port); break; case PROP_TOS: - priv->tos = g_value_get_uint (value); + g_value_set_uint (value, priv->tos); break; case PROP_AGEING: - priv->ageing = g_value_get_uint (value); + g_value_set_uint (value, priv->ageing); break; case PROP_LIMIT: - priv->limit = g_value_get_uint (value); + g_value_set_uint (value, priv->limit); break; case PROP_PROXY: - priv->proxy = g_value_get_boolean (value); + g_value_set_boolean (value, priv->proxy); break; case PROP_TTL: - priv->ttl = g_value_get_uint (value); + g_value_set_uint (value, priv->ttl); break; case PROP_LEARNING: - priv->learning = g_value_get_boolean (value); + g_value_set_boolean (value, priv->learning); break; case PROP_RSC: - priv->rsc = g_value_get_boolean (value); + g_value_set_boolean (value, priv->rsc); break; case PROP_L2_MISS: - priv->l2_miss = g_value_get_boolean (value); + g_value_set_boolean (value, priv->l2_miss); break; case PROP_L3_MISS: - priv->l3_miss = g_value_get_boolean (value); + g_value_set_boolean (value, priv->l3_miss); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -485,60 +469,63 @@ set_property (GObject *object, guint prop_id, } static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) { NMSettingVxlan *setting = NM_SETTING_VXLAN (object); NMSettingVxlanPrivate *priv = NM_SETTING_VXLAN_GET_PRIVATE (setting); switch (prop_id) { case PROP_PARENT: - g_value_set_string (value, priv->parent); + g_free (priv->parent); + priv->parent = g_value_dup_string (value); break; case PROP_ID: - g_value_set_uint (value, priv->id); + priv->id = g_value_get_uint (value); break; case PROP_LOCAL: - g_value_set_string (value, priv->local); + g_free (priv->local); + priv->local = g_value_dup_string (value); break; case PROP_REMOTE: - g_value_set_string (value, priv->remote); + g_free (priv->remote); + priv->remote = g_value_dup_string (value); break; case PROP_SOURCE_PORT_MIN: - g_value_set_uint (value, priv->source_port_min); + priv->source_port_min = g_value_get_uint (value); break; case PROP_SOURCE_PORT_MAX: - g_value_set_uint (value, priv->source_port_max); + priv->source_port_max = g_value_get_uint (value); break; case PROP_DESTINATION_PORT: - g_value_set_uint (value, priv->destination_port); + priv->destination_port = g_value_get_uint (value); break; case PROP_TOS: - g_value_set_uint (value, priv->tos); + priv->tos = g_value_get_uint (value); break; case PROP_AGEING: - g_value_set_uint (value, priv->ageing); + priv->ageing = g_value_get_uint (value); break; case PROP_LIMIT: - g_value_set_uint (value, priv->limit); + priv->limit = g_value_get_uint (value); break; case PROP_PROXY: - g_value_set_boolean (value, priv->proxy); + priv->proxy = g_value_get_boolean (value); break; case PROP_TTL: - g_value_set_uint (value, priv->ttl); + priv->ttl = g_value_get_uint (value); break; case PROP_LEARNING: - g_value_set_boolean (value, priv->learning); + priv->learning = g_value_get_boolean (value); break; case PROP_RSC: - g_value_set_boolean (value, priv->rsc); + priv->rsc = g_value_get_boolean (value); break; case PROP_L2_MISS: - g_value_set_boolean (value, priv->l2_miss); + priv->l2_miss = g_value_get_boolean (value); break; case PROP_L3_MISS: - g_value_set_boolean (value, priv->l3_miss); + priv->l3_miss = g_value_get_boolean (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -546,6 +533,28 @@ get_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + +static void +nm_setting_vxlan_init (NMSettingVxlan *setting) +{ +} + +/** + * nm_setting_vxlan_new: + * + * Creates a new #NMSettingVxlan object with default values. + * + * Returns: (transfer full): the new empty #NMSettingVxlan object + * + * Since: 1.2 + **/ +NMSetting * +nm_setting_vxlan_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_VXLAN, NULL); +} + static void finalize (GObject *object) { @@ -567,8 +576,8 @@ nm_setting_vxlan_class_init (NMSettingVxlanClass *klass) g_type_class_add_private (klass, sizeof (NMSettingVxlanPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-wimax.c b/libnm-core/nm-setting-wimax.c index f2351c7e99..aa574a56de 100644 --- a/libnm-core/nm-setting-wimax.c +++ b/libnm-core/nm-setting-wimax.c @@ -22,10 +22,11 @@ #include "nm-default.h" +#include "nm-setting-wimax.h" + #include <string.h> #include <net/ethernet.h> -#include "nm-setting-wimax.h" #include "nm-setting-private.h" #include "nm-utils.h" #include "nm-utils-private.h" @@ -42,34 +43,23 @@ * connections cannot be activated. **/ -G_DEFINE_TYPE (NMSettingWimax, nm_setting_wimax, NM_TYPE_SETTING) +/*****************************************************************************/ -#define NM_SETTING_WIMAX_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_WIMAX, NMSettingWimaxPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE_BASE ( + PROP_NETWORK_NAME, + PROP_MAC_ADDRESS, +); typedef struct { char *network_name; char *mac_address; } NMSettingWimaxPrivate; -NM_GOBJECT_PROPERTIES_DEFINE_BASE ( - PROP_NETWORK_NAME, - PROP_MAC_ADDRESS, -); +G_DEFINE_TYPE (NMSettingWimax, nm_setting_wimax, NM_TYPE_SETTING) -/** - * nm_setting_wimax_new: - * - * Creates a new #NMSettingWimax object with default values. - * - * Returns: the new empty #NMSettingWimax object - * - * Deprecated: 1.2: WiMAX is no longer supported. - **/ -NMSetting * -nm_setting_wimax_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_WIMAX, NULL); -} +#define NM_SETTING_WIMAX_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_WIMAX, NMSettingWimaxPrivate)) + +/*****************************************************************************/ /** * nm_setting_wimax_get_network_name: @@ -144,20 +134,25 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) return TRUE; } -static void -nm_setting_wimax_init (NMSettingWimax *setting) -{ -} +/*****************************************************************************/ static void -finalize (GObject *object) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { - NMSettingWimaxPrivate *priv = NM_SETTING_WIMAX_GET_PRIVATE (object); - - g_free (priv->network_name); - g_free (priv->mac_address); + NMSettingWimax *setting = NM_SETTING_WIMAX (object); - G_OBJECT_CLASS (nm_setting_wimax_parent_class)->finalize (object); + switch (prop_id) { + case PROP_NETWORK_NAME: + g_value_set_string (value, nm_setting_wimax_get_network_name (setting)); + break; + case PROP_MAC_ADDRESS: + g_value_set_string (value, nm_setting_wimax_get_mac_address (setting)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } } static void @@ -182,23 +177,37 @@ set_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +nm_setting_wimax_init (NMSettingWimax *setting) { - NMSettingWimax *setting = NM_SETTING_WIMAX (object); +} - switch (prop_id) { - case PROP_NETWORK_NAME: - g_value_set_string (value, nm_setting_wimax_get_network_name (setting)); - break; - case PROP_MAC_ADDRESS: - g_value_set_string (value, nm_setting_wimax_get_mac_address (setting)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } +/** + * nm_setting_wimax_new: + * + * Creates a new #NMSettingWimax object with default values. + * + * Returns: the new empty #NMSettingWimax object + * + * Deprecated: 1.2: WiMAX is no longer supported. + **/ +NMSetting * +nm_setting_wimax_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_WIMAX, NULL); +} + +static void +finalize (GObject *object) +{ + NMSettingWimaxPrivate *priv = NM_SETTING_WIMAX_GET_PRIVATE (object); + + g_free (priv->network_name); + g_free (priv->mac_address); + + G_OBJECT_CLASS (nm_setting_wimax_parent_class)->finalize (object); } static void @@ -210,8 +219,8 @@ nm_setting_wimax_class_init (NMSettingWimaxClass *klass) g_type_class_add_private (klass, sizeof (NMSettingWimaxPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-wired.c b/libnm-core/nm-setting-wired.c index 9069938a46..ef99425511 100644 --- a/libnm-core/nm-setting-wired.c +++ b/libnm-core/nm-setting-wired.c @@ -40,9 +40,24 @@ * necessary for connection to Ethernet networks. **/ -G_DEFINE_TYPE (NMSettingWired, nm_setting_wired, NM_TYPE_SETTING) +/*****************************************************************************/ -#define NM_SETTING_WIRED_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_WIRED, NMSettingWiredPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE (NMSettingWired, + PROP_PORT, + PROP_SPEED, + PROP_DUPLEX, + PROP_AUTO_NEGOTIATE, + PROP_MAC_ADDRESS, + PROP_CLONED_MAC_ADDRESS, + PROP_GENERATE_MAC_ADDRESS_MASK, + PROP_MAC_ADDRESS_BLACKLIST, + PROP_MTU, + PROP_S390_SUBCHANNELS, + PROP_S390_NETTYPE, + PROP_S390_OPTIONS, + PROP_WAKE_ON_LAN, + PROP_WAKE_ON_LAN_PASSWORD, +); typedef struct { char *port; @@ -61,22 +76,11 @@ typedef struct { char *wol_password; } NMSettingWiredPrivate; -NM_GOBJECT_PROPERTIES_DEFINE (NMSettingWired, - PROP_PORT, - PROP_SPEED, - PROP_DUPLEX, - PROP_AUTO_NEGOTIATE, - PROP_MAC_ADDRESS, - PROP_CLONED_MAC_ADDRESS, - PROP_GENERATE_MAC_ADDRESS_MASK, - PROP_MAC_ADDRESS_BLACKLIST, - PROP_MTU, - PROP_S390_SUBCHANNELS, - PROP_S390_NETTYPE, - PROP_S390_OPTIONS, - PROP_WAKE_ON_LAN, - PROP_WAKE_ON_LAN_PASSWORD, -); +G_DEFINE_TYPE (NMSettingWired, nm_setting_wired, NM_TYPE_SETTING) + +#define NM_SETTING_WIRED_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_WIRED, NMSettingWiredPrivate)) + +/*****************************************************************************/ static const char *valid_s390_opts[] = { "portno", "layer2", "portname", "protocol", "priority_queueing", @@ -89,19 +93,6 @@ static const char *valid_s390_opts[] = { }; /** - * nm_setting_wired_new: - * - * Creates a new #NMSettingWired object with default values. - * - * Returns: (transfer full): the new empty #NMSettingWired object - **/ -NMSetting * -nm_setting_wired_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_WIRED, NULL); -} - -/** * nm_setting_wired_get_port: * @setting: the #NMSettingWired * @@ -807,40 +798,62 @@ clear_blacklist_item (char **item_p) g_free (*item_p); } -static void -nm_setting_wired_init (NMSettingWired *setting) -{ - NMSettingWiredPrivate *priv = NM_SETTING_WIRED_GET_PRIVATE (setting); - - priv->s390_options = g_hash_table_new_full (nm_str_hash, g_str_equal, g_free, g_free); - - /* We use GArray rather than GPtrArray so it will automatically be NULL-terminated */ - priv->mac_address_blacklist = g_array_new (TRUE, FALSE, sizeof (char *)); - g_array_set_clear_func (priv->mac_address_blacklist, (GDestroyNotify) clear_blacklist_item); -} +/*****************************************************************************/ static void -finalize (GObject *object) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { - NMSettingWiredPrivate *priv = NM_SETTING_WIRED_GET_PRIVATE (object); - - g_free (priv->port); - g_free (priv->duplex); - g_free (priv->s390_nettype); - - g_hash_table_destroy (priv->s390_options); - - g_free (priv->device_mac_address); - g_free (priv->cloned_mac_address); - g_free (priv->generate_mac_address_mask); - g_array_unref (priv->mac_address_blacklist); - - if (priv->s390_subchannels) - g_strfreev (priv->s390_subchannels); - - g_free (priv->wol_password); + NMSettingWired *setting = NM_SETTING_WIRED (object); + NMSettingWiredPrivate *priv = NM_SETTING_WIRED_GET_PRIVATE (setting); - G_OBJECT_CLASS (nm_setting_wired_parent_class)->finalize (object); + switch (prop_id) { + case PROP_PORT: + g_value_set_string (value, nm_setting_wired_get_port (setting)); + break; + case PROP_SPEED: + g_value_set_uint (value, nm_setting_wired_get_speed (setting)); + break; + case PROP_DUPLEX: + g_value_set_string (value, nm_setting_wired_get_duplex (setting)); + break; + case PROP_AUTO_NEGOTIATE: + g_value_set_boolean (value, nm_setting_wired_get_auto_negotiate (setting)); + break; + case PROP_MAC_ADDRESS: + g_value_set_string (value, nm_setting_wired_get_mac_address (setting)); + break; + case PROP_CLONED_MAC_ADDRESS: + g_value_set_string (value, nm_setting_wired_get_cloned_mac_address (setting)); + break; + case PROP_GENERATE_MAC_ADDRESS_MASK: + g_value_set_string (value, nm_setting_wired_get_generate_mac_address_mask (setting)); + break; + case PROP_MAC_ADDRESS_BLACKLIST: + g_value_set_boxed (value, (char **) priv->mac_address_blacklist->data); + break; + case PROP_MTU: + g_value_set_uint (value, nm_setting_wired_get_mtu (setting)); + break; + case PROP_S390_SUBCHANNELS: + g_value_set_boxed (value, priv->s390_subchannels); + break; + case PROP_S390_NETTYPE: + g_value_set_string (value, nm_setting_wired_get_s390_nettype (setting)); + break; + case PROP_S390_OPTIONS: + g_value_take_boxed (value, _nm_utils_copy_strdict (priv->s390_options)); + break; + case PROP_WAKE_ON_LAN: + g_value_set_uint (value, priv->wol); + break; + case PROP_WAKE_ON_LAN_PASSWORD: + g_value_set_string (value, priv->wol_password); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } } static void @@ -920,60 +933,55 @@ set_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +nm_setting_wired_init (NMSettingWired *setting) { - NMSettingWired *setting = NM_SETTING_WIRED (object); NMSettingWiredPrivate *priv = NM_SETTING_WIRED_GET_PRIVATE (setting); - switch (prop_id) { - case PROP_PORT: - g_value_set_string (value, nm_setting_wired_get_port (setting)); - break; - case PROP_SPEED: - g_value_set_uint (value, nm_setting_wired_get_speed (setting)); - break; - case PROP_DUPLEX: - g_value_set_string (value, nm_setting_wired_get_duplex (setting)); - break; - case PROP_AUTO_NEGOTIATE: - g_value_set_boolean (value, nm_setting_wired_get_auto_negotiate (setting)); - break; - case PROP_MAC_ADDRESS: - g_value_set_string (value, nm_setting_wired_get_mac_address (setting)); - break; - case PROP_CLONED_MAC_ADDRESS: - g_value_set_string (value, nm_setting_wired_get_cloned_mac_address (setting)); - break; - case PROP_GENERATE_MAC_ADDRESS_MASK: - g_value_set_string (value, nm_setting_wired_get_generate_mac_address_mask (setting)); - break; - case PROP_MAC_ADDRESS_BLACKLIST: - g_value_set_boxed (value, (char **) priv->mac_address_blacklist->data); - break; - case PROP_MTU: - g_value_set_uint (value, nm_setting_wired_get_mtu (setting)); - break; - case PROP_S390_SUBCHANNELS: - g_value_set_boxed (value, priv->s390_subchannels); - break; - case PROP_S390_NETTYPE: - g_value_set_string (value, nm_setting_wired_get_s390_nettype (setting)); - break; - case PROP_S390_OPTIONS: - g_value_take_boxed (value, _nm_utils_copy_strdict (priv->s390_options)); - break; - case PROP_WAKE_ON_LAN: - g_value_set_uint (value, priv->wol); - break; - case PROP_WAKE_ON_LAN_PASSWORD: - g_value_set_string (value, priv->wol_password); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } + priv->s390_options = g_hash_table_new_full (nm_str_hash, g_str_equal, g_free, g_free); + + /* We use GArray rather than GPtrArray so it will automatically be NULL-terminated */ + priv->mac_address_blacklist = g_array_new (TRUE, FALSE, sizeof (char *)); + g_array_set_clear_func (priv->mac_address_blacklist, (GDestroyNotify) clear_blacklist_item); +} + +/** + * nm_setting_wired_new: + * + * Creates a new #NMSettingWired object with default values. + * + * Returns: (transfer full): the new empty #NMSettingWired object + **/ +NMSetting * +nm_setting_wired_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_WIRED, NULL); +} + +static void +finalize (GObject *object) +{ + NMSettingWiredPrivate *priv = NM_SETTING_WIRED_GET_PRIVATE (object); + + g_free (priv->port); + g_free (priv->duplex); + g_free (priv->s390_nettype); + + g_hash_table_destroy (priv->s390_options); + + g_free (priv->device_mac_address); + g_free (priv->cloned_mac_address); + g_free (priv->generate_mac_address_mask); + g_array_unref (priv->mac_address_blacklist); + + if (priv->s390_subchannels) + g_strfreev (priv->s390_subchannels); + + g_free (priv->wol_password); + + G_OBJECT_CLASS (nm_setting_wired_parent_class)->finalize (object); } static void @@ -985,8 +993,8 @@ nm_setting_wired_class_init (NMSettingWiredClass *klass) g_type_class_add_private (klass, sizeof (NMSettingWiredPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-wireless-security.c b/libnm-core/nm-setting-wireless-security.c index 247370a529..fe339d9e36 100644 --- a/libnm-core/nm-setting-wireless-security.c +++ b/libnm-core/nm-setting-wireless-security.c @@ -22,9 +22,10 @@ #include "nm-default.h" +#include "nm-setting-wireless-security.h" + #include <string.h> -#include "nm-setting-wireless-security.h" #include "nm-setting-8021x.h" #include "nm-utils.h" #include "nm-utils-private.h" @@ -53,9 +54,30 @@ * ISBN: 978-1587051548 **/ -G_DEFINE_TYPE (NMSettingWirelessSecurity, nm_setting_wireless_security, NM_TYPE_SETTING) +/*****************************************************************************/ -#define NM_SETTING_WIRELESS_SECURITY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_WIRELESS_SECURITY, NMSettingWirelessSecurityPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE (NMSettingWirelessSecurity, + PROP_KEY_MGMT, + PROP_WEP_TX_KEYIDX, + PROP_AUTH_ALG, + PROP_PROTO, + PROP_PAIRWISE, + PROP_GROUP, + PROP_PMF, + PROP_LEAP_USERNAME, + PROP_WEP_KEY0, + PROP_WEP_KEY1, + PROP_WEP_KEY2, + PROP_WEP_KEY3, + PROP_WEP_KEY_FLAGS, + PROP_WEP_KEY_TYPE, + PROP_PSK, + PROP_PSK_FLAGS, + PROP_LEAP_PASSWORD, + PROP_LEAP_PASSWORD_FLAGS, + PROP_WPS_METHOD, + PROP_FILS, +); typedef struct { char *key_mgmt; @@ -90,41 +112,11 @@ typedef struct { NMSettingWirelessSecurityFils fils; } NMSettingWirelessSecurityPrivate; -NM_GOBJECT_PROPERTIES_DEFINE (NMSettingWirelessSecurity, - PROP_KEY_MGMT, - PROP_WEP_TX_KEYIDX, - PROP_AUTH_ALG, - PROP_PROTO, - PROP_PAIRWISE, - PROP_GROUP, - PROP_PMF, - PROP_LEAP_USERNAME, - PROP_WEP_KEY0, - PROP_WEP_KEY1, - PROP_WEP_KEY2, - PROP_WEP_KEY3, - PROP_WEP_KEY_FLAGS, - PROP_WEP_KEY_TYPE, - PROP_PSK, - PROP_PSK_FLAGS, - PROP_LEAP_PASSWORD, - PROP_LEAP_PASSWORD_FLAGS, - PROP_WPS_METHOD, - PROP_FILS, -); +G_DEFINE_TYPE (NMSettingWirelessSecurity, nm_setting_wireless_security, NM_TYPE_SETTING) -/** - * nm_setting_wireless_security_new: - * - * Creates a new #NMSettingWirelessSecurity object with default values. - * - * Returns: (transfer full): the new empty #NMSettingWirelessSecurity object - **/ -NMSetting * -nm_setting_wireless_security_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_WIRELESS_SECURITY, NULL); -} +#define NM_SETTING_WIRELESS_SECURITY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_WIRELESS_SECURITY, NMSettingWirelessSecurityPrivate)) + +/*****************************************************************************/ /** * nm_setting_wireless_security_get_key_mgmt: @@ -1226,36 +1218,6 @@ set_secret_flags (NMSetting *setting, return NM_SETTING_CLASS (nm_setting_wireless_security_parent_class)->set_secret_flags (setting, secret_name, flags, error); } -static void -nm_setting_wireless_security_init (NMSettingWirelessSecurity *setting) -{ -} - -static void -finalize (GObject *object) -{ - NMSettingWirelessSecurity *self = NM_SETTING_WIRELESS_SECURITY (object); - NMSettingWirelessSecurityPrivate *priv = NM_SETTING_WIRELESS_SECURITY_GET_PRIVATE (self); - - /* Strings first. g_free() already checks for NULLs so we don't have to */ - - g_free (priv->key_mgmt); - g_free (priv->auth_alg); - g_free (priv->leap_username); - g_free (priv->wep_key0); - g_free (priv->wep_key1); - g_free (priv->wep_key2); - g_free (priv->wep_key3); - g_free (priv->psk); - g_free (priv->leap_password); - - g_slist_free_full (priv->proto, g_free); - g_slist_free_full (priv->pairwise, g_free); - g_slist_free_full (priv->group, g_free); - - G_OBJECT_CLASS (nm_setting_wireless_security_parent_class)->finalize (object); -} - /* NMSettingWirelessSecurity:wep-key-type is an enum, but needs to be marshalled * as 'u', not 'i', for backward-compatibility. */ @@ -1265,88 +1227,75 @@ wep_key_type_to_dbus (const GValue *from) return g_variant_new_uint32 (g_value_get_enum (from)); } +/*****************************************************************************/ + static void -set_property (GObject *object, guint prop_id, - const GValue *value, GParamSpec *pspec) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { NMSettingWirelessSecurity *setting = NM_SETTING_WIRELESS_SECURITY (object); NMSettingWirelessSecurityPrivate *priv = NM_SETTING_WIRELESS_SECURITY_GET_PRIVATE (setting); - const char *str; switch (prop_id) { case PROP_KEY_MGMT: - g_free (priv->key_mgmt); - str = g_value_get_string (value); - priv->key_mgmt = str ? g_ascii_strdown (str, -1) : NULL; + g_value_set_string (value, priv->key_mgmt); break; case PROP_WEP_TX_KEYIDX: - priv->wep_tx_keyidx = g_value_get_uint (value); + g_value_set_uint (value, priv->wep_tx_keyidx); break; case PROP_AUTH_ALG: - g_free (priv->auth_alg); - str = g_value_get_string (value); - priv->auth_alg = str ? g_ascii_strdown (str, -1) : NULL; + g_value_set_string (value, priv->auth_alg); break; case PROP_PROTO: - g_slist_free_full (priv->proto, g_free); - priv->proto = _nm_utils_strv_to_slist (g_value_get_boxed (value), TRUE); + g_value_take_boxed (value, _nm_utils_slist_to_strv (priv->proto, TRUE)); break; case PROP_PAIRWISE: - g_slist_free_full (priv->pairwise, g_free); - priv->pairwise = _nm_utils_strv_to_slist (g_value_get_boxed (value), TRUE); + g_value_take_boxed (value, _nm_utils_slist_to_strv (priv->pairwise, TRUE)); break; case PROP_GROUP: - g_slist_free_full (priv->group, g_free); - priv->group = _nm_utils_strv_to_slist (g_value_get_boxed (value), TRUE); + g_value_take_boxed (value, _nm_utils_slist_to_strv (priv->group, TRUE)); break; case PROP_PMF: - priv->pmf = g_value_get_int (value); + g_value_set_int (value, nm_setting_wireless_security_get_pmf (setting)); break; case PROP_LEAP_USERNAME: - g_free (priv->leap_username); - priv->leap_username = g_value_dup_string (value); + g_value_set_string (value, priv->leap_username); break; case PROP_WEP_KEY0: - g_free (priv->wep_key0); - priv->wep_key0 = g_value_dup_string (value); + g_value_set_string (value, priv->wep_key0); break; case PROP_WEP_KEY1: - g_free (priv->wep_key1); - priv->wep_key1 = g_value_dup_string (value); + g_value_set_string (value, priv->wep_key1); break; case PROP_WEP_KEY2: - g_free (priv->wep_key2); - priv->wep_key2 = g_value_dup_string (value); + g_value_set_string (value, priv->wep_key2); break; case PROP_WEP_KEY3: - g_free (priv->wep_key3); - priv->wep_key3 = g_value_dup_string (value); + g_value_set_string (value, priv->wep_key3); break; case PROP_WEP_KEY_FLAGS: - priv->wep_key_flags = g_value_get_flags (value); + g_value_set_flags (value, priv->wep_key_flags); break; case PROP_PSK: - g_free (priv->psk); - priv->psk = g_value_dup_string (value); + g_value_set_string (value, priv->psk); break; case PROP_PSK_FLAGS: - priv->psk_flags = g_value_get_flags (value); + g_value_set_flags (value, priv->psk_flags); break; case PROP_LEAP_PASSWORD: - g_free (priv->leap_password); - priv->leap_password = g_value_dup_string (value); + g_value_set_string (value, priv->leap_password); break; case PROP_LEAP_PASSWORD_FLAGS: - priv->leap_password_flags = g_value_get_flags (value); + g_value_set_flags (value, priv->leap_password_flags); break; case PROP_WEP_KEY_TYPE: - priv->wep_key_type = g_value_get_enum (value); + g_value_set_enum (value, priv->wep_key_type); break; case PROP_WPS_METHOD: - priv->wps_method = g_value_get_uint (value); + g_value_set_uint (value, priv->wps_method); break; case PROP_FILS: - priv->fils = g_value_get_int (value); + g_value_set_int (value, nm_setting_wireless_security_get_fils (setting)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -1355,72 +1304,87 @@ set_property (GObject *object, guint prop_id, } static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) { NMSettingWirelessSecurity *setting = NM_SETTING_WIRELESS_SECURITY (object); NMSettingWirelessSecurityPrivate *priv = NM_SETTING_WIRELESS_SECURITY_GET_PRIVATE (setting); + const char *str; switch (prop_id) { case PROP_KEY_MGMT: - g_value_set_string (value, priv->key_mgmt); + g_free (priv->key_mgmt); + str = g_value_get_string (value); + priv->key_mgmt = str ? g_ascii_strdown (str, -1) : NULL; break; case PROP_WEP_TX_KEYIDX: - g_value_set_uint (value, priv->wep_tx_keyidx); + priv->wep_tx_keyidx = g_value_get_uint (value); break; case PROP_AUTH_ALG: - g_value_set_string (value, priv->auth_alg); + g_free (priv->auth_alg); + str = g_value_get_string (value); + priv->auth_alg = str ? g_ascii_strdown (str, -1) : NULL; break; case PROP_PROTO: - g_value_take_boxed (value, _nm_utils_slist_to_strv (priv->proto, TRUE)); + g_slist_free_full (priv->proto, g_free); + priv->proto = _nm_utils_strv_to_slist (g_value_get_boxed (value), TRUE); break; case PROP_PAIRWISE: - g_value_take_boxed (value, _nm_utils_slist_to_strv (priv->pairwise, TRUE)); + g_slist_free_full (priv->pairwise, g_free); + priv->pairwise = _nm_utils_strv_to_slist (g_value_get_boxed (value), TRUE); break; case PROP_GROUP: - g_value_take_boxed (value, _nm_utils_slist_to_strv (priv->group, TRUE)); + g_slist_free_full (priv->group, g_free); + priv->group = _nm_utils_strv_to_slist (g_value_get_boxed (value), TRUE); break; case PROP_PMF: - g_value_set_int (value, nm_setting_wireless_security_get_pmf (setting)); + priv->pmf = g_value_get_int (value); break; case PROP_LEAP_USERNAME: - g_value_set_string (value, priv->leap_username); + g_free (priv->leap_username); + priv->leap_username = g_value_dup_string (value); break; case PROP_WEP_KEY0: - g_value_set_string (value, priv->wep_key0); + g_free (priv->wep_key0); + priv->wep_key0 = g_value_dup_string (value); break; case PROP_WEP_KEY1: - g_value_set_string (value, priv->wep_key1); + g_free (priv->wep_key1); + priv->wep_key1 = g_value_dup_string (value); break; case PROP_WEP_KEY2: - g_value_set_string (value, priv->wep_key2); + g_free (priv->wep_key2); + priv->wep_key2 = g_value_dup_string (value); break; case PROP_WEP_KEY3: - g_value_set_string (value, priv->wep_key3); + g_free (priv->wep_key3); + priv->wep_key3 = g_value_dup_string (value); break; case PROP_WEP_KEY_FLAGS: - g_value_set_flags (value, priv->wep_key_flags); + priv->wep_key_flags = g_value_get_flags (value); break; case PROP_PSK: - g_value_set_string (value, priv->psk); + g_free (priv->psk); + priv->psk = g_value_dup_string (value); break; case PROP_PSK_FLAGS: - g_value_set_flags (value, priv->psk_flags); + priv->psk_flags = g_value_get_flags (value); break; case PROP_LEAP_PASSWORD: - g_value_set_string (value, priv->leap_password); + g_free (priv->leap_password); + priv->leap_password = g_value_dup_string (value); break; case PROP_LEAP_PASSWORD_FLAGS: - g_value_set_flags (value, priv->leap_password_flags); + priv->leap_password_flags = g_value_get_flags (value); break; case PROP_WEP_KEY_TYPE: - g_value_set_enum (value, priv->wep_key_type); + priv->wep_key_type = g_value_get_enum (value); break; case PROP_WPS_METHOD: - g_value_set_uint (value, priv->wps_method); + priv->wps_method = g_value_get_uint (value); break; case PROP_FILS: - g_value_set_int (value, nm_setting_wireless_security_get_fils (setting)); + priv->fils = g_value_get_int (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -1428,6 +1392,49 @@ get_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + +static void +nm_setting_wireless_security_init (NMSettingWirelessSecurity *setting) +{ +} + +/** + * nm_setting_wireless_security_new: + * + * Creates a new #NMSettingWirelessSecurity object with default values. + * + * Returns: (transfer full): the new empty #NMSettingWirelessSecurity object + **/ +NMSetting * +nm_setting_wireless_security_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_WIRELESS_SECURITY, NULL); +} + +static void +finalize (GObject *object) +{ + NMSettingWirelessSecurity *self = NM_SETTING_WIRELESS_SECURITY (object); + NMSettingWirelessSecurityPrivate *priv = NM_SETTING_WIRELESS_SECURITY_GET_PRIVATE (self); + + g_free (priv->key_mgmt); + g_free (priv->auth_alg); + g_free (priv->leap_username); + g_free (priv->wep_key0); + g_free (priv->wep_key1); + g_free (priv->wep_key2); + g_free (priv->wep_key3); + g_free (priv->psk); + g_free (priv->leap_password); + + g_slist_free_full (priv->proto, g_free); + g_slist_free_full (priv->pairwise, g_free); + g_slist_free_full (priv->group, g_free); + + G_OBJECT_CLASS (nm_setting_wireless_security_parent_class)->finalize (object); +} + static void nm_setting_wireless_security_class_init (NMSettingWirelessSecurityClass *klass) { @@ -1437,8 +1444,8 @@ nm_setting_wireless_security_class_init (NMSettingWirelessSecurityClass *klass) g_type_class_add_private (klass, sizeof (NMSettingWirelessSecurityPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting-wireless.c b/libnm-core/nm-setting-wireless.c index ce91154d7a..5d3f8fe817 100644 --- a/libnm-core/nm-setting-wireless.c +++ b/libnm-core/nm-setting-wireless.c @@ -40,9 +40,27 @@ * necessary for connection to 802.11 Wi-Fi networks. **/ -G_DEFINE_TYPE (NMSettingWireless, nm_setting_wireless, NM_TYPE_SETTING) +/*****************************************************************************/ -#define NM_SETTING_WIRELESS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_WIRELESS, NMSettingWirelessPrivate)) +NM_GOBJECT_PROPERTIES_DEFINE (NMSettingWireless, + PROP_SSID, + PROP_MODE, + PROP_BAND, + PROP_CHANNEL, + PROP_BSSID, + PROP_RATE, + PROP_TX_POWER, + PROP_MAC_ADDRESS, + PROP_CLONED_MAC_ADDRESS, + PROP_GENERATE_MAC_ADDRESS_MASK, + PROP_MAC_ADDRESS_BLACKLIST, + PROP_MTU, + PROP_SEEN_BSSIDS, + PROP_HIDDEN, + PROP_POWERSAVE, + PROP_MAC_ADDRESS_RANDOMIZATION, + PROP_WAKE_ON_WLAN, +); typedef struct { GBytes *ssid; @@ -64,25 +82,11 @@ typedef struct { guint32 wowl; } NMSettingWirelessPrivate; -NM_GOBJECT_PROPERTIES_DEFINE (NMSettingWireless, - PROP_SSID, - PROP_MODE, - PROP_BAND, - PROP_CHANNEL, - PROP_BSSID, - PROP_RATE, - PROP_TX_POWER, - PROP_MAC_ADDRESS, - PROP_CLONED_MAC_ADDRESS, - PROP_GENERATE_MAC_ADDRESS_MASK, - PROP_MAC_ADDRESS_BLACKLIST, - PROP_MTU, - PROP_SEEN_BSSIDS, - PROP_HIDDEN, - PROP_POWERSAVE, - PROP_MAC_ADDRESS_RANDOMIZATION, - PROP_WAKE_ON_WLAN, -); +G_DEFINE_TYPE (NMSettingWireless, nm_setting_wireless, NM_TYPE_SETTING) + +#define NM_SETTING_WIRELESS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_WIRELESS, NMSettingWirelessPrivate)) + +/*****************************************************************************/ static gboolean match_cipher (const char *cipher, @@ -282,19 +286,6 @@ nm_setting_wireless_ap_security_compatible (NMSettingWireless *s_wireless, } /** - * nm_setting_wireless_new: - * - * Creates a new #NMSettingWireless object with default values. - * - * Returns: (transfer full): the new empty #NMSettingWireless object - **/ -NMSetting * -nm_setting_wireless_new (void) -{ - return (NMSetting *) g_object_new (NM_TYPE_SETTING_WIRELESS, NULL); -} - -/** * nm_setting_wireless_get_ssid: * @setting: the #NMSettingWireless * @@ -991,34 +982,71 @@ clear_blacklist_item (char **item_p) g_free (*item_p); } -static void -nm_setting_wireless_init (NMSettingWireless *setting) -{ - NMSettingWirelessPrivate *priv = NM_SETTING_WIRELESS_GET_PRIVATE (setting); - - /* We use GArray rather than GPtrArray so it will automatically be NULL-terminated */ - priv->mac_address_blacklist = g_array_new (TRUE, FALSE, sizeof (char *)); - g_array_set_clear_func (priv->mac_address_blacklist, (GDestroyNotify) clear_blacklist_item); -} +/*****************************************************************************/ static void -finalize (GObject *object) +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { + NMSettingWireless *setting = NM_SETTING_WIRELESS (object); NMSettingWirelessPrivate *priv = NM_SETTING_WIRELESS_GET_PRIVATE (object); - g_free (priv->mode); - g_free (priv->band); - - if (priv->ssid) - g_bytes_unref (priv->ssid); - g_free (priv->bssid); - g_free (priv->device_mac_address); - g_free (priv->cloned_mac_address); - g_free (priv->generate_mac_address_mask); - g_array_unref (priv->mac_address_blacklist); - g_slist_free_full (priv->seen_bssids, g_free); - - G_OBJECT_CLASS (nm_setting_wireless_parent_class)->finalize (object); + switch (prop_id) { + case PROP_SSID: + g_value_set_boxed (value, nm_setting_wireless_get_ssid (setting)); + break; + case PROP_MODE: + g_value_set_string (value, nm_setting_wireless_get_mode (setting)); + break; + case PROP_BAND: + g_value_set_string (value, nm_setting_wireless_get_band (setting)); + break; + case PROP_CHANNEL: + g_value_set_uint (value, nm_setting_wireless_get_channel (setting)); + break; + case PROP_BSSID: + g_value_set_string (value, nm_setting_wireless_get_bssid (setting)); + break; + case PROP_RATE: + g_value_set_uint (value, nm_setting_wireless_get_rate (setting)); + break; + case PROP_TX_POWER: + g_value_set_uint (value, nm_setting_wireless_get_tx_power (setting)); + break; + case PROP_MAC_ADDRESS: + g_value_set_string (value, nm_setting_wireless_get_mac_address (setting)); + break; + case PROP_CLONED_MAC_ADDRESS: + g_value_set_string (value, nm_setting_wireless_get_cloned_mac_address (setting)); + break; + case PROP_GENERATE_MAC_ADDRESS_MASK: + g_value_set_string (value, nm_setting_wireless_get_generate_mac_address_mask (setting)); + break; + case PROP_MAC_ADDRESS_BLACKLIST: + g_value_set_boxed (value, (char **) priv->mac_address_blacklist->data); + break; + case PROP_MTU: + g_value_set_uint (value, nm_setting_wireless_get_mtu (setting)); + break; + case PROP_SEEN_BSSIDS: + g_value_take_boxed (value, _nm_utils_slist_to_strv (priv->seen_bssids, TRUE)); + break; + case PROP_HIDDEN: + g_value_set_boolean (value, nm_setting_wireless_get_hidden (setting)); + break; + case PROP_POWERSAVE: + g_value_set_uint (value, nm_setting_wireless_get_powersave (setting)); + break; + case PROP_MAC_ADDRESS_RANDOMIZATION: + g_value_set_uint (value, nm_setting_wireless_get_mac_address_randomization (setting)); + break; + case PROP_WAKE_ON_WLAN: + g_value_set_uint (value, nm_setting_wireless_get_wake_on_wlan (setting)); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } } static void @@ -1116,69 +1144,49 @@ set_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +nm_setting_wireless_init (NMSettingWireless *setting) +{ + NMSettingWirelessPrivate *priv = NM_SETTING_WIRELESS_GET_PRIVATE (setting); + + /* We use GArray rather than GPtrArray so it will automatically be NULL-terminated */ + priv->mac_address_blacklist = g_array_new (TRUE, FALSE, sizeof (char *)); + g_array_set_clear_func (priv->mac_address_blacklist, (GDestroyNotify) clear_blacklist_item); +} + +/** + * nm_setting_wireless_new: + * + * Creates a new #NMSettingWireless object with default values. + * + * Returns: (transfer full): the new empty #NMSettingWireless object + **/ +NMSetting * +nm_setting_wireless_new (void) +{ + return (NMSetting *) g_object_new (NM_TYPE_SETTING_WIRELESS, NULL); +} + +static void +finalize (GObject *object) { - NMSettingWireless *setting = NM_SETTING_WIRELESS (object); NMSettingWirelessPrivate *priv = NM_SETTING_WIRELESS_GET_PRIVATE (object); - switch (prop_id) { - case PROP_SSID: - g_value_set_boxed (value, nm_setting_wireless_get_ssid (setting)); - break; - case PROP_MODE: - g_value_set_string (value, nm_setting_wireless_get_mode (setting)); - break; - case PROP_BAND: - g_value_set_string (value, nm_setting_wireless_get_band (setting)); - break; - case PROP_CHANNEL: - g_value_set_uint (value, nm_setting_wireless_get_channel (setting)); - break; - case PROP_BSSID: - g_value_set_string (value, nm_setting_wireless_get_bssid (setting)); - break; - case PROP_RATE: - g_value_set_uint (value, nm_setting_wireless_get_rate (setting)); - break; - case PROP_TX_POWER: - g_value_set_uint (value, nm_setting_wireless_get_tx_power (setting)); - break; - case PROP_MAC_ADDRESS: - g_value_set_string (value, nm_setting_wireless_get_mac_address (setting)); - break; - case PROP_CLONED_MAC_ADDRESS: - g_value_set_string (value, nm_setting_wireless_get_cloned_mac_address (setting)); - break; - case PROP_GENERATE_MAC_ADDRESS_MASK: - g_value_set_string (value, nm_setting_wireless_get_generate_mac_address_mask (setting)); - break; - case PROP_MAC_ADDRESS_BLACKLIST: - g_value_set_boxed (value, (char **) priv->mac_address_blacklist->data); - break; - case PROP_MTU: - g_value_set_uint (value, nm_setting_wireless_get_mtu (setting)); - break; - case PROP_SEEN_BSSIDS: - g_value_take_boxed (value, _nm_utils_slist_to_strv (priv->seen_bssids, TRUE)); - break; - case PROP_HIDDEN: - g_value_set_boolean (value, nm_setting_wireless_get_hidden (setting)); - break; - case PROP_POWERSAVE: - g_value_set_uint (value, nm_setting_wireless_get_powersave (setting)); - break; - case PROP_MAC_ADDRESS_RANDOMIZATION: - g_value_set_uint (value, nm_setting_wireless_get_mac_address_randomization (setting)); - break; - case PROP_WAKE_ON_WLAN: - g_value_set_uint (value, nm_setting_wireless_get_wake_on_wlan (setting)); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } + g_free (priv->mode); + g_free (priv->band); + + if (priv->ssid) + g_bytes_unref (priv->ssid); + g_free (priv->bssid); + g_free (priv->device_mac_address); + g_free (priv->cloned_mac_address); + g_free (priv->generate_mac_address_mask); + g_array_unref (priv->mac_address_blacklist); + g_slist_free_full (priv->seen_bssids, g_free); + + G_OBJECT_CLASS (nm_setting_wireless_parent_class)->finalize (object); } static void diff --git a/libnm-core/nm-setting-wpan.c b/libnm-core/nm-setting-wpan.c index e2d1d85e39..f42700321e 100644 --- a/libnm-core/nm-setting-wpan.c +++ b/libnm-core/nm-setting-wpan.c @@ -26,6 +26,14 @@ #include "nm-setting-private.h" #include "nm-utils-private.h" +/** + * SECTION:nm-setting-wpan + * @short_description: Describes connection properties for IEEE 802.15.4 (WPAN) MAC + * + * The #NMSettingWpan object is a #NMSetting subclass that describes properties + * necessary for configuring IEEE 802.15.4 (WPAN) MAC layer devices. + **/ + /* Ideally we'll be able to get these from a public header. */ #ifndef IEEE802154_ADDR_LEN #define IEEE802154_ADDR_LEN 8 @@ -39,6 +47,8 @@ #define IEEE802154_MAX_CHANNEL 26 #endif +/*****************************************************************************/ + NM_GOBJECT_PROPERTIES_DEFINE_BASE ( PROP_MAC_ADDRESS, PROP_PAN_ID, @@ -68,18 +78,12 @@ struct _NMSettingWpanClass { NMSettingClass parent; }; -/** - * SECTION:nm-setting-wpan - * @short_description: Describes connection properties for IEEE 802.15.4 (WPAN) MAC - * - * The #NMSettingWpan object is a #NMSetting subclass that describes properties - * necessary for configuring IEEE 802.15.4 (WPAN) MAC layer devices. - **/ - G_DEFINE_TYPE (NMSettingWpan, nm_setting_wpan, NM_TYPE_SETTING) #define NM_SETTING_WPAN_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_WPAN, NMSettingWpanPrivate)) +/*****************************************************************************/ + /** * nm_setting_wpan_get_mac_address: * @setting: the #NMSettingWpan @@ -208,6 +212,8 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) return TRUE; } +/*****************************************************************************/ + static void get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { @@ -264,6 +270,8 @@ set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *p } } +/*****************************************************************************/ + static void nm_setting_wpan_init (NMSettingWpan *setting) { @@ -308,8 +316,8 @@ nm_setting_wpan_class_init (NMSettingWpanClass *klass) g_type_class_add_private (setting_class, sizeof (NMSettingWpanPrivate)); - object_class->set_property = set_property; object_class->get_property = get_property; + object_class->set_property = set_property; object_class->finalize = finalize; setting_class->verify = verify; diff --git a/libnm-core/nm-setting.c b/libnm-core/nm-setting.c index 369b116c95..d12f9ea7e8 100644 --- a/libnm-core/nm-setting.c +++ b/libnm-core/nm-setting.c @@ -2517,11 +2517,6 @@ _nm_setting_gendata_reset_from_hash (NMSetting *setting, /*****************************************************************************/ static void -nm_setting_init (NMSetting *setting) -{ -} - -static void get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { @@ -2537,6 +2532,13 @@ get_property (GObject *object, guint prop_id, } } +/*****************************************************************************/ + +static void +nm_setting_init (NMSetting *setting) +{ +} + static void finalize (GObject *object) { diff --git a/libnm-core/nm-simple-connection.c b/libnm-core/nm-simple-connection.c index 9ccdbb2197..55e8229f45 100644 --- a/libnm-core/nm-simple-connection.c +++ b/libnm-core/nm-simple-connection.c @@ -22,6 +22,7 @@ #include "nm-default.h" #include "nm-simple-connection.h" + #include "nm-setting-private.h" /** @@ -32,12 +33,16 @@ * but might be used in the process of creating a new one. **/ +/*****************************************************************************/ + static void nm_simple_connection_interface_init (NMConnectionInterface *iface); G_DEFINE_TYPE_WITH_CODE (NMSimpleConnection, nm_simple_connection, G_TYPE_OBJECT, G_IMPLEMENT_INTERFACE (NM_TYPE_CONNECTION, nm_simple_connection_interface_init); ) +/*****************************************************************************/ + static void nm_simple_connection_init (NMSimpleConnection *self) { diff --git a/libnm-core/nm-vpn-editor-plugin.c b/libnm-core/nm-vpn-editor-plugin.c index cda79d80c5..30213ea002 100644 --- a/libnm-core/nm-vpn-editor-plugin.c +++ b/libnm-core/nm-vpn-editor-plugin.c @@ -29,6 +29,8 @@ #include "nm-core-internal.h" +/*****************************************************************************/ + static void nm_vpn_editor_plugin_default_init (NMVpnEditorPluginInterface *iface); G_DEFINE_INTERFACE (NMVpnEditorPlugin, nm_vpn_editor_plugin, G_TYPE_OBJECT) @@ -36,18 +38,16 @@ G_DEFINE_INTERFACE (NMVpnEditorPlugin, nm_vpn_editor_plugin, G_TYPE_OBJECT) static void nm_vpn_editor_plugin_default_init (NMVpnEditorPluginInterface *iface) { - /* Properties */ - /** * NMVpnEditorPlugin:name: * * Short display name of the VPN plugin. */ g_object_interface_install_property (iface, - g_param_spec_string (NM_VPN_EDITOR_PLUGIN_NAME, "", "", - NULL, - G_PARAM_READABLE | - G_PARAM_STATIC_STRINGS)); + g_param_spec_string (NM_VPN_EDITOR_PLUGIN_NAME, "", "", + NULL, + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); /** * NMVpnEditorPlugin:description: @@ -55,10 +55,10 @@ nm_vpn_editor_plugin_default_init (NMVpnEditorPluginInterface *iface) * Longer description of the VPN plugin. */ g_object_interface_install_property (iface, - g_param_spec_string (NM_VPN_EDITOR_PLUGIN_DESCRIPTION, "", "", - NULL, - G_PARAM_READABLE | - G_PARAM_STATIC_STRINGS)); + g_param_spec_string (NM_VPN_EDITOR_PLUGIN_DESCRIPTION, "", "", + NULL, + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); /** * NMVpnEditorPlugin:service: @@ -66,10 +66,10 @@ nm_vpn_editor_plugin_default_init (NMVpnEditorPluginInterface *iface) * D-Bus service name of the plugin's VPN service. */ g_object_interface_install_property (iface, - g_param_spec_string (NM_VPN_EDITOR_PLUGIN_SERVICE, "", "", - NULL, - G_PARAM_READABLE | - G_PARAM_STATIC_STRINGS)); + g_param_spec_string (NM_VPN_EDITOR_PLUGIN_SERVICE, "", "", + NULL, + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS)); } /*****************************************************************************/ diff --git a/libnm-core/nm-vpn-plugin-info.c b/libnm-core/nm-vpn-plugin-info.c index f8111e3350..275a9dd5eb 100644 --- a/libnm-core/nm-vpn-plugin-info.c +++ b/libnm-core/nm-vpn-plugin-info.c @@ -1095,60 +1095,42 @@ nm_vpn_plugin_info_load_editor_plugin (NMVpnPluginInfo *self, GError **error) /*****************************************************************************/ -/** - * nm_vpn_plugin_info_new_from_file: - * @filename: filename to read. - * @error: on failure, the error reason. - * - * Read the plugin info from file @filename. Does not do - * any further verification on the file. You might want to check - * file permissions and ownership of the file. - * - * Returns: %NULL if there is any error or a newly created - * #NMVpnPluginInfo instance. - * - * Since: 1.2 - */ -NMVpnPluginInfo * -nm_vpn_plugin_info_new_from_file (const char *filename, - GError **error) +static void +get_property (GObject *object, guint prop_id, + GValue *value, GParamSpec *pspec) { - g_return_val_if_fail (filename, NULL); + NMVpnPluginInfoPrivate *priv = NM_VPN_PLUGIN_INFO_GET_PRIVATE (object); - return NM_VPN_PLUGIN_INFO (g_initable_new (NM_TYPE_VPN_PLUGIN_INFO, - NULL, - error, - NM_VPN_PLUGIN_INFO_FILENAME, filename, - NULL)); + switch (prop_id) { + case PROP_NAME: + g_value_set_string (value, priv->name); + break; + case PROP_FILENAME: + g_value_set_string (value, priv->filename); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } } -/** - * nm_vpn_plugin_info_new_with_data: - * @filename: optional filename. - * @keyfile: inject data for the plugin info instance. - * @error: construction may fail if the keyfile lacks mandatory fields. - * In this case, return the error reason. - * - * This constructor does not read any data from file but - * takes instead a @keyfile argument. - * - * Returns: new plugin info instance. - * - * Since: 1.2 - */ -NMVpnPluginInfo * -nm_vpn_plugin_info_new_with_data (const char *filename, - GKeyFile *keyfile, - GError **error) +static void +set_property (GObject *object, guint prop_id, + const GValue *value, GParamSpec *pspec) { - g_return_val_if_fail (keyfile, NULL); + NMVpnPluginInfoPrivate *priv = NM_VPN_PLUGIN_INFO_GET_PRIVATE (object); - return NM_VPN_PLUGIN_INFO (g_initable_new (NM_TYPE_VPN_PLUGIN_INFO, - NULL, - error, - NM_VPN_PLUGIN_INFO_FILENAME, filename, - NM_VPN_PLUGIN_INFO_KEYFILE, keyfile, - NULL)); + switch (prop_id) { + case PROP_FILENAME: + priv->filename = g_value_dup_string (value); + break; + case PROP_KEYFILE: + priv->keyfile = g_value_dup_boxed (value); + break; + default: + G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); + break; + } } /*****************************************************************************/ @@ -1224,42 +1206,60 @@ init_sync (GInitable *initable, GCancellable *cancellable, GError **error) return TRUE; } -static void -set_property (GObject *object, guint prop_id, - const GValue *value, GParamSpec *pspec) +/** + * nm_vpn_plugin_info_new_from_file: + * @filename: filename to read. + * @error: on failure, the error reason. + * + * Read the plugin info from file @filename. Does not do + * any further verification on the file. You might want to check + * file permissions and ownership of the file. + * + * Returns: %NULL if there is any error or a newly created + * #NMVpnPluginInfo instance. + * + * Since: 1.2 + */ +NMVpnPluginInfo * +nm_vpn_plugin_info_new_from_file (const char *filename, + GError **error) { - NMVpnPluginInfoPrivate *priv = NM_VPN_PLUGIN_INFO_GET_PRIVATE (object); + g_return_val_if_fail (filename, NULL); - switch (prop_id) { - case PROP_FILENAME: - priv->filename = g_value_dup_string (value); - break; - case PROP_KEYFILE: - priv->keyfile = g_value_dup_boxed (value); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } + return NM_VPN_PLUGIN_INFO (g_initable_new (NM_TYPE_VPN_PLUGIN_INFO, + NULL, + error, + NM_VPN_PLUGIN_INFO_FILENAME, filename, + NULL)); } -static void -get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) +/** + * nm_vpn_plugin_info_new_with_data: + * @filename: optional filename. + * @keyfile: inject data for the plugin info instance. + * @error: construction may fail if the keyfile lacks mandatory fields. + * In this case, return the error reason. + * + * This constructor does not read any data from file but + * takes instead a @keyfile argument. + * + * Returns: new plugin info instance. + * + * Since: 1.2 + */ +NMVpnPluginInfo * +nm_vpn_plugin_info_new_with_data (const char *filename, + GKeyFile *keyfile, + GError **error) { - NMVpnPluginInfoPrivate *priv = NM_VPN_PLUGIN_INFO_GET_PRIVATE (object); + g_return_val_if_fail (keyfile, NULL); - switch (prop_id) { - case PROP_NAME: - g_value_set_string (value, priv->name); - break; - case PROP_FILENAME: - g_value_set_string (value, priv->filename); - break; - default: - G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); - break; - } + return NM_VPN_PLUGIN_INFO (g_initable_new (NM_TYPE_VPN_PLUGIN_INFO, + NULL, + error, + NM_VPN_PLUGIN_INFO_FILENAME, filename, + NM_VPN_PLUGIN_INFO_KEYFILE, keyfile, + NULL)); } static void @@ -1298,14 +1298,11 @@ nm_vpn_plugin_info_class_init (NMVpnPluginInfoClass *plugin_class) g_type_class_add_private (object_class, sizeof (NMVpnPluginInfoPrivate)); - /* virtual methods */ object_class->set_property = set_property; object_class->get_property = get_property; object_class->dispose = dispose; object_class->finalize = finalize; - /* properties */ - /** * NMVpnPluginInfo:name: * @@ -1361,4 +1358,3 @@ nm_vpn_plugin_info_initable_iface_init (GInitableIface *iface) { iface->init = init_sync; } - |