diff options
| author | James Henstridge <james.henstridge@canonical.com> | 2017-08-09 15:19:54 +0800 |
|---|---|---|
| committer | Thomas Haller <thaller@redhat.com> | 2017-08-17 22:31:47 +0200 |
| commit | 9a58ee0705a5db75ce763eb2b24aec3f2c2028cb (patch) | |
| tree | 523aa0108a5c498eb70f0b1330fc78e700885e17 /src/nm-config-data.c | |
| parent | c0ac4a2fdd530998bb6fa28f85d6f80467295550 (diff) | |
| download | NetworkManager-9a58ee0705a5db75ce763eb2b24aec3f2c2028cb.tar.gz | |
config: add an API to disable connectivity check via internal config file.
https://bugzilla.gnome.org/show_bug.cgi?id=785117
Diffstat (limited to 'src/nm-config-data.c')
| -rw-r--r-- | src/nm-config-data.c | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/src/nm-config-data.c b/src/nm-config-data.c index 21ad1a7346..de6f62f6d1 100644 --- a/src/nm-config-data.c +++ b/src/nm-config-data.c @@ -65,6 +65,7 @@ NM_GOBJECT_PROPERTIES_DEFINE_BASE ( PROP_CONFIG_DESCRIPTION, PROP_KEYFILE_USER, PROP_KEYFILE_INTERN, + PROP_CONNECTIVITY_ENABLED, PROP_CONNECTIVITY_URI, PROP_CONNECTIVITY_INTERVAL, PROP_CONNECTIVITY_RESPONSE, @@ -88,6 +89,7 @@ typedef struct { MatchSectionInfo *device_infos; struct { + gboolean enabled; char *uri; char *response; guint interval; @@ -238,6 +240,14 @@ nm_config_data_get_plugins (const NMConfigData *self, gboolean allow_default) return _nm_utils_strv_cleanup (list, TRUE, TRUE, TRUE); } +gboolean +nm_config_data_get_connectivity_enabled (const NMConfigData *self) +{ + g_return_val_if_fail (self, FALSE); + + return NM_CONFIG_DATA_GET_PRIVATE (self)->connectivity.enabled; +} + const char * nm_config_data_get_connectivity_uri (const NMConfigData *self) { @@ -1380,7 +1390,8 @@ nm_config_data_diff (NMConfigData *old_data, NMConfigData *new_data) || g_strcmp0 (nm_config_data_get_config_description (old_data), nm_config_data_get_config_description (new_data)) != 0) changes |= NM_CONFIG_CHANGE_CONFIG_FILES; - if ( nm_config_data_get_connectivity_interval (old_data) != nm_config_data_get_connectivity_interval (new_data) + if ( nm_config_data_get_connectivity_enabled (old_data) != nm_config_data_get_connectivity_enabled (new_data) + || nm_config_data_get_connectivity_interval (old_data) != nm_config_data_get_connectivity_interval (new_data) || g_strcmp0 (nm_config_data_get_connectivity_uri (old_data), nm_config_data_get_connectivity_uri (new_data)) || g_strcmp0 (nm_config_data_get_connectivity_response (old_data), nm_config_data_get_connectivity_response (new_data))) changes |= NM_CONFIG_CHANGE_CONNECTIVITY; @@ -1420,6 +1431,9 @@ get_property (GObject *object, case PROP_CONFIG_DESCRIPTION: g_value_set_string (value, nm_config_data_get_config_description (self)); break; + case PROP_CONNECTIVITY_ENABLED: + g_value_set_boolean (value, nm_config_data_get_connectivity_enabled (self)); + break; case PROP_CONNECTIVITY_URI: g_value_set_string (value, nm_config_data_get_connectivity_uri (self)); break; @@ -1517,6 +1531,7 @@ constructed (GObject *object) priv->connection_infos = _match_section_infos_construct (priv->keyfile, NM_CONFIG_KEYFILE_GROUPPREFIX_CONNECTION); priv->device_infos = _match_section_infos_construct (priv->keyfile, NM_CONFIG_KEYFILE_GROUPPREFIX_DEVICE); + priv->connectivity.enabled = nm_config_keyfile_get_boolean (priv->keyfile, NM_CONFIG_KEYFILE_GROUP_CONNECTIVITY, "enabled", TRUE); priv->connectivity.uri = nm_strstrip (g_key_file_get_string (priv->keyfile, NM_CONFIG_KEYFILE_GROUP_CONNECTIVITY, "uri", NULL)); priv->connectivity.response = g_key_file_get_string (priv->keyfile, NM_CONFIG_KEYFILE_GROUP_CONNECTIVITY, "response", NULL); @@ -1663,6 +1678,12 @@ nm_config_data_class_init (NMConfigDataClass *config_class) G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS); + obj_properties[PROP_CONNECTIVITY_ENABLED] = + g_param_spec_string (NM_CONFIG_DATA_CONNECTIVITY_ENABLED, "", "", + NULL, + G_PARAM_READABLE | + G_PARAM_STATIC_STRINGS); + obj_properties[PROP_CONNECTIVITY_URI] = g_param_spec_string (NM_CONFIG_DATA_CONNECTIVITY_URI, "", "", NULL, |
