diff options
Diffstat (limited to 'libnm-core/nm-setting-wired.c')
| -rw-r--r-- | libnm-core/nm-setting-wired.c | 83 |
1 files changed, 47 insertions, 36 deletions
diff --git a/libnm-core/nm-setting-wired.c b/libnm-core/nm-setting-wired.c index 5da9ce7d..baa40cc4 100644 --- a/libnm-core/nm-setting-wired.c +++ b/libnm-core/nm-setting-wired.c @@ -40,9 +40,7 @@ * necessary for connection to Ethernet networks. **/ -G_DEFINE_TYPE_WITH_CODE (NMSettingWired, nm_setting_wired, NM_TYPE_SETTING, - _nm_register_setting (WIRED, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_WIRED) +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)) @@ -766,8 +764,8 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) || ((!priv->speed) && (priv->duplex))) { g_set_error_literal (error, - NM_CONNECTION_ERROR, - NM_CONNECTION_ERROR_INVALID_PROPERTY, + NM_CONNECTION_ERROR, + NM_CONNECTION_ERROR_INVALID_PROPERTY, priv->auto_negotiate ? _("both speed and duplex should have a valid value or both should be unset") : _("both speed and duplex are required for static link configuration")); @@ -783,15 +781,15 @@ compare_property (NMSetting *setting, const GParamSpec *prop_spec, NMSettingCompareFlags flags) { - NMSettingClass *parent_class; + NMSettingClass *setting_class; if (nm_streq (prop_spec->name, NM_SETTING_WIRED_CLONED_MAC_ADDRESS)) { return nm_streq0 (NM_SETTING_WIRED_GET_PRIVATE (setting)->cloned_mac_address, NM_SETTING_WIRED_GET_PRIVATE (other)->cloned_mac_address); } - parent_class = NM_SETTING_CLASS (nm_setting_wired_parent_class); - return parent_class->compare_property (setting, other, prop_spec, flags); + setting_class = NM_SETTING_CLASS (nm_setting_wired_parent_class); + return setting_class->compare_property (setting, other, prop_spec, flags); } static GVariant * @@ -978,21 +976,21 @@ get_property (GObject *object, guint prop_id, } static void -nm_setting_wired_class_init (NMSettingWiredClass *setting_wired_class) +nm_setting_wired_class_init (NMSettingWiredClass *klass) { - GObjectClass *object_class = G_OBJECT_CLASS (setting_wired_class); - NMSettingClass *setting_class = NM_SETTING_CLASS (setting_wired_class); + GObjectClass *object_class = G_OBJECT_CLASS (klass); + NMSettingClass *setting_class = NM_SETTING_CLASS (klass); + GArray *properties_override = _nm_sett_info_property_override_create_array (); - g_type_class_add_private (setting_wired_class, sizeof (NMSettingWiredPrivate)); + g_type_class_add_private (klass, sizeof (NMSettingWiredPrivate)); - /* virtual methods */ object_class->set_property = set_property; object_class->get_property = get_property; object_class->finalize = finalize; - setting_class->verify = verify; + + setting_class->verify = verify; setting_class->compare_property = compare_property; - /* Properties */ /** * NMSettingWired:port: * @@ -1103,12 +1101,14 @@ nm_setting_wired_class_init (NMSettingWiredClass *setting_wired_class) G_PARAM_READWRITE | G_PARAM_CONSTRUCT | G_PARAM_STATIC_STRINGS)); - _nm_setting_class_override_property (setting_class, - NM_SETTING_WIRED_AUTO_NEGOTIATE, - G_VARIANT_TYPE_BOOLEAN, - _override_autoneg_get, - NULL, - NULL); + + _properties_override_add_override (properties_override, + g_object_class_find_property (G_OBJECT_CLASS (setting_class), + NM_SETTING_WIRED_AUTO_NEGOTIATE), + G_VARIANT_TYPE_BOOLEAN, + _override_autoneg_get, + NULL, + NULL); /** * NMSettingWired:mac-address: @@ -1141,10 +1141,13 @@ nm_setting_wired_class_init (NMSettingWiredClass *setting_wired_class) G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS)); - _nm_setting_class_transform_property (setting_class, NM_SETTING_WIRED_MAC_ADDRESS, - G_VARIANT_TYPE_BYTESTRING, - _nm_utils_hwaddr_to_dbus, - _nm_utils_hwaddr_from_dbus); + + _properties_override_add_transform (properties_override, + g_object_class_find_property (G_OBJECT_CLASS (setting_class), + NM_SETTING_WIRED_MAC_ADDRESS), + G_VARIANT_TYPE_BYTESTRING, + _nm_utils_hwaddr_to_dbus, + _nm_utils_hwaddr_from_dbus); /** * NMSettingWired:cloned-mac-address: @@ -1196,8 +1199,10 @@ nm_setting_wired_class_init (NMSettingWiredClass *setting_wired_class) G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS)); - _nm_setting_class_override_property (setting_class, - NM_SETTING_WIRED_CLONED_MAC_ADDRESS, + + _properties_override_add_override (properties_override, + g_object_class_find_property (G_OBJECT_CLASS (setting_class), + NM_SETTING_WIRED_CLONED_MAC_ADDRESS), G_VARIANT_TYPE_BYTESTRING, _nm_utils_hwaddr_cloned_get, _nm_utils_hwaddr_cloned_set, @@ -1215,11 +1220,11 @@ nm_setting_wired_class_init (NMSettingWiredClass *setting_wired_class) * "cloned-mac-address". * ---end--- */ - _nm_setting_class_add_dbus_only_property (setting_class, - "assigned-mac-address", - G_VARIANT_TYPE_STRING, - _nm_utils_hwaddr_cloned_data_synth, - _nm_utils_hwaddr_cloned_data_set); + _properties_override_add_dbus_only (properties_override, + "assigned-mac-address", + G_VARIANT_TYPE_STRING, + _nm_utils_hwaddr_cloned_data_synth, + _nm_utils_hwaddr_cloned_data_set); /** * NMSettingWired:generate-mac-address-mask: @@ -1389,10 +1394,13 @@ nm_setting_wired_class_init (NMSettingWiredClass *setting_wired_class) G_PARAM_READWRITE | NM_SETTING_PARAM_INFERRABLE | G_PARAM_STATIC_STRINGS)); - _nm_setting_class_transform_property (setting_class, NM_SETTING_WIRED_S390_OPTIONS, - G_VARIANT_TYPE ("a{ss}"), - _nm_utils_strdict_to_dbus, - _nm_utils_strdict_from_dbus); + + _properties_override_add_transform (properties_override, + g_object_class_find_property (G_OBJECT_CLASS (setting_class), + NM_SETTING_WIRED_S390_OPTIONS), + G_VARIANT_TYPE ("a{ss}"), + _nm_utils_strdict_to_dbus, + _nm_utils_strdict_from_dbus); /** * NMSettingWired:wake-on-lan: @@ -1431,4 +1439,7 @@ nm_setting_wired_class_init (NMSettingWiredClass *setting_wired_class) NULL, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + + _nm_setting_class_commit_full (setting_class, NM_META_SETTING_TYPE_WIRED, + NULL, properties_override); } |