diff options
| author | Michael Biebl <biebl@debian.org> | 2011-08-23 19:16:47 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2011-08-23 19:16:47 +0200 |
| commit | 263bf4c0c89bb88dc995acd9a6a2de9095fbd461 (patch) | |
| tree | 7224326afe367409e7150e49fad9029f81fe24b8 /src/settings/nm-settings.c | |
| parent | d465e5fac63f36bcf4069e36827f4b62c494556d (diff) | |
Imported Upstream version 0.9.0 upstream/0.9.0
Diffstat (limited to 'src/settings/nm-settings.c')
| -rw-r--r-- | src/settings/nm-settings.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/settings/nm-settings.c b/src/settings/nm-settings.c index e23e8d13..733e9145 100644 --- a/src/settings/nm-settings.c +++ b/src/settings/nm-settings.c @@ -135,6 +135,7 @@ enum { CONNECTION_REMOVED, CONNECTION_VISIBILITY_CHANGED, CONNECTIONS_LOADED, + AGENT_REGISTERED, NEW_CONNECTION, /* exported, not used internally */ LAST_SIGNAL @@ -699,6 +700,18 @@ connection_visibility_changed (NMSettingsConnection *connection, connection); } +static void +secret_agent_registered (NMAgentManager *agent_mgr, + NMSecretAgent *agent, + gpointer user_data) +{ + /* Re-emit for listeners like NMPolicy */ + g_signal_emit (NM_SETTINGS (user_data), + signals[AGENT_REGISTERED], + 0, + agent); +} + #define NM_DBUS_SERVICE_OPENCONNECT "org.freedesktop.NetworkManager.openconnect" #define NM_OPENCONNECT_KEY_GATEWAY "gateway" #define NM_OPENCONNECT_KEY_COOKIE "cookie" @@ -773,6 +786,9 @@ claim_connection (NMSettings *self, /* Read timestamp from look-aside file and put it into the connection's data */ nm_settings_connection_read_and_fill_timestamp (connection); + /* Read seen-bssids from look-aside file and put it into the connection's data */ + nm_settings_connection_read_and_fill_seen_bssids (connection); + /* Ensure it's initial visibility is up-to-date */ nm_settings_connection_recheck_visibility (connection); @@ -1527,6 +1543,8 @@ nm_settings_init (NMSettings *self) * recreated often. */ priv->agent_mgr = nm_agent_manager_get (); + + g_signal_connect (priv->agent_mgr, "agent-registered", G_CALLBACK (secret_agent_registered), self); } static void @@ -1690,6 +1708,16 @@ nm_settings_class_init (NMSettingsClass *class) g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); + signals[AGENT_REGISTERED] = + g_signal_new (NM_SETTINGS_SIGNAL_AGENT_REGISTERED, + G_OBJECT_CLASS_TYPE (object_class), + G_SIGNAL_RUN_FIRST, + G_STRUCT_OFFSET (NMSettingsClass, agent_registered), + NULL, NULL, + g_cclosure_marshal_VOID__OBJECT, + G_TYPE_NONE, 1, G_TYPE_OBJECT); + + signals[NEW_CONNECTION] = g_signal_new ("new-connection", G_OBJECT_CLASS_TYPE (object_class), |