summary refs log tree commit diff
path: root/libnm-core/nm-setting-team-port.c
diff options
context:
space:
mode:
Diffstat (limited to 'libnm-core/nm-setting-team-port.c')
-rw-r--r--libnm-core/nm-setting-team-port.c55
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);
 }