diff options
Diffstat (limited to 'libnm-core/nm-setting-team.c')
| -rw-r--r-- | libnm-core/nm-setting-team.c | 117 |
1 files changed, 61 insertions, 56 deletions
diff --git a/libnm-core/nm-setting-team.c b/libnm-core/nm-setting-team.c index 195e509c..3d151462 100644 --- a/libnm-core/nm-setting-team.c +++ b/libnm-core/nm-setting-team.c @@ -118,16 +118,16 @@ struct NMTeamLinkWatcher { * Since: 1.12 **/ NMTeamLinkWatcher * -nm_team_link_watcher_new_ethtool (gint delay_up, - gint delay_down, +nm_team_link_watcher_new_ethtool (int delay_up, + int delay_down, GError **error) { NMTeamLinkWatcher *watcher; const char *val_fail = NULL; - if (delay_up < 0 || delay_up > G_MAXINT32) + if (delay_up < 0 || !_NM_INT_LE_MAXINT32 (delay_up)) val_fail = "delay-up"; - if (delay_down < 0 || delay_down > G_MAXINT32) + if (delay_down < 0 || !_NM_INT_LE_MAXINT32 (delay_down)) val_fail = "delay-down"; if (val_fail) { g_set_error (error, NM_CONNECTION_ERROR, NM_CONNECTION_ERROR_FAILED, @@ -161,9 +161,9 @@ nm_team_link_watcher_new_ethtool (gint delay_up, * Since: 1.12 **/ NMTeamLinkWatcher * -nm_team_link_watcher_new_nsna_ping (gint init_wait, - gint interval, - gint missed_max, +nm_team_link_watcher_new_nsna_ping (int init_wait, + int interval, + int missed_max, const char *target_host, GError **error) { @@ -182,11 +182,11 @@ nm_team_link_watcher_new_nsna_ping (gint init_wait, return NULL; } - if (init_wait < 0 || init_wait > G_MAXINT32) + if (init_wait < 0 || !_NM_INT_LE_MAXINT32 (init_wait)) val_fail = "init-wait"; - if (interval < 0 || interval > G_MAXINT32) + if (interval < 0 || !_NM_INT_LE_MAXINT32 (interval)) val_fail = "interval"; - if (missed_max < 0 || missed_max > G_MAXINT32) + if (missed_max < 0 || !_NM_INT_LE_MAXINT32 (missed_max)) val_fail = "missed-max"; if (val_fail) { g_set_error (error, NM_CONNECTION_ERROR, NM_CONNECTION_ERROR_FAILED, @@ -225,9 +225,9 @@ nm_team_link_watcher_new_nsna_ping (gint init_wait, * Since: 1.12 **/ NMTeamLinkWatcher * -nm_team_link_watcher_new_arp_ping (gint init_wait, - gint interval, - gint missed_max, +nm_team_link_watcher_new_arp_ping (int init_wait, + int interval, + int missed_max, const char *target_host, const char *source_host, NMTeamLinkWatcherArpPingFlags flags, @@ -255,11 +255,11 @@ nm_team_link_watcher_new_arp_ping (gint init_wait, return NULL; } - if (init_wait < 0 || init_wait > G_MAXINT32) + if (init_wait < 0 || !_NM_INT_LE_MAXINT32 (init_wait)) val_fail = "init-wait"; - if (interval < 0 || interval > G_MAXINT32) + if (interval < 0 || !_NM_INT_LE_MAXINT32 (interval)) val_fail = "interval"; - if (missed_max < 0 || missed_max > G_MAXINT32) + if (missed_max < 0 || !_NM_INT_LE_MAXINT32 (missed_max)) val_fail = "missed-max"; if (val_fail) { g_set_error (error, NM_CONNECTION_ERROR, NM_CONNECTION_ERROR_FAILED, @@ -557,27 +557,25 @@ nm_team_link_watcher_get_flags (NMTeamLinkWatcher *watcher) /*****************************************************************************/ -G_DEFINE_TYPE_WITH_CODE (NMSettingTeam, nm_setting_team, NM_TYPE_SETTING, - _nm_register_setting (TEAM, NM_SETTING_PRIORITY_HW_BASE)) -NM_SETTING_REGISTER_TYPE (NM_TYPE_SETTING_TEAM) +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; - gint notify_peers_count; - gint notify_peers_interval; - gint mcast_rejoin_count; - gint mcast_rejoin_interval; + 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; - gint runner_tx_balancer_interval; + int runner_tx_balancer_interval; gboolean runner_active; gboolean runner_fast_rate; - gint runner_sys_prio; - gint runner_min_ports; + int runner_sys_prio; + int runner_min_ports; char *runner_agg_select_policy; GPtrArray *link_watchers; /* Array of NMTeamLinkWatcher */ } NMSettingTeamPrivate; @@ -661,7 +659,7 @@ nm_setting_team_get_config (NMSettingTeam *setting) * * Since: 1.12 **/ -gint +int nm_setting_team_get_notify_peers_count (NMSettingTeam *setting) { g_return_val_if_fail (NM_IS_SETTING_TEAM (setting), 0); @@ -677,7 +675,7 @@ nm_setting_team_get_notify_peers_count (NMSettingTeam *setting) * * Since: 1.12 **/ -gint +int nm_setting_team_get_notify_peers_interval (NMSettingTeam *setting) { g_return_val_if_fail (NM_IS_SETTING_TEAM (setting), 0); @@ -693,7 +691,7 @@ nm_setting_team_get_notify_peers_interval (NMSettingTeam *setting) * * Since: 1.12 **/ -gint +int nm_setting_team_get_mcast_rejoin_count (NMSettingTeam *setting) { g_return_val_if_fail (NM_IS_SETTING_TEAM (setting), 0); @@ -709,7 +707,7 @@ nm_setting_team_get_mcast_rejoin_count (NMSettingTeam *setting) * * Since: 1.12 **/ -gint +int nm_setting_team_get_mcast_rejoin_interval (NMSettingTeam *setting) { g_return_val_if_fail (NM_IS_SETTING_TEAM (setting), 0); @@ -773,7 +771,7 @@ nm_setting_team_get_runner_tx_balancer (NMSettingTeam *setting) * * Since: 1.12 **/ -gint +int nm_setting_team_get_runner_tx_balancer_interval (NMSettingTeam *setting) { g_return_val_if_fail (NM_IS_SETTING_TEAM (setting), 0); @@ -821,7 +819,7 @@ nm_setting_team_get_runner_fast_rate (NMSettingTeam *setting) * * Since: 1.12 **/ -gint +int nm_setting_team_get_runner_sys_prio (NMSettingTeam *setting) { g_return_val_if_fail (NM_IS_SETTING_TEAM (setting), 0); @@ -837,7 +835,7 @@ nm_setting_team_get_runner_sys_prio (NMSettingTeam *setting) * * Since: 1.12 **/ -gint +int nm_setting_team_get_runner_min_ports (NMSettingTeam *setting) { g_return_val_if_fail (NM_IS_SETTING_TEAM (setting), 0); @@ -1121,8 +1119,10 @@ nm_setting_team_clear_link_watchers (NMSettingTeam *setting) { g_return_if_fail (NM_IS_SETTING_TEAM (setting)); - g_ptr_array_set_size (priv->link_watchers, 0); - g_object_notify (G_OBJECT (setting), NM_SETTING_TEAM_LINK_WATCHERS); + if (priv->link_watchers->len != 0) { + g_ptr_array_set_size (priv->link_watchers, 0); + g_object_notify (G_OBJECT (setting), NM_SETTING_TEAM_LINK_WATCHERS); + } } static GVariant * @@ -1237,7 +1237,7 @@ compare_property (NMSetting *setting, NMSettingCompareFlags flags) { NMSettingTeamPrivate *a_priv, *b_priv; - NMSettingClass *parent_class; + NMSettingClass *setting_class; guint i, j; /* If we are trying to match a connection in order to assume it (and thus @@ -1270,9 +1270,8 @@ compare_property (NMSetting *setting, return TRUE; } - /* Otherwise chain up to parent to handle generic compare */ - parent_class = NM_SETTING_CLASS (nm_setting_team_parent_class); - return parent_class->compare_property (setting, other, prop_spec, flags); + setting_class = NM_SETTING_CLASS (nm_setting_team_parent_class); + return setting_class->compare_property (setting, other, prop_spec, flags); } static void @@ -1557,21 +1556,21 @@ get_property (GObject *object, guint prop_id, } static void -nm_setting_team_class_init (NMSettingTeamClass *setting_class) +nm_setting_team_class_init (NMSettingTeamClass *klass) { - GObjectClass *object_class = G_OBJECT_CLASS (setting_class); - NMSettingClass *parent_class = NM_SETTING_CLASS (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 (); - g_type_class_add_private (setting_class, sizeof (NMSettingTeamPrivate)); + g_type_class_add_private (klass, sizeof (NMSettingTeamPrivate)); - /* 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; - /* Properties */ + setting_class->compare_property = compare_property; + setting_class->verify = verify; + /** * NMSettingTeam:config: * @@ -1817,11 +1816,13 @@ nm_setting_team_class_init (NMSettingTeamClass *setting_class) G_TYPE_PTR_ARRAY, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); - _nm_setting_class_transform_property (parent_class, - NM_SETTING_TEAM_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_LINK_WATCHERS), + G_VARIANT_TYPE ("aa{sv}"), + team_link_watchers_to_dbus, + team_link_watchers_from_dbus); /* ---dbus--- * property: interface-name @@ -1831,8 +1832,12 @@ nm_setting_team_class_init (NMSettingTeamClass *setting_class) * team's interface name. * ---end--- */ - _nm_setting_class_add_dbus_only_property (parent_class, "interface-name", - G_VARIANT_TYPE_STRING, - _nm_setting_get_deprecated_virtual_interface_name, - NULL); + _properties_override_add_dbus_only (properties_override, + "interface-name", + G_VARIANT_TYPE_STRING, + _nm_setting_get_deprecated_virtual_interface_name, + NULL); + + _nm_setting_class_commit_full (setting_class, NM_META_SETTING_TYPE_TEAM, + NULL, properties_override); } |