mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-05-05 12:18:13 +02:00
config: add config utility accessors
This commit is contained in:
parent
7e94785f28
commit
11c0e107b9
2 changed files with 56 additions and 0 deletions
|
|
@ -108,6 +108,15 @@ nm_config_data_get_config_description (const NMConfigData *self)
|
|||
return NM_CONFIG_DATA_GET_PRIVATE (self)->config_description;
|
||||
}
|
||||
|
||||
gboolean
|
||||
nm_config_data_has_group (const NMConfigData *self, const char *group)
|
||||
{
|
||||
g_return_val_if_fail (NM_IS_CONFIG_DATA (self), FALSE);
|
||||
g_return_val_if_fail (group && *group, FALSE);
|
||||
|
||||
return g_key_file_has_group (NM_CONFIG_DATA_GET_PRIVATE (self)->keyfile, group);
|
||||
}
|
||||
|
||||
char *
|
||||
nm_config_data_get_value (const NMConfigData *self, const char *group, const char *key)
|
||||
{
|
||||
|
|
@ -120,6 +129,21 @@ nm_config_data_get_value (const NMConfigData *self, const char *group, const cha
|
|||
return g_key_file_get_string (NM_CONFIG_DATA_GET_PRIVATE (self)->keyfile, group, key, NULL);
|
||||
}
|
||||
|
||||
gboolean
|
||||
nm_config_data_has_value (const NMConfigData *self, const char *group, const char *key)
|
||||
{
|
||||
gs_free char *value = NULL;
|
||||
|
||||
g_return_val_if_fail (NM_IS_CONFIG_DATA (self), FALSE);
|
||||
g_return_val_if_fail (group && *group, FALSE);
|
||||
g_return_val_if_fail (key && *key, FALSE);
|
||||
|
||||
/* nm_config_data_get_value() translates to g_key_file_get_string(), because we want
|
||||
* to use the string representation, not the (raw) GKeyFile value. */
|
||||
value = g_key_file_get_string (NM_CONFIG_DATA_GET_PRIVATE (self)->keyfile, group, key, NULL);
|
||||
return !!value;
|
||||
}
|
||||
|
||||
gint
|
||||
nm_config_data_get_value_boolean (const NMConfigData *self, const char *group, const char *key, gint default_value)
|
||||
{
|
||||
|
|
@ -220,6 +244,33 @@ nm_config_data_get_assume_ipv6ll_only (const NMConfigData *self, NMDevice *devic
|
|||
|
||||
/************************************************************************/
|
||||
|
||||
/**
|
||||
* nm_config_data_get_groups:
|
||||
* @self: the #NMConfigData instance
|
||||
*
|
||||
* Returns: (transfer-full): the list of groups in the configuration. The order
|
||||
* of the section is undefined, as the configuration gets merged from multiple
|
||||
* sources.
|
||||
*/
|
||||
char **
|
||||
nm_config_data_get_groups (const NMConfigData *self)
|
||||
{
|
||||
g_return_val_if_fail (NM_IS_CONFIG_DATA (self), NULL);
|
||||
|
||||
return g_key_file_get_groups (NM_CONFIG_DATA_GET_PRIVATE (self)->keyfile, NULL);
|
||||
}
|
||||
|
||||
char **
|
||||
nm_config_data_get_keys (const NMConfigData *self, const char *group)
|
||||
{
|
||||
g_return_val_if_fail (NM_IS_CONFIG_DATA (self), NULL);
|
||||
g_return_val_if_fail (group && *group, NULL);
|
||||
|
||||
return g_key_file_get_keys (NM_CONFIG_DATA_GET_PRIVATE (self)->keyfile, group, NULL, NULL);
|
||||
}
|
||||
|
||||
/************************************************************************/
|
||||
|
||||
static int
|
||||
_nm_config_data_log_sort (const char **pa, const char **pb, gpointer dummy)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -86,6 +86,8 @@ void nm_config_data_log (const NMConfigData *config_data, const char *prefix);
|
|||
const char *nm_config_data_get_config_main_file (const NMConfigData *config_data);
|
||||
const char *nm_config_data_get_config_description (const NMConfigData *config_data);
|
||||
|
||||
gboolean nm_config_data_has_group (const NMConfigData *self, const char *group);
|
||||
gboolean nm_config_data_has_value (const NMConfigData *self, const char *group, const char *key);
|
||||
char *nm_config_data_get_value (const NMConfigData *config_data, const char *group, const char *key);
|
||||
gint nm_config_data_get_value_boolean (const NMConfigData *self, const char *group, const char *key, gint default_value);
|
||||
|
||||
|
|
@ -106,6 +108,9 @@ char *nm_config_data_get_connection_default (const NMConfigData *self,
|
|||
const char *property,
|
||||
NMDevice *device);
|
||||
|
||||
char **nm_config_data_get_groups (const NMConfigData *self);
|
||||
char **nm_config_data_get_keys (const NMConfigData *self, const char *group);
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* NM_CONFIG_DATA_H */
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue