diff --git a/libnm-glib/nm-vpn-plugin.c b/libnm-glib/nm-vpn-plugin.c index 7848c131c4..2fad7068f3 100644 --- a/libnm-glib/nm-vpn-plugin.c +++ b/libnm-glib/nm-vpn-plugin.c @@ -28,6 +28,7 @@ #include "nm-utils.h" #include "nm-connection.h" #include "nm-dbus-glib-types.h" +#include "nm-macros-internal.h" static gboolean impl_vpn_plugin_connect (NMVPNPlugin *plugin, GHashTable *connection, @@ -257,6 +258,7 @@ connect_timer_expired (gpointer data) NMVPNPlugin *plugin = NM_VPN_PLUGIN (data); GError *err = NULL; + NM_VPN_PLUGIN_GET_PRIVATE (plugin)->connect_timer = 0; g_message ("Connect timer expired, disconnecting."); nm_vpn_plugin_disconnect (plugin, &err); if (err) { @@ -264,26 +266,27 @@ connect_timer_expired (gpointer data) g_error_free (err); } - return FALSE; + return G_SOURCE_REMOVE; } static gboolean quit_timer_expired (gpointer data) { - NMVPNPlugin *plugin = NM_VPN_PLUGIN (data); + NMVPNPlugin *self = NM_VPN_PLUGIN (data); - nm_vpn_plugin_emit_quit (plugin); - - return FALSE; + NM_VPN_PLUGIN_GET_PRIVATE (self)->quit_timer = 0; + nm_vpn_plugin_emit_quit (self); + return G_SOURCE_REMOVE; } static gboolean fail_stop (gpointer data) { - NMVPNPlugin *plugin = NM_VPN_PLUGIN (data); + NMVPNPlugin *self = NM_VPN_PLUGIN (data); - nm_vpn_plugin_set_state (plugin, NM_VPN_SERVICE_STATE_STOPPED); - return FALSE; + NM_VPN_PLUGIN_GET_PRIVATE (self)->fail_stop_id = 0; + nm_vpn_plugin_set_state (self, NM_VPN_SERVICE_STATE_STOPPED); + return G_SOURCE_REMOVE; } static void @@ -291,8 +294,7 @@ schedule_fail_stop (NMVPNPlugin *plugin) { NMVPNPluginPrivate *priv = NM_VPN_PLUGIN_GET_PRIVATE (plugin); - if (priv->fail_stop_id) - g_source_remove (priv->fail_stop_id); + nm_clear_g_source (&priv->fail_stop_id); priv->fail_stop_id = g_idle_add (fail_stop, plugin); } @@ -408,22 +410,12 @@ nm_vpn_plugin_set_ip6_config (NMVPNPlugin *plugin, nm_vpn_plugin_set_state (plugin, NM_VPN_SERVICE_STATE_STARTED); } -static void -connect_timer_removed (gpointer data) -{ - NM_VPN_PLUGIN_GET_PRIVATE (data)->connect_timer = 0; -} - static void connect_timer_start (NMVPNPlugin *plugin) { NMVPNPluginPrivate *priv = NM_VPN_PLUGIN_GET_PRIVATE (plugin); - priv->connect_timer = g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, - 60, - connect_timer_expired, - plugin, - connect_timer_removed); + priv->connect_timer = g_timeout_add_seconds (60, connect_timer_expired, plugin); } static gboolean @@ -638,8 +630,7 @@ nm_vpn_plugin_secrets_required (NMVPNPlugin *plugin, /* Cancel the connect timer since secrets might take a while. It'll * get restarted when the secrets come back via NewSecrets(). */ - if (priv->connect_timer) - g_source_remove (priv->connect_timer); + nm_clear_g_source (&priv->connect_timer); g_signal_emit (plugin, signals[SECRETS_REQUIRED], 0, message, hints); } @@ -848,10 +839,9 @@ dispose (GObject *object) NMVPNServiceState state; GError *err = NULL; - if (priv->fail_stop_id) { - g_source_remove (priv->fail_stop_id); - priv->fail_stop_id = 0; - } + nm_clear_g_source (&priv->fail_stop_id); + nm_clear_g_source (&priv->quit_timer); + nm_clear_g_source (&priv->connect_timer); state = nm_vpn_plugin_get_state (plugin); @@ -888,12 +878,6 @@ finalize (GObject *object) G_OBJECT_CLASS (nm_vpn_plugin_parent_class)->finalize (object); } -static void -quit_timer_removed (gpointer data) -{ - NM_VPN_PLUGIN_GET_PRIVATE (data)->quit_timer = 0; -} - static void state_changed (NMVPNPlugin *plugin, NMVPNServiceState state) { @@ -901,34 +885,19 @@ state_changed (NMVPNPlugin *plugin, NMVPNServiceState state) switch (state) { case NM_VPN_SERVICE_STATE_STARTING: - /* Remove the quit timer. */ - if (priv->quit_timer) - g_source_remove (priv->quit_timer); - - if (priv->fail_stop_id) { - g_source_remove (priv->fail_stop_id); - priv->fail_stop_id = 0; - } + nm_clear_g_source (&priv->quit_timer); + nm_clear_g_source (&priv->fail_stop_id); break; case NM_VPN_SERVICE_STATE_STOPPED: - priv->quit_timer = g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, - NM_VPN_PLUGIN_QUIT_TIMER, - quit_timer_expired, - plugin, - quit_timer_removed); + priv->quit_timer = g_timeout_add_seconds (NM_VPN_PLUGIN_QUIT_TIMER, + quit_timer_expired, + plugin); break; default: /* Clean up all timers we might have set up. */ - if (priv->connect_timer) - g_source_remove (priv->connect_timer); - - if (priv->quit_timer) - g_source_remove (priv->quit_timer); - - if (priv->fail_stop_id) { - g_source_remove (priv->fail_stop_id); - priv->fail_stop_id = 0; - } + nm_clear_g_source (&priv->connect_timer); + nm_clear_g_source (&priv->quit_timer); + nm_clear_g_source (&priv->fail_stop_id); break; } } diff --git a/libnm/nm-vpn-plugin-old.c b/libnm/nm-vpn-plugin-old.c index d5dd066c77..72bf4d00cf 100644 --- a/libnm/nm-vpn-plugin-old.c +++ b/libnm/nm-vpn-plugin-old.c @@ -40,6 +40,7 @@ #include "nm-dbus-helpers.h" #include "nm-core-internal.h" #include "nm-simple-connection.h" +#include "nm-macros-internal.h" #include "nmdbus-vpn-plugin.h" @@ -230,6 +231,7 @@ connect_timer_expired (gpointer data) NMVpnPluginOld *plugin = NM_VPN_PLUGIN_OLD (data); GError *err = NULL; + NM_VPN_PLUGIN_OLD_GET_PRIVATE (plugin)->connect_timer = 0; g_message ("Connect timer expired, disconnecting."); nm_vpn_plugin_old_disconnect (plugin, &err); if (err) { @@ -237,26 +239,27 @@ connect_timer_expired (gpointer data) g_error_free (err); } - return FALSE; + return G_SOURCE_REMOVE; } static gboolean quit_timer_expired (gpointer data) { - NMVpnPluginOld *plugin = NM_VPN_PLUGIN_OLD (data); + NMVpnPluginOld *self = NM_VPN_PLUGIN_OLD (data); - nm_vpn_plugin_old_emit_quit (plugin); - - return FALSE; + NM_VPN_PLUGIN_OLD_GET_PRIVATE (self)->quit_timer = 0; + nm_vpn_plugin_old_emit_quit (self); + return G_SOURCE_REMOVE; } static gboolean fail_stop (gpointer data) { - NMVpnPluginOld *plugin = NM_VPN_PLUGIN_OLD (data); + NMVpnPluginOld *self = NM_VPN_PLUGIN_OLD (data); - nm_vpn_plugin_old_set_state (plugin, NM_VPN_SERVICE_STATE_STOPPED); - return FALSE; + NM_VPN_PLUGIN_OLD_GET_PRIVATE (self)->fail_stop_id = 0; + nm_vpn_plugin_old_set_state (self, NM_VPN_SERVICE_STATE_STOPPED); + return G_SOURCE_REMOVE; } static void @@ -264,8 +267,7 @@ schedule_fail_stop (NMVpnPluginOld *plugin) { NMVpnPluginOldPrivate *priv = NM_VPN_PLUGIN_OLD_GET_PRIVATE (plugin); - if (priv->fail_stop_id) - g_source_remove (priv->fail_stop_id); + nm_clear_g_source (&priv->fail_stop_id); priv->fail_stop_id = g_idle_add (fail_stop, plugin); } @@ -369,22 +371,12 @@ nm_vpn_plugin_old_set_ip6_config (NMVpnPluginOld *plugin, nm_vpn_plugin_old_set_state (plugin, NM_VPN_SERVICE_STATE_STARTED); } -static void -connect_timer_removed (gpointer data) -{ - NM_VPN_PLUGIN_OLD_GET_PRIVATE (data)->connect_timer = 0; -} - static void connect_timer_start (NMVpnPluginOld *plugin) { NMVpnPluginOldPrivate *priv = NM_VPN_PLUGIN_OLD_GET_PRIVATE (plugin); - priv->connect_timer = g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, - 60, - connect_timer_expired, - plugin, - connect_timer_removed); + priv->connect_timer = g_timeout_add_seconds (60, connect_timer_expired, plugin); } static void @@ -607,8 +599,7 @@ nm_vpn_plugin_old_secrets_required (NMVpnPluginOld *plugin, /* Cancel the connect timer since secrets might take a while. It'll * get restarted when the secrets come back via NewSecrets(). */ - if (priv->connect_timer) - g_source_remove (priv->connect_timer); + nm_clear_g_source (&priv->connect_timer); g_signal_emit (plugin, signals[SECRETS_REQUIRED], 0, message, hints); } @@ -993,10 +984,9 @@ dispose (GObject *object) NMVpnServiceState state; GError *err = NULL; - if (priv->fail_stop_id) { - g_source_remove (priv->fail_stop_id); - priv->fail_stop_id = 0; - } + nm_clear_g_source (&priv->fail_stop_id); + nm_clear_g_source (&priv->quit_timer); + nm_clear_g_source (&priv->connect_timer); state = nm_vpn_plugin_old_get_state (plugin); @@ -1029,12 +1019,6 @@ finalize (GObject *object) G_OBJECT_CLASS (nm_vpn_plugin_old_parent_class)->finalize (object); } -static void -quit_timer_removed (gpointer data) -{ - NM_VPN_PLUGIN_OLD_GET_PRIVATE (data)->quit_timer = 0; -} - static void state_changed (NMVpnPluginOld *plugin, NMVpnServiceState state) { @@ -1042,34 +1026,19 @@ state_changed (NMVpnPluginOld *plugin, NMVpnServiceState state) switch (state) { case NM_VPN_SERVICE_STATE_STARTING: - /* Remove the quit timer. */ - if (priv->quit_timer) - g_source_remove (priv->quit_timer); - - if (priv->fail_stop_id) { - g_source_remove (priv->fail_stop_id); - priv->fail_stop_id = 0; - } + nm_clear_g_source (&priv->quit_timer); + nm_clear_g_source (&priv->fail_stop_id); break; case NM_VPN_SERVICE_STATE_STOPPED: - priv->quit_timer = g_timeout_add_seconds_full (G_PRIORITY_DEFAULT, - NM_VPN_PLUGIN_OLD_QUIT_TIMER, - quit_timer_expired, - plugin, - quit_timer_removed); + priv->quit_timer = g_timeout_add_seconds (NM_VPN_PLUGIN_OLD_QUIT_TIMER, + quit_timer_expired, + plugin); break; default: /* Clean up all timers we might have set up. */ - if (priv->connect_timer) - g_source_remove (priv->connect_timer); - - if (priv->quit_timer) - g_source_remove (priv->quit_timer); - - if (priv->fail_stop_id) { - g_source_remove (priv->fail_stop_id); - priv->fail_stop_id = 0; - } + nm_clear_g_source (&priv->connect_timer); + nm_clear_g_source (&priv->quit_timer); + nm_clear_g_source (&priv->fail_stop_id); break; } }