diff options
Diffstat (limited to 'libnm-core/nm-setting-tun.c')
-rw-r--r-- | libnm-core/nm-setting-tun.c | 107 |
1 files changed, 58 insertions, 49 deletions
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; |