diff options
author | Dan Winship <danw@gnome.org> | 2013-08-13 17:48:37 -0400 |
---|---|---|
committer | Dan Winship <danw@gnome.org> | 2013-08-16 17:27:34 -0400 |
commit | 4d8063cd788ea22ee28f35097e1350c2adac1af3 (patch) | |
tree | dbf1130e4c609fe2815228ca44fa00f4e4e55098 | |
parent | bc091f2f3ea2ee27d012f2332c514516fd61441b (diff) | |
download | NetworkManager-4d8063cd788ea22ee28f35097e1350c2adac1af3.tar.gz |
libnm-glib: add NMClient:startup, nm_client_get_startup()
Expose the new NMManager:startup property on NMClient.
-rw-r--r-- | libnm-glib/libnm-glib.ver | 1 | ||||
-rw-r--r-- | libnm-glib/nm-client.c | 43 | ||||
-rw-r--r-- | libnm-glib/nm-client.h | 2 |
3 files changed, 46 insertions, 0 deletions
diff --git a/libnm-glib/libnm-glib.ver b/libnm-glib/libnm-glib.ver index b72f83240b..719e1ca95c 100644 --- a/libnm-glib/libnm-glib.ver +++ b/libnm-glib/libnm-glib.ver @@ -41,6 +41,7 @@ global: nm_client_get_logging; nm_client_get_manager_running; nm_client_get_permission_result; + nm_client_get_startup; nm_client_get_state; nm_client_get_type; nm_client_get_version; diff --git a/libnm-glib/nm-client.c b/libnm-glib/nm-client.c index 9c9371eff2..4bace4fd63 100644 --- a/libnm-glib/nm-client.c +++ b/libnm-glib/nm-client.c @@ -57,6 +57,7 @@ typedef struct { gboolean manager_running; char *version; NMState state; + gboolean startup; GPtrArray *devices; GPtrArray *active_connections; @@ -83,6 +84,7 @@ enum { PROP_0, PROP_VERSION, PROP_STATE, + PROP_STARTUP, PROP_MANAGER_RUNNING, PROP_NETWORKING_ENABLED, PROP_WIRELESS_ENABLED, @@ -175,6 +177,7 @@ register_properties (NMClient *client) const NMPropertiesInfo property_info[] = { { NM_CLIENT_VERSION, &priv->version }, { NM_CLIENT_STATE, &priv->state }, + { NM_CLIENT_STARTUP, &priv->startup }, { NM_CLIENT_NETWORKING_ENABLED, &priv->networking_enabled }, { NM_CLIENT_WIRELESS_ENABLED, &priv->wireless_enabled }, { NM_CLIENT_WIRELESS_HARDWARE_ENABLED, &priv->wireless_hw_enabled }, @@ -1015,6 +1018,27 @@ nm_client_get_state (NMClient *client) } /** + * nm_client_get_startup: + * @client: a #NMClient + * + * Tests whether the daemon is still in the process of activating + * connections at startup. + * + * Returns: whether the daemon is still starting up + * + * Since: 0.9.10 + **/ +gboolean +nm_client_get_startup (NMClient *client) +{ + g_return_val_if_fail (NM_IS_CLIENT (client), NM_STATE_UNKNOWN); + + _nm_object_ensure_inited (NM_OBJECT (client)); + + return NM_CLIENT_GET_PRIVATE (client)->startup; +} + +/** * nm_client_networking_get_enabled: * @client: a #NMClient * @@ -1284,6 +1308,7 @@ proxy_name_owner_changed (DBusGProxy *proxy, priv->manager_running = new_running; if (!priv->manager_running) { priv->state = NM_STATE_UNKNOWN; + priv->startup = FALSE; _nm_object_queue_notify (NM_OBJECT (client), NM_CLIENT_MANAGER_RUNNING); _nm_object_suppress_property_updates (NM_OBJECT (client), TRUE); poke_wireless_devices_with_rf_status (client); @@ -1808,6 +1833,9 @@ get_property (GObject *object, case PROP_STATE: g_value_set_uint (value, nm_client_get_state (self)); break; + case PROP_STARTUP: + g_value_set_boolean (value, nm_client_get_startup (self)); + break; case PROP_MANAGER_RUNNING: g_value_set_boolean (value, priv->manager_running); break; @@ -1884,6 +1912,21 @@ nm_client_class_init (NMClientClass *client_class) G_PARAM_READABLE)); /** + * NMClient:startup: + * + * Whether the daemon is still starting up. + * + * Since: 0.9.10 + **/ + g_object_class_install_property + (object_class, PROP_STARTUP, + g_param_spec_boolean (NM_CLIENT_STARTUP, + "Startup", + "Whether the daemon is still starting up", + FALSE, + G_PARAM_READABLE)); + + /** * NMClient::manager-running: * * Whether the daemon is running. diff --git a/libnm-glib/nm-client.h b/libnm-glib/nm-client.h index e7b79bc7ef..41cf86b9ac 100644 --- a/libnm-glib/nm-client.h +++ b/libnm-glib/nm-client.h @@ -44,6 +44,7 @@ G_BEGIN_DECLS #define NM_CLIENT_VERSION "version" #define NM_CLIENT_STATE "state" +#define NM_CLIENT_STARTUP "startup" #define NM_CLIENT_MANAGER_RUNNING "manager-running" #define NM_CLIENT_NETWORKING_ENABLED "networking-enabled" #define NM_CLIENT_WIRELESS_ENABLED "wireless-enabled" @@ -217,6 +218,7 @@ gboolean nm_client_wimax_hardware_get_enabled (NMClient *client); const char *nm_client_get_version (NMClient *client); NMState nm_client_get_state (NMClient *client); +gboolean nm_client_get_startup (NMClient *client); gboolean nm_client_get_manager_running (NMClient *client); const GPtrArray *nm_client_get_active_connections (NMClient *client); void nm_client_sleep (NMClient *client, gboolean sleep_); |