| Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte |
|---|---|
| License | LGPL-2.1 |
| Maintainer | Iñaki García Etxebarria |
| Safe Haskell | None |
| Language | Haskell2010 |
GI.Gio.Structs.SettingsSchemaSource
Description
This is an opaque structure type. You may not access it directly.
Since: 2.32
Synopsis
- newtype SettingsSchemaSource = SettingsSchemaSource (ManagedPtr SettingsSchemaSource)
- noSettingsSchemaSource :: Maybe SettingsSchemaSource
- settingsSchemaSourceGetDefault :: (HasCallStack, MonadIO m) => m (Maybe SettingsSchemaSource)
- settingsSchemaSourceListSchemas :: (HasCallStack, MonadIO m) => SettingsSchemaSource -> Bool -> m ([Text], [Text])
- settingsSchemaSourceLookup :: (HasCallStack, MonadIO m) => SettingsSchemaSource -> Text -> Bool -> m (Maybe SettingsSchema)
- settingsSchemaSourceNewFromDirectory :: (HasCallStack, MonadIO m) => [Char] -> Maybe SettingsSchemaSource -> Bool -> m SettingsSchemaSource
- settingsSchemaSourceRef :: (HasCallStack, MonadIO m) => SettingsSchemaSource -> m SettingsSchemaSource
- settingsSchemaSourceUnref :: (HasCallStack, MonadIO m) => SettingsSchemaSource -> m ()
Exported types
newtype SettingsSchemaSource Source #
Memory-managed wrapper type.
Constructors
| SettingsSchemaSource (ManagedPtr SettingsSchemaSource) |
Instances
| Eq SettingsSchemaSource Source # | |
Defined in GI.Gio.Structs.SettingsSchemaSource Methods (==) :: SettingsSchemaSource -> SettingsSchemaSource -> Bool # (/=) :: SettingsSchemaSource -> SettingsSchemaSource -> Bool # | |
| BoxedObject SettingsSchemaSource Source # | |
Defined in GI.Gio.Structs.SettingsSchemaSource Methods boxedType :: SettingsSchemaSource -> IO GType # | |
| IsGValue SettingsSchemaSource Source # | Convert |
Defined in GI.Gio.Structs.SettingsSchemaSource Methods toGValue :: SettingsSchemaSource -> IO GValue # fromGValue :: GValue -> IO SettingsSchemaSource # | |
noSettingsSchemaSource :: Maybe SettingsSchemaSource Source #
A convenience alias for Nothing :: Maybe SettingsSchemaSource.
Methods
Overloaded methods
getDefault
settingsSchemaSourceGetDefault Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => m (Maybe SettingsSchemaSource) | Returns: the default schema source |
Gets the default system schema source.
This function is not required for normal uses of Settings 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, Nothing 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.
Since: 2.32
listSchemas
settingsSchemaSourceListSchemas Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => SettingsSchemaSource |
|
| -> Bool |
|
| -> m ([Text], [Text]) |
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
settingsNew. Relocatable schemas are those for which you must
use settingsNewWithPath.
Do not call this function from normal programs. This is designed for use by database editors, commandline tools, etc.
Since: 2.40
lookup
settingsSchemaSourceLookup Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => SettingsSchemaSource |
|
| -> Text |
|
| -> Bool |
|
| -> m (Maybe SettingsSchema) | Returns: a new |
Looks up a schema with the identifier schemaId in source.
This function is not required for normal uses of Settings 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, Nothing is returned.
Since: 2.32
newFromDirectory
settingsSchemaSourceNewFromDirectory Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => [Char] |
|
| -> Maybe SettingsSchemaSource |
|
| -> Bool |
|
| -> m SettingsSchemaSource | (Can throw |
Attempts to create a new schema source corresponding to the contents of the given directory.
This function is not required for normal uses of Settings 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 FileErrorInval being returned.
If parent is non-Nothing then there are two effects.
First, if settingsSchemaSourceLookup 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 settingsSchemaSourceGetDefault.
Since: 2.32
ref
settingsSchemaSourceRef Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => SettingsSchemaSource |
|
| -> m SettingsSchemaSource | Returns: a new reference to |
Increase the reference count of source, returning a new reference.
Since: 2.32
unref
settingsSchemaSourceUnref Source #
Arguments
| :: (HasCallStack, MonadIO m) | |
| => SettingsSchemaSource |
|
| -> m () |
Decrease the reference count of source, possibly freeing it.
Since: 2.32