Function
GioSettingsSchemaSourcenew_from_directory
since: 2.32
Declaration [src]
GSettingsSchemaSource*
g_settings_schema_source_new_from_directory (
const gchar* directory,
GSettingsSchemaSource* parent,
gboolean trusted,
GError** error
)
Description [src]
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 platform-native string, using the preferred OS encoding on Unix and UTF-8 on Windows. parent
-
Type:
GSettingsSchemaSource
A
GSettingsSchemaSource
, orNULL
.The argument can be NULL
.The data is owned by the caller of the function. trusted
-
Type:
gboolean
TRUE
, 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 aNULL
GError*
.The argument will be left initialized to NULL
by 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. |