From 07fc3dcb9099536197a67734bb42c610d67f37a0 Mon Sep 17 00:00:00 2001 From: Jiří Klimeš Date: Fri, 21 Sep 2012 14:36:46 +0200 Subject: api: add NM_DEVICE_STATE_REASON_SECONDARY_CONNECTION_FAILED reason and use that --- cli/src/common.c | 3 +++ include/NetworkManager.h | 3 +++ introspection/nm-device.xml | 5 +++++ src/nm-device.c | 2 ++ src/nm-policy.c | 5 +++-- 5 files changed, 16 insertions(+), 2 deletions(-) diff --git a/cli/src/common.c b/cli/src/common.c index 1126dc87..58598dc2 100644 --- a/cli/src/common.c +++ b/cli/src/common.c @@ -557,6 +557,9 @@ nmc_device_reason_to_string (NMDeviceStateReason reason) case NM_DEVICE_STATE_REASON_SSID_NOT_FOUND: return _("The Wi-Fi network could not be found"); + case NM_DEVICE_STATE_REASON_SECONDARY_CONNECTION_FAILED: + return _("A seconadary connection of the base connection failed"); + default: return _("Unknown"); } diff --git a/include/NetworkManager.h b/include/NetworkManager.h index 3a8462a2..91b03f8f 100644 --- a/include/NetworkManager.h +++ b/include/NetworkManager.h @@ -498,6 +498,9 @@ typedef enum { /* The WiFi network could not be found */ NM_DEVICE_STATE_REASON_SSID_NOT_FOUND = 53, + /* A seconadary connection of the base connection failed */ + NM_DEVICE_STATE_REASON_SECONDARY_CONNECTION_FAILED = 54, + /* Unused */ NM_DEVICE_STATE_REASON_LAST = 0xFFFF } NMDeviceStateReason; diff --git a/introspection/nm-device.xml b/introspection/nm-device.xml index 54fc73f7..8d99c6ab 100644 --- a/introspection/nm-device.xml +++ b/introspection/nm-device.xml @@ -569,6 +569,11 @@ The 802.11 Wi-Fi network could not be found. + + + A secondary connection of the base connection failed. + + diff --git a/src/nm-device.c b/src/nm-device.c index a0e7fc54..0aed298d 100644 --- a/src/nm-device.c +++ b/src/nm-device.c @@ -4513,6 +4513,8 @@ reason_to_string (NMDeviceStateReason reason) return "modem-manager-unavailable"; case NM_DEVICE_STATE_REASON_SSID_NOT_FOUND: return "SSID not found"; + case NM_DEVICE_STATE_REASON_SECONDARY_CONNECTION_FAILED: + return "secondary-connection-failed"; default: break; } diff --git a/src/nm-policy.c b/src/nm-policy.c index 74b4c33d..00cf67e2 100644 --- a/src/nm-policy.c +++ b/src/nm-policy.c @@ -1003,7 +1003,8 @@ process_secondaries (NMPolicy *policy, /* Secondary connection failed -> do not watch other connections */ policy->pending_secondaries = g_slist_remove (policy->pending_secondaries, secondary_data); pending_secondary_data_free (secondary_data); - nm_device_state_changed (item_device, NM_DEVICE_STATE_FAILED, NM_DEVICE_STATE_REASON_DEPENDENCY_FAILED); + nm_device_state_changed (item_device, NM_DEVICE_STATE_FAILED, + NM_DEVICE_STATE_REASON_SECONDARY_CONNECTION_FAILED); return; } } @@ -1454,7 +1455,7 @@ device_state_changed (NMDevice *device, /* Activate secondary (VPN) connections */ if (!activate_secondary_connections (policy, connection, device)) nm_device_state_changed (device, NM_DEVICE_STATE_FAILED, - NM_DEVICE_STATE_REASON_DEPENDENCY_FAILED); + NM_DEVICE_STATE_REASON_SECONDARY_CONNECTION_FAILED); } else nm_device_state_changed (device, NM_DEVICE_STATE_ACTIVATED, NM_DEVICE_STATE_REASON_NONE); -- cgit v1.2.3