gi-gio-2.0.19: Gio bindings

Copyright | Will Thompson Iñaki García Etxebarria and Jonas Platte
License | LGPL-2.1
Maintainer | Iñaki García Etxebarria (garetxe@gmail.com)
Safe Haskell | None
Language | Haskell2010

GI.Gio.Structs.SettingsSchemaKey

Contents

- Exported types
- Methods
  - getDefaultValue
  - getDescription
  - getName
  - getRange
  - getSummary
  - getValueType
  - rangeCheck
  - ref
  - unref

Description

`SettingsSchemaKey` is an opaque data structure and can only be accessed using the following functions.

Synopsis

- newtype SettingsSchemaKey = SettingsSchemaKey (ManagedPtr SettingsSchemaKey)
- noSettingsSchemaKey :: Maybe SettingsSchemaKey
- settingsSchemaKeyGetDefaultValue :: (HasCallStack, MonadIO m) => SettingsSchemaKey -> m GVariant
- settingsSchemaKeyGetDescription :: (HasCallStack, MonadIO m) => SettingsSchemaKey -> m Text
- settingsSchemaKeyGetName :: (HasCallStack, MonadIO m) => SettingsSchemaKey -> m Text
- settingsSchemaKeyGetRange :: (HasCallStack, MonadIO m) => SettingsSchemaKey -> m GVariant
- settingsSchemaKeyGetSummary :: (HasCallStack, MonadIO m) => SettingsSchemaKey -> m Text
- settingsSchemaKeyGetValueType :: (HasCallStack, MonadIO m) => SettingsSchemaKey -> m VariantType
- settingsSchemaKeyRangeCheck :: (HasCallStack, MonadIO m) => SettingsSchemaKey -> GVariant -> m Bool
- settingsSchemaKeyRef :: (HasCallStack, MonadIO m) => SettingsSchemaKey -> m SettingsSchemaKey
- settingsSchemaKeyUnref :: (HasCallStack, MonadIO m) => SettingsSchemaKey -> m ()

# Exported types

newtype SettingsSchemaKey Source #

Memory-managed wrapper type.

Constructors

SettingsSchemaKey (ManagedPtr SettingsSchemaKey) |

Instances

BoxedObject SettingsSchemaKey Source # |
Instance details Defined in GI.Gio.Structs.SettingsSchemaKey Methods boxedType :: SettingsSchemaKey -> IO GType Source #

noSettingsSchemaKey :: Maybe SettingsSchemaKey Source #

A convenience alias for `Nothing` :: `Maybe` `SettingsSchemaKey`.

# Methods

## getDefaultValue

settingsSchemaKeyGetDefaultValue Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> SettingsSchemaKey | `key`: a `SettingsSchemaKey`
-> m GVariant | Returns: the default value for the key

Gets the default value for `key`.

Note that this is the default value according to the schema. System administrator defaults and lockdown are not visible via this API.

Since: 2.40

## getDescription

settingsSchemaKeyGetDescription Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> SettingsSchemaKey | `key`: a `SettingsSchemaKey`
-> m Text | Returns: the description for `key`, or `Nothing`

Gets the description for `key`.

If no description has been provided in the schema for `key`, returns `Nothing`.

The description can be one sentence to several paragraphs in length. Paragraphs are delimited with a double newline. Descriptions can be translated and the value returned from this function is is the current locale.

This function is slow. The summary and description information for the schemas is not stored in the compiled schema database so this function has to parse all of the source XML files in the schema directory.

Since: 2.34

## getName

settingsSchemaKeyGetName Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> SettingsSchemaKey | `key`: a `SettingsSchemaKey`
-> m Text | Returns: the name of `key`.

Gets the name of `key`.

Since: 2.44

## getRange

settingsSchemaKeyGetRange Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> SettingsSchemaKey | `key`: a `SettingsSchemaKey`
-> m GVariant | Returns: a `GVariant` describing the range

Queries the range of a key.

This function will return a `GVariant` that fully describes the range of values that are valid for `key`.

The type of `GVariant` returned is `(sv)`. The string describes the type of range restriction in effect. The type and meaning of the value contained in the variant depends on the string.

If the string is `'type'` then the variant contains an empty array. The element type of that empty array is the expected type of value and all values of that type are valid.

If the string is `'enum'` then the variant contains an array enumerating the possible values. Each item in the array is a possible valid value and no other values are valid.

If the string is `'flags'` then the variant contains an array. Each item in the array is a value that may appear zero or one times in an array to be used as the value for this key. For example, if the variant contained the array `['x', 'y']` then the valid values for the key would be `[]`, `['x']`, `['y']`, `['x', 'y']` and `['y', 'x']`.

Finally, if the string is `'range'` then the variant contains a pair of like-typed values -- the minimum and maximum permissible values for this key.

This information should not be used by normal programs. It is considered to be a hint for introspection purposes. Normal programs should already know what is permitted by their own schema. The format may change in any way in the future -- but particularly, new forms may be added to the possibilities described above.

You should free the returned value with `variantUnref` when it is no longer needed.

Since: 2.40

## getSummary

settingsSchemaKeyGetSummary Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> SettingsSchemaKey | `key`: a `SettingsSchemaKey`
-> m Text | Returns: the summary for `key`, or `Nothing`

Gets the summary for `key`.

If no summary has been provided in the schema for `key`, returns `Nothing`.

The summary is a short description of the purpose of the key; usually one short sentence. Summaries can be translated and the value returned from this function is is the current locale.

This function is slow. The summary and description information for the schemas is not stored in the compiled schema database so this function has to parse all of the source XML files in the schema directory.

Since: 2.34

## getValueType

settingsSchemaKeyGetValueType Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> SettingsSchemaKey | `key`: a `SettingsSchemaKey`
-> m VariantType | Returns: the type of `key`

Gets the `VariantType` of `key`.

Since: 2.40

## rangeCheck

settingsSchemaKeyRangeCheck Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> SettingsSchemaKey | `key`: a `SettingsSchemaKey`
-> GVariant | `value`: the value to check
-> m Bool | Returns: `True` if `value` is valid for `key`

Checks if the given `value` is of the correct type and within the permitted range for `key`.

It is a programmer error if `value` is not of the correct type -- you must check for this first.

Since: 2.40

## ref

settingsSchemaKeyRef Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> SettingsSchemaKey | `key`: a `SettingsSchemaKey`
-> m SettingsSchemaKey | Returns: a new reference to `key`

Increase the reference count of `key`, returning a new reference.

Since: 2.40

## unref

settingsSchemaKeyUnref Source #

Arguments

:: (HasCallStack, MonadIO m) |
=> SettingsSchemaKey | `key`: a `SettingsSchemaKey`
-> m () |

Decrease the reference count of `key`, possibly freeing it.

Since: 2.40