From b6558ecf47b5eca09ef19f00010986d1b8ab2e95 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Fri, 16 May 2014 11:46:58 -0500 Subject: [PATCH] vpn: consolidate nm_vpn_connection_fail() and nm_vpn_connection_disconnect() --- src/vpn-manager/nm-vpn-connection.c | 24 ++++++++---------------- src/vpn-manager/nm-vpn-connection.h | 5 ++--- src/vpn-manager/nm-vpn-manager.c | 2 +- src/vpn-manager/nm-vpn-service.c | 5 +---- 4 files changed, 12 insertions(+), 24 deletions(-) diff --git a/src/vpn-manager/nm-vpn-connection.c b/src/vpn-manager/nm-vpn-connection.c index dcd45817a..1f457df1e 100644 --- a/src/vpn-manager/nm-vpn-connection.c +++ b/src/vpn-manager/nm-vpn-connection.c @@ -1607,21 +1607,13 @@ nm_vpn_connection_get_ip6_internal_gateway (NMVPNConnection *connection) } void -nm_vpn_connection_fail (NMVPNConnection *connection, +nm_vpn_connection_stop (NMVPNConnection *connection, + gboolean fail, NMVPNConnectionStateReason reason) { g_return_if_fail (NM_IS_VPN_CONNECTION (connection)); - _set_vpn_state (connection, STATE_FAILED, reason); -} - -void -nm_vpn_connection_disconnect (NMVPNConnection *connection, - NMVPNConnectionStateReason reason) -{ - g_return_if_fail (NM_IS_VPN_CONNECTION (connection)); - - _set_vpn_state (connection, STATE_DISCONNECTED, reason); + _set_vpn_state (connection, fail ? STATE_FAILED : STATE_DISCONNECTED, reason); } gboolean @@ -1661,7 +1653,7 @@ plugin_need_secrets_cb (DBusGProxy *proxy, DBusGProxyCall *call, void *user_dat priv->secrets_idx + 1, g_quark_to_string (error->domain), error->message); - nm_vpn_connection_fail (self, NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS); + _set_vpn_state (self, STATE_FAILED, NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS); g_error_free (error); return; } @@ -1673,7 +1665,7 @@ plugin_need_secrets_cb (DBusGProxy *proxy, DBusGProxyCall *call, void *user_dat nm_log_err (LOGD_VPN, "(%s/%s) final secrets request failed to provide sufficient secrets", nm_connection_get_uuid (priv->connection), nm_connection_get_id (priv->connection)); - nm_vpn_connection_fail (self, NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS); + _set_vpn_state (self, STATE_FAILED, NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS); } else { nm_log_dbg (LOGD_VPN, "(%s/%s) service indicated additional secrets required", nm_connection_get_uuid (priv->connection), @@ -1705,7 +1697,7 @@ plugin_new_secrets_cb (DBusGProxy *proxy, DBusGProxyCall *call, void *user_data nm_connection_get_id (priv->connection), g_quark_to_string (error->domain), error->message); - nm_vpn_connection_fail (self, NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS); + _set_vpn_state (self, STATE_FAILED, NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS); g_error_free (error); } } @@ -1730,7 +1722,7 @@ get_secrets_cb (NMSettingsConnection *connection, if (error) { nm_log_err (LOGD_VPN, "Failed to request VPN secrets #%d: (%d) %s", priv->secrets_idx + 1, error->code, error->message); - nm_vpn_connection_fail (self, NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS); + _set_vpn_state (self, STATE_FAILED, NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS); } else { /* Cache the username for later */ if (agent_username) { @@ -1814,7 +1806,7 @@ get_secrets (NMVPNConnection *self, nm_log_err (LOGD_VPN, "failed to request VPN secrets #%d: (%d) %s", priv->secrets_idx + 1, error->code, error->message); } - nm_vpn_connection_fail (self, NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS); + _set_vpn_state (self, STATE_FAILED, NM_VPN_CONNECTION_STATE_REASON_NO_SECRETS); g_clear_error (&error); } } diff --git a/src/vpn-manager/nm-vpn-connection.h b/src/vpn-manager/nm-vpn-connection.h index afa06e9c9..e5563b000 100644 --- a/src/vpn-manager/nm-vpn-connection.h +++ b/src/vpn-manager/nm-vpn-connection.h @@ -77,9 +77,8 @@ const char * nm_vpn_connection_get_banner (NMVPNConnection *connect gboolean nm_vpn_connection_deactivate (NMVPNConnection *connection, NMVPNConnectionStateReason reason); -void nm_vpn_connection_fail (NMVPNConnection *connection, - NMVPNConnectionStateReason reason); -void nm_vpn_connection_disconnect (NMVPNConnection *connection, +void nm_vpn_connection_stop (NMVPNConnection *connection, + gboolean fail, NMVPNConnectionStateReason reason); NMIP4Config * nm_vpn_connection_get_ip4_config (NMVPNConnection *connection); diff --git a/src/vpn-manager/nm-vpn-manager.c b/src/vpn-manager/nm-vpn-manager.c index 066cfc0ea..5b53931ad 100644 --- a/src/vpn-manager/nm-vpn-manager.c +++ b/src/vpn-manager/nm-vpn-manager.c @@ -136,7 +136,7 @@ nm_vpn_manager_activate_connection (NMVPNManager *manager, existing = find_active_vpn_connection (manager, nm_active_connection_get_connection (NM_ACTIVE_CONNECTION (vpn))); if (existing) - nm_vpn_connection_disconnect (vpn, NM_VPN_CONNECTION_STATE_REASON_USER_DISCONNECTED); + nm_vpn_connection_stop (vpn, FALSE, NM_VPN_CONNECTION_STATE_REASON_USER_DISCONNECTED); return nm_vpn_service_activate (service, vpn, error); } diff --git a/src/vpn-manager/nm-vpn-service.c b/src/vpn-manager/nm-vpn-service.c index 3af65fc2b..d175a9a7d 100644 --- a/src/vpn-manager/nm-vpn-service.c +++ b/src/vpn-manager/nm-vpn-service.c @@ -140,10 +140,7 @@ nm_vpn_service_connections_stop (NMVPNService *service, NMVPNConnection *vpn = NM_VPN_CONNECTION (iter->data); g_signal_handlers_disconnect_by_func (vpn, G_CALLBACK (connection_vpn_state_changed), service); - if (fail) - nm_vpn_connection_fail (vpn, reason); - else - nm_vpn_connection_disconnect (vpn, reason); + nm_vpn_connection_stop (vpn, fail, reason); g_object_unref (vpn); } g_clear_pointer (&priv->connections, g_slist_free);