|
Packit |
ae235b |
|
|
Packit |
ae235b |
<html>
|
|
Packit |
ae235b |
<head>
|
|
Packit |
ae235b |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
Packit |
ae235b |
<title>GSettingsBackend: GIO Reference Manual</title>
|
|
Packit |
ae235b |
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
|
|
Packit |
ae235b |
<link rel="home" href="index.html" title="GIO Reference Manual">
|
|
Packit |
ae235b |
<link rel="up" href="settings.html" title="Settings">
|
|
Packit |
ae235b |
<link rel="prev" href="GSettings.html" title="GSettings">
|
|
Packit |
ae235b |
<link rel="next" href="gio-GSettingsSchema-GSettingsSchemaSource.html" title="GSettingsSchema, GSettingsSchemaSource">
|
|
Packit |
ae235b |
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
|
|
Packit |
ae235b |
<link rel="stylesheet" href="style.css" type="text/css">
|
|
Packit |
ae235b |
</head>
|
|
Packit |
ae235b |
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Top |
|
|
Packit |
ae235b |
Description |
|
|
Packit |
ae235b |
Object Hierarchy
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
GSettingsBackend
|
|
Packit |
ae235b |
GSettingsBackend — Interface for settings backend implementations
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Functions
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
GSettingsBackend *
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_settings_backend_get_default ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
void
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_settings_backend_changed ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
void
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_settings_backend_path_changed ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
void
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_settings_backend_keys_changed ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
void
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_settings_backend_path_writable_changed ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
void
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_settings_backend_writable_changed ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
void
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_settings_backend_changed_tree ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
void
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_settings_backend_flatten_tree ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
GSettingsBackend *
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_keyfile_settings_backend_new ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
GSettingsBackend *
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_memory_settings_backend_new ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
GSettingsBackend *
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_null_settings_backend_new ()
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Types and Values
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
GSettingsBackend
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
struct
|
|
Packit |
ae235b |
GSettingsBackendClass
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
#define
|
|
Packit |
ae235b |
G_SETTINGS_BACKEND_EXTENSION_POINT_NAME
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Object Hierarchy
|
|
Packit |
ae235b |
GObject
|
|
Packit |
ae235b |
╰── GSettingsBackend
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Includes
|
|
Packit |
ae235b |
#include <gio/gsettingsbackend.h>
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Description
|
|
Packit |
ae235b |
The GSettingsBackend interface defines a generic interface for
|
|
Packit |
ae235b |
non-strictly-typed data that is stored in a hierarchy. To implement
|
|
Packit |
ae235b |
an alternative storage backend for GSettings, you need to implement
|
|
Packit |
ae235b |
the GSettingsBackend interface and then make it implement the
|
|
Packit |
ae235b |
extension point G_SETTINGS_BACKEND_EXTENSION_POINT_NAME.
|
|
Packit |
ae235b |
The interface defines methods for reading and writing values, a
|
|
Packit |
ae235b |
method for determining if writing of certain values will fail
|
|
Packit |
ae235b |
(lockdown) and a change notification mechanism.
|
|
Packit |
ae235b |
The semantics of the interface are very precisely defined and
|
|
Packit |
ae235b |
implementations must carefully adhere to the expectations of
|
|
Packit |
ae235b |
callers that are documented on each of the interface methods.
|
|
Packit |
ae235b |
Some of the GSettingsBackend functions accept or return a GTree.
|
|
Packit |
ae235b |
These trees always have strings as keys and GVariant as values.
|
|
Packit |
ae235b |
g_settings_backend_create_tree() is a convenience function to create
|
|
Packit |
ae235b |
suitable trees.
|
|
Packit |
ae235b |
The GSettingsBackend API is exported to allow third-party
|
|
Packit |
ae235b |
implementations, but does not carry the same stability guarantees
|
|
Packit |
ae235b |
as the public GIO API. For this reason, you have to define the
|
|
Packit |
ae235b |
C preprocessor symbol G_SETTINGS_ENABLE_BACKEND before including
|
|
Packit |
ae235b |
gio/gsettingsbackend.h .
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Functions
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_settings_backend_get_default ()
|
|
Packit |
ae235b |
GSettingsBackend *
|
|
Packit |
ae235b |
g_settings_backend_get_default (void );
|
|
Packit |
ae235b |
Returns the default GSettingsBackend. It is possible to override
|
|
Packit |
ae235b |
the default by setting the GSETTINGS_BACKEND environment variable
|
|
Packit |
ae235b |
to the name of a settings backend.
|
|
Packit |
ae235b |
The user gets a reference to the backend.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Returns
|
|
Packit |
ae235b |
the default GSettingsBackend.
|
|
Packit |
ae235b |
[transfer full]
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Since: 2.28
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_settings_backend_changed ()
|
|
Packit |
ae235b |
void
|
|
Packit |
ae235b |
g_settings_backend_changed (GSettingsBackend *backend ,
|
|
Packit |
ae235b |
const gchar *key ,
|
|
Packit |
ae235b |
gpointer origin_tag );
|
|
Packit |
ae235b |
Signals that a single key has possibly changed. Backend
|
|
Packit |
ae235b |
implementations should call this if a key has possibly changed its
|
|
Packit |
ae235b |
value.
|
|
Packit |
ae235b |
key
|
|
Packit |
ae235b |
must be a valid key (ie starting with a slash, not containing
|
|
Packit |
ae235b |
'//', and not ending with a slash).
|
|
Packit |
ae235b |
The implementation must call this function during any call to
|
|
Packit |
ae235b |
g_settings_backend_write() , before the call returns (except in the
|
|
Packit |
ae235b |
case that no keys are actually changed and it cares to detect this
|
|
Packit |
ae235b |
fact). It may not rely on the existence of a mainloop for
|
|
Packit |
ae235b |
dispatching the signal later.
|
|
Packit |
ae235b |
The implementation may call this function at any other time it likes
|
|
Packit |
ae235b |
in response to other events (such as changes occurring outside of the
|
|
Packit |
ae235b |
program). These calls may originate from a mainloop or may originate
|
|
Packit |
ae235b |
in response to any other action (including from calls to
|
|
Packit |
ae235b |
g_settings_backend_write() ).
|
|
Packit |
ae235b |
In the case that this call is in response to a call to
|
|
Packit |
ae235b |
g_settings_backend_write() then origin_tag
|
|
Packit |
ae235b |
must be set to the same
|
|
Packit |
ae235b |
value that was passed to that call.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Parameters
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
backend
|
|
Packit |
ae235b |
a GSettingsBackend implementation
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
key
|
|
Packit |
ae235b |
the name of the key
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
origin_tag
|
|
Packit |
ae235b |
the origin tag
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Since: 2.26
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_settings_backend_path_changed ()
|
|
Packit |
ae235b |
void
|
|
Packit |
ae235b |
g_settings_backend_path_changed (GSettingsBackend *backend ,
|
|
Packit |
ae235b |
const gchar *path ,
|
|
Packit |
ae235b |
gpointer origin_tag );
|
|
Packit |
ae235b |
Signals that all keys below a given path may have possibly changed.
|
|
Packit |
ae235b |
Backend implementations should call this if an entire path of keys
|
|
Packit |
ae235b |
have possibly changed their values.
|
|
Packit |
ae235b |
path
|
|
Packit |
ae235b |
must be a valid path (ie starting and ending with a slash and
|
|
Packit |
ae235b |
not containing '//').
|
|
Packit |
ae235b |
The meaning of this signal is that any of the key which has a name
|
|
Packit |
ae235b |
starting with path
|
|
Packit |
ae235b |
may have changed.
|
|
Packit |
ae235b |
The same rules for when notifications must occur apply as per
|
|
Packit |
ae235b |
g_settings_backend_changed() . This call might be an appropriate
|
|
Packit |
ae235b |
reasponse to a 'reset' call but implementations are also free to
|
|
Packit |
ae235b |
explicitly list the keys that were affected by that call if they can
|
|
Packit |
ae235b |
easily do so.
|
|
Packit |
ae235b |
For efficiency reasons, the implementation should strive for path
|
|
Packit |
ae235b |
to
|
|
Packit |
ae235b |
be as long as possible (ie: the longest common prefix of all of the
|
|
Packit |
ae235b |
keys that were changed) but this is not strictly required. As an
|
|
Packit |
ae235b |
example, if this function is called with the path of "/" then every
|
|
Packit |
ae235b |
single key in the application will be notified of a possible change.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Parameters
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
backend
|
|
Packit |
ae235b |
a GSettingsBackend implementation
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
path
|
|
Packit |
ae235b |
the path containing the changes
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
origin_tag
|
|
Packit |
ae235b |
the origin tag
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Since: 2.26
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_settings_backend_keys_changed ()
|
|
Packit |
ae235b |
void
|
|
Packit |
ae235b |
g_settings_backend_keys_changed (GSettingsBackend *backend ,
|
|
Packit |
ae235b |
const gchar *path ,
|
|
Packit |
ae235b |
gchar const * const *items ,
|
|
Packit |
ae235b |
gpointer origin_tag );
|
|
Packit |
ae235b |
Signals that a list of keys have possibly changed. Backend
|
|
Packit |
ae235b |
implementations should call this if keys have possibly changed their
|
|
Packit |
ae235b |
values.
|
|
Packit |
ae235b |
path
|
|
Packit |
ae235b |
must be a valid path (ie starting and ending with a slash and
|
|
Packit |
ae235b |
not containing '//'). Each string in items
|
|
Packit |
ae235b |
must form a valid key
|
|
Packit |
ae235b |
name when path
|
|
Packit |
ae235b |
is prefixed to it (ie: each item must not start or
|
|
Packit |
ae235b |
end with '/' and must not contain '//').
|
|
Packit |
ae235b |
The meaning of this signal is that any of the key names resulting
|
|
Packit |
ae235b |
from the contatenation of path
|
|
Packit |
ae235b |
with each item in items
|
|
Packit |
ae235b |
may have
|
|
Packit |
ae235b |
changed.
|
|
Packit |
ae235b |
The same rules for when notifications must occur apply as per
|
|
Packit |
ae235b |
g_settings_backend_changed() . These two calls can be used
|
|
Packit |
ae235b |
interchangeably if exactly one item has changed (although in that
|
|
Packit |
ae235b |
case g_settings_backend_changed() is definitely preferred).
|
|
Packit |
ae235b |
For efficiency reasons, the implementation should strive for path
|
|
Packit |
ae235b |
to
|
|
Packit |
ae235b |
be as long as possible (ie: the longest common prefix of all of the
|
|
Packit |
ae235b |
keys that were changed) but this is not strictly required.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Parameters
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
backend
|
|
Packit |
ae235b |
a GSettingsBackend implementation
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
path
|
|
Packit |
ae235b |
the path containing the changes
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
items
|
|
Packit |
ae235b |
the NULL -terminated list of changed keys.
|
|
Packit |
ae235b |
[array zero-terminated=1]
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
origin_tag
|
|
Packit |
ae235b |
the origin tag
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Since: 2.26
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_settings_backend_path_writable_changed ()
|
|
Packit |
ae235b |
void
|
|
Packit |
ae235b |
g_settings_backend_path_writable_changed
|
|
Packit |
ae235b |
(GSettingsBackend *backend ,
|
|
Packit |
ae235b |
const gchar *path );
|
|
Packit |
ae235b |
Signals that the writability of all keys below a given path may have
|
|
Packit |
ae235b |
changed.
|
|
Packit |
ae235b |
Since GSettings performs no locking operations for itself, this call
|
|
Packit |
ae235b |
will always be made in response to external events.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Parameters
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
backend
|
|
Packit |
ae235b |
a GSettingsBackend implementation
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
path
|
|
Packit |
ae235b |
the name of the path
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Since: 2.26
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_settings_backend_writable_changed ()
|
|
Packit |
ae235b |
void
|
|
Packit |
ae235b |
g_settings_backend_writable_changed (GSettingsBackend *backend ,
|
|
Packit |
ae235b |
const gchar *key );
|
|
Packit |
ae235b |
Signals that the writability of a single key has possibly changed.
|
|
Packit |
ae235b |
Since GSettings performs no locking operations for itself, this call
|
|
Packit |
ae235b |
will always be made in response to external events.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Parameters
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
backend
|
|
Packit |
ae235b |
a GSettingsBackend implementation
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
key
|
|
Packit |
ae235b |
the name of the key
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Since: 2.26
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_settings_backend_changed_tree ()
|
|
Packit |
ae235b |
void
|
|
Packit |
ae235b |
g_settings_backend_changed_tree (GSettingsBackend *backend ,
|
|
Packit |
ae235b |
GTree *tree ,
|
|
Packit |
ae235b |
gpointer origin_tag );
|
|
Packit |
ae235b |
This call is a convenience wrapper. It gets the list of changes from
|
|
Packit |
ae235b |
tree
|
|
Packit |
ae235b |
, computes the longest common prefix and calls
|
|
Packit |
ae235b |
g_settings_backend_changed() .
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Parameters
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
backend
|
|
Packit |
ae235b |
a GSettingsBackend implementation
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
tree
|
|
Packit |
ae235b |
a GTree containing the changes
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
origin_tag
|
|
Packit |
ae235b |
the origin tag
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Since: 2.26
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_settings_backend_flatten_tree ()
|
|
Packit |
ae235b |
void
|
|
Packit |
ae235b |
g_settings_backend_flatten_tree (GTree *tree ,
|
|
Packit |
ae235b |
gchar **path ,
|
|
Packit |
ae235b |
const gchar ***keys ,
|
|
Packit |
ae235b |
GVariant ***values );
|
|
Packit |
ae235b |
Calculate the longest common prefix of all keys in a tree and write
|
|
Packit |
ae235b |
out an array of the key names relative to that prefix and,
|
|
Packit |
ae235b |
optionally, the value to store at each of those keys.
|
|
Packit |
ae235b |
You must free the value returned in path
|
|
Packit |
ae235b |
, keys
|
|
Packit |
ae235b |
and values
|
|
Packit |
ae235b |
using
|
|
Packit |
ae235b |
g_free() . You should not attempt to free or unref the contents of
|
|
Packit |
ae235b |
keys
|
|
Packit |
ae235b |
or values
|
|
Packit |
ae235b |
.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Parameters
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
tree
|
|
Packit |
ae235b |
a GTree containing the changes
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
path
|
|
Packit |
ae235b |
the location to save the path.
|
|
Packit |
ae235b |
[out]
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
keys
|
|
Packit |
ae235b |
the
|
|
Packit |
ae235b |
location to save the relative keys.
|
|
Packit |
ae235b |
[out][transfer container][array zero-terminated=1]
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
values
|
|
Packit |
ae235b |
the location to save the values, or NULL .
|
|
Packit |
ae235b |
[out][optional][transfer container][array zero-terminated=1]
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Since: 2.26
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_keyfile_settings_backend_new ()
|
|
Packit |
ae235b |
GSettingsBackend *
|
|
Packit |
ae235b |
g_keyfile_settings_backend_new (const gchar *filename ,
|
|
Packit |
ae235b |
const gchar *root_path ,
|
|
Packit |
ae235b |
const gchar *root_group );
|
|
Packit |
ae235b |
Creates a keyfile-backed GSettingsBackend.
|
|
Packit |
ae235b |
The filename of the keyfile to use is given by filename
|
|
Packit |
ae235b |
.
|
|
Packit |
ae235b |
All settings read to or written from the backend must fall under the
|
|
Packit |
ae235b |
path given in root_path
|
|
Packit |
ae235b |
(which must start and end with a slash and
|
|
Packit |
ae235b |
not contain two consecutive slashes). root_path
|
|
Packit |
ae235b |
may be "/".
|
|
Packit |
ae235b |
If root_group
|
|
Packit |
ae235b |
is non-NULL then it specifies the name of the keyfile
|
|
Packit |
ae235b |
group used for keys that are written directly below root_path
|
|
Packit |
ae235b |
. For
|
|
Packit |
ae235b |
example, if root_path
|
|
Packit |
ae235b |
is "/apps/example/" and root_group
|
|
Packit |
ae235b |
is
|
|
Packit |
ae235b |
"toplevel", then settings the key "/apps/example/enabled" to a value
|
|
Packit |
ae235b |
of TRUE will cause the following to appear in the keyfile:
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
1
|
|
Packit |
ae235b |
2
|
|
Packit |
ae235b |
[toplevel]
|
|
Packit |
ae235b |
enabled=true
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
If root_group
|
|
Packit |
ae235b |
is NULL then it is not permitted to store keys
|
|
Packit |
ae235b |
directly below the root_path
|
|
Packit |
ae235b |
.
|
|
Packit |
ae235b |
For keys not stored directly below root_path
|
|
Packit |
ae235b |
(ie: in a sub-path),
|
|
Packit |
ae235b |
the name of the subpath (with the final slash stripped) is used as
|
|
Packit |
ae235b |
the name of the keyfile group. To continue the example, if
|
|
Packit |
ae235b |
"/apps/example/profiles/default/font-size" were set to
|
|
Packit |
ae235b |
12 then the following would appear in the keyfile:
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
1
|
|
Packit |
ae235b |
2
|
|
Packit |
ae235b |
[profiles/default]
|
|
Packit |
ae235b |
font-size=12
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
The backend will refuse writes (and return writability as being
|
|
Packit |
ae235b |
FALSE ) for keys outside of root_path
|
|
Packit |
ae235b |
and, in the event that
|
|
Packit |
ae235b |
root_group
|
|
Packit |
ae235b |
is NULL , also for keys directly under root_path
|
|
Packit |
ae235b |
.
|
|
Packit |
ae235b |
Writes will also be refused if the backend detects that it has the
|
|
Packit |
ae235b |
inability to rewrite the keyfile (ie: the containing directory is not
|
|
Packit |
ae235b |
writable).
|
|
Packit |
ae235b |
There is no checking done for your key namespace clashing with the
|
|
Packit |
ae235b |
syntax of the key file format. For example, if you have '[' or ']'
|
|
Packit |
ae235b |
characters in your path names or '=' in your key names you may be in
|
|
Packit |
ae235b |
trouble.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Parameters
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
filename
|
|
Packit |
ae235b |
the filename of the keyfile
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
root_path
|
|
Packit |
ae235b |
the path under which all settings keys appear
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
root_group
|
|
Packit |
ae235b |
the group name corresponding to
|
|
Packit |
ae235b |
root_path
|
|
Packit |
ae235b |
, or NULL .
|
|
Packit |
ae235b |
[nullable]
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Returns
|
|
Packit |
ae235b |
a keyfile-backed GSettingsBackend.
|
|
Packit |
ae235b |
[transfer full]
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_memory_settings_backend_new ()
|
|
Packit |
ae235b |
GSettingsBackend *
|
|
Packit |
ae235b |
g_memory_settings_backend_new (void );
|
|
Packit |
ae235b |
Creates a memory-backed GSettingsBackend.
|
|
Packit |
ae235b |
This backend allows changes to settings, but does not write them
|
|
Packit |
ae235b |
to any backing storage, so the next time you run your application,
|
|
Packit |
ae235b |
the memory backend will start out with the default values again.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Returns
|
|
Packit |
ae235b |
a newly created GSettingsBackend.
|
|
Packit |
ae235b |
[transfer full]
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Since: 2.28
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
g_null_settings_backend_new ()
|
|
Packit |
ae235b |
GSettingsBackend *
|
|
Packit |
ae235b |
g_null_settings_backend_new (void );
|
|
Packit |
ae235b |
Creates a readonly GSettingsBackend.
|
|
Packit |
ae235b |
This backend does not allow changes to settings, so all settings
|
|
Packit |
ae235b |
will always have their default values.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Returns
|
|
Packit |
ae235b |
a newly created GSettingsBackend.
|
|
Packit |
ae235b |
[transfer full]
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Since: 2.28
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Types and Values
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
GSettingsBackend
|
|
Packit |
ae235b |
typedef struct _GSettingsBackend GSettingsBackend;
|
|
Packit |
ae235b |
An implementation of a settings storage repository.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
struct GSettingsBackendClass
|
|
Packit |
ae235b |
struct GSettingsBackendClass {
|
|
Packit |
ae235b |
GObjectClass parent_class;
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
GVariant * (*read) (GSettingsBackend *backend,
|
|
Packit |
ae235b |
const gchar *key,
|
|
Packit |
ae235b |
const GVariantType *expected_type,
|
|
Packit |
ae235b |
gboolean default_value);
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
gboolean (*get_writable) (GSettingsBackend *backend,
|
|
Packit |
ae235b |
const gchar *key);
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
gboolean (*write) (GSettingsBackend *backend,
|
|
Packit |
ae235b |
const gchar *key,
|
|
Packit |
ae235b |
GVariant *value,
|
|
Packit |
ae235b |
gpointer origin_tag);
|
|
Packit |
ae235b |
gboolean (*write_tree) (GSettingsBackend *backend,
|
|
Packit |
ae235b |
GTree *tree,
|
|
Packit |
ae235b |
gpointer origin_tag);
|
|
Packit |
ae235b |
void (*reset) (GSettingsBackend *backend,
|
|
Packit |
ae235b |
const gchar *key,
|
|
Packit |
ae235b |
gpointer origin_tag);
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
void (*subscribe) (GSettingsBackend *backend,
|
|
Packit |
ae235b |
const gchar *name);
|
|
Packit |
ae235b |
void (*unsubscribe) (GSettingsBackend *backend,
|
|
Packit |
ae235b |
const gchar *name);
|
|
Packit |
ae235b |
void (*sync) (GSettingsBackend *backend);
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
GPermission * (*get_permission) (GSettingsBackend *backend,
|
|
Packit |
ae235b |
const gchar *path);
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
GVariant * (*read_user_value) (GSettingsBackend *backend,
|
|
Packit |
ae235b |
const gchar *key,
|
|
Packit |
ae235b |
const GVariantType *expected_type);
|
|
Packit |
ae235b |
};
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Class structure for GSettingsBackend.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Members
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
read ()
|
|
Packit |
ae235b |
virtual method to read a key's value
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
get_writable ()
|
|
Packit |
ae235b |
virtual method to get if a key is writable
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
write ()
|
|
Packit |
ae235b |
virtual method to change key's value
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
write_tree ()
|
|
Packit |
ae235b |
virtual method to change a tree of keys
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
reset ()
|
|
Packit |
ae235b |
virtual method to reset state
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
subscribe ()
|
|
Packit |
ae235b |
virtual method to subscribe to key changes
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
unsubscribe ()
|
|
Packit |
ae235b |
virtual method to unsubscribe to key changes
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
sync ()
|
|
Packit |
ae235b |
virtual method to sync state
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
get_permission ()
|
|
Packit |
ae235b |
virtual method to get permission of a key
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
read_user_value ()
|
|
Packit |
ae235b |
virtual method to read user's key value
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
G_SETTINGS_BACKEND_EXTENSION_POINT_NAME
|
|
Packit |
ae235b |
#define G_SETTINGS_BACKEND_EXTENSION_POINT_NAME "gsettings-backend"
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Extension point for GSettingsBackend functionality.
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
See Also
|
|
Packit |
ae235b |
GSettings, GIOExtensionPoint
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
|
|
Packit |
ae235b |
Generated by GTK-Doc V1.27
|
|
Packit |
ae235b |
</body>
|
|
Packit |
ae235b |
</html>
|