keyfile_settings_backend_new
Description:
public static SettingsBackend keyfile_settings_backend_new (string filename, string root_path, string? root_group)
Creates a keyfile-backed [class@Gio.
SettingsBackend].
The filename of the keyfile to use is given by filename.
All settings read to or written from the backend must fall under the path given in root_path (which must start and end with a
slash and not contain two consecutive slashes). root_path may be `"/"`.
If root_group is non-`NULL` then it specifies the name of the keyfile group used for keys that are written directly below
root_path. For example, if root_path is `"/apps/example/"` and root_group is `"toplevel"`, then setting the
key `"/apps/example/enabled"` to true will cause the following to appear in the keyfile:
``` [toplevel] enabled=true ```
If root_group is `NULL` then it is not permitted to store keys directly below the root_path.
For keys not stored directly below root_path (ie: in a sub-path), the name of the subpath (with the final slash stripped) is used
as the name of the keyfile group. To continue the example, if `"/apps/example/profiles/default/font-size"` were set to `12` then the following
would appear in the keyfile:
``` [profiles/default] font-size=12 ```
The backend will refuse writes (and return writability as being false) for keys outside of root_path and, in the event that
root_group is `NULL`, also for keys directly under root_path. Writes will also be refused if the backend detects that it
has the inability to rewrite the keyfile (ie: the containing directory is not writable).
There is no checking done for your key namespace clashing with the syntax of the key file format. For example, if you have `[` or `]` characters in your path names or `=` in your key names you may be in trouble.
The backend reads default values from a keyfile called `defaults` in the directory specified by the `GKeyfileSettingsBackend:defaults-dir` property, and a list of locked keys from a text file with the name `locks` in the same location.
Parameters:
| filename |
the filename of the keyfile |
| root_path |
the path under which all settings keys appear |
| root_group |
the group name corresponding to |
Returns:
|
a keyfile-backed [class@Gio.SettingsBackend] |