gio.settings_backend

Module for [SettingsBackend] class

Types 3

The gio.settings_backend.SettingsBackend interface defines a generic interface for non-strictly-typed data that is stored in a hierarchy. To implement an alternative storage backend for gio.settings.Settings, you need to implement the gio.settings_backend.SettingsBackend interface and then make it implement the extension point gio.types.SETTINGS_BACKEND_EXTENSION_POINT_NAME.

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 gio.settings_backend.SettingsBackend functions accept or return a glib.tree.Tree. These trees always have strings as keys and glib.variant.Variant as values.

The gio.settings_backend.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.

Methods
GType _getGType() static nothrow
GType _gType() @property nothrow
SettingsBackend self() nothrowReturns `this`, for use in `with` statements.
SettingsBackendGidBuilder builder() static nothrowGet builder for [gio.settings_backend.SettingsBackend] Returns: New builder object
gio.settings_backend.SettingsBackend getDefault() static nothrowReturns the default #GSettingsBackend. It is possible to override the default by setting the `GSETTINGS_BACKEND` environment variable to the name of a settings backend.
void changed(string key, void * originTag = null) nothrowSignals that a single key has possibly changed. Backend implementations should call this if a key has possibly changed its value.
void keysChanged(string path, string[] items, void * originTag = null) nothrowSignals that a list of keys have possibly changed. Backend implementations should call this if keys have possibly changed their values.
void pathChanged(string path, void * originTag = null) nothrowSignals that all keys below a given path may have possibly changed. Backend implementations should call this if an entire path of keys have possibly changed their values.
void pathWritableChanged(string path) nothrowSignals that the writability of all keys below a given path may have changed.
void writableChanged(string key) nothrowSignals that the writability of a single key has possibly changed.
Constructors
this(void * ptr, Flag!"Take" take)
Methods
SettingsBackend build() nothrowCreate object from builder. Returns: New object