Function
GioSettingsSchemaSourcenew_from_directory
since: 2.32
Declaration
GSettingsSchemaSource*
g_settings_schema_source_new_from_directory (
const gchar* directory,
GSettingsSchemaSource* parent,
gboolean trusted,
GError** error
)
Description
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.compiled as
produced by the [glib-compile-schemas][glib-compile-schemas] tool.
If trusted 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().
Available since: 2.32
Parameters
directory-
Type:
const gchar*The filename of a directory.
The data is owned by the caller of the function. The value is a file system path, using the OS encoding. parent-
Type:
GSettingsSchemaSourceA
GSettingsSchemaSource, orNULL.The argument can be NULL.The data is owned by the caller of the function. trusted-
Type:
gbooleanTRUE, if the directory is trusted. error-
Type:
GError **The return location for a recoverable error.
The argument can be NULL.If the return location is not NULL, then you must initialize it to aNULLGError*.The argument will be left initialized to NULLby the function if there are no errors.In case of error, the argument will be set to a newly allocated GError; the caller will take ownership of the data, and be responsible for freeing it.
Return value
Type: GSettingsSchemaSource
No description available.
| The caller of the function takes ownership of the data, and is responsible for freeing it. |