Basics
Guides
API Reference
Basics
Guides
API Reference
[12:7] extends: object
This is an opaque structure type. You may not access it directly.
GSettingsSchemaSource (directory = null, parent = null, trusted = null)
Attempts to create a new schema source corresponding to the contents of the given directory. This function is not required for normal uses of #GSettings but it may be useful to authors of plugin management systems. The directory should contain a file called
gschemas.compiledas produced by the [glib-compile-schemas][glib-compile-schemas] tool. If
is %TRUE then gschemas.compiled is trusted not to be corrupted. This assumption has a performance advantage, but can result in crashes or inconsistent behaviour in the case of a corrupted file. Generally, you should set @trusted to %TRUE for files installed by the system and to %FALSE for files in the home directory. In either case, an empty file or some types of corruption in the file will result in %G_FILE_ERROR_INVAL being returned. If @parent is non-%NULL then there are two effects. First, if g_settings_schema_source_lookup() is called with the @recursive flag set to %TRUE and the schema can not be found in the source, the lookup will recurse to the parent. Second, any references to other schemas specified within this source (ie: child or extends) references may be resolved from the @parent. For this second reason, except in very unusual situations, the @parent should probably be given as the default schema source, as returned by g_settings_schema_source_get_default().directory is the filename of a directory.parent is a #GSettingsSchemaSource, or %NULL.trusted is %TRUE, if the directory is trusted.toNativeHandle (Source)
Normalizes a constructor argument into a raw pointer carrier. Accepts a raw NativeHandle, a raw NativeBuffer returned from
fn.call(...), another generated wrapper exposinghandle(), or null. Returns null when the argument carries no pointer.
Source is the raw handle, raw buffer, wrapper, or null.A raw pointer carrier or null when no pointer is present.getLib ()
Returns the opened native library for this generated wrapper.
The opened native library.handle ()
Returns the wrapped NativeHandle.
The wrapped NativeHandle.isNull ()
Returns true when the wrapped handle is null.
A bool.describe ()
Returns a small string for debugging generated wrappers.
A string.list_schemas (bool recursive)
Lists the schemas in a given source. If @recursive is %TRUE then include parent sources. If %FALSE then only include the schemas from one source (ie: one directory). You probably want %TRUE. Non-relocatable schemas are those for which you can call g_settings_new(). Relocatable schemas are those for which you must use g_settings_new_with_path(). Do not call this function from normal programs. This is designed for use by database editors, commandline tools, etc.
recursive is if we should recurse.non_relocatable is the list of non-relocatable schemas, in no defined order.relocatable is the list of relocatable schemas, in no defined order.None.lookup (string schema_id, bool recursive)
Looks up a schema with the identifier @schema_id in @source. This function is not required for normal uses of #GSettings but it may be useful to authors of plugin management systems or to those who want to introspect the content of schemas. If the schema isn't found directly in
and @recursive is %TRUE then the parent sources will also be checked. If the schema isn't found, %NULL is returned.schema_id is a schema ID.recursive is %TRUE if the lookup should be recursive.a new #GSettingsSchema.ref ()
Increase the reference count of @source, returning a new reference.
a new reference to @source.unref ()
Decrease the reference count of @source, possibly freeing it.
None.
Aussom
Write once. Embed everywhere.
Copyright 2026 Austin Lehman. All rights reserved.