Class SettingsSchemaSource

All Implemented Interfaces:
PointerInterface

public class SettingsSchemaSource extends Record
This is an opaque structure type. You may not access it directly.

https://docs.gtk.org/gio/struct.SettingsSchemaSource.html

  • Constructor Details

  • Method Details

    • getClassHandler

      public static ClassHandler getClassHandler()
    • newFromDirectorySettingsSchemaSource

      public static SettingsSchemaSource newFromDirectorySettingsSchemaSource(@Nonnull Str directory, @Nullable SettingsSchemaSource parent, boolean trusted) throws AllocationError
      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().
      Parameters:
      directory - the filename of a directory
      parent - a #GSettingsSchemaSource, or %NULL
      trusted - %TRUE, if the directory is trusted
      Returns:
      Throws:
      AllocationError
    • newFromDirectorySettingsSchemaSource

      public static SettingsSchemaSource newFromDirectorySettingsSchemaSource(String directory, @Nullable SettingsSchemaSource parent, boolean trusted) throws AllocationError
      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().
      Parameters:
      directory - the filename of a directory
      parent - a #GSettingsSchemaSource, or %NULL
      trusted - %TRUE, if the directory is trusted
      Returns:
      Throws:
      AllocationError
    • lookup

      public SettingsSchema lookup(@Nonnull Str schema_id, boolean 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 @source and @recursive is %TRUE
      then the parent sources will also be checked.

      If the schema isn't found, %NULL is returned.
      Parameters:
      schema_id - a schema ID
      recursive - %TRUE if the lookup should be recursive
      Returns:
      a new #GSettingsSchema
    • lookup

      public SettingsSchema lookup(String schema_id, boolean 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 @source and @recursive is %TRUE
      then the parent sources will also be checked.

      If the schema isn't found, %NULL is returned.
      Parameters:
      schema_id - a schema ID
      recursive - %TRUE if the lookup should be recursive
      Returns:
      a new #GSettingsSchema
    • ref

      public SettingsSchemaSource ref()
      Increase the reference count of @source, returning a new reference.
      Returns:
      a new reference to @source
    • unref

      public void unref()
      Decrease the reference count of @source, possibly freeing it.
    • getDefault

      public static SettingsSchemaSource getDefault()
      Gets the default system schema 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 no schemas are installed, %NULL will be returned.

      The returned source may actually consist of multiple schema sources
      from different directories, depending on which directories were given
      in `XDG_DATA_DIRS` and `GSETTINGS_SCHEMA_DIR`. For this reason, all
      lookups performed against the default source should probably be done
      recursively.
      Returns:
      the default schema source
    • getTypeID

      public static long getTypeID()
    • getParentTypeID

      public static long getParentTypeID()
    • getTypeSize

      public static TypeSystem.TypeSize getTypeSize()
    • getParentTypeSize

      public static TypeSystem.TypeSize getParentTypeSize()
    • getInstanceSize

      public static int getInstanceSize()