mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-01-23 04:36:17 +01:00
Add g_settings_new_full() taking GSettingsSchema
This commit is contained in:
parent
1c8ae819ed
commit
1e70072065
@ -1125,6 +1125,7 @@ g_settings_new
|
||||
g_settings_new_with_backend
|
||||
g_settings_new_with_backend_and_path
|
||||
g_settings_new_with_path
|
||||
g_settings_new_full
|
||||
g_settings_revert
|
||||
g_settings_reset
|
||||
g_settings_set
|
||||
|
@ -937,6 +937,43 @@ g_settings_new_with_backend_and_path (const gchar *schema,
|
||||
NULL);
|
||||
}
|
||||
|
||||
/**
|
||||
* g_settings_new_full:
|
||||
* @schema: a #GSettingsSchema
|
||||
* @backend: a #GSettingsBackend
|
||||
* @path: the path to use
|
||||
* @returns: a new #GSettings object
|
||||
*
|
||||
* Creates a new #GSettings object with a given schema, backend and
|
||||
* path.
|
||||
*
|
||||
* It should be extremely rare that you ever want to use this function.
|
||||
* It is made available for advanced use-cases (such as plugin systems
|
||||
* that want to provide access to schemas loaded from custom locations,
|
||||
* etc).
|
||||
*
|
||||
* At the most basic level, a #GSettings object is a pure composition of
|
||||
* 4 things: a #GSettingsSchema, a #GSettingsBackend, a path within that
|
||||
* backend, and a #GMainContext to which signals are dispatched.
|
||||
*
|
||||
* This constructor therefore gives you full control over constructing
|
||||
* #GSettings instances. The first 4 parameters are given directly as
|
||||
* @schema, @backend and @path, and the main context is taken from the
|
||||
* thread-default (as per g_settings_new()).
|
||||
*
|
||||
* Since: 2.32
|
||||
*/
|
||||
GSettings *
|
||||
g_settings_new_full (GSettingsSchema *schema,
|
||||
GSettingsBackend *backend,
|
||||
const gchar *path)
|
||||
{
|
||||
return g_object_new (G_TYPE_SETTINGS,
|
||||
"settings-schema", schema,
|
||||
"backend", backend,
|
||||
"path", path);
|
||||
}
|
||||
|
||||
/* Internal read/write utilities {{{1 */
|
||||
static gboolean
|
||||
g_settings_write_to_backend (GSettings *settings,
|
||||
|
@ -26,6 +26,7 @@
|
||||
#ifndef __G_SETTINGS_H__
|
||||
#define __G_SETTINGS_H__
|
||||
|
||||
#include <gio/gsettingsschema.h>
|
||||
#include <gio/giotypes.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
@ -80,6 +81,9 @@ GSettings * g_settings_new_with_backend (const g
|
||||
GSettings * g_settings_new_with_backend_and_path (const gchar *schema,
|
||||
GSettingsBackend *backend,
|
||||
const gchar *path);
|
||||
GSettings * g_settings_new_full (GSettingsSchema *schema,
|
||||
GSettingsBackend *backend,
|
||||
const gchar *path);
|
||||
gchar ** g_settings_list_children (GSettings *settings);
|
||||
gchar ** g_settings_list_keys (GSettings *settings);
|
||||
GVariant * g_settings_get_range (GSettings *settings,
|
||||
|
Loading…
Reference in New Issue
Block a user