SettingsSchemaSource.this

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

  1. this(GSettingsSchemaSource* gSettingsSchemaSource, bool ownedRef)
  2. this(string directory, SettingsSchemaSource parent, bool trusted)
    class SettingsSchemaSource

Parameters

directory string

the filename of a directory

parent SettingsSchemaSource

a #GSettingsSchemaSource, or %NULL

trusted bool

%TRUE, if the directory is trusted

Throws

GException on failure. ConstructionException GTK+ fails to create the object.

Meta

Since

2.32