summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDan Winship <danw@gnome.org>2013-07-30 16:31:31 -0400
committerDan Winship <danw@gnome.org>2013-08-28 10:54:08 -0400
commit07521da59115dff6c2394240d5fffade3cded62f (patch)
treea45a32fc4c7113f027501d775c78e08e58dfe9a0 /include
parent8732914815ef315cd94ba67ba4b8247d90412b13 (diff)
downloadNetworkManager-07521da59115dff6c2394240d5fffade3cded62f.tar.gz
core: provide additional network connectivity information
NM_STATE_CONNECTED_SITE doesn't distinguish between "behind a captive portal" and "limited network connectivity" (ie, connected to a router that has lost its upstream connection). Add a new NMManager :connectivity property to provide this information. Also add a CheckConnectivity method, which can be used to force NM to re-check the connectivity state, which could be called by a client after it completed a portal login, or fixed a network problem.
Diffstat (limited to 'include')
-rw-r--r--include/NetworkManager.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/include/NetworkManager.h b/include/NetworkManager.h
index 27c20f6000..4aa6e9e72d 100644
--- a/include/NetworkManager.h
+++ b/include/NetworkManager.h
@@ -102,6 +102,27 @@ typedef enum {
#define NM_STATE_CONNECTED NM_STATE_CONNECTED_GLOBAL
/**
+ * NMConnectivityState:
+ * @NM_CONNECTIVITY_UNKNOWN: Network connectivity is unknown.
+ * @NM_CONNECTIVITY_NONE: The host is not connected to any network.
+ * @NM_CONNECTIVITY_PORTAL: The host is behind a captive portal and
+ * cannot reach the full Internet.
+ * @NM_CONNECTIVITY_LIMITED: The host is connected to a network, but
+ * does not appear to be able to reach the full Internet.
+ * @NM_CONNECTIVITY_FULL: The host is connected to a network, and
+ * appears to be able to reach the full Internet.
+ *
+ * Since: 0.9.10
+ */
+typedef enum {
+ NM_CONNECTIVITY_UNKNOWN,
+ NM_CONNECTIVITY_NONE,
+ NM_CONNECTIVITY_PORTAL,
+ NM_CONNECTIVITY_LIMITED,
+ NM_CONNECTIVITY_FULL
+} NMConnectivityState;
+
+/**
* NMDeviceType:
* @NM_DEVICE_TYPE_UNKNOWN: unknown device
* @NM_DEVICE_TYPE_GENERIC: generic support for unrecognized device types