Class SettingsSchemaSource

java.lang.Object
org.javagi.base.ProxyInstance
org.gnome.gio.SettingsSchemaSource
All Implemented Interfaces:
Proxy

@Generated("org.javagi.JavaGI") public class SettingsSchemaSource extends ProxyInstance
This is an opaque structure type. You may not access it directly.
Since:
2.32
  • Constructor Details

    • SettingsSchemaSource

      public SettingsSchemaSource(MemorySegment address)
      Create a SettingsSchemaSource proxy instance for the provided memory address.
      Parameters:
      address - the memory address of the native object
  • Method Details

    • getType

      public static @Nullable Type getType()
      Get the GType of the SettingsSchemaSource class.
      Returns:
      the GType
    • getMemoryLayout

      public static MemoryLayout getMemoryLayout()
      The memory layout of the native struct.
      Returns:
      the memory layout
    • fromDirectory

      public static SettingsSchemaSource fromDirectory(String directory, @Nullable SettingsSchemaSource parent, boolean trusted) throws GErrorException

      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 FileError.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
      Throws:
      GErrorException - see GError
      Since:
      2.32
    • getDefault

      public static @Nullable 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
      Since:
      2.32
    • listSchemas

      public void listSchemas(boolean recursive, @Nullable Out<String[]> nonRelocatable, @Nullable Out<String[]> relocatable)

      Lists the schemas in a given source.

      If recursive is true then include parent sources. If false then only include the schemas from one source (ie: one directory). You probably want true.

      Non-relocatable schemas are those for which you can call g_settings_new(). Relocatable schemas are those for which you must use g_settings_new_with_path().

      Do not call this function from normal programs. This is designed for use by database editors, commandline tools, etc.

      Parameters:
      recursive - if we should recurse
      nonRelocatable - the list of non-relocatable schemas, in no defined order
      relocatable - the list of relocatable schemas, in no defined order
      Since:
      2.40
    • lookup

      public @Nullable SettingsSchema lookup(String schemaId, boolean recursive)

      Looks up a schema with the identifier schemaId 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 this SettingsSchemaSource and recursive is true then the parent sources will also be checked.

      If the schema isn't found, null is returned.

      Parameters:
      schemaId - a schema ID
      recursive - true if the lookup should be recursive
      Returns:
      a new GSettingsSchema
      Since:
      2.32
    • ref

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

      public void unref()
      Decrease the reference count of source, possibly freeing it.
      Since:
      2.32