static void config_changed_cb (NMConfig *config, NMConfigData *config_data, NMConfigChangeFlags changes, NMConfigData *old_data, SCPluginKeyfile *self) { gs_free char *old_value = NULL, *new_value = NULL; old_value = nm_config_data_get_value (old_data, "keyfile", "unmanaged-devices", NULL); new_value = nm_config_data_get_value (config_data, "keyfile", "unmanaged-devices", NULL); if (g_strcmp0 (old_value, new_value) != 0) g_signal_emit_by_name (self, NM_SYSTEM_CONFIG_INTERFACE_UNMANAGED_SPECS_CHANGED); }
static GSList * get_unmanaged_specs (NMSystemConfigInterface *config) { SCPluginKeyfilePrivate *priv = SC_PLUGIN_KEYFILE_GET_PRIVATE (config); gs_free char *value = NULL; value = nm_config_data_get_value (nm_config_get_data (priv->config), "keyfile", "unmanaged-devices", NULL); return nm_match_spec_split (value); }
const char * nms_keyfile_utils_get_path (void) { static char *path = NULL; if (G_UNLIKELY (!path)) { path = nm_config_data_get_value (NM_CONFIG_GET_DATA_ORIG, NM_CONFIG_KEYFILE_GROUP_KEYFILE, NM_CONFIG_KEYFILE_KEY_KEYFILE_PATH, NM_CONFIG_GET_VALUE_STRIP | NM_CONFIG_GET_VALUE_NO_EMPTY); if (!path) path = g_strdup (""NM_CONFIG_KEYFILE_PATH_DEFAULT""); } return path; }
GObject * nm_settings_keyfile_plugin_new (void) { static SCPluginKeyfile *singleton = NULL; SCPluginKeyfilePrivate *priv; char *value; if (!singleton) { singleton = SC_PLUGIN_KEYFILE (g_object_new (SC_TYPE_PLUGIN_KEYFILE, NULL)); priv = SC_PLUGIN_KEYFILE_GET_PRIVATE (singleton); priv->config = g_object_ref (nm_config_get ()); value = nm_config_data_get_value (nm_config_get_data (priv->config), "keyfile", "hostname", NULL); if (value) { nm_log_warn (LOGD_SETTINGS, "keyfile: 'hostname' option is deprecated and has no effect"); g_free (value); } } else g_object_ref (singleton); return G_OBJECT (singleton); }