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().
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().