Blame docs/reference/gio/html/GSettingsBackend.html

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
Home
Packit ae235b
Up
Packit ae235b
Prev
Packit ae235b
Next
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>