summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2017-10-25 18:36:47 +0200
committerThomas Haller <thaller@redhat.com>2017-10-31 19:35:33 +0100
commit1a9d4869edeef2784e96c2337e8b9f57ed9510e0 (patch)
tree0c5892115dc1ba0b0f90fcf0d8e95efbcdd9c760 /src
parente62e52dfe11c2ae3d5074f92d83c3daa8f6aa114 (diff)
downloadNetworkManager-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.c28
-rw-r--r--src/settings/nm-settings-connection.c27
-rw-r--r--src/settings/nm-settings-connection.h2
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);