public abstract class SettingsBackend
The SettingsBackend interface defines a generic interface for non-strictly-typed data that is stored in a
To implement an alternative storage backend for Settings, you need to implement the
SettingsBackend interface and then make it implement the extension point
The interface defines methods for reading and writing values, a method for determining if writing of certain values will fail (lockdown) and a
change notification mechanism.
The semantics of the interface are very precisely defined and implementations must carefully adhere to the expectations of callers that are
documented on each of the interface methods.
Some of the SettingsBackend functions accept or return a
Tree. These trees always have strings as keys and Variant as values.
g_settings_backend_create_tree is a convenience function to create suitable trees.
The SettingsBackend API is exported to allow third-party implementations, but does not carry the same
stability guarantees as the public GIO API. For this reason, you have to define the C preprocessor symbol
g_settings_enable_backend before including `gio/gsettingsbackend.h`.
- public static void flatten_tree (Tree tree, out string path, out (unowned string) keys, out (weak Variant) values)
Calculate the longest common prefix of all keys in a tree and write out an
array of the key names relative to that prefix and, optionally, the value to store at each of those keys.
- public static SettingsBackend get_default ()
Returns the default SettingsBackend.
- public static SettingsBackend keyfile_settings_backend_new (string filename, string root_path, string? root_group)
Creates a keyfile-backed SettingsBackend
- public static SettingsBackend memory_settings_backend_new ()
Creates a memory-backed SettingsBackend.
- public static SettingsBackend null_settings_backend_new ()
Creates a readonly SettingsBackend.
- public void changed (string key, void* origin_tag)
Signals that a single key has possibly changed.
- public void changed_tree (Tree tree, void* origin_tag)
This call is a convenience wrapper.
- public virtual bool get_writable (string key)
- public void keys_changed (string path, string items, void* origin_tag)
Signals that a list of keys have possibly changed.
- public void path_changed (string path, void* origin_tag)
Signals that all keys below a given path may have possibly changed.
- public void path_writable_changed (string path)
Signals that the writability of all keys below a given path may have
- public virtual Variant read (string key, VariantType expected_type, bool default_value)
- public virtual Variant read_user_value (string key, VariantType expected_type)
- public virtual void reset (string key, void* origin_tag)
- public virtual void subscribe (string name)
- public virtual void sync ()
- public virtual void unsubscribe (string name)
- public void writable_changed (string key)
Signals that the writability of a single key has possibly changed.
- public virtual bool write (string key, Variant value, void* origin_tag)
- public virtual bool write_tree (Tree tree, void* origin_tag)
All known members inherited from class GLib.Object