diff options
author | Thomas Haller <thaller@redhat.com> | 2017-10-25 18:36:47 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2017-10-31 19:35:33 +0100 |
commit | 1a9d4869edeef2784e96c2337e8b9f57ed9510e0 (patch) | |
tree | 0c5892115dc1ba0b0f90fcf0d8e95efbcdd9c760 /src | |
parent | e62e52dfe11c2ae3d5074f92d83c3daa8f6aa114 (diff) | |
download | NetworkManager-1a9d4869edeef2784e96c2337e8b9f57ed9510e0.tar.gz |
policy: move nm_settings_connection_can_autoconnect() to policy
Step by step, we move all tracking of autoconnect to NMPolicy.
Diffstat (limited to 'src')
-rw-r--r-- | src/nm-policy.c | 28 | ||||
-rw-r--r-- | src/settings/nm-settings-connection.c | 27 | ||||
-rw-r--r-- | src/settings/nm-settings-connection.h | 2 |
3 files changed, 30 insertions, 27 deletions
diff --git a/src/nm-policy.c b/src/nm-policy.c index 916f8b7884..acd731a236 100644 --- a/src/nm-policy.c +++ b/src/nm-policy.c @@ -146,6 +146,32 @@ static void schedule_activate_check (NMPolicy *self, NMDevice *device); /*****************************************************************************/ +static gboolean +_autocnct_can_autoconnect (NMSettingsConnection *connection) +{ + NMSettingConnection *s_con; + const char *permission; + + if ( !nm_settings_connection_is_visible (connection) + || nm_settings_connection_autoconnect_retries_get (connection) == 0 + || nm_settings_connection_autoconnect_blocked_reason_get (connection) != NM_SETTINGS_AUTO_CONNECT_BLOCKED_REASON_NONE) + return FALSE; + + s_con = nm_connection_get_setting_connection (NM_CONNECTION (connection)); + if (!nm_setting_connection_get_autoconnect (s_con)) + return FALSE; + + permission = nm_utils_get_shared_wifi_permission (NM_CONNECTION (connection)); + if (permission) { + if (nm_settings_connection_check_permission (connection, permission) == FALSE) + return FALSE; + } + + return TRUE; +} + +/*****************************************************************************/ + typedef struct { NMPlatformIP6Address prefix; NMDevice *device; /* The requesting ("uplink") device */ @@ -1236,7 +1262,7 @@ auto_activate_device (NMPolicy *self, for (i = 0; i < len; i++) { NMSettingsConnection *candidate = NM_SETTINGS_CONNECTION (connections[i]); - if (!nm_settings_connection_can_autoconnect (candidate)) + if (!_autocnct_can_autoconnect (candidate)) continue; if (nm_device_can_auto_connect (device, (NMConnection *) candidate, &specific_object)) { best_connection = candidate; diff --git a/src/settings/nm-settings-connection.c b/src/settings/nm-settings-connection.c index a7b28792b2..ed69115c8b 100644 --- a/src/settings/nm-settings-connection.c +++ b/src/settings/nm-settings-connection.c @@ -2531,6 +2531,8 @@ nm_settings_connection_read_and_fill_seen_bssids (NMSettingsConnection *self) } } +/*****************************************************************************/ + /** * nm_settings_connection_autoconnect_retries_get: * @self: the settings connection @@ -2623,30 +2625,7 @@ nm_settings_connection_autoconnect_blocked_reason_set (NMSettingsConnection *sel NM_SETTINGS_CONNECTION_GET_PRIVATE (self)->autoconnect_blocked_reason = reason; } -gboolean -nm_settings_connection_can_autoconnect (NMSettingsConnection *self) -{ - NMSettingsConnectionPrivate *priv = NM_SETTINGS_CONNECTION_GET_PRIVATE (self); - NMSettingConnection *s_con; - const char *permission; - - if ( !priv->visible - || nm_settings_connection_autoconnect_retries_get (self) == 0 - || priv->autoconnect_blocked_reason != NM_SETTINGS_AUTO_CONNECT_BLOCKED_REASON_NONE) - return FALSE; - - s_con = nm_connection_get_setting_connection (NM_CONNECTION (self)); - if (!nm_setting_connection_get_autoconnect (s_con)) - return FALSE; - - permission = nm_utils_get_shared_wifi_permission (NM_CONNECTION (self)); - if (permission) { - if (nm_settings_connection_check_permission (self, permission) == FALSE) - return FALSE; - } - - return TRUE; -} +/*****************************************************************************/ /** * nm_settings_connection_get_nm_generated: diff --git a/src/settings/nm-settings-connection.h b/src/settings/nm-settings-connection.h index a983bddd3d..faacd94909 100644 --- a/src/settings/nm-settings-connection.h +++ b/src/settings/nm-settings-connection.h @@ -224,8 +224,6 @@ NMSettingsAutoconnectBlockedReason nm_settings_connection_autoconnect_blocked_re void nm_settings_connection_autoconnect_blocked_reason_set (NMSettingsConnection *self, NMSettingsAutoconnectBlockedReason reason); -gboolean nm_settings_connection_can_autoconnect (NMSettingsConnection *self); - gboolean nm_settings_connection_get_nm_generated (NMSettingsConnection *self); gboolean nm_settings_connection_get_volatile (NMSettingsConnection *self); |