diff options
Diffstat (limited to 'libnm-core/nm-setting-team-port.c')
| -rw-r--r-- | libnm-core/nm-setting-team-port.c | 55 |
1 files changed, 26 insertions, 29 deletions
diff --git a/libnm-core/nm-setting-team-port.c b/libnm-core/nm-setting-team-port.c index ee84aaf7..b902b822 100644 --- a/libnm-core/nm-setting-team-port.c +++ b/libnm-core/nm-setting-team-port.c @@ -39,7 +39,9 @@ * optional properties that apply to team ports. **/ -G_DEFINE_TYPE (NMSettingTeamPort, nm_setting_team_port, NM_TYPE_SETTING) +G_DEFINE_TYPE_WITH_CODE (NMSettingTeamPort, nm_setting_team_port, NM_TYPE_SETTING, + _nm_register_setting (TEAM_PORT, NM_SETTING_PRIORITY_AUX)) +NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_TEAM_PORT) #define NM_SETTING_TEAM_PORT_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_SETTING_TEAM_PORT, NMSettingTeamPortPrivate)) @@ -113,7 +115,7 @@ nm_setting_team_port_get_config (NMSettingTeamPort *setting) * * Since: 1.12 **/ -int +gint nm_setting_team_port_get_queue_id (NMSettingTeamPort *setting) { g_return_val_if_fail (NM_IS_SETTING_TEAM_PORT (setting), -1); @@ -129,7 +131,7 @@ nm_setting_team_port_get_queue_id (NMSettingTeamPort *setting) * * Since: 1.12 **/ -int +gint nm_setting_team_port_get_prio (NMSettingTeamPort *setting) { g_return_val_if_fail (NM_IS_SETTING_TEAM_PORT (setting), 0); @@ -161,7 +163,7 @@ nm_setting_team_port_get_sticky (NMSettingTeamPort *setting) * * Since: 1.12 **/ -int +gint nm_setting_team_port_get_lacp_prio (NMSettingTeamPort *setting) { g_return_val_if_fail (NM_IS_SETTING_TEAM_PORT (setting), 0); @@ -177,7 +179,7 @@ nm_setting_team_port_get_lacp_prio (NMSettingTeamPort *setting) * * Since: 1.12 **/ -int +gint nm_setting_team_port_get_lacp_key (NMSettingTeamPort *setting) { g_return_val_if_fail (NM_IS_SETTING_TEAM_PORT (setting), 0); @@ -321,10 +323,8 @@ nm_setting_team_port_clear_link_watchers (NMSettingTeamPort *setting) g_return_if_fail (NM_IS_SETTING_TEAM_PORT (setting)); - if (priv->link_watchers->len != 0) { - g_ptr_array_set_size (priv->link_watchers, 0); - g_object_notify (G_OBJECT (setting), NM_SETTING_TEAM_PORT_LINK_WATCHERS); - } + g_ptr_array_set_size (priv->link_watchers, 0); + g_object_notify (G_OBJECT (setting), NM_SETTING_TEAM_PORT_LINK_WATCHERS); } static GVariant * @@ -407,7 +407,7 @@ compare_property (NMSetting *setting, const GParamSpec *prop_spec, NMSettingCompareFlags flags) { - NMSettingClass *setting_class; + NMSettingClass *parent_class; NMSettingTeamPortPrivate *a_priv, *b_priv; guint i, j; @@ -441,8 +441,9 @@ compare_property (NMSetting *setting, return TRUE; } - setting_class = NM_SETTING_CLASS (nm_setting_team_port_parent_class); - return setting_class->compare_property (setting, other, prop_spec, flags); + /* Otherwise chain up to parent to handle generic compare */ + parent_class = NM_SETTING_CLASS (nm_setting_team_port_parent_class); + return parent_class->compare_property (setting, other, prop_spec, flags); } static void @@ -585,21 +586,21 @@ finalize (GObject *object) } static void -nm_setting_team_port_class_init (NMSettingTeamPortClass *klass) +nm_setting_team_port_class_init (NMSettingTeamPortClass *setting_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 (); + GObjectClass *object_class = G_OBJECT_CLASS (setting_class); + NMSettingClass *parent_class = NM_SETTING_CLASS (setting_class); - g_type_class_add_private (klass, sizeof (NMSettingTeamPortPrivate)); + g_type_class_add_private (setting_class, sizeof (NMSettingTeamPortPrivate)); + /* virtual methods */ object_class->set_property = set_property; object_class->get_property = get_property; object_class->finalize = finalize; + parent_class->compare_property = compare_property; + parent_class->verify = verify; - setting_class->compare_property = compare_property; - setting_class->verify = verify; - + /* Properties */ /** * NMSettingTeamPort:config: * @@ -713,14 +714,10 @@ nm_setting_team_port_class_init (NMSettingTeamPortClass *klass) G_TYPE_PTR_ARRAY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); + _nm_setting_class_transform_property (parent_class, + NM_SETTING_TEAM_PORT_LINK_WATCHERS, + G_VARIANT_TYPE ("aa{sv}"), + team_link_watchers_to_dbus, + team_link_watchers_from_dbus); - _properties_override_add_transform (properties_override, - g_object_class_find_property (G_OBJECT_CLASS (setting_class), - NM_SETTING_TEAM_PORT_LINK_WATCHERS), - G_VARIANT_TYPE ("aa{sv}"), - team_link_watchers_to_dbus, - team_link_watchers_from_dbus); - - _nm_setting_class_commit_full (setting_class, NM_META_SETTING_TYPE_TEAM_PORT, - NULL, properties_override); } |