packages feed

gi-girepository 1.0.16 → 1.0.18

raw patch · 27 files changed

+10142/−9 lines, 27 filesdep ~haskell-gidep ~haskell-gi-basePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

Dependency ranges changed: haskell-gi, haskell-gi-base

API changes (from Hackage documentation)

- GI.GIRepository.Objects.Repository: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.GIRepository.Objects.Repository.Repository a) => GI.GIRepository.Objects.Repository.IsRepository a
- GI.GIRepository.Objects.Repository: instance GI.GIRepository.Objects.Repository.IsRepository GI.GIRepository.Objects.Repository.Repository
- GI.GIRepository.Objects.Repository: instance GI.GObject.Objects.Object.IsObject GI.GIRepository.Objects.Repository.Repository
- GI.GIRepository.Structs.AttributeIter: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.GIRepository.Structs.AttributeIter.AttributeIter tag
- GI.GIRepository.Structs.BaseInfo: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.GIRepository.Structs.BaseInfo.BaseInfo tag
- GI.GIRepository.Unions.Argument: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.GIRepository.Unions.Argument.Argument tag
+ GI.GIRepository.Functions: cclosureMarshalGeneric :: (HasCallStack, MonadIO m) => GClosure a -> GValue -> Word32 -> GValue -> Ptr () -> Ptr () -> m ()
+ GI.GIRepository.Objects.Repository: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.GIRepository.Objects.Repository.Repository o) => GI.GIRepository.Objects.Repository.IsRepository o
+ GI.GIRepository.Objects.Repository: instance Data.GI.Base.Overloading.HasParentTypes GI.GIRepository.Objects.Repository.Repository
+ GI.GIRepository.Objects.Repository: repositoryGetObjectGtypeInterfaces :: (HasCallStack, MonadIO m, IsRepository a) => a -> GType -> m [BaseInfo]
+ GI.GIRepository.Structs.AttributeIter: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.GIRepository.Structs.AttributeIter.AttributeIter tag
+ GI.GIRepository.Structs.BaseInfo: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.GIRepository.Structs.BaseInfo.BaseInfo tag
+ GI.GIRepository.Unions.Argument: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.GIRepository.Unions.Argument.Argument tag
- GI.GIRepository.Functions: argInfoLoadType :: (HasCallStack, MonadIO m) => BaseInfo -> m (BaseInfo)
+ GI.GIRepository.Functions: argInfoLoadType :: (HasCallStack, MonadIO m) => BaseInfo -> m BaseInfo
- GI.GIRepository.Functions: callableInfoIterateReturnAttributes :: (HasCallStack, MonadIO m) => BaseInfo -> AttributeIter -> m ((Bool, Text, Text))
+ GI.GIRepository.Functions: callableInfoIterateReturnAttributes :: (HasCallStack, MonadIO m) => BaseInfo -> AttributeIter -> m (Bool, Text, Text)
- GI.GIRepository.Functions: callableInfoLoadArg :: (HasCallStack, MonadIO m) => BaseInfo -> Int32 -> m (BaseInfo)
+ GI.GIRepository.Functions: callableInfoLoadArg :: (HasCallStack, MonadIO m) => BaseInfo -> Int32 -> m BaseInfo
- GI.GIRepository.Functions: callableInfoLoadReturnType :: (HasCallStack, MonadIO m) => BaseInfo -> m (BaseInfo)
+ GI.GIRepository.Functions: callableInfoLoadReturnType :: (HasCallStack, MonadIO m) => BaseInfo -> m BaseInfo
- GI.GIRepository.Functions: objectInfoFindMethodUsingInterfaces :: (HasCallStack, MonadIO m) => BaseInfo -> Text -> m ((BaseInfo, BaseInfo))
+ GI.GIRepository.Functions: objectInfoFindMethodUsingInterfaces :: (HasCallStack, MonadIO m) => BaseInfo -> Text -> m (BaseInfo, BaseInfo)
- GI.GIRepository.Functions: objectInfoFindVfuncUsingInterfaces :: (HasCallStack, MonadIO m) => BaseInfo -> Text -> m ((BaseInfo, BaseInfo))
+ GI.GIRepository.Functions: objectInfoFindVfuncUsingInterfaces :: (HasCallStack, MonadIO m) => BaseInfo -> Text -> m (BaseInfo, BaseInfo)
- GI.GIRepository.Objects.Repository: Repository :: (ManagedPtr Repository) -> Repository
+ GI.GIRepository.Objects.Repository: Repository :: ManagedPtr Repository -> Repository
- GI.GIRepository.Objects.Repository: class GObject o => IsRepository o
+ GI.GIRepository.Objects.Repository: class (GObject o, IsDescendantOf Repository o) => IsRepository o
- GI.GIRepository.Objects.Repository: repositoryIsRegistered :: (HasCallStack, MonadIO m, IsRepository a) => a -> Text -> Maybe (Text) -> m Bool
+ GI.GIRepository.Objects.Repository: repositoryIsRegistered :: (HasCallStack, MonadIO m, IsRepository a) => a -> Text -> Maybe Text -> m Bool
- GI.GIRepository.Objects.Repository: repositoryRequire :: (HasCallStack, MonadIO m, IsRepository a) => a -> Text -> Maybe (Text) -> [RepositoryLoadFlags] -> m Typelib
+ GI.GIRepository.Objects.Repository: repositoryRequire :: (HasCallStack, MonadIO m, IsRepository a) => a -> Text -> Maybe Text -> [RepositoryLoadFlags] -> m Typelib
- GI.GIRepository.Objects.Repository: repositoryRequirePrivate :: (HasCallStack, MonadIO m, IsRepository a) => a -> Text -> Text -> Maybe (Text) -> [RepositoryLoadFlags] -> m Typelib
+ GI.GIRepository.Objects.Repository: repositoryRequirePrivate :: (HasCallStack, MonadIO m, IsRepository a) => a -> Text -> Text -> Maybe Text -> [RepositoryLoadFlags] -> m Typelib
- GI.GIRepository.Structs.AttributeIter: AttributeIter :: (ManagedPtr AttributeIter) -> AttributeIter
+ GI.GIRepository.Structs.AttributeIter: AttributeIter :: ManagedPtr AttributeIter -> AttributeIter
- GI.GIRepository.Structs.BaseInfo: BaseInfo :: (ManagedPtr BaseInfo) -> BaseInfo
+ GI.GIRepository.Structs.BaseInfo: BaseInfo :: ManagedPtr BaseInfo -> BaseInfo
- GI.GIRepository.Structs.BaseInfo: baseInfoIterateAttributes :: (HasCallStack, MonadIO m) => BaseInfo -> AttributeIter -> m ((Bool, Text, Text))
+ GI.GIRepository.Structs.BaseInfo: baseInfoIterateAttributes :: (HasCallStack, MonadIO m) => BaseInfo -> AttributeIter -> m (Bool, Text, Text)
- GI.GIRepository.Structs.Typelib: Typelib :: (ManagedPtr Typelib) -> Typelib
+ GI.GIRepository.Structs.Typelib: Typelib :: ManagedPtr Typelib -> Typelib
- GI.GIRepository.Structs.UnresolvedInfo: UnresolvedInfo :: (ManagedPtr UnresolvedInfo) -> UnresolvedInfo
+ GI.GIRepository.Structs.UnresolvedInfo: UnresolvedInfo :: ManagedPtr UnresolvedInfo -> UnresolvedInfo
- GI.GIRepository.Unions.Argument: Argument :: (ManagedPtr Argument) -> Argument
+ GI.GIRepository.Unions.Argument: Argument :: ManagedPtr Argument -> Argument

Files

ChangeLog.md view
@@ -1,3 +1,11 @@+### 1.0.18+++ Update to haskell-gi(-base) 0.22++### 1.0.17+++ Update stack version to 12.10+ ### 1.0.16  + Add a missing dependency on `gi-glib`, needed for newer versions.
+ GI/GIRepository.hs view
@@ -0,0 +1,58 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.GIRepository+    (     module GI.GIRepository.Constants        ,+    module GI.GIRepository.Enums            ,+    module GI.GIRepository.Flags            ,+    module GI.GIRepository.Functions        ,+    module GI.GIRepository.Objects          ,+    module GI.GIRepository.Structs          ,+    module GI.GIRepository.Unions           ,++++    module Data.GI.Base                     ,+++    ) where++import GI.GIRepository.Constants+import GI.GIRepository.Enums+import GI.GIRepository.Flags+import GI.GIRepository.Functions+import GI.GIRepository.Objects+import GI.GIRepository.Structs+import GI.GIRepository.Unions++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++import Data.GI.Base+
+ GI/GIRepository/Constants.hs view
@@ -0,0 +1,69 @@+{-# LANGUAGE PatternSynonyms, ScopedTypeVariables, ViewPatterns #-}+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.GIRepository.Constants+    ( +    pattern TYPE_TAG_N_TYPES                ,+    pattern MINOR_VERSION                   ,+    pattern MICRO_VERSION                   ,+    pattern MAJOR_VERSION                   ,++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++{- |+TODO+-}+pattern TYPE_TAG_N_TYPES = 22 :: Int32++{- |+The minor version number of the girepository library.++/Since: 1.60/+-}+pattern MINOR_VERSION = 60 :: Int32++{- |+The micro version number of the girepository library.++/Since: 1.60/+-}+pattern MICRO_VERSION = 1 :: Int32++{- |+The major version number of the girepository library.++/Since: 1.60/+-}+pattern MAJOR_VERSION = 1 :: Int32++
+ GI/GIRepository/Enums.hs view
@@ -0,0 +1,628 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.GIRepository.Enums+    ( ++ -- * Enumerations+-- ** ArrayType #enum:ArrayType#++    ArrayType(..)                           ,+++-- ** Direction #enum:Direction#++    Direction(..)                           ,+++-- ** InfoType #enum:InfoType#++    InfoType(..)                            ,+++-- ** NvokeError #enum:NvokeError#++    NvokeError(..)                          ,+++-- ** RepositoryError #enum:RepositoryError#++    RepositoryError(..)                     ,+++-- ** ScopeType #enum:ScopeType#++    ScopeType(..)                           ,+++-- ** Transfer #enum:Transfer#++    Transfer(..)                            ,+++-- ** TypeTag #enum:TypeTag#++    TypeTag(..)                             ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++-- Enum nvokeError+{- |+An error occuring while invoking a function via+@/g_function_info_invoke()/@.+-}+data NvokeError = +      NvokeErrorFailed+    {- ^+    invokation failed, unknown error.+    -}+    | NvokeErrorSymbolNotFound+    {- ^+    symbol couldn\'t be found in any of the+    libraries associated with the typelib of the function.+    -}+    | NvokeErrorArgumentMismatch+    {- ^+    the arguments provided didn\'t match+    the expected arguments for the functions type signature.+    -}+    | AnotherNvokeError Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum NvokeError where+    fromEnum NvokeErrorFailed = 0+    fromEnum NvokeErrorSymbolNotFound = 1+    fromEnum NvokeErrorArgumentMismatch = 2+    fromEnum (AnotherNvokeError k) = k++    toEnum 0 = NvokeErrorFailed+    toEnum 1 = NvokeErrorSymbolNotFound+    toEnum 2 = NvokeErrorArgumentMismatch+    toEnum k = AnotherNvokeError k++instance P.Ord NvokeError where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++-- Enum TypeTag+{- |+The type tag of a @/GITypeInfo/@.+-}+data TypeTag = +      TypeTagVoid+    {- ^+    void+    -}+    | TypeTagBoolean+    {- ^+    boolean+    -}+    | TypeTagInt8+    {- ^+    8-bit signed integer+    -}+    | TypeTagUint8+    {- ^+    8-bit unsigned integer+    -}+    | TypeTagInt16+    {- ^+    16-bit signed integer+    -}+    | TypeTagUint16+    {- ^+    16-bit unsigned integer+    -}+    | TypeTagInt32+    {- ^+    32-bit signed integer+    -}+    | TypeTagUint32+    {- ^+    32-bit unsigned integer+    -}+    | TypeTagInt64+    {- ^+    64-bit signed integer+    -}+    | TypeTagUint64+    {- ^+    64-bit unsigned integer+    -}+    | TypeTagFloat+    {- ^+    float+    -}+    | TypeTagDouble+    {- ^+    double floating point+    -}+    | TypeTagGtype+    {- ^+    a 'GType'+    -}+    | TypeTagUtf8+    {- ^+    a UTF-8 encoded string+    -}+    | TypeTagFilename+    {- ^+    a filename, encoded in the same encoding+      as the native filesystem is using.+    -}+    | TypeTagArray+    {- ^+    an array+    -}+    | TypeTagInterface+    {- ^+    an extended interface object+    -}+    | TypeTagGlist+    {- ^+    a 'GI.GLib.Structs.List.List'+    -}+    | TypeTagGslist+    {- ^+    a 'GI.GLib.Structs.SList.SList'+    -}+    | TypeTagGhash+    {- ^+    a 'GI.GLib.Structs.HashTable.HashTable'+    -}+    | TypeTagError+    {- ^+    a 'GError'+    -}+    | TypeTagUnichar+    {- ^+    Unicode character+    -}+    | AnotherTypeTag Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum TypeTag where+    fromEnum TypeTagVoid = 0+    fromEnum TypeTagBoolean = 1+    fromEnum TypeTagInt8 = 2+    fromEnum TypeTagUint8 = 3+    fromEnum TypeTagInt16 = 4+    fromEnum TypeTagUint16 = 5+    fromEnum TypeTagInt32 = 6+    fromEnum TypeTagUint32 = 7+    fromEnum TypeTagInt64 = 8+    fromEnum TypeTagUint64 = 9+    fromEnum TypeTagFloat = 10+    fromEnum TypeTagDouble = 11+    fromEnum TypeTagGtype = 12+    fromEnum TypeTagUtf8 = 13+    fromEnum TypeTagFilename = 14+    fromEnum TypeTagArray = 15+    fromEnum TypeTagInterface = 16+    fromEnum TypeTagGlist = 17+    fromEnum TypeTagGslist = 18+    fromEnum TypeTagGhash = 19+    fromEnum TypeTagError = 20+    fromEnum TypeTagUnichar = 21+    fromEnum (AnotherTypeTag k) = k++    toEnum 0 = TypeTagVoid+    toEnum 1 = TypeTagBoolean+    toEnum 2 = TypeTagInt8+    toEnum 3 = TypeTagUint8+    toEnum 4 = TypeTagInt16+    toEnum 5 = TypeTagUint16+    toEnum 6 = TypeTagInt32+    toEnum 7 = TypeTagUint32+    toEnum 8 = TypeTagInt64+    toEnum 9 = TypeTagUint64+    toEnum 10 = TypeTagFloat+    toEnum 11 = TypeTagDouble+    toEnum 12 = TypeTagGtype+    toEnum 13 = TypeTagUtf8+    toEnum 14 = TypeTagFilename+    toEnum 15 = TypeTagArray+    toEnum 16 = TypeTagInterface+    toEnum 17 = TypeTagGlist+    toEnum 18 = TypeTagGslist+    toEnum 19 = TypeTagGhash+    toEnum 20 = TypeTagError+    toEnum 21 = TypeTagUnichar+    toEnum k = AnotherTypeTag k++instance P.Ord TypeTag where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++-- Enum Transfer+{- |+The transfer is the exchange of data between two parts, from the callee to+the caller. The callee is either a function\/method\/signal or an+object\/interface where a property is defined. The caller is the side+accessing a property or calling a function.+'GI.GIRepository.Enums.Transfer' specifies who\'s responsible for freeing the resources after the+ownership transfer is complete. In case of a containing type such as a list,+an array or a hash table the container itself is specified differently from+the items within the container itself. Each container is freed differently,+check the documentation for the types themselves for information on how to+free them.+-}+data Transfer = +      TransferNothing+    {- ^+    transfer nothing from the callee (function or the type+    instance the property belongs to) to the caller. The callee retains the+    ownership of the transfer and the caller doesn\'t need to do anything to free+    up the resources of this transfer.+    -}+    | TransferContainer+    {- ^+    transfer the container (list, array, hash table) from+    the callee to the caller. The callee retains the ownership of the individual+    items in the container and the caller has to free up the container resources+    (@/g_list_free()/@\/'GI.GLib.Functions.hashTableDestroy' etc) of this transfer.+    -}+    | TransferEverything+    {- ^+    transfer everything, eg the container and its+    contents from the callee to the caller. This is the case when the callee+    creates a copy of all the data it returns. The caller is responsible for+    cleaning up the container and item resources of this transfer.+    -}+    | AnotherTransfer Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum Transfer where+    fromEnum TransferNothing = 0+    fromEnum TransferContainer = 1+    fromEnum TransferEverything = 2+    fromEnum (AnotherTransfer k) = k++    toEnum 0 = TransferNothing+    toEnum 1 = TransferContainer+    toEnum 2 = TransferEverything+    toEnum k = AnotherTransfer k++instance P.Ord Transfer where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++-- Enum ScopeType+{- |+Scope type of a @/GIArgInfo/@ representing callback, determines how the+callback is invoked and is used to decided when the invoke structs+can be freed.+-}+data ScopeType = +      ScopeTypeInvalid+    {- ^+    The argument is not of callback type.+    -}+    | ScopeTypeCall+    {- ^+    The callback and associated user_data is only+    used during the call to this function.+    -}+    | ScopeTypeAsync+    {- ^+    The callback and associated user_data is+    only used until the callback is invoked, and the callback.+    is invoked always exactly once.+    -}+    | ScopeTypeNotified+    {- ^+    The callback and and associated+    user_data is used until the caller is notfied via the destroy_notify.+    -}+    | AnotherScopeType Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum ScopeType where+    fromEnum ScopeTypeInvalid = 0+    fromEnum ScopeTypeCall = 1+    fromEnum ScopeTypeAsync = 2+    fromEnum ScopeTypeNotified = 3+    fromEnum (AnotherScopeType k) = k++    toEnum 0 = ScopeTypeInvalid+    toEnum 1 = ScopeTypeCall+    toEnum 2 = ScopeTypeAsync+    toEnum 3 = ScopeTypeNotified+    toEnum k = AnotherScopeType k++instance P.Ord ScopeType where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++-- Enum RepositoryError+{- |+An error code used with @/G_IREPOSITORY_ERROR/@ in a 'GError' returned+from a 'GI.GIRepository.Objects.Repository.Repository' routine.+-}+data RepositoryError = +      RepositoryErrorTypelibNotFound+    {- ^+    the typelib could not be found.+    -}+    | RepositoryErrorNamespaceMismatch+    {- ^+    the namespace does not match the+      requested namespace.+    -}+    | RepositoryErrorNamespaceVersionConflict+    {- ^+    the version of the+      typelib does not match the requested version.+    -}+    | RepositoryErrorLibraryNotFound+    {- ^+    the library used by the typelib+      could not be found.+    -}+    | AnotherRepositoryError Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum RepositoryError where+    fromEnum RepositoryErrorTypelibNotFound = 0+    fromEnum RepositoryErrorNamespaceMismatch = 1+    fromEnum RepositoryErrorNamespaceVersionConflict = 2+    fromEnum RepositoryErrorLibraryNotFound = 3+    fromEnum (AnotherRepositoryError k) = k++    toEnum 0 = RepositoryErrorTypelibNotFound+    toEnum 1 = RepositoryErrorNamespaceMismatch+    toEnum 2 = RepositoryErrorNamespaceVersionConflict+    toEnum 3 = RepositoryErrorLibraryNotFound+    toEnum k = AnotherRepositoryError k++instance P.Ord RepositoryError where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++-- Enum InfoType+{- |+The type of a GIBaseInfo struct.+-}+data InfoType = +      InfoTypeInvalid+    {- ^+    invalid type+    -}+    | InfoTypeFunction+    {- ^+    function, see @/GIFunctionInfo/@+    -}+    | InfoTypeCallback+    {- ^+    callback, see @/GIFunctionInfo/@+    -}+    | InfoTypeStruct+    {- ^+    struct, see @/GIStructInfo/@+    -}+    | InfoTypeBoxed+    {- ^+    boxed, see @/GIStructInfo/@ or @/GIUnionInfo/@+    -}+    | InfoTypeEnum+    {- ^+    enum, see @/GIEnumInfo/@+    -}+    | InfoTypeFlags+    {- ^+    flags, see @/GIEnumInfo/@+    -}+    | InfoTypeObject+    {- ^+    object, see @/GIObjectInfo/@+    -}+    | InfoTypeInterface+    {- ^+    interface, see @/GIInterfaceInfo/@+    -}+    | InfoTypeConstant+    {- ^+    contant, see @/GIConstantInfo/@+    -}+    | InfoTypeInvalid0+    {- ^+    deleted, used to be GI_INFO_TYPE_ERROR_DOMAIN.+    -}+    | InfoTypeUnion+    {- ^+    union, see @/GIUnionInfo/@+    -}+    | InfoTypeValue+    {- ^+    enum value, see @/GIValueInfo/@+    -}+    | InfoTypeSignal+    {- ^+    signal, see @/GISignalInfo/@+    -}+    | InfoTypeVfunc+    {- ^+    virtual function, see @/GIVFuncInfo/@+    -}+    | InfoTypeProperty+    {- ^+    GObject property, see @/GIPropertyInfo/@+    -}+    | InfoTypeField+    {- ^+    struct or union field, see @/GIFieldInfo/@+    -}+    | InfoTypeArg+    {- ^+    argument of a function or callback, see @/GIArgInfo/@+    -}+    | InfoTypeType+    {- ^+    type information, see @/GITypeInfo/@+    -}+    | InfoTypeUnresolved+    {- ^+    unresolved type, a type which is not present in+      the typelib, or any of its dependencies.+    -}+    | AnotherInfoType Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum InfoType where+    fromEnum InfoTypeInvalid = 0+    fromEnum InfoTypeFunction = 1+    fromEnum InfoTypeCallback = 2+    fromEnum InfoTypeStruct = 3+    fromEnum InfoTypeBoxed = 4+    fromEnum InfoTypeEnum = 5+    fromEnum InfoTypeFlags = 6+    fromEnum InfoTypeObject = 7+    fromEnum InfoTypeInterface = 8+    fromEnum InfoTypeConstant = 9+    fromEnum InfoTypeInvalid0 = 10+    fromEnum InfoTypeUnion = 11+    fromEnum InfoTypeValue = 12+    fromEnum InfoTypeSignal = 13+    fromEnum InfoTypeVfunc = 14+    fromEnum InfoTypeProperty = 15+    fromEnum InfoTypeField = 16+    fromEnum InfoTypeArg = 17+    fromEnum InfoTypeType = 18+    fromEnum InfoTypeUnresolved = 19+    fromEnum (AnotherInfoType k) = k++    toEnum 0 = InfoTypeInvalid+    toEnum 1 = InfoTypeFunction+    toEnum 2 = InfoTypeCallback+    toEnum 3 = InfoTypeStruct+    toEnum 4 = InfoTypeBoxed+    toEnum 5 = InfoTypeEnum+    toEnum 6 = InfoTypeFlags+    toEnum 7 = InfoTypeObject+    toEnum 8 = InfoTypeInterface+    toEnum 9 = InfoTypeConstant+    toEnum 10 = InfoTypeInvalid0+    toEnum 11 = InfoTypeUnion+    toEnum 12 = InfoTypeValue+    toEnum 13 = InfoTypeSignal+    toEnum 14 = InfoTypeVfunc+    toEnum 15 = InfoTypeProperty+    toEnum 16 = InfoTypeField+    toEnum 17 = InfoTypeArg+    toEnum 18 = InfoTypeType+    toEnum 19 = InfoTypeUnresolved+    toEnum k = AnotherInfoType k++instance P.Ord InfoType where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++-- Enum Direction+{- |+The direction of a @/GIArgInfo/@.+-}+data Direction = +      DirectionIn+    {- ^+    in argument.+    -}+    | DirectionOut+    {- ^+    out argument.+    -}+    | DirectionInout+    {- ^+    in and out argument.+    -}+    | AnotherDirection Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum Direction where+    fromEnum DirectionIn = 0+    fromEnum DirectionOut = 1+    fromEnum DirectionInout = 2+    fromEnum (AnotherDirection k) = k++    toEnum 0 = DirectionIn+    toEnum 1 = DirectionOut+    toEnum 2 = DirectionInout+    toEnum k = AnotherDirection k++instance P.Ord Direction where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++-- Enum ArrayType+{- |+The type of array in a @/GITypeInfo/@.+-}+data ArrayType = +      ArrayTypeC+    {- ^+    a C array, char[] for instance+    -}+    | ArrayTypeArray+    {- ^+    a /@gArray@/ array+    -}+    | ArrayTypePtrArray+    {- ^+    a 'GI.GLib.Structs.PtrArray.PtrArray' array+    -}+    | ArrayTypeByteArray+    {- ^+    a 'GI.GLib.Structs.ByteArray.ByteArray' array+    -}+    | AnotherArrayType Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum ArrayType where+    fromEnum ArrayTypeC = 0+    fromEnum ArrayTypeArray = 1+    fromEnum ArrayTypePtrArray = 2+    fromEnum ArrayTypeByteArray = 3+    fromEnum (AnotherArrayType k) = k++    toEnum 0 = ArrayTypeC+    toEnum 1 = ArrayTypeArray+    toEnum 2 = ArrayTypePtrArray+    toEnum 3 = ArrayTypeByteArray+    toEnum k = AnotherArrayType k++instance P.Ord ArrayType where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++
+ GI/GIRepository/Enums.hs-boot view
@@ -0,0 +1,40 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.GIRepository.Enums where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++data NvokeError+instance P.Enum NvokeError where+data TypeTag+instance P.Enum TypeTag where+data Transfer+instance P.Enum Transfer where+data ScopeType+instance P.Enum ScopeType where+data RepositoryError+instance P.Enum RepositoryError where+data InfoType+instance P.Enum InfoType where+data Direction+instance P.Enum Direction where+data ArrayType+instance P.Enum ArrayType where
+ GI/GIRepository/Flags.hs view
@@ -0,0 +1,215 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.GIRepository.Flags+    ( ++ -- * Flags+-- ** FieldInfoFlags #flag:FieldInfoFlags#++    FieldInfoFlags(..)                      ,+++-- ** FunctionInfoFlags #flag:FunctionInfoFlags#++    FunctionInfoFlags(..)                   ,+++-- ** RepositoryLoadFlags #flag:RepositoryLoadFlags#++    RepositoryLoadFlags(..)                 ,+++-- ** VFuncInfoFlags #flag:VFuncInfoFlags#++    VFuncInfoFlags(..)                      ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++-- Flags VFuncInfoFlags+{- |+Flags of a @/GIVFuncInfo/@ struct.+-}+data VFuncInfoFlags = +      VFuncInfoFlagsMustChainUp+    {- ^+    chains up to the parent type+    -}+    | VFuncInfoFlagsMustOverride+    {- ^+    overrides+    -}+    | VFuncInfoFlagsMustNotOverride+    {- ^+    does not override+    -}+    | VFuncInfoFlagsThrows+    {- ^+    Includes a 'GError'+    -}+    | AnotherVFuncInfoFlags Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum VFuncInfoFlags where+    fromEnum VFuncInfoFlagsMustChainUp = 1+    fromEnum VFuncInfoFlagsMustOverride = 2+    fromEnum VFuncInfoFlagsMustNotOverride = 4+    fromEnum VFuncInfoFlagsThrows = 8+    fromEnum (AnotherVFuncInfoFlags k) = k++    toEnum 1 = VFuncInfoFlagsMustChainUp+    toEnum 2 = VFuncInfoFlagsMustOverride+    toEnum 4 = VFuncInfoFlagsMustNotOverride+    toEnum 8 = VFuncInfoFlagsThrows+    toEnum k = AnotherVFuncInfoFlags k++instance P.Ord VFuncInfoFlags where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++instance IsGFlag VFuncInfoFlags++-- Flags RepositoryLoadFlags+{- |+Flags that control how a typelib is loaded.+-}+data RepositoryLoadFlags = +      RepositoryLoadFlagsIrepositoryLoadFlagLazy+    {- ^+    Lazily load the typelib.+    -}+    | AnotherRepositoryLoadFlags Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum RepositoryLoadFlags where+    fromEnum RepositoryLoadFlagsIrepositoryLoadFlagLazy = 1+    fromEnum (AnotherRepositoryLoadFlags k) = k++    toEnum 1 = RepositoryLoadFlagsIrepositoryLoadFlagLazy+    toEnum k = AnotherRepositoryLoadFlags k++instance P.Ord RepositoryLoadFlags where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++instance IsGFlag RepositoryLoadFlags++-- Flags FunctionInfoFlags+{- |+Flags for a @/GIFunctionInfo/@ struct.+-}+data FunctionInfoFlags = +      FunctionInfoFlagsIsMethod+    {- ^+    is a method.+    -}+    | FunctionInfoFlagsIsConstructor+    {- ^+    is a constructor.+    -}+    | FunctionInfoFlagsIsGetter+    {- ^+    is a getter of a @/GIPropertyInfo/@.+    -}+    | FunctionInfoFlagsIsSetter+    {- ^+    is a setter of a @/GIPropertyInfo/@.+    -}+    | FunctionInfoFlagsWrapsVfunc+    {- ^+    represents a virtual function.+    -}+    | FunctionInfoFlagsThrows+    {- ^+    the function may throw an error.+    -}+    | AnotherFunctionInfoFlags Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum FunctionInfoFlags where+    fromEnum FunctionInfoFlagsIsMethod = 1+    fromEnum FunctionInfoFlagsIsConstructor = 2+    fromEnum FunctionInfoFlagsIsGetter = 4+    fromEnum FunctionInfoFlagsIsSetter = 8+    fromEnum FunctionInfoFlagsWrapsVfunc = 16+    fromEnum FunctionInfoFlagsThrows = 32+    fromEnum (AnotherFunctionInfoFlags k) = k++    toEnum 1 = FunctionInfoFlagsIsMethod+    toEnum 2 = FunctionInfoFlagsIsConstructor+    toEnum 4 = FunctionInfoFlagsIsGetter+    toEnum 8 = FunctionInfoFlagsIsSetter+    toEnum 16 = FunctionInfoFlagsWrapsVfunc+    toEnum 32 = FunctionInfoFlagsThrows+    toEnum k = AnotherFunctionInfoFlags k++instance P.Ord FunctionInfoFlags where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++instance IsGFlag FunctionInfoFlags++-- Flags FieldInfoFlags+{- |+Flags for a @/GIFieldInfo/@.+-}+data FieldInfoFlags = +      FieldInfoFlagsReadable+    {- ^+    field is readable.+    -}+    | FieldInfoFlagsWritable+    {- ^+    field is writable.+    -}+    | AnotherFieldInfoFlags Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum FieldInfoFlags where+    fromEnum FieldInfoFlagsReadable = 1+    fromEnum FieldInfoFlagsWritable = 2+    fromEnum (AnotherFieldInfoFlags k) = k++    toEnum 1 = FieldInfoFlagsReadable+    toEnum 2 = FieldInfoFlagsWritable+    toEnum k = AnotherFieldInfoFlags k++instance P.Ord FieldInfoFlags where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++instance IsGFlag FieldInfoFlags++
+ GI/GIRepository/Flags.hs-boot view
@@ -0,0 +1,36 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.GIRepository.Flags where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++data VFuncInfoFlags+instance P.Enum VFuncInfoFlags where+instance IsGFlag VFuncInfoFlags+data RepositoryLoadFlags+instance P.Enum RepositoryLoadFlags where+instance IsGFlag RepositoryLoadFlags+data FunctionInfoFlags+instance P.Enum FunctionInfoFlags where+instance IsGFlag FunctionInfoFlags+data FieldInfoFlags+instance P.Enum FieldInfoFlags where+instance IsGFlag FieldInfoFlags
+ GI/GIRepository/Functions.hs view
@@ -0,0 +1,4961 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.GIRepository.Functions+    ( ++ -- * Methods+-- ** argInfoGetClosure #method:argInfoGetClosure#++    argInfoGetClosure                       ,+++-- ** argInfoGetDestroy #method:argInfoGetDestroy#++    argInfoGetDestroy                       ,+++-- ** argInfoGetDirection #method:argInfoGetDirection#++    argInfoGetDirection                     ,+++-- ** argInfoGetOwnershipTransfer #method:argInfoGetOwnershipTransfer#++    argInfoGetOwnershipTransfer             ,+++-- ** argInfoGetScope #method:argInfoGetScope#++    argInfoGetScope                         ,+++-- ** argInfoGetType #method:argInfoGetType#++    argInfoGetType                          ,+++-- ** argInfoIsCallerAllocates #method:argInfoIsCallerAllocates#++    argInfoIsCallerAllocates                ,+++-- ** argInfoIsOptional #method:argInfoIsOptional#++    argInfoIsOptional                       ,+++-- ** argInfoIsReturnValue #method:argInfoIsReturnValue#++    argInfoIsReturnValue                    ,+++-- ** argInfoIsSkip #method:argInfoIsSkip#++    argInfoIsSkip                           ,+++-- ** argInfoLoadType #method:argInfoLoadType#++    argInfoLoadType                         ,+++-- ** argInfoMayBeNull #method:argInfoMayBeNull#++    argInfoMayBeNull                        ,+++-- ** callableInfoCanThrowGerror #method:callableInfoCanThrowGerror#++    callableInfoCanThrowGerror              ,+++-- ** callableInfoGetArg #method:callableInfoGetArg#++    callableInfoGetArg                      ,+++-- ** callableInfoGetCallerOwns #method:callableInfoGetCallerOwns#++    callableInfoGetCallerOwns               ,+++-- ** callableInfoGetInstanceOwnershipTransfer #method:callableInfoGetInstanceOwnershipTransfer#++    callableInfoGetInstanceOwnershipTransfer,+++-- ** callableInfoGetNArgs #method:callableInfoGetNArgs#++    callableInfoGetNArgs                    ,+++-- ** callableInfoGetReturnAttribute #method:callableInfoGetReturnAttribute#++    callableInfoGetReturnAttribute          ,+++-- ** callableInfoGetReturnType #method:callableInfoGetReturnType#++    callableInfoGetReturnType               ,+++-- ** callableInfoInvoke #method:callableInfoInvoke#++    callableInfoInvoke                      ,+++-- ** callableInfoIsMethod #method:callableInfoIsMethod#++    callableInfoIsMethod                    ,+++-- ** callableInfoIterateReturnAttributes #method:callableInfoIterateReturnAttributes#++    callableInfoIterateReturnAttributes     ,+++-- ** callableInfoLoadArg #method:callableInfoLoadArg#++    callableInfoLoadArg                     ,+++-- ** callableInfoLoadReturnType #method:callableInfoLoadReturnType#++    callableInfoLoadReturnType              ,+++-- ** callableInfoMayReturnNull #method:callableInfoMayReturnNull#++    callableInfoMayReturnNull               ,+++-- ** callableInfoSkipReturn #method:callableInfoSkipReturn#++    callableInfoSkipReturn                  ,+++-- ** cclosureMarshalGeneric #method:cclosureMarshalGeneric#++    cclosureMarshalGeneric                  ,+++-- ** constantInfoGetType #method:constantInfoGetType#++    constantInfoGetType                     ,+++-- ** enumInfoGetErrorDomain #method:enumInfoGetErrorDomain#++    enumInfoGetErrorDomain                  ,+++-- ** enumInfoGetMethod #method:enumInfoGetMethod#++    enumInfoGetMethod                       ,+++-- ** enumInfoGetNMethods #method:enumInfoGetNMethods#++    enumInfoGetNMethods                     ,+++-- ** enumInfoGetNValues #method:enumInfoGetNValues#++    enumInfoGetNValues                      ,+++-- ** enumInfoGetStorageType #method:enumInfoGetStorageType#++    enumInfoGetStorageType                  ,+++-- ** enumInfoGetValue #method:enumInfoGetValue#++    enumInfoGetValue                        ,+++-- ** fieldInfoGetFlags #method:fieldInfoGetFlags#++    fieldInfoGetFlags                       ,+++-- ** fieldInfoGetOffset #method:fieldInfoGetOffset#++    fieldInfoGetOffset                      ,+++-- ** fieldInfoGetSize #method:fieldInfoGetSize#++    fieldInfoGetSize                        ,+++-- ** fieldInfoGetType #method:fieldInfoGetType#++    fieldInfoGetType                        ,+++-- ** functionInfoGetFlags #method:functionInfoGetFlags#++    functionInfoGetFlags                    ,+++-- ** functionInfoGetProperty #method:functionInfoGetProperty#++    functionInfoGetProperty                 ,+++-- ** functionInfoGetSymbol #method:functionInfoGetSymbol#++    functionInfoGetSymbol                   ,+++-- ** functionInfoGetVfunc #method:functionInfoGetVfunc#++    functionInfoGetVfunc                    ,+++-- ** infoNew #method:infoNew#++    infoNew                                 ,+++-- ** infoTypeToString #method:infoTypeToString#++    infoTypeToString                        ,+++-- ** interfaceInfoFindMethod #method:interfaceInfoFindMethod#++    interfaceInfoFindMethod                 ,+++-- ** interfaceInfoFindSignal #method:interfaceInfoFindSignal#++    interfaceInfoFindSignal                 ,+++-- ** interfaceInfoFindVfunc #method:interfaceInfoFindVfunc#++    interfaceInfoFindVfunc                  ,+++-- ** interfaceInfoGetConstant #method:interfaceInfoGetConstant#++    interfaceInfoGetConstant                ,+++-- ** interfaceInfoGetIfaceStruct #method:interfaceInfoGetIfaceStruct#++    interfaceInfoGetIfaceStruct             ,+++-- ** interfaceInfoGetMethod #method:interfaceInfoGetMethod#++    interfaceInfoGetMethod                  ,+++-- ** interfaceInfoGetNConstants #method:interfaceInfoGetNConstants#++    interfaceInfoGetNConstants              ,+++-- ** interfaceInfoGetNMethods #method:interfaceInfoGetNMethods#++    interfaceInfoGetNMethods                ,+++-- ** interfaceInfoGetNPrerequisites #method:interfaceInfoGetNPrerequisites#++    interfaceInfoGetNPrerequisites          ,+++-- ** interfaceInfoGetNProperties #method:interfaceInfoGetNProperties#++    interfaceInfoGetNProperties             ,+++-- ** interfaceInfoGetNSignals #method:interfaceInfoGetNSignals#++    interfaceInfoGetNSignals                ,+++-- ** interfaceInfoGetNVfuncs #method:interfaceInfoGetNVfuncs#++    interfaceInfoGetNVfuncs                 ,+++-- ** interfaceInfoGetPrerequisite #method:interfaceInfoGetPrerequisite#++    interfaceInfoGetPrerequisite            ,+++-- ** interfaceInfoGetProperty #method:interfaceInfoGetProperty#++    interfaceInfoGetProperty                ,+++-- ** interfaceInfoGetSignal #method:interfaceInfoGetSignal#++    interfaceInfoGetSignal                  ,+++-- ** interfaceInfoGetVfunc #method:interfaceInfoGetVfunc#++    interfaceInfoGetVfunc                   ,+++-- ** invokeErrorQuark #method:invokeErrorQuark#++    invokeErrorQuark                        ,+++-- ** objectInfoFindMethod #method:objectInfoFindMethod#++    objectInfoFindMethod                    ,+++-- ** objectInfoFindMethodUsingInterfaces #method:objectInfoFindMethodUsingInterfaces#++    objectInfoFindMethodUsingInterfaces     ,+++-- ** objectInfoFindSignal #method:objectInfoFindSignal#++    objectInfoFindSignal                    ,+++-- ** objectInfoFindVfunc #method:objectInfoFindVfunc#++    objectInfoFindVfunc                     ,+++-- ** objectInfoFindVfuncUsingInterfaces #method:objectInfoFindVfuncUsingInterfaces#++    objectInfoFindVfuncUsingInterfaces      ,+++-- ** objectInfoGetAbstract #method:objectInfoGetAbstract#++    objectInfoGetAbstract                   ,+++-- ** objectInfoGetClassStruct #method:objectInfoGetClassStruct#++    objectInfoGetClassStruct                ,+++-- ** objectInfoGetConstant #method:objectInfoGetConstant#++    objectInfoGetConstant                   ,+++-- ** objectInfoGetField #method:objectInfoGetField#++    objectInfoGetField                      ,+++-- ** objectInfoGetFundamental #method:objectInfoGetFundamental#++    objectInfoGetFundamental                ,+++-- ** objectInfoGetGetValueFunction #method:objectInfoGetGetValueFunction#++    objectInfoGetGetValueFunction           ,+++-- ** objectInfoGetInterface #method:objectInfoGetInterface#++    objectInfoGetInterface                  ,+++-- ** objectInfoGetMethod #method:objectInfoGetMethod#++    objectInfoGetMethod                     ,+++-- ** objectInfoGetNConstants #method:objectInfoGetNConstants#++    objectInfoGetNConstants                 ,+++-- ** objectInfoGetNFields #method:objectInfoGetNFields#++    objectInfoGetNFields                    ,+++-- ** objectInfoGetNInterfaces #method:objectInfoGetNInterfaces#++    objectInfoGetNInterfaces                ,+++-- ** objectInfoGetNMethods #method:objectInfoGetNMethods#++    objectInfoGetNMethods                   ,+++-- ** objectInfoGetNProperties #method:objectInfoGetNProperties#++    objectInfoGetNProperties                ,+++-- ** objectInfoGetNSignals #method:objectInfoGetNSignals#++    objectInfoGetNSignals                   ,+++-- ** objectInfoGetNVfuncs #method:objectInfoGetNVfuncs#++    objectInfoGetNVfuncs                    ,+++-- ** objectInfoGetParent #method:objectInfoGetParent#++    objectInfoGetParent                     ,+++-- ** objectInfoGetProperty #method:objectInfoGetProperty#++    objectInfoGetProperty                   ,+++-- ** objectInfoGetRefFunction #method:objectInfoGetRefFunction#++    objectInfoGetRefFunction                ,+++-- ** objectInfoGetSetValueFunction #method:objectInfoGetSetValueFunction#++    objectInfoGetSetValueFunction           ,+++-- ** objectInfoGetSignal #method:objectInfoGetSignal#++    objectInfoGetSignal                     ,+++-- ** objectInfoGetTypeInit #method:objectInfoGetTypeInit#++    objectInfoGetTypeInit                   ,+++-- ** objectInfoGetTypeName #method:objectInfoGetTypeName#++    objectInfoGetTypeName                   ,+++-- ** objectInfoGetUnrefFunction #method:objectInfoGetUnrefFunction#++    objectInfoGetUnrefFunction              ,+++-- ** objectInfoGetVfunc #method:objectInfoGetVfunc#++    objectInfoGetVfunc                      ,+++-- ** propertyInfoGetFlags #method:propertyInfoGetFlags#++    propertyInfoGetFlags                    ,+++-- ** propertyInfoGetOwnershipTransfer #method:propertyInfoGetOwnershipTransfer#++    propertyInfoGetOwnershipTransfer        ,+++-- ** propertyInfoGetType #method:propertyInfoGetType#++    propertyInfoGetType                     ,+++-- ** registeredTypeInfoGetGType #method:registeredTypeInfoGetGType#++    registeredTypeInfoGetGType              ,+++-- ** registeredTypeInfoGetTypeInit #method:registeredTypeInfoGetTypeInit#++    registeredTypeInfoGetTypeInit           ,+++-- ** registeredTypeInfoGetTypeName #method:registeredTypeInfoGetTypeName#++    registeredTypeInfoGetTypeName           ,+++-- ** signalInfoGetClassClosure #method:signalInfoGetClassClosure#++    signalInfoGetClassClosure               ,+++-- ** signalInfoGetFlags #method:signalInfoGetFlags#++    signalInfoGetFlags                      ,+++-- ** signalInfoTrueStopsEmit #method:signalInfoTrueStopsEmit#++    signalInfoTrueStopsEmit                 ,+++-- ** structInfoFindField #method:structInfoFindField#++    structInfoFindField                     ,+++-- ** structInfoFindMethod #method:structInfoFindMethod#++    structInfoFindMethod                    ,+++-- ** structInfoGetAlignment #method:structInfoGetAlignment#++    structInfoGetAlignment                  ,+++-- ** structInfoGetField #method:structInfoGetField#++    structInfoGetField                      ,+++-- ** structInfoGetMethod #method:structInfoGetMethod#++    structInfoGetMethod                     ,+++-- ** structInfoGetNFields #method:structInfoGetNFields#++    structInfoGetNFields                    ,+++-- ** structInfoGetNMethods #method:structInfoGetNMethods#++    structInfoGetNMethods                   ,+++-- ** structInfoGetSize #method:structInfoGetSize#++    structInfoGetSize                       ,+++-- ** structInfoIsForeign #method:structInfoIsForeign#++    structInfoIsForeign                     ,+++-- ** structInfoIsGtypeStruct #method:structInfoIsGtypeStruct#++    structInfoIsGtypeStruct                 ,+++-- ** typeInfoGetArrayFixedSize #method:typeInfoGetArrayFixedSize#++    typeInfoGetArrayFixedSize               ,+++-- ** typeInfoGetArrayLength #method:typeInfoGetArrayLength#++    typeInfoGetArrayLength                  ,+++-- ** typeInfoGetArrayType #method:typeInfoGetArrayType#++    typeInfoGetArrayType                    ,+++-- ** typeInfoGetInterface #method:typeInfoGetInterface#++    typeInfoGetInterface                    ,+++-- ** typeInfoGetParamType #method:typeInfoGetParamType#++    typeInfoGetParamType                    ,+++-- ** typeInfoGetTag #method:typeInfoGetTag#++    typeInfoGetTag                          ,+++-- ** typeInfoIsPointer #method:typeInfoIsPointer#++    typeInfoIsPointer                       ,+++-- ** typeInfoIsZeroTerminated #method:typeInfoIsZeroTerminated#++    typeInfoIsZeroTerminated                ,+++-- ** typeTagToString #method:typeTagToString#++    typeTagToString                         ,+++-- ** unionInfoFindMethod #method:unionInfoFindMethod#++    unionInfoFindMethod                     ,+++-- ** unionInfoGetAlignment #method:unionInfoGetAlignment#++    unionInfoGetAlignment                   ,+++-- ** unionInfoGetDiscriminator #method:unionInfoGetDiscriminator#++    unionInfoGetDiscriminator               ,+++-- ** unionInfoGetDiscriminatorOffset #method:unionInfoGetDiscriminatorOffset#++    unionInfoGetDiscriminatorOffset         ,+++-- ** unionInfoGetDiscriminatorType #method:unionInfoGetDiscriminatorType#++    unionInfoGetDiscriminatorType           ,+++-- ** unionInfoGetField #method:unionInfoGetField#++    unionInfoGetField                       ,+++-- ** unionInfoGetMethod #method:unionInfoGetMethod#++    unionInfoGetMethod                      ,+++-- ** unionInfoGetNFields #method:unionInfoGetNFields#++    unionInfoGetNFields                     ,+++-- ** unionInfoGetNMethods #method:unionInfoGetNMethods#++    unionInfoGetNMethods                    ,+++-- ** unionInfoGetSize #method:unionInfoGetSize#++    unionInfoGetSize                        ,+++-- ** unionInfoIsDiscriminated #method:unionInfoIsDiscriminated#++    unionInfoIsDiscriminated                ,+++-- ** valueInfoGetValue #method:valueInfoGetValue#++    valueInfoGetValue                       ,+++-- ** vfuncInfoGetAddress #method:vfuncInfoGetAddress#++    vfuncInfoGetAddress                     ,+++-- ** vfuncInfoGetFlags #method:vfuncInfoGetFlags#++    vfuncInfoGetFlags                       ,+++-- ** vfuncInfoGetInvoker #method:vfuncInfoGetInvoker#++    vfuncInfoGetInvoker                     ,+++-- ** vfuncInfoGetOffset #method:vfuncInfoGetOffset#++    vfuncInfoGetOffset                      ,+++-- ** vfuncInfoGetSignal #method:vfuncInfoGetSignal#++    vfuncInfoGetSignal                      ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.GIRepository.Enums as GIRepository.Enums+import {-# SOURCE #-} qualified GI.GIRepository.Flags as GIRepository.Flags+import {-# SOURCE #-} qualified GI.GIRepository.Structs.AttributeIter as GIRepository.AttributeIter+import {-# SOURCE #-} qualified GI.GIRepository.Structs.BaseInfo as GIRepository.BaseInfo+import {-# SOURCE #-} qualified GI.GIRepository.Structs.Typelib as GIRepository.Typelib+import {-# SOURCE #-} qualified GI.GIRepository.Unions.Argument as GIRepository.Argument+import qualified GI.GObject.Flags as GObject.Flags++-- function g_vfunc_info_get_signal+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIVFuncInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_vfunc_info_get_signal" g_vfunc_info_get_signal :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain the signal for the virtual function if one is set.+The signal comes from the object or interface to which+this virtual function belongs.+-}+vfuncInfoGetSignal ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIVFuncInfo/@ -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the signal or 'Nothing' if none set -}+vfuncInfoGetSignal info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_vfunc_info_get_signal info'+    checkUnexpectedReturnNULL "vfuncInfoGetSignal" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_vfunc_info_get_offset+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIVFuncInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_vfunc_info_get_offset" g_vfunc_info_get_offset :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the offset of the function pointer in the class struct. The value+0xFFFF indicates that the struct offset is unknown.+-}+vfuncInfoGetOffset ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIVFuncInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ the struct offset or 0xFFFF if it\'s unknown -}+vfuncInfoGetOffset info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_vfunc_info_get_offset info'+    touchManagedPtr info+    return result+++-- function g_vfunc_info_get_invoker+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIVFuncInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_vfunc_info_get_invoker" g_vfunc_info_get_invoker :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+If this virtual function has an associated invoker method, this+method will return it.  An invoker method is a C entry point.++Not all virtuals will have invokers.+-}+vfuncInfoGetInvoker ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIVFuncInfo/@ -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIVFuncInfo/@ or 'Nothing'. Free it with+@/g_base_info_unref()/@ when done. -}+vfuncInfoGetInvoker info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_vfunc_info_get_invoker info'+    checkUnexpectedReturnNULL "vfuncInfoGetInvoker" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_vfunc_info_get_flags+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIVFuncInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "VFuncInfoFlags"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_vfunc_info_get_flags" g_vfunc_info_get_flags :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CUInt++{- |+Obtain the flags for this virtual function info. See 'GI.GIRepository.Flags.VFuncInfoFlags' for+more information about possible flag values.+-}+vfuncInfoGetFlags ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIVFuncInfo/@ -}+    -> m [GIRepository.Flags.VFuncInfoFlags]+    {- ^ __Returns:__ the flags -}+vfuncInfoGetFlags info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_vfunc_info_get_flags info'+    let result' = wordToGFlags result+    touchManagedPtr info+    return result'+++-- function g_vfunc_info_get_address+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIVFuncInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "implementor_gtype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GType implementing this virtual function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TPtr)+-- throws : True+-- Skip return : False++foreign import ccall "g_vfunc_info_get_address" g_vfunc_info_get_address :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    CGType ->                               -- implementor_gtype : TBasicType TGType+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr ())++{- |+This method will look up where inside the type struct of /@implementorGtype@/+is the implementation for /@info@/.+-}+vfuncInfoGetAddress ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIVFuncInfo/@ -}+    -> GType+    {- ^ /@implementorGtype@/: 'GType' implementing this virtual function -}+    -> m (Ptr ())+    {- ^ __Returns:__ address to a function or 'Nothing' if an error happened /(Can throw 'Data.GI.Base.GError.GError')/ -}+vfuncInfoGetAddress info implementorGtype = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    let implementorGtype' = gtypeToCGType implementorGtype+    onException (do+        result <- propagateGError $ g_vfunc_info_get_address info' implementorGtype'+        touchManagedPtr info+        return result+     ) (do+        return ()+     )+++-- function g_value_info_get_value+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIValueInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt64)+-- throws : False+-- Skip return : False++foreign import ccall "g_value_info_get_value" g_value_info_get_value :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int64++{- |+Obtain the enumeration value of the @/GIValueInfo/@.+-}+valueInfoGetValue ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIValueInfo/@ -}+    -> m Int64+    {- ^ __Returns:__ the enumeration value. This will always be representable+  as a 32-bit signed or unsigned value. The use of gint64 as the+  return type is to allow both. -}+valueInfoGetValue info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_value_info_get_value info'+    touchManagedPtr info+    return result+++-- function g_union_info_is_discriminated+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIUnionInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "g_union_info_is_discriminated" g_union_info_is_discriminated :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CInt++{- |+Return true if this union contains discriminator field.+-}+unionInfoIsDiscriminated ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIUnionInfo/@ -}+    -> m Bool+    {- ^ __Returns:__ 'True' if this is a discriminated union, 'False' otherwise -}+unionInfoIsDiscriminated info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_union_info_is_discriminated info'+    let result' = (/= 0) result+    touchManagedPtr info+    return result'+++-- function g_union_info_get_size+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIUnionInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUInt64)+-- throws : False+-- Skip return : False++foreign import ccall "g_union_info_get_size" g_union_info_get_size :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Word64++{- |+Obtain the total size of the union.+-}+unionInfoGetSize ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIUnionInfo/@ -}+    -> m Word64+    {- ^ __Returns:__ size of the union in bytes -}+unionInfoGetSize info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_union_info_get_size info'+    touchManagedPtr info+    return result+++-- function g_union_info_get_n_methods+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIUnionInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_union_info_get_n_methods" g_union_info_get_n_methods :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the number of methods this union has.+-}+unionInfoGetNMethods ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIUnionInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ number of methods -}+unionInfoGetNMethods info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_union_info_get_n_methods info'+    touchManagedPtr info+    return result+++-- function g_union_info_get_n_fields+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIUnionInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_union_info_get_n_fields" g_union_info_get_n_fields :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the number of fields this union has.+-}+unionInfoGetNFields ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIUnionInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ number of fields -}+unionInfoGetNFields info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_union_info_get_n_fields info'+    touchManagedPtr info+    return result+++-- function g_union_info_get_method+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIUnionInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a method index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_union_info_get_method" g_union_info_get_method :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Int32 ->                                -- n : TBasicType TInt+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain the type information for method with specified index.+-}+unionInfoGetMethod ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIUnionInfo/@ -}+    -> Int32+    {- ^ /@n@/: a method index -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIFunctionInfo/@, free it with @/g_base_info_unref()/@+when done. -}+unionInfoGetMethod info n = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_union_info_get_method info' n+    checkUnexpectedReturnNULL "unionInfoGetMethod" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_union_info_get_field+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIUnionInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a field index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_union_info_get_field" g_union_info_get_field :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Int32 ->                                -- n : TBasicType TInt+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain the type information for field with specified index.+-}+unionInfoGetField ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIUnionInfo/@ -}+    -> Int32+    {- ^ /@n@/: a field index -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIFieldInfo/@, free it with @/g_base_info_unref()/@+when done. -}+unionInfoGetField info n = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_union_info_get_field info' n+    checkUnexpectedReturnNULL "unionInfoGetField" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_union_info_get_discriminator_type+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIUnionInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_union_info_get_discriminator_type" g_union_info_get_discriminator_type :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain the type information of the union discriminator.+-}+unionInfoGetDiscriminatorType ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIUnionInfo/@ -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GITypeInfo/@, free it with @/g_base_info_unref()/@+when done. -}+unionInfoGetDiscriminatorType info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_union_info_get_discriminator_type info'+    checkUnexpectedReturnNULL "unionInfoGetDiscriminatorType" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_union_info_get_discriminator_offset+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIUnionInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_union_info_get_discriminator_offset" g_union_info_get_discriminator_offset :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Returns offset of the discriminator field in the structure.+-}+unionInfoGetDiscriminatorOffset ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIUnionInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ offset in bytes of the discriminator -}+unionInfoGetDiscriminatorOffset info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_union_info_get_discriminator_offset info'+    touchManagedPtr info+    return result+++-- function g_union_info_get_discriminator+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIUnionInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a union field index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_union_info_get_discriminator" g_union_info_get_discriminator :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Int32 ->                                -- n : TBasicType TInt+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain discriminator value assigned for n-th union field, i.e. n-th+union field is the active one if discriminator contains this+constant.+-}+unionInfoGetDiscriminator ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIUnionInfo/@ -}+    -> Int32+    {- ^ /@n@/: a union field index -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIConstantInfo/@, free it with @/g_base_info_unref()/@+when done. -}+unionInfoGetDiscriminator info n = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_union_info_get_discriminator info' n+    checkUnexpectedReturnNULL "unionInfoGetDiscriminator" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_union_info_get_alignment+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIUnionInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUInt64)+-- throws : False+-- Skip return : False++foreign import ccall "g_union_info_get_alignment" g_union_info_get_alignment :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Word64++{- |+Obtain the required alignment of the union.+-}+unionInfoGetAlignment ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIUnionInfo/@ -}+    -> m Word64+    {- ^ __Returns:__ required alignment in bytes -}+unionInfoGetAlignment info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_union_info_get_alignment info'+    touchManagedPtr info+    return result+++-- function g_union_info_find_method+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIUnionInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a method name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_union_info_find_method" g_union_info_find_method :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    CString ->                              -- name : TBasicType TUTF8+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain the type information for method named /@name@/.+-}+unionInfoFindMethod ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIUnionInfo/@ -}+    -> T.Text+    {- ^ /@name@/: a method name -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIFunctionInfo/@, free it with @/g_base_info_unref()/@+when done. -}+unionInfoFindMethod info name = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    name' <- textToCString name+    result <- g_union_info_find_method info' name'+    checkUnexpectedReturnNULL "unionInfoFindMethod" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    freeMem name'+    return result'+++-- function g_type_tag_to_string+-- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GIRepository", name = "TypeTag"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type_tag", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "g_type_tag_to_string" g_type_tag_to_string :: +    CUInt ->                                -- type : TInterface (Name {namespace = "GIRepository", name = "TypeTag"})+    IO CString++{- |+Obtain a string representation of /@type@/+-}+typeTagToString ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.Enums.TypeTag+    {- ^ /@type@/: the type_tag -}+    -> m T.Text+    {- ^ __Returns:__ the string -}+typeTagToString type_ = liftIO $ do+    let type_' = (fromIntegral . fromEnum) type_+    result <- g_type_tag_to_string type_'+    checkUnexpectedReturnNULL "typeTagToString" result+    result' <- cstringToText result+    return result'+++-- function g_type_info_is_zero_terminated+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GITypeInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "g_type_info_is_zero_terminated" g_type_info_is_zero_terminated :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CInt++{- |+Obtain if the last element of the array is 'Nothing'. The type tag must be a+@/GI_TYPE_TAG_ARRAY/@ or 'False' will returned.+-}+typeInfoIsZeroTerminated ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GITypeInfo/@ -}+    -> m Bool+    {- ^ __Returns:__ 'True' if zero terminated -}+typeInfoIsZeroTerminated info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_type_info_is_zero_terminated info'+    let result' = (/= 0) result+    touchManagedPtr info+    return result'+++-- function g_type_info_is_pointer+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GITypeInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "g_type_info_is_pointer" g_type_info_is_pointer :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CInt++{- |+Obtain if the type is passed as a reference.++Note that the types of 'GI.GIRepository.Enums.DirectionOut' and 'GI.GIRepository.Enums.DirectionInout' parameters+will only be pointers if the underlying type being transferred is a pointer+(i.e. only if the type of the C function’s formal parameter is a pointer to a+pointer).+-}+typeInfoIsPointer ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GITypeInfo/@ -}+    -> m Bool+    {- ^ __Returns:__ 'True' if it is a pointer -}+typeInfoIsPointer info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_type_info_is_pointer info'+    let result' = (/= 0) result+    touchManagedPtr info+    return result'+++-- function g_type_info_get_tag+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GITypeInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "TypeTag"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_type_info_get_tag" g_type_info_get_tag :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CUInt++{- |+Obtain the type tag for the type. See 'GI.GIRepository.Enums.TypeTag' for a list+of type tags.+-}+typeInfoGetTag ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GITypeInfo/@ -}+    -> m GIRepository.Enums.TypeTag+    {- ^ __Returns:__ the type tag -}+typeInfoGetTag info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_type_info_get_tag info'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr info+    return result'+++-- function g_type_info_get_param_type+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GITypeInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of the parameter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_type_info_get_param_type" g_type_info_get_param_type :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Int32 ->                                -- n : TBasicType TInt+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain the parameter type /@n@/.+-}+typeInfoGetParamType ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GITypeInfo/@ -}+    -> Int32+    {- ^ /@n@/: index of the parameter -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the param type info -}+typeInfoGetParamType info n = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_type_info_get_param_type info' n+    checkUnexpectedReturnNULL "typeInfoGetParamType" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_type_info_get_interface+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GITypeInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_type_info_get_interface" g_type_info_get_interface :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+For types which have @/GI_TYPE_TAG_INTERFACE/@ such as GObjects and boxed values,+this function returns full information about the referenced type.  You can then+inspect the type of the returned 'GI.GIRepository.Structs.BaseInfo.BaseInfo' to further query whether it is+a concrete GObject, a GInterface, a structure, etc. using 'GI.GIRepository.Structs.BaseInfo.baseInfoGetType'.+-}+typeInfoGetInterface ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GITypeInfo/@ -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the 'GI.GIRepository.Structs.BaseInfo.BaseInfo', or 'Nothing'. Free it with+@/g_base_info_unref()/@ when done. -}+typeInfoGetInterface info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_type_info_get_interface info'+    checkUnexpectedReturnNULL "typeInfoGetInterface" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_type_info_get_array_type+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GITypeInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "ArrayType"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_type_info_get_array_type" g_type_info_get_array_type :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CUInt++{- |+Obtain the array type for this type. See 'GI.GIRepository.Enums.ArrayType' for a list of+possible values. If the type tag of this type is not array, -1 will be+returned.+-}+typeInfoGetArrayType ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GITypeInfo/@ -}+    -> m GIRepository.Enums.ArrayType+    {- ^ __Returns:__ the array type or -1 -}+typeInfoGetArrayType info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_type_info_get_array_type info'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr info+    return result'+++-- function g_type_info_get_array_length+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GITypeInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_type_info_get_array_length" g_type_info_get_array_length :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the array length of the type. The type tag must be a+@/GI_TYPE_TAG_ARRAY/@ or -1 will returned.+-}+typeInfoGetArrayLength ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GITypeInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ the array length, or -1 if the type is not an array -}+typeInfoGetArrayLength info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_type_info_get_array_length info'+    touchManagedPtr info+    return result+++-- function g_type_info_get_array_fixed_size+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GITypeInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_type_info_get_array_fixed_size" g_type_info_get_array_fixed_size :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the fixed array size of the type. The type tag must be a+@/GI_TYPE_TAG_ARRAY/@ or -1 will returned.+-}+typeInfoGetArrayFixedSize ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GITypeInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ the size or -1 if it\'s not an array -}+typeInfoGetArrayFixedSize info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_type_info_get_array_fixed_size info'+    touchManagedPtr info+    return result+++-- function g_struct_info_is_gtype_struct+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIStructInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "g_struct_info_is_gtype_struct" g_struct_info_is_gtype_struct :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CInt++{- |+Return true if this structure represents the \"class structure\" for some+'GI.GObject.Objects.Object.Object' or @/GInterface/@.  This function is mainly useful to hide this kind of structure+from generated public APIs.+-}+structInfoIsGtypeStruct ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIStructInfo/@ -}+    -> m Bool+    {- ^ __Returns:__ 'True' if this is a class struct, 'False' otherwise -}+structInfoIsGtypeStruct info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_struct_info_is_gtype_struct info'+    let result' = (/= 0) result+    touchManagedPtr info+    return result'+++-- function g_struct_info_is_foreign+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "TODO", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "g_struct_info_is_foreign" g_struct_info_is_foreign :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CInt++{- |+TODO+-}+structInfoIsForeign ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: TODO -}+    -> m Bool+    {- ^ __Returns:__ TODO -}+structInfoIsForeign info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_struct_info_is_foreign info'+    let result' = (/= 0) result+    touchManagedPtr info+    return result'+++-- function g_struct_info_get_size+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIStructInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUInt64)+-- throws : False+-- Skip return : False++foreign import ccall "g_struct_info_get_size" g_struct_info_get_size :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Word64++{- |+Obtain the total size of the structure.+-}+structInfoGetSize ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIStructInfo/@ -}+    -> m Word64+    {- ^ __Returns:__ size of the structure in bytes -}+structInfoGetSize info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_struct_info_get_size info'+    touchManagedPtr info+    return result+++-- function g_struct_info_get_n_methods+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIStructInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_struct_info_get_n_methods" g_struct_info_get_n_methods :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the number of methods this structure has.+-}+structInfoGetNMethods ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIStructInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ number of methods -}+structInfoGetNMethods info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_struct_info_get_n_methods info'+    touchManagedPtr info+    return result+++-- function g_struct_info_get_n_fields+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIStructInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_struct_info_get_n_fields" g_struct_info_get_n_fields :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the number of fields this structure has.+-}+structInfoGetNFields ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIStructInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ number of fields -}+structInfoGetNFields info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_struct_info_get_n_fields info'+    touchManagedPtr info+    return result+++-- function g_struct_info_get_method+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIStructInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a method index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_struct_info_get_method" g_struct_info_get_method :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Int32 ->                                -- n : TBasicType TInt+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain the type information for method with specified index.+-}+structInfoGetMethod ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIStructInfo/@ -}+    -> Int32+    {- ^ /@n@/: a method index -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIFunctionInfo/@, free it with @/g_base_info_unref()/@+when done. -}+structInfoGetMethod info n = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_struct_info_get_method info' n+    checkUnexpectedReturnNULL "structInfoGetMethod" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_struct_info_get_field+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIStructInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a field index", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_struct_info_get_field" g_struct_info_get_field :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Int32 ->                                -- n : TBasicType TInt+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain the type information for field with specified index.+-}+structInfoGetField ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIStructInfo/@ -}+    -> Int32+    {- ^ /@n@/: a field index -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIFieldInfo/@, free it with @/g_base_info_unref()/@+when done. -}+structInfoGetField info n = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_struct_info_get_field info' n+    checkUnexpectedReturnNULL "structInfoGetField" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_struct_info_get_alignment+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIStructInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUInt64)+-- throws : False+-- Skip return : False++foreign import ccall "g_struct_info_get_alignment" g_struct_info_get_alignment :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Word64++{- |+Obtain the required alignment of the structure.+-}+structInfoGetAlignment ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIStructInfo/@ -}+    -> m Word64+    {- ^ __Returns:__ required alignment in bytes -}+structInfoGetAlignment info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_struct_info_get_alignment info'+    touchManagedPtr info+    return result+++-- function g_struct_info_find_method+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIStructInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a method name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_struct_info_find_method" g_struct_info_find_method :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    CString ->                              -- name : TBasicType TUTF8+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain the type information for method named /@name@/.+-}+structInfoFindMethod ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIStructInfo/@ -}+    -> T.Text+    {- ^ /@name@/: a method name -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIFunctionInfo/@, free it with @/g_base_info_unref()/@+when done. -}+structInfoFindMethod info name = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    name' <- textToCString name+    result <- g_struct_info_find_method info' name'+    checkUnexpectedReturnNULL "structInfoFindMethod" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    freeMem name'+    return result'+++-- function g_struct_info_find_field+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIStructInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a field name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_struct_info_find_field" g_struct_info_find_field :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    CString ->                              -- name : TBasicType TUTF8+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain the type information for field named /@name@/.++/Since: 1.46/+-}+structInfoFindField ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIStructInfo/@ -}+    -> T.Text+    {- ^ /@name@/: a field name -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIFieldInfo/@ or 'Nothing' if not found,+free it with @/g_base_info_unref()/@ when done. -}+structInfoFindField info name = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    name' <- textToCString name+    result <- g_struct_info_find_field info' name'+    checkUnexpectedReturnNULL "structInfoFindField" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    freeMem name'+    return result'+++-- function g_signal_info_true_stops_emit+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GISignalInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_info_true_stops_emit" g_signal_info_true_stops_emit :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CInt++{- |+Obtain if the returning true in the signal handler will+stop the emission of the signal.+-}+signalInfoTrueStopsEmit ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GISignalInfo/@ -}+    -> m Bool+    {- ^ __Returns:__ 'True' if returning true stops the signal emission -}+signalInfoTrueStopsEmit info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_signal_info_true_stops_emit info'+    let result' = (/= 0) result+    touchManagedPtr info+    return result'+++-- function g_signal_info_get_flags+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GISignalInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GObject", name = "SignalFlags"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_info_get_flags" g_signal_info_get_flags :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CUInt++{- |+Obtain the flags for this signal info. See 'GI.GObject.Flags.SignalFlags' for+more information about possible flag values.+-}+signalInfoGetFlags ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GISignalInfo/@ -}+    -> m [GObject.Flags.SignalFlags]+    {- ^ __Returns:__ the flags -}+signalInfoGetFlags info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_signal_info_get_flags info'+    let result' = wordToGFlags result+    touchManagedPtr info+    return result'+++-- function g_signal_info_get_class_closure+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GISignalInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_signal_info_get_class_closure" g_signal_info_get_class_closure :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain the class closure for this signal if one is set. The class+closure is a virtual function on the type that the signal belongs to.+If the signal lacks a closure 'Nothing' will be returned.+-}+signalInfoGetClassClosure ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GISignalInfo/@ -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the class closure or 'Nothing' -}+signalInfoGetClassClosure info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_signal_info_get_class_closure info'+    checkUnexpectedReturnNULL "signalInfoGetClassClosure" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_registered_type_info_get_type_name+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIRegisteredTypeInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "g_registered_type_info_get_type_name" g_registered_type_info_get_type_name :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CString++{- |+Obtain the type name of the struct within the GObject type system.+This type can be passed to 'GI.GObject.Functions.typeName' to get a 'GType'.+-}+registeredTypeInfoGetTypeName ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIRegisteredTypeInfo/@ -}+    -> m T.Text+    {- ^ __Returns:__ the type name -}+registeredTypeInfoGetTypeName info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_registered_type_info_get_type_name info'+    checkUnexpectedReturnNULL "registeredTypeInfoGetTypeName" result+    result' <- cstringToText result+    touchManagedPtr info+    return result'+++-- function g_registered_type_info_get_type_init+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIRegisteredTypeInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "g_registered_type_info_get_type_init" g_registered_type_info_get_type_init :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CString++{- |+Obtain the type init function for /@info@/. The type init function is the+function which will register the GType within the GObject type system.+Usually this is not called by langauge bindings or applications, use+'GI.GIRepository.Functions.registeredTypeInfoGetGType' directly instead.+-}+registeredTypeInfoGetTypeInit ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIRegisteredTypeInfo/@ -}+    -> m T.Text+    {- ^ __Returns:__ the symbol name of the type init function, suitable for+passing into @/g_module_symbol()/@. -}+registeredTypeInfoGetTypeInit info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_registered_type_info_get_type_init info'+    checkUnexpectedReturnNULL "registeredTypeInfoGetTypeInit" result+    result' <- cstringToText result+    touchManagedPtr info+    return result'+++-- function g_registered_type_info_get_g_type+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIRegisteredTypeInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TGType)+-- throws : False+-- Skip return : False++foreign import ccall "g_registered_type_info_get_g_type" g_registered_type_info_get_g_type :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CGType++{- |+Obtain the 'GType' for this registered type or G_TYPE_NONE which a special meaning.+It means that either there is no type information associated with this /@info@/ or+that the shared library which provides the type_init function for this+/@info@/ cannot be called.+-}+registeredTypeInfoGetGType ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIRegisteredTypeInfo/@ -}+    -> m GType+    {- ^ __Returns:__ the 'GType'. -}+registeredTypeInfoGetGType info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_registered_type_info_get_g_type info'+    let result' = GType result+    touchManagedPtr info+    return result'+++-- function g_property_info_get_type+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIPropertyInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_property_info_get_type" g_property_info_get_type :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain the type information for the property /@info@/.+-}+propertyInfoGetType ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIPropertyInfo/@ -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GITypeInfo/@, free it with+@/g_base_info_unref()/@ when done. -}+propertyInfoGetType info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_property_info_get_type info'+    checkUnexpectedReturnNULL "propertyInfoGetType" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_property_info_get_ownership_transfer+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIPropertyInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "Transfer"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_property_info_get_ownership_transfer" g_property_info_get_ownership_transfer :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CUInt++{- |+Obtain the ownership transfer for this property. See 'GI.GIRepository.Enums.Transfer' for more+information about transfer values.+-}+propertyInfoGetOwnershipTransfer ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIPropertyInfo/@ -}+    -> m GIRepository.Enums.Transfer+    {- ^ __Returns:__ the transfer -}+propertyInfoGetOwnershipTransfer info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_property_info_get_ownership_transfer info'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr info+    return result'+++-- function g_property_info_get_flags+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIPropertyInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GObject", name = "ParamFlags"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_property_info_get_flags" g_property_info_get_flags :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CUInt++{- |+Obtain the flags for this property info. See 'GI.GObject.Flags.ParamFlags' for+more information about possible flag values.+-}+propertyInfoGetFlags ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIPropertyInfo/@ -}+    -> m [GObject.Flags.ParamFlags]+    {- ^ __Returns:__ the flags -}+propertyInfoGetFlags info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_property_info_get_flags info'+    let result' = wordToGFlags result+    touchManagedPtr info+    return result'+++-- function g_object_info_get_vfunc+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of virtual function to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_vfunc" g_object_info_get_vfunc :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Int32 ->                                -- n : TBasicType TInt+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain an object type virtual function at index /@n@/.+-}+objectInfoGetVfunc ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> Int32+    {- ^ /@n@/: index of virtual function to get -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIVFuncInfo/@. Free the struct by calling+@/g_base_info_unref()/@ when done. -}+objectInfoGetVfunc info n = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_vfunc info' n+    checkUnexpectedReturnNULL "objectInfoGetVfunc" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_object_info_get_unref_function+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_unref_function" g_object_info_get_unref_function :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CString++{- |+Obtain the symbol name of the function that should be called to unref this+object type. It\'s mainly used fundamental types. The type signature for+the symbol is @/GIObjectInfoUnrefFunction/@, to fetch the function pointer+see 'GI.GIRepository.Functions.objectInfoGetUnrefFunction'.+-}+objectInfoGetUnrefFunction ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> m T.Text+    {- ^ __Returns:__ the symbol or 'Nothing' -}+objectInfoGetUnrefFunction info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_unref_function info'+    checkUnexpectedReturnNULL "objectInfoGetUnrefFunction" result+    result' <- cstringToText result+    touchManagedPtr info+    return result'+++-- function g_object_info_get_type_name+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_type_name" g_object_info_get_type_name :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CString++{- |+Obtain the name of the objects class\/type.+-}+objectInfoGetTypeName ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> m T.Text+    {- ^ __Returns:__ name of the objects type -}+objectInfoGetTypeName info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_type_name info'+    checkUnexpectedReturnNULL "objectInfoGetTypeName" result+    result' <- cstringToText result+    touchManagedPtr info+    return result'+++-- function g_object_info_get_type_init+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_type_init" g_object_info_get_type_init :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CString++{- |+Obtain the function which when called will return the GType+function for which this object type is registered.+-}+objectInfoGetTypeInit ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> m T.Text+    {- ^ __Returns:__ the type init function -}+objectInfoGetTypeInit info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_type_init info'+    checkUnexpectedReturnNULL "objectInfoGetTypeInit" result+    result' <- cstringToText result+    touchManagedPtr info+    return result'+++-- function g_object_info_get_signal+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of signal to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_signal" g_object_info_get_signal :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Int32 ->                                -- n : TBasicType TInt+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain an object type signal at index /@n@/.+-}+objectInfoGetSignal ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> Int32+    {- ^ /@n@/: index of signal to get -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GISignalInfo/@. Free the struct by calling+@/g_base_info_unref()/@ when done. -}+objectInfoGetSignal info n = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_signal info' n+    checkUnexpectedReturnNULL "objectInfoGetSignal" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_object_info_get_set_value_function+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_set_value_function" g_object_info_get_set_value_function :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CString++{- |+Obtain the symbol name of the function that should be called to convert+set a GValue giving an object instance pointer of this object type.+I\'s mainly used fundamental types. The type signature for the symbol+is @/GIObjectInfoSetValueFunction/@, to fetch the function pointer+see 'GI.GIRepository.Functions.objectInfoGetSetValueFunction'.+-}+objectInfoGetSetValueFunction ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> m T.Text+    {- ^ __Returns:__ the symbol or 'Nothing' -}+objectInfoGetSetValueFunction info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_set_value_function info'+    checkUnexpectedReturnNULL "objectInfoGetSetValueFunction" result+    result' <- cstringToText result+    touchManagedPtr info+    return result'+++-- function g_object_info_get_ref_function+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_ref_function" g_object_info_get_ref_function :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CString++{- |+Obtain the symbol name of the function that should be called to ref this+object type. It\'s mainly used fundamental types. The type signature for+the symbol is @/GIObjectInfoRefFunction/@, to fetch the function pointer+see 'GI.GIRepository.Functions.objectInfoGetRefFunction'.+-}+objectInfoGetRefFunction ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> m T.Text+    {- ^ __Returns:__ the symbol or 'Nothing' -}+objectInfoGetRefFunction info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_ref_function info'+    checkUnexpectedReturnNULL "objectInfoGetRefFunction" result+    result' <- cstringToText result+    touchManagedPtr info+    return result'+++-- function g_object_info_get_property+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of property to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_property" g_object_info_get_property :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Int32 ->                                -- n : TBasicType TInt+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain an object type property at index /@n@/.+-}+objectInfoGetProperty ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> Int32+    {- ^ /@n@/: index of property to get -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIPropertyInfo/@. Free the struct by calling+@/g_base_info_unref()/@ when done. -}+objectInfoGetProperty info n = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_property info' n+    checkUnexpectedReturnNULL "objectInfoGetProperty" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_object_info_get_parent+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_parent" g_object_info_get_parent :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain the parent of the object type.+-}+objectInfoGetParent ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIObjectInfo/@. Free the struct by calling+@/g_base_info_unref()/@ when done. -}+objectInfoGetParent info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_parent info'+    checkUnexpectedReturnNULL "objectInfoGetParent" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_object_info_get_n_vfuncs+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_n_vfuncs" g_object_info_get_n_vfuncs :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the number of virtual functions that this object type has.+-}+objectInfoGetNVfuncs ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ number of virtual functions -}+objectInfoGetNVfuncs info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_n_vfuncs info'+    touchManagedPtr info+    return result+++-- function g_object_info_get_n_signals+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_n_signals" g_object_info_get_n_signals :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the number of signals that this object type has.+-}+objectInfoGetNSignals ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ number of signals -}+objectInfoGetNSignals info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_n_signals info'+    touchManagedPtr info+    return result+++-- function g_object_info_get_n_properties+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_n_properties" g_object_info_get_n_properties :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the number of properties that this object type has.+-}+objectInfoGetNProperties ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ number of properties -}+objectInfoGetNProperties info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_n_properties info'+    touchManagedPtr info+    return result+++-- function g_object_info_get_n_methods+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_n_methods" g_object_info_get_n_methods :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the number of methods that this object type has.+-}+objectInfoGetNMethods ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ number of methods -}+objectInfoGetNMethods info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_n_methods info'+    touchManagedPtr info+    return result+++-- function g_object_info_get_n_interfaces+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_n_interfaces" g_object_info_get_n_interfaces :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the number of interfaces that this object type has.+-}+objectInfoGetNInterfaces ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ number of interfaces -}+objectInfoGetNInterfaces info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_n_interfaces info'+    touchManagedPtr info+    return result+++-- function g_object_info_get_n_fields+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_n_fields" g_object_info_get_n_fields :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the number of fields that this object type has.+-}+objectInfoGetNFields ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ number of fields -}+objectInfoGetNFields info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_n_fields info'+    touchManagedPtr info+    return result+++-- function g_object_info_get_n_constants+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_n_constants" g_object_info_get_n_constants :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the number of constants that this object type has.+-}+objectInfoGetNConstants ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ number of constants -}+objectInfoGetNConstants info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_n_constants info'+    touchManagedPtr info+    return result+++-- function g_object_info_get_method+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of method to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_method" g_object_info_get_method :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Int32 ->                                -- n : TBasicType TInt+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain an object type method at index /@n@/.+-}+objectInfoGetMethod ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> Int32+    {- ^ /@n@/: index of method to get -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIFunctionInfo/@. Free the struct by calling+@/g_base_info_unref()/@ when done. -}+objectInfoGetMethod info n = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_method info' n+    checkUnexpectedReturnNULL "objectInfoGetMethod" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_object_info_get_interface+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of interface to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_interface" g_object_info_get_interface :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Int32 ->                                -- n : TBasicType TInt+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain an object type interface at index /@n@/.+-}+objectInfoGetInterface ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> Int32+    {- ^ /@n@/: index of interface to get -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIInterfaceInfo/@. Free the struct by calling+@/g_base_info_unref()/@ when done. -}+objectInfoGetInterface info n = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_interface info' n+    checkUnexpectedReturnNULL "objectInfoGetInterface" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_object_info_get_get_value_function+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_get_value_function" g_object_info_get_get_value_function :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CString++{- |+Obtain the symbol name of the function that should be called to convert+an object instance pointer of this object type to a GValue.+I\'s mainly used fundamental types. The type signature for the symbol+is @/GIObjectInfoGetValueFunction/@, to fetch the function pointer+see 'GI.GIRepository.Functions.objectInfoGetGetValueFunction'.+-}+objectInfoGetGetValueFunction ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> m T.Text+    {- ^ __Returns:__ the symbol or 'Nothing' -}+objectInfoGetGetValueFunction info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_get_value_function info'+    checkUnexpectedReturnNULL "objectInfoGetGetValueFunction" result+    result' <- cstringToText result+    touchManagedPtr info+    return result'+++-- function g_object_info_get_fundamental+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_fundamental" g_object_info_get_fundamental :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CInt++{- |+Obtain if the object type is of a fundamental type which is not+G_TYPE_OBJECT. This is mostly for supporting GstMiniObject.+-}+objectInfoGetFundamental ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the object type is a fundamental type -}+objectInfoGetFundamental info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_fundamental info'+    let result' = (/= 0) result+    touchManagedPtr info+    return result'+++-- function g_object_info_get_field+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of field to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_field" g_object_info_get_field :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Int32 ->                                -- n : TBasicType TInt+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain an object type field at index /@n@/.+-}+objectInfoGetField ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> Int32+    {- ^ /@n@/: index of field to get -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIFieldInfo/@. Free the struct by calling+@/g_base_info_unref()/@ when done. -}+objectInfoGetField info n = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_field info' n+    checkUnexpectedReturnNULL "objectInfoGetField" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_object_info_get_constant+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of constant to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_constant" g_object_info_get_constant :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Int32 ->                                -- n : TBasicType TInt+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain an object type constant at index /@n@/.+-}+objectInfoGetConstant ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> Int32+    {- ^ /@n@/: index of constant to get -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIConstantInfo/@. Free the struct by calling+@/g_base_info_unref()/@ when done. -}+objectInfoGetConstant info n = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_constant info' n+    checkUnexpectedReturnNULL "objectInfoGetConstant" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_object_info_get_class_struct+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_class_struct" g_object_info_get_class_struct :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Every 'GI.GObject.Objects.Object.Object' has two structures; an instance structure and a class+structure.  This function returns the metadata for the class structure.+-}+objectInfoGetClassStruct ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIStructInfo/@ or 'Nothing'. Free with+@/g_base_info_unref()/@ when done. -}+objectInfoGetClassStruct info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_class_struct info'+    checkUnexpectedReturnNULL "objectInfoGetClassStruct" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_object_info_get_abstract+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_get_abstract" g_object_info_get_abstract :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CInt++{- |+Obtain if the object type is an abstract type, eg if it cannot be+instantiated+-}+objectInfoGetAbstract ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the object type is abstract -}+objectInfoGetAbstract info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_object_info_get_abstract info'+    let result' = (/= 0) result+    touchManagedPtr info+    return result'+++-- function g_object_info_find_vfunc_using_interfaces+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of vfunc to obtain", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "implementor", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The implementor of the interface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_find_vfunc_using_interfaces" g_object_info_find_vfunc_using_interfaces :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    CString ->                              -- name : TBasicType TUTF8+    Ptr (Ptr GIRepository.BaseInfo.BaseInfo) -> -- implementor : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Locate a virtual function slot with name /@name@/, searching both the object+/@info@/ and any interfaces it implements.  Note that the namespace for+virtuals is distinct from that of methods; there may or may not be a+concrete method associated for a virtual. If there is one, it may be+retrieved using 'GI.GIRepository.Functions.vfuncInfoGetInvoker', otherwise 'Nothing' will be+returned.++Note that this function does *not* search parent classes; you will have+to chain up if that\'s desired.+-}+objectInfoFindVfuncUsingInterfaces ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> T.Text+    {- ^ /@name@/: name of vfunc to obtain -}+    -> m ((GIRepository.BaseInfo.BaseInfo, GIRepository.BaseInfo.BaseInfo))+    {- ^ __Returns:__ the @/GIVFuncInfo/@. Free the struct by calling+@/g_base_info_unref()/@ when done. -}+objectInfoFindVfuncUsingInterfaces info name = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    name' <- textToCString name+    implementor <- allocMem :: IO (Ptr (Ptr GIRepository.BaseInfo.BaseInfo))+    result <- g_object_info_find_vfunc_using_interfaces info' name' implementor+    checkUnexpectedReturnNULL "objectInfoFindVfuncUsingInterfaces" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    implementor' <- peek implementor+    implementor'' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) implementor'+    touchManagedPtr info+    freeMem name'+    freeMem implementor+    return (result', implementor'')+++-- function g_object_info_find_vfunc+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The name of a virtual function to find.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_find_vfunc" g_object_info_find_vfunc :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    CString ->                              -- name : TBasicType TUTF8+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Locate a virtual function slot with name /@name@/. Note that the namespace+for virtuals is distinct from that of methods; there may or may not be+a concrete method associated for a virtual. If there is one, it may+be retrieved using 'GI.GIRepository.Functions.vfuncInfoGetInvoker', otherwise 'Nothing' will be+returned.+See the documentation for 'GI.GIRepository.Functions.vfuncInfoGetInvoker' for more+information on invoking virtuals.+-}+objectInfoFindVfunc ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> T.Text+    {- ^ /@name@/: The name of a virtual function to find. -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIVFuncInfo/@, or 'Nothing'. Free it with+@/g_base_info_unref()/@ when done. -}+objectInfoFindVfunc info name = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    name' <- textToCString name+    result <- g_object_info_find_vfunc info' name'+    checkUnexpectedReturnNULL "objectInfoFindVfunc" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    freeMem name'+    return result'+++-- function g_object_info_find_signal+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Name of signal", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_find_signal" g_object_info_find_signal :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    CString ->                              -- name : TBasicType TUTF8+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+TODO+-}+objectInfoFindSignal ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> T.Text+    {- ^ /@name@/: Name of signal -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ Info for the signal with name /@name@/ in /@info@/, or 'Nothing' on failure. -}+objectInfoFindSignal info name = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    name' <- textToCString name+    result <- g_object_info_find_signal info' name'+    checkUnexpectedReturnNULL "objectInfoFindSignal" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    freeMem name'+    return result'+++-- function g_object_info_find_method_using_interfaces+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of method to obtain", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "implementor", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The implementor of the interface", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_find_method_using_interfaces" g_object_info_find_method_using_interfaces :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    CString ->                              -- name : TBasicType TUTF8+    Ptr (Ptr GIRepository.BaseInfo.BaseInfo) -> -- implementor : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain a method of the object given a /@name@/, searching both the+object /@info@/ and any interfaces it implements.  'Nothing' will be+returned if there\'s no method available with that name.++Note that this function does *not* search parent classes; you will have+to chain up if that\'s desired.+-}+objectInfoFindMethodUsingInterfaces ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> T.Text+    {- ^ /@name@/: name of method to obtain -}+    -> m ((GIRepository.BaseInfo.BaseInfo, GIRepository.BaseInfo.BaseInfo))+    {- ^ __Returns:__ the @/GIFunctionInfo/@. Free the struct by calling+@/g_base_info_unref()/@ when done. -}+objectInfoFindMethodUsingInterfaces info name = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    name' <- textToCString name+    implementor <- allocMem :: IO (Ptr (Ptr GIRepository.BaseInfo.BaseInfo))+    result <- g_object_info_find_method_using_interfaces info' name' implementor+    checkUnexpectedReturnNULL "objectInfoFindMethodUsingInterfaces" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    implementor' <- peek implementor+    implementor'' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) implementor'+    touchManagedPtr info+    freeMem name'+    freeMem implementor+    return (result', implementor'')+++-- function g_object_info_find_method+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIObjectInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of method to obtain", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_object_info_find_method" g_object_info_find_method :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    CString ->                              -- name : TBasicType TUTF8+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain a method of the object type given a /@name@/. 'Nothing' will be+returned if there\'s no method available with that name.+-}+objectInfoFindMethod ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIObjectInfo/@ -}+    -> T.Text+    {- ^ /@name@/: name of method to obtain -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIFunctionInfo/@. Free the struct by calling+@/g_base_info_unref()/@ when done. -}+objectInfoFindMethod info name = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    name' <- textToCString name+    result <- g_object_info_find_method info' name'+    checkUnexpectedReturnNULL "objectInfoFindMethod" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    freeMem name'+    return result'+++-- function g_invoke_error_quark+-- Args : []+-- Lengths : []+-- returnType : Just (TBasicType TUInt32)+-- throws : False+-- Skip return : False++foreign import ccall "g_invoke_error_quark" g_invoke_error_quark :: +    IO Word32++{- |+TODO+-}+invokeErrorQuark ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m Word32+    {- ^ __Returns:__ TODO -}+invokeErrorQuark  = liftIO $ do+    result <- g_invoke_error_quark+    return result+++-- function g_interface_info_get_vfunc+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIInterfaceInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of virtual function to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_interface_info_get_vfunc" g_interface_info_get_vfunc :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Int32 ->                                -- n : TBasicType TInt+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain an interface type virtual function at index /@n@/.+-}+interfaceInfoGetVfunc ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIInterfaceInfo/@ -}+    -> Int32+    {- ^ /@n@/: index of virtual function to get -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIVFuncInfo/@. Free the struct by calling+@/g_base_info_unref()/@ when done. -}+interfaceInfoGetVfunc info n = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_interface_info_get_vfunc info' n+    checkUnexpectedReturnNULL "interfaceInfoGetVfunc" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_interface_info_get_signal+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIInterfaceInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of signal to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_interface_info_get_signal" g_interface_info_get_signal :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Int32 ->                                -- n : TBasicType TInt+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain an interface type signal at index /@n@/.+-}+interfaceInfoGetSignal ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIInterfaceInfo/@ -}+    -> Int32+    {- ^ /@n@/: index of signal to get -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GISignalInfo/@. Free the struct by calling+@/g_base_info_unref()/@ when done. -}+interfaceInfoGetSignal info n = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_interface_info_get_signal info' n+    checkUnexpectedReturnNULL "interfaceInfoGetSignal" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_interface_info_get_property+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIInterfaceInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of property to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_interface_info_get_property" g_interface_info_get_property :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Int32 ->                                -- n : TBasicType TInt+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain an interface type property at index /@n@/.+-}+interfaceInfoGetProperty ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIInterfaceInfo/@ -}+    -> Int32+    {- ^ /@n@/: index of property to get -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIPropertyInfo/@. Free the struct by calling+@/g_base_info_unref()/@ when done. -}+interfaceInfoGetProperty info n = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_interface_info_get_property info' n+    checkUnexpectedReturnNULL "interfaceInfoGetProperty" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_interface_info_get_prerequisite+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIInterfaceInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of prerequisites to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_interface_info_get_prerequisite" g_interface_info_get_prerequisite :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Int32 ->                                -- n : TBasicType TInt+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain an interface type prerequisites index /@n@/.+-}+interfaceInfoGetPrerequisite ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIInterfaceInfo/@ -}+    -> Int32+    {- ^ /@n@/: index of prerequisites to get -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the prerequisites as a 'GI.GIRepository.Structs.BaseInfo.BaseInfo'. Free the struct by calling+@/g_base_info_unref()/@ when done. -}+interfaceInfoGetPrerequisite info n = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_interface_info_get_prerequisite info' n+    checkUnexpectedReturnNULL "interfaceInfoGetPrerequisite" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_interface_info_get_n_vfuncs+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIInterfaceInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_interface_info_get_n_vfuncs" g_interface_info_get_n_vfuncs :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the number of virtual functions that this interface type has.+-}+interfaceInfoGetNVfuncs ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIInterfaceInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ number of virtual functions -}+interfaceInfoGetNVfuncs info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_interface_info_get_n_vfuncs info'+    touchManagedPtr info+    return result+++-- function g_interface_info_get_n_signals+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIInterfaceInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_interface_info_get_n_signals" g_interface_info_get_n_signals :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the number of signals that this interface type has.+-}+interfaceInfoGetNSignals ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIInterfaceInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ number of signals -}+interfaceInfoGetNSignals info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_interface_info_get_n_signals info'+    touchManagedPtr info+    return result+++-- function g_interface_info_get_n_properties+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIInterfaceInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_interface_info_get_n_properties" g_interface_info_get_n_properties :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the number of properties that this interface type has.+-}+interfaceInfoGetNProperties ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIInterfaceInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ number of properties -}+interfaceInfoGetNProperties info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_interface_info_get_n_properties info'+    touchManagedPtr info+    return result+++-- function g_interface_info_get_n_prerequisites+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIInterfaceInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_interface_info_get_n_prerequisites" g_interface_info_get_n_prerequisites :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the number of prerequisites for this interface type.+A prerequisites is another interface that needs to be implemented for+interface, similar to an base class for GObjects.+-}+interfaceInfoGetNPrerequisites ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIInterfaceInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ number of prerequisites -}+interfaceInfoGetNPrerequisites info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_interface_info_get_n_prerequisites info'+    touchManagedPtr info+    return result+++-- function g_interface_info_get_n_methods+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIInterfaceInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_interface_info_get_n_methods" g_interface_info_get_n_methods :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the number of methods that this interface type has.+-}+interfaceInfoGetNMethods ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIInterfaceInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ number of methods -}+interfaceInfoGetNMethods info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_interface_info_get_n_methods info'+    touchManagedPtr info+    return result+++-- function g_interface_info_get_n_constants+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIInterfaceInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_interface_info_get_n_constants" g_interface_info_get_n_constants :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the number of constants that this interface type has.+-}+interfaceInfoGetNConstants ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIInterfaceInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ number of constants -}+interfaceInfoGetNConstants info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_interface_info_get_n_constants info'+    touchManagedPtr info+    return result+++-- function g_interface_info_get_method+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIInterfaceInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of method to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_interface_info_get_method" g_interface_info_get_method :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Int32 ->                                -- n : TBasicType TInt+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain an interface type method at index /@n@/.+-}+interfaceInfoGetMethod ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIInterfaceInfo/@ -}+    -> Int32+    {- ^ /@n@/: index of method to get -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIFunctionInfo/@. Free the struct by calling+@/g_base_info_unref()/@ when done. -}+interfaceInfoGetMethod info n = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_interface_info_get_method info' n+    checkUnexpectedReturnNULL "interfaceInfoGetMethod" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_interface_info_get_iface_struct+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIInterfaceInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_interface_info_get_iface_struct" g_interface_info_get_iface_struct :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Returns the layout C structure associated with this @/GInterface/@.+-}+interfaceInfoGetIfaceStruct ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIInterfaceInfo/@ -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIStructInfo/@ or 'Nothing'. Free it with+@/g_base_info_unref()/@ when done. -}+interfaceInfoGetIfaceStruct info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_interface_info_get_iface_struct info'+    checkUnexpectedReturnNULL "interfaceInfoGetIfaceStruct" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_interface_info_get_constant+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIInterfaceInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of constant to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_interface_info_get_constant" g_interface_info_get_constant :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Int32 ->                                -- n : TBasicType TInt+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain an interface type constant at index /@n@/.+-}+interfaceInfoGetConstant ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIInterfaceInfo/@ -}+    -> Int32+    {- ^ /@n@/: index of constant to get -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIConstantInfo/@. Free the struct by calling+@/g_base_info_unref()/@ when done. -}+interfaceInfoGetConstant info n = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_interface_info_get_constant info' n+    checkUnexpectedReturnNULL "interfaceInfoGetConstant" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_interface_info_find_vfunc+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIInterfaceInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The name of a virtual function to find.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_interface_info_find_vfunc" g_interface_info_find_vfunc :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    CString ->                              -- name : TBasicType TUTF8+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Locate a virtual function slot with name /@name@/. See the documentation+for 'GI.GIRepository.Functions.objectInfoFindVfunc' for more information on virtuals.+-}+interfaceInfoFindVfunc ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIInterfaceInfo/@ -}+    -> T.Text+    {- ^ /@name@/: The name of a virtual function to find. -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIVFuncInfo/@, or 'Nothing'. Free it with+@/g_base_info_unref()/@ when done. -}+interfaceInfoFindVfunc info name = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    name' <- textToCString name+    result <- g_interface_info_find_vfunc info' name'+    checkUnexpectedReturnNULL "interfaceInfoFindVfunc" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    freeMem name'+    return result'+++-- function g_interface_info_find_signal+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIInterfaceInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Name of signal", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_interface_info_find_signal" g_interface_info_find_signal :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    CString ->                              -- name : TBasicType TUTF8+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+TODO++/Since: 1.34/+-}+interfaceInfoFindSignal ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIInterfaceInfo/@ -}+    -> T.Text+    {- ^ /@name@/: Name of signal -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ Info for the signal with name /@name@/ in /@info@/, or+'Nothing' on failure. -}+interfaceInfoFindSignal info name = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    name' <- textToCString name+    result <- g_interface_info_find_signal info' name'+    checkUnexpectedReturnNULL "interfaceInfoFindSignal" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    freeMem name'+    return result'+++-- function g_interface_info_find_method+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIInterfaceInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of method to obtain", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_interface_info_find_method" g_interface_info_find_method :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    CString ->                              -- name : TBasicType TUTF8+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain a method of the interface type given a /@name@/. 'Nothing' will be+returned if there\'s no method available with that name.+-}+interfaceInfoFindMethod ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIInterfaceInfo/@ -}+    -> T.Text+    {- ^ /@name@/: name of method to obtain -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIFunctionInfo/@ or 'Nothing' if none found.+Free the struct by calling @/g_base_info_unref()/@ when done. -}+interfaceInfoFindMethod info name = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    name' <- textToCString name+    result <- g_interface_info_find_method info' name'+    checkUnexpectedReturnNULL "interfaceInfoFindMethod" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    freeMem name'+    return result'+++-- function g_info_type_to_string+-- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GIRepository", name = "InfoType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the info type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "g_info_type_to_string" g_info_type_to_string :: +    CUInt ->                                -- type : TInterface (Name {namespace = "GIRepository", name = "InfoType"})+    IO CString++{- |+Obtain a string representation of /@type@/+-}+infoTypeToString ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.Enums.InfoType+    {- ^ /@type@/: the info type -}+    -> m T.Text+    {- ^ __Returns:__ the string -}+infoTypeToString type_ = liftIO $ do+    let type_' = (fromIntegral . fromEnum) type_+    result <- g_info_type_to_string type_'+    checkUnexpectedReturnNULL "infoTypeToString" result+    result' <- cstringToText result+    return result'+++-- function g_info_new+-- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GIRepository", name = "InfoType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "TODO", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "container", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "TODO", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "typelib", argType = TInterface (Name {namespace = "GIRepository", name = "Typelib"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "TODO", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "TODO", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_info_new" g_info_new :: +    CUInt ->                                -- type : TInterface (Name {namespace = "GIRepository", name = "InfoType"})+    Ptr GIRepository.BaseInfo.BaseInfo ->   -- container : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Ptr GIRepository.Typelib.Typelib ->     -- typelib : TInterface (Name {namespace = "GIRepository", name = "Typelib"})+    Word32 ->                               -- offset : TBasicType TUInt32+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+TODO+-}+infoNew ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.Enums.InfoType+    {- ^ /@type@/: TODO -}+    -> GIRepository.BaseInfo.BaseInfo+    {- ^ /@container@/: TODO -}+    -> GIRepository.Typelib.Typelib+    {- ^ /@typelib@/: TODO -}+    -> Word32+    {- ^ /@offset@/: TODO -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ TODO -}+infoNew type_ container typelib offset = liftIO $ do+    let type_' = (fromIntegral . fromEnum) type_+    container' <- unsafeManagedPtrGetPtr container+    typelib' <- unsafeManagedPtrGetPtr typelib+    result <- g_info_new type_' container' typelib' offset+    checkUnexpectedReturnNULL "infoNew" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr container+    touchManagedPtr typelib+    return result'+++-- function g_function_info_get_vfunc+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIFunctionInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_function_info_get_vfunc" g_function_info_get_vfunc :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain the virtual function associated with this @/GIFunctionInfo/@.+Only @/GIFunctionInfo/@ with the flag 'GI.GIRepository.Flags.FunctionInfoFlagsWrapsVfunc' has+a virtual function set. For other cases, 'Nothing' will be returned.+-}+functionInfoGetVfunc ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIFunctionInfo/@ -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the virtual function or 'Nothing' if not set.+Free it by calling @/g_base_info_unref()/@ when done. -}+functionInfoGetVfunc info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_function_info_get_vfunc info'+    checkUnexpectedReturnNULL "functionInfoGetVfunc" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_function_info_get_symbol+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIFunctionInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "g_function_info_get_symbol" g_function_info_get_symbol :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CString++{- |+Obtain the symbol of the function. The symbol is the name of the+exported function, suitable to be used as an argument to+@/g_module_symbol()/@.+-}+functionInfoGetSymbol ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIFunctionInfo/@ -}+    -> m T.Text+    {- ^ __Returns:__ the symbol -}+functionInfoGetSymbol info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_function_info_get_symbol info'+    checkUnexpectedReturnNULL "functionInfoGetSymbol" result+    result' <- cstringToText result+    touchManagedPtr info+    return result'+++-- function g_function_info_get_property+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIFunctionInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_function_info_get_property" g_function_info_get_property :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain the property associated with this @/GIFunctionInfo/@.+Only @/GIFunctionInfo/@ with the flag 'GI.GIRepository.Flags.FunctionInfoFlagsIsGetter' or+'GI.GIRepository.Flags.FunctionInfoFlagsIsSetter' have a property set. For other cases,+'Nothing' will be returned.+-}+functionInfoGetProperty ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIFunctionInfo/@ -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the property or 'Nothing' if not set. Free it with+@/g_base_info_unref()/@ when done. -}+functionInfoGetProperty info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_function_info_get_property info'+    checkUnexpectedReturnNULL "functionInfoGetProperty" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_function_info_get_flags+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIFunctionInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "FunctionInfoFlags"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_function_info_get_flags" g_function_info_get_flags :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CUInt++{- |+Obtain the 'GI.GIRepository.Flags.FunctionInfoFlags' for the /@info@/.+-}+functionInfoGetFlags ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIFunctionInfo/@ -}+    -> m [GIRepository.Flags.FunctionInfoFlags]+    {- ^ __Returns:__ the flags -}+functionInfoGetFlags info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_function_info_get_flags info'+    let result' = wordToGFlags result+    touchManagedPtr info+    return result'+++-- function g_field_info_get_type+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIFieldInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_field_info_get_type" g_field_info_get_type :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain the type of a field as a @/GITypeInfo/@.+-}+fieldInfoGetType ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIFieldInfo/@ -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GITypeInfo/@. Free the struct by calling+@/g_base_info_unref()/@ when done. -}+fieldInfoGetType info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_field_info_get_type info'+    checkUnexpectedReturnNULL "fieldInfoGetType" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_field_info_get_size+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIFieldInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_field_info_get_size" g_field_info_get_size :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the size in bits of the field member, this is how+much space you need to allocate to store the field.+-}+fieldInfoGetSize ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIFieldInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ the field size -}+fieldInfoGetSize info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_field_info_get_size info'+    touchManagedPtr info+    return result+++-- function g_field_info_get_offset+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIFieldInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_field_info_get_offset" g_field_info_get_offset :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the offset in bytes of the field member, this is relative+to the beginning of the struct or union.+-}+fieldInfoGetOffset ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIFieldInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ the field offset -}+fieldInfoGetOffset info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_field_info_get_offset info'+    touchManagedPtr info+    return result+++-- function g_field_info_get_flags+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIFieldInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "FieldInfoFlags"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_field_info_get_flags" g_field_info_get_flags :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CUInt++{- |+Obtain the flags for this @/GIFieldInfo/@. See 'GI.GIRepository.Flags.FieldInfoFlags' for possible+flag values.+-}+fieldInfoGetFlags ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIFieldInfo/@ -}+    -> m [GIRepository.Flags.FieldInfoFlags]+    {- ^ __Returns:__ the flags -}+fieldInfoGetFlags info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_field_info_get_flags info'+    let result' = wordToGFlags result+    touchManagedPtr info+    return result'+++-- function g_enum_info_get_value+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIEnumInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of value to fetch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_enum_info_get_value" g_enum_info_get_value :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Int32 ->                                -- n : TBasicType TInt+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain a value for this enumeration.+-}+enumInfoGetValue ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIEnumInfo/@ -}+    -> Int32+    {- ^ /@n@/: index of value to fetch -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the enumeration value or 'Nothing' if type tag is wrong,+free the struct with @/g_base_info_unref()/@ when done. -}+enumInfoGetValue info n = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_enum_info_get_value info' n+    checkUnexpectedReturnNULL "enumInfoGetValue" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_enum_info_get_storage_type+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIEnumInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "TypeTag"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_enum_info_get_storage_type" g_enum_info_get_storage_type :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CUInt++{- |+Obtain the tag of the type used for the enum in the C ABI. This will+will be a signed or unsigned integral type.++Note that in the current implementation the width of the type is+computed correctly, but the signed or unsigned nature of the type+may not match the sign of the type used by the C compiler.+-}+enumInfoGetStorageType ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIEnumInfo/@ -}+    -> m GIRepository.Enums.TypeTag+    {- ^ __Returns:__ the storage type for the enumeration -}+enumInfoGetStorageType info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_enum_info_get_storage_type info'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr info+    return result'+++-- function g_enum_info_get_n_values+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIEnumInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_enum_info_get_n_values" g_enum_info_get_n_values :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the number of values this enumeration contains.+-}+enumInfoGetNValues ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIEnumInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ the number of enumeration values -}+enumInfoGetNValues info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_enum_info_get_n_values info'+    touchManagedPtr info+    return result+++-- function g_enum_info_get_n_methods+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIEnumInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_enum_info_get_n_methods" g_enum_info_get_n_methods :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the number of methods that this enum type has.++/Since: 1.30/+-}+enumInfoGetNMethods ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIEnumInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ number of methods -}+enumInfoGetNMethods info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_enum_info_get_n_methods info'+    touchManagedPtr info+    return result+++-- function g_enum_info_get_method+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIEnumInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "index of method to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_enum_info_get_method" g_enum_info_get_method :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Int32 ->                                -- n : TBasicType TInt+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain an enum type method at index /@n@/.++/Since: 1.30/+-}+enumInfoGetMethod ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIEnumInfo/@ -}+    -> Int32+    {- ^ /@n@/: index of method to get -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIFunctionInfo/@. Free the struct by calling+@/g_base_info_unref()/@ when done. -}+enumInfoGetMethod info n = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_enum_info_get_method info' n+    checkUnexpectedReturnNULL "enumInfoGetMethod" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_enum_info_get_error_domain+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIEnumInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "g_enum_info_get_error_domain" g_enum_info_get_error_domain :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CString++{- |+Obtain the string form of the quark for the error domain associated with+this enum, if any.++/Since: 1.30/+-}+enumInfoGetErrorDomain ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIEnumInfo/@ -}+    -> m T.Text+    {- ^ __Returns:__ the string form of the error domain associated+with this enum, or 'Nothing'. -}+enumInfoGetErrorDomain info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_enum_info_get_error_domain info'+    checkUnexpectedReturnNULL "enumInfoGetErrorDomain" result+    result' <- cstringToText result+    touchManagedPtr info+    return result'+++-- function g_constant_info_get_type+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIConstantInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_constant_info_get_type" g_constant_info_get_type :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain the type of the constant as a @/GITypeInfo/@.+-}+constantInfoGetType ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIConstantInfo/@ -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GITypeInfo/@. Free the struct by calling+@/g_base_info_unref()/@ when done. -}+constantInfoGetType info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_constant_info_get_type info'+    checkUnexpectedReturnNULL "constantInfoGetType" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function gi_cclosure_marshal_generic+-- Args : [Arg {argCName = "closure", argType = TGClosure Nothing, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_gvalue", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_param_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "param_values", argType = TInterface (Name {namespace = "GObject", name = "Value"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "invocation_hint", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "marshal_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "gi_cclosure_marshal_generic" gi_cclosure_marshal_generic :: +    Ptr (GClosure ()) ->                    -- closure : TGClosure Nothing+    Ptr GValue ->                           -- return_gvalue : TInterface (Name {namespace = "GObject", name = "Value"})+    Word32 ->                               -- n_param_values : TBasicType TUInt+    Ptr GValue ->                           -- param_values : TInterface (Name {namespace = "GObject", name = "Value"})+    Ptr () ->                               -- invocation_hint : TBasicType TPtr+    Ptr () ->                               -- marshal_data : TBasicType TPtr+    IO ()++{- |+/No description available in the introspection data./+-}+cclosureMarshalGeneric ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GClosure a+    -> GValue+    -> Word32+    -> GValue+    -> Ptr ()+    -> Ptr ()+    -> m ()+cclosureMarshalGeneric closure returnGvalue nParamValues paramValues invocationHint marshalData = liftIO $ do+    closure' <- unsafeManagedPtrCastPtr closure+    returnGvalue' <- unsafeManagedPtrGetPtr returnGvalue+    paramValues' <- unsafeManagedPtrGetPtr paramValues+    gi_cclosure_marshal_generic closure' returnGvalue' nParamValues paramValues' invocationHint marshalData+    touchManagedPtr closure+    touchManagedPtr returnGvalue+    touchManagedPtr paramValues+    return ()+++-- function g_callable_info_skip_return+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GICallableInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "g_callable_info_skip_return" g_callable_info_skip_return :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CInt++{- |+See if a callable\'s return value is only useful in C.+-}+callableInfoSkipReturn ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GICallableInfo/@ -}+    -> m Bool+    {- ^ __Returns:__ 'True' if return value is only useful in C. -}+callableInfoSkipReturn info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_callable_info_skip_return info'+    let result' = (/= 0) result+    touchManagedPtr info+    return result'+++-- function g_callable_info_may_return_null+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GICallableInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "g_callable_info_may_return_null" g_callable_info_may_return_null :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CInt++{- |+See if a callable could return 'Nothing'.+-}+callableInfoMayReturnNull ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GICallableInfo/@ -}+    -> m Bool+    {- ^ __Returns:__ 'True' if callable could return 'Nothing' -}+callableInfoMayReturnNull info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_callable_info_may_return_null info'+    let result' = (/= 0) result+    touchManagedPtr info+    return result'+++-- function g_callable_info_load_return_type+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GICallableInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Initialized with return type of @info", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "g_callable_info_load_return_type" g_callable_info_load_return_type :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Ptr GIRepository.BaseInfo.BaseInfo ->   -- type : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO ()++{- |+Obtain information about a return value of callable; this+function is a variant of 'GI.GIRepository.Functions.callableInfoGetReturnType' designed for stack+allocation.++The initialized /@type@/ must not be referenced after /@info@/ is deallocated.+-}+callableInfoLoadReturnType ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GICallableInfo/@ -}+    -> m (GIRepository.BaseInfo.BaseInfo)+callableInfoLoadReturnType info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    type_ <- callocBoxedBytes 72 :: IO (Ptr GIRepository.BaseInfo.BaseInfo)+    g_callable_info_load_return_type info' type_+    type_' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) type_+    touchManagedPtr info+    return type_'+++-- function g_callable_info_load_arg+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GICallableInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the argument index to fetch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "arg", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Initialize with argument number @n", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "g_callable_info_load_arg" g_callable_info_load_arg :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Int32 ->                                -- n : TBasicType TInt+    Ptr GIRepository.BaseInfo.BaseInfo ->   -- arg : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO ()++{- |+Obtain information about a particular argument of this callable; this+function is a variant of 'GI.GIRepository.Functions.callableInfoGetArg' designed for stack+allocation.++The initialized /@arg@/ must not be referenced after /@info@/ is deallocated.+-}+callableInfoLoadArg ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GICallableInfo/@ -}+    -> Int32+    {- ^ /@n@/: the argument index to fetch -}+    -> m (GIRepository.BaseInfo.BaseInfo)+callableInfoLoadArg info n = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    arg <- callocBoxedBytes 72 :: IO (Ptr GIRepository.BaseInfo.BaseInfo)+    g_callable_info_load_arg info' n arg+    arg' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) arg+    touchManagedPtr info+    return arg'+++-- function g_callable_info_iterate_return_attributes+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GICallableInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iterator", argType = TInterface (Name {namespace = "GIRepository", name = "AttributeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIAttributeIter structure, must be initialized; see below", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Returned name, must not be freed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Returned name, must not be freed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "g_callable_info_iterate_return_attributes" g_callable_info_iterate_return_attributes :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Ptr GIRepository.AttributeIter.AttributeIter -> -- iterator : TInterface (Name {namespace = "GIRepository", name = "AttributeIter"})+    Ptr CString ->                          -- name : TBasicType TUTF8+    Ptr CString ->                          -- value : TBasicType TUTF8+    IO CInt++{- |+Iterate over all attributes associated with the return value.  The+iterator structure is typically stack allocated, and must have its+first member initialized to 'Nothing'.++Both the /@name@/ and /@value@/ should be treated as constants+and must not be freed.++See 'GI.GIRepository.Structs.BaseInfo.baseInfoIterateAttributes' for an example of how to use a+similar API.+-}+callableInfoIterateReturnAttributes ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GICallableInfo/@ -}+    -> GIRepository.AttributeIter.AttributeIter+    {- ^ /@iterator@/: a 'GI.GIRepository.Structs.AttributeIter.AttributeIter' structure, must be initialized; see below -}+    -> m ((Bool, T.Text, T.Text))+    {- ^ __Returns:__ 'True' if there are more attributes -}+callableInfoIterateReturnAttributes info iterator = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    iterator' <- unsafeManagedPtrGetPtr iterator+    name <- allocMem :: IO (Ptr CString)+    value <- allocMem :: IO (Ptr CString)+    result <- g_callable_info_iterate_return_attributes info' iterator' name value+    let result' = (/= 0) result+    name' <- peek name+    name'' <- cstringToText name'+    value' <- peek value+    value'' <- cstringToText value'+    touchManagedPtr info+    touchManagedPtr iterator+    freeMem name+    freeMem value+    return (result', name'', value'')+++-- function g_callable_info_is_method+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GICallableInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "g_callable_info_is_method" g_callable_info_is_method :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CInt++{- |+Determines if the callable info is a method. For @/GIVFuncInfo/@\<!-- -->s,+@/GICallbackInfo/@\<!-- -->s, and @/GISignalInfo/@\<!-- -->s,+this is always true. Otherwise, this looks at the 'GI.GIRepository.Flags.FunctionInfoFlagsIsMethod'+flag on the @/GIFunctionInfo/@.++Concretely, this function returns whether 'GI.GIRepository.Functions.callableInfoGetNArgs'+matches the number of arguments in the raw C method. For methods, there+is one more C argument than is exposed by introspection: the \"self\"+or \"this\" object.++/Since: 1.34/+-}+callableInfoIsMethod ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GICallableInfo/@ -}+    -> m Bool+    {- ^ __Returns:__ 'True' if /@info@/ is a method, 'False' otherwise -}+callableInfoIsMethod info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_callable_info_is_method info'+    let result' = (/= 0) result+    touchManagedPtr info+    return result'+++-- function g_callable_info_invoke+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "TODO", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "function", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "TODO", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "in_args", argType = TCArray False (-1) 3 (TInterface (Name {namespace = "GIRepository", name = "Argument"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "TODO", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_in_args", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "TODO", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_args", argType = TCArray False (-1) 5 (TInterface (Name {namespace = "GIRepository", name = "Argument"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "TODO", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_out_args", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "TODO", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "return_value", argType = TInterface (Name {namespace = "GIRepository", name = "Argument"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "TODO", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_method", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "TODO", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "throws", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "TODO", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : [Arg {argCName = "n_out_args", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "TODO", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_in_args", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "TODO", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "g_callable_info_invoke" g_callable_info_invoke :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Ptr () ->                               -- function : TBasicType TPtr+    Ptr GIRepository.Argument.Argument ->   -- in_args : TCArray False (-1) 3 (TInterface (Name {namespace = "GIRepository", name = "Argument"}))+    Int32 ->                                -- n_in_args : TBasicType TInt+    Ptr GIRepository.Argument.Argument ->   -- out_args : TCArray False (-1) 5 (TInterface (Name {namespace = "GIRepository", name = "Argument"}))+    Int32 ->                                -- n_out_args : TBasicType TInt+    Ptr GIRepository.Argument.Argument ->   -- return_value : TInterface (Name {namespace = "GIRepository", name = "Argument"})+    CInt ->                                 -- is_method : TBasicType TBoolean+    CInt ->                                 -- throws : TBasicType TBoolean+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+TODO+-}+callableInfoInvoke ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: TODO -}+    -> Ptr ()+    {- ^ /@function@/: TODO -}+    -> [GIRepository.Argument.Argument]+    {- ^ /@inArgs@/: TODO -}+    -> [GIRepository.Argument.Argument]+    {- ^ /@outArgs@/: TODO -}+    -> GIRepository.Argument.Argument+    {- ^ /@returnValue@/: TODO -}+    -> Bool+    {- ^ /@isMethod@/: TODO -}+    -> Bool+    {- ^ /@throws@/: TODO -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+callableInfoInvoke info function inArgs outArgs returnValue isMethod throws = liftIO $ do+    let nOutArgs = fromIntegral $ length outArgs+    let nInArgs = fromIntegral $ length inArgs+    info' <- unsafeManagedPtrGetPtr info+    inArgs' <- mapM unsafeManagedPtrGetPtr inArgs+    inArgs'' <- packBlockArray 8 inArgs'+    outArgs' <- mapM unsafeManagedPtrGetPtr outArgs+    outArgs'' <- packBlockArray 8 outArgs'+    returnValue' <- unsafeManagedPtrGetPtr returnValue+    let isMethod' = (fromIntegral . fromEnum) isMethod+    let throws' = (fromIntegral . fromEnum) throws+    onException (do+        _ <- propagateGError $ g_callable_info_invoke info' function inArgs'' nInArgs outArgs'' nOutArgs returnValue' isMethod' throws'+        touchManagedPtr info+        mapM_ touchManagedPtr inArgs+        mapM_ touchManagedPtr outArgs+        touchManagedPtr returnValue+        freeMem inArgs''+        freeMem outArgs''+        return ()+     ) (do+        freeMem inArgs''+        freeMem outArgs''+     )+++-- function g_callable_info_get_return_type+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GICallableInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_callable_info_get_return_type" g_callable_info_get_return_type :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain the return type of a callable item as a @/GITypeInfo/@.+-}+callableInfoGetReturnType ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GICallableInfo/@ -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GITypeInfo/@. Free the struct by calling+@/g_base_info_unref()/@ when done. -}+callableInfoGetReturnType info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_callable_info_get_return_type info'+    checkUnexpectedReturnNULL "callableInfoGetReturnType" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_callable_info_get_return_attribute+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GICallableInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a freeform string naming an attribute", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "g_callable_info_get_return_attribute" g_callable_info_get_return_attribute :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    CString ->                              -- name : TBasicType TUTF8+    IO CString++{- |+Retrieve an arbitrary attribute associated with the return value.+-}+callableInfoGetReturnAttribute ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GICallableInfo/@ -}+    -> T.Text+    {- ^ /@name@/: a freeform string naming an attribute -}+    -> m T.Text+    {- ^ __Returns:__ The value of the attribute, or 'Nothing' if no such attribute exists -}+callableInfoGetReturnAttribute info name = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    name' <- textToCString name+    result <- g_callable_info_get_return_attribute info' name'+    checkUnexpectedReturnNULL "callableInfoGetReturnAttribute" result+    result' <- cstringToText result+    touchManagedPtr info+    freeMem name'+    return result'+++-- function g_callable_info_get_n_args+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GICallableInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_callable_info_get_n_args" g_callable_info_get_n_args :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the number of arguments (both IN and OUT) for this callable.+-}+callableInfoGetNArgs ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GICallableInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ The number of arguments this callable expects. -}+callableInfoGetNArgs info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_callable_info_get_n_args info'+    touchManagedPtr info+    return result+++-- function g_callable_info_get_instance_ownership_transfer+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GICallableInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "Transfer"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_callable_info_get_instance_ownership_transfer" g_callable_info_get_instance_ownership_transfer :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CUInt++{- |+Obtains the ownership transfer for the instance argument.+'GI.GIRepository.Enums.Transfer' contains a list of possible transfer values.++/Since: 1.42/+-}+callableInfoGetInstanceOwnershipTransfer ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GICallableInfo/@ -}+    -> m GIRepository.Enums.Transfer+    {- ^ __Returns:__ the transfer mode of the instance argument -}+callableInfoGetInstanceOwnershipTransfer info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_callable_info_get_instance_ownership_transfer info'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr info+    return result'+++-- function g_callable_info_get_caller_owns+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GICallableInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "Transfer"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_callable_info_get_caller_owns" g_callable_info_get_caller_owns :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CUInt++{- |+See whether the caller owns the return value of this callable.+'GI.GIRepository.Enums.Transfer' contains a list of possible transfer values.+-}+callableInfoGetCallerOwns ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GICallableInfo/@ -}+    -> m GIRepository.Enums.Transfer+    {- ^ __Returns:__ the transfer mode for the return value of the callable -}+callableInfoGetCallerOwns info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_callable_info_get_caller_owns info'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr info+    return result'+++-- function g_callable_info_get_arg+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GICallableInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the argument index to fetch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_callable_info_get_arg" g_callable_info_get_arg :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Int32 ->                                -- n : TBasicType TInt+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain information about a particular argument of this callable.+-}+callableInfoGetArg ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GICallableInfo/@ -}+    -> Int32+    {- ^ /@n@/: the argument index to fetch -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GIArgInfo/@. Free it with+@/g_base_info_unref()/@ when done. -}+callableInfoGetArg info n = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_callable_info_get_arg info' n+    checkUnexpectedReturnNULL "callableInfoGetArg" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_callable_info_can_throw_gerror+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GICallableInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "g_callable_info_can_throw_gerror" g_callable_info_can_throw_gerror :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CInt++{- |+TODO++/Since: 1.34/+-}+callableInfoCanThrowGerror ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GICallableInfo/@ -}+    -> m Bool+    {- ^ __Returns:__ 'True' if this @/GICallableInfo/@ can throw a 'GError' -}+callableInfoCanThrowGerror info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_callable_info_can_throw_gerror info'+    let result' = (/= 0) result+    touchManagedPtr info+    return result'+++-- function g_arg_info_may_be_null+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIArgInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "g_arg_info_may_be_null" g_arg_info_may_be_null :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CInt++{- |+Obtain if the type of the argument includes the possibility of 'Nothing'.+For \'in\' values this means that 'Nothing' is a valid value.  For \'out\'+values, this means that 'Nothing' may be returned.++See also 'GI.GIRepository.Functions.argInfoIsOptional'.+-}+argInfoMayBeNull ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIArgInfo/@ -}+    -> m Bool+    {- ^ __Returns:__ 'True' if the value may be 'Nothing' -}+argInfoMayBeNull info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_arg_info_may_be_null info'+    let result' = (/= 0) result+    touchManagedPtr info+    return result'+++-- function g_arg_info_load_type+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIArgInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Initialized with information about type of @info", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "g_arg_info_load_type" g_arg_info_load_type :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Ptr GIRepository.BaseInfo.BaseInfo ->   -- type : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO ()++{- |+Obtain information about a the type of given argument /@info@/; this+function is a variant of 'GI.GIRepository.Functions.argInfoGetType' designed for stack+allocation.++The initialized /@type@/ must not be referenced after /@info@/ is deallocated.+-}+argInfoLoadType ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIArgInfo/@ -}+    -> m (GIRepository.BaseInfo.BaseInfo)+argInfoLoadType info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    type_ <- callocBoxedBytes 72 :: IO (Ptr GIRepository.BaseInfo.BaseInfo)+    g_arg_info_load_type info' type_+    type_' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) type_+    touchManagedPtr info+    return type_'+++-- function g_arg_info_is_skip+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIArgInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "g_arg_info_is_skip" g_arg_info_is_skip :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CInt++{- |+Obtain if an argument is only useful in C.++/Since: 1.30/+-}+argInfoIsSkip ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIArgInfo/@ -}+    -> m Bool+    {- ^ __Returns:__ 'True' if argument is only useful in C. -}+argInfoIsSkip info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_arg_info_is_skip info'+    let result' = (/= 0) result+    touchManagedPtr info+    return result'+++-- function g_arg_info_is_return_value+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIArgInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "g_arg_info_is_return_value" g_arg_info_is_return_value :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CInt++{- |+Obtain if the argument is a return value. It can either be a+parameter or a return value.+-}+argInfoIsReturnValue ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIArgInfo/@ -}+    -> m Bool+    {- ^ __Returns:__ 'True' if it is a return value -}+argInfoIsReturnValue info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_arg_info_is_return_value info'+    let result' = (/= 0) result+    touchManagedPtr info+    return result'+++-- function g_arg_info_is_optional+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIArgInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "g_arg_info_is_optional" g_arg_info_is_optional :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CInt++{- |+Obtain if the argument is optional.  For \'out\' arguments this means+that you can pass 'Nothing' in order to ignore the result.+-}+argInfoIsOptional ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIArgInfo/@ -}+    -> m Bool+    {- ^ __Returns:__ 'True' if it is an optional argument -}+argInfoIsOptional info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_arg_info_is_optional info'+    let result' = (/= 0) result+    touchManagedPtr info+    return result'+++-- function g_arg_info_is_caller_allocates+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIArgInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "g_arg_info_is_caller_allocates" g_arg_info_is_caller_allocates :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CInt++{- |+Obtain if the argument is a pointer to a struct or object that will+receive an output of a function.  The default assumption for+'GI.GIRepository.Enums.DirectionOut' arguments which have allocation is that the+callee allocates; if this is 'True', then the caller must allocate.+-}+argInfoIsCallerAllocates ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIArgInfo/@ -}+    -> m Bool+    {- ^ __Returns:__ 'True' if caller is required to have allocated the argument -}+argInfoIsCallerAllocates info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_arg_info_is_caller_allocates info'+    let result' = (/= 0) result+    touchManagedPtr info+    return result'+++-- function g_arg_info_get_type+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIArgInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_arg_info_get_type" g_arg_info_get_type :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Obtain the type information for /@info@/.+-}+argInfoGetType ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIArgInfo/@ -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ the @/GITypeInfo/@ holding the type+  information for /@info@/, free it with @/g_base_info_unref()/@+  when done. -}+argInfoGetType info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_arg_info_get_type info'+    checkUnexpectedReturnNULL "argInfoGetType" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr info+    return result'+++-- function g_arg_info_get_scope+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIArgInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "ScopeType"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_arg_info_get_scope" g_arg_info_get_scope :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CUInt++{- |+Obtain the scope type for this argument. The scope type explains+how a callback is going to be invoked, most importantly when+the resources required to invoke it can be freed.+'GI.GIRepository.Enums.ScopeType' contains a list of possible values.+-}+argInfoGetScope ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIArgInfo/@ -}+    -> m GIRepository.Enums.ScopeType+    {- ^ __Returns:__ the scope type -}+argInfoGetScope info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_arg_info_get_scope info'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr info+    return result'+++-- function g_arg_info_get_ownership_transfer+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIArgInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "Transfer"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_arg_info_get_ownership_transfer" g_arg_info_get_ownership_transfer :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CUInt++{- |+Obtain the ownership transfer for this argument.+'GI.GIRepository.Enums.Transfer' contains a list of possible values.+-}+argInfoGetOwnershipTransfer ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIArgInfo/@ -}+    -> m GIRepository.Enums.Transfer+    {- ^ __Returns:__ the transfer -}+argInfoGetOwnershipTransfer info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_arg_info_get_ownership_transfer info'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr info+    return result'+++-- function g_arg_info_get_direction+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIArgInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "Direction"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_arg_info_get_direction" g_arg_info_get_direction :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CUInt++{- |+Obtain the direction of the argument. Check 'GI.GIRepository.Enums.Direction' for possible+direction values.+-}+argInfoGetDirection ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIArgInfo/@ -}+    -> m GIRepository.Enums.Direction+    {- ^ __Returns:__ the direction -}+argInfoGetDirection info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_arg_info_get_direction info'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr info+    return result'+++-- function g_arg_info_get_destroy+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIArgInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_arg_info_get_destroy" g_arg_info_get_destroy :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtains the index of the 'GI.GLib.Callbacks.DestroyNotify' argument. This is only valid+for arguments which are callbacks.+-}+argInfoGetDestroy ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIArgInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ index of the 'GI.GLib.Callbacks.DestroyNotify' argument or -1 if there is none -}+argInfoGetDestroy info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_arg_info_get_destroy info'+    touchManagedPtr info+    return result+++-- function g_arg_info_get_closure+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIArgInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_arg_info_get_closure" g_arg_info_get_closure :: +    Ptr GIRepository.BaseInfo.BaseInfo ->   -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO Int32++{- |+Obtain the index of the user data argument. This is only valid+for arguments which are callbacks.+-}+argInfoGetClosure ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GIRepository.BaseInfo.BaseInfo+    {- ^ /@info@/: a @/GIArgInfo/@ -}+    -> m Int32+    {- ^ __Returns:__ index of the user data argument or -1 if there is none -}+argInfoGetClosure info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_arg_info_get_closure info'+    touchManagedPtr info+    return result+++
+ GI/GIRepository/Objects.hs view
@@ -0,0 +1,41 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.GIRepository.Objects+    (     module GI.GIRepository.Objects.Repository,+++    ) where++import GI.GIRepository.Objects.Repository++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++
+ GI/GIRepository/Objects/Repository.hs view
@@ -0,0 +1,1461 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++'GI.GIRepository.Objects.Repository.Repository' is used to manage repositories of namespaces. Namespaces+are represented on disk by type libraries (.typelib files).++=== Discovery of type libraries++'GI.GIRepository.Objects.Repository.Repository' will typically look for a @girepository-1.0@ directory+under the library directory used when compiling gobject-introspection.++It is possible to control the search paths programmatically, using+'GI.GIRepository.Objects.Repository.repositoryPrependSearchPath'. It is also possible to modify+the search paths by using the @GI_TYPELIB_PATH@ environment variable.+The environment variable takes precedence over the default search path+and the 'GI.GIRepository.Objects.Repository.repositoryPrependSearchPath' calls.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.GIRepository.Objects.Repository+    ( ++-- * Exported types+    Repository(..)                          ,+    IsRepository                            ,+    toRepository                            ,+    noRepository                            ,+++ -- * Methods+-- ** dump #method:dump#++    repositoryDump                          ,+++-- ** enumerateVersions #method:enumerateVersions#++#if ENABLE_OVERLOADING+    RepositoryEnumerateVersionsMethodInfo   ,+#endif+    repositoryEnumerateVersions             ,+++-- ** errorQuark #method:errorQuark#++    repositoryErrorQuark                    ,+++-- ** findByErrorDomain #method:findByErrorDomain#++#if ENABLE_OVERLOADING+    RepositoryFindByErrorDomainMethodInfo   ,+#endif+    repositoryFindByErrorDomain             ,+++-- ** findByGtype #method:findByGtype#++#if ENABLE_OVERLOADING+    RepositoryFindByGtypeMethodInfo         ,+#endif+    repositoryFindByGtype                   ,+++-- ** findByName #method:findByName#++#if ENABLE_OVERLOADING+    RepositoryFindByNameMethodInfo          ,+#endif+    repositoryFindByName                    ,+++-- ** getCPrefix #method:getCPrefix#++#if ENABLE_OVERLOADING+    RepositoryGetCPrefixMethodInfo          ,+#endif+    repositoryGetCPrefix                    ,+++-- ** getDefault #method:getDefault#++    repositoryGetDefault                    ,+++-- ** getDependencies #method:getDependencies#++#if ENABLE_OVERLOADING+    RepositoryGetDependenciesMethodInfo     ,+#endif+    repositoryGetDependencies               ,+++-- ** getImmediateDependencies #method:getImmediateDependencies#++#if ENABLE_OVERLOADING+    RepositoryGetImmediateDependenciesMethodInfo,+#endif+    repositoryGetImmediateDependencies      ,+++-- ** getInfo #method:getInfo#++#if ENABLE_OVERLOADING+    RepositoryGetInfoMethodInfo             ,+#endif+    repositoryGetInfo                       ,+++-- ** getLoadedNamespaces #method:getLoadedNamespaces#++#if ENABLE_OVERLOADING+    RepositoryGetLoadedNamespacesMethodInfo ,+#endif+    repositoryGetLoadedNamespaces           ,+++-- ** getNInfos #method:getNInfos#++#if ENABLE_OVERLOADING+    RepositoryGetNInfosMethodInfo           ,+#endif+    repositoryGetNInfos                     ,+++-- ** getObjectGtypeInterfaces #method:getObjectGtypeInterfaces#++#if ENABLE_OVERLOADING+    RepositoryGetObjectGtypeInterfacesMethodInfo,+#endif+    repositoryGetObjectGtypeInterfaces      ,+++-- ** getOptionGroup #method:getOptionGroup#++    repositoryGetOptionGroup                ,+++-- ** getSearchPath #method:getSearchPath#++    repositoryGetSearchPath                 ,+++-- ** getSharedLibrary #method:getSharedLibrary#++#if ENABLE_OVERLOADING+    RepositoryGetSharedLibraryMethodInfo    ,+#endif+    repositoryGetSharedLibrary              ,+++-- ** getTypelibPath #method:getTypelibPath#++#if ENABLE_OVERLOADING+    RepositoryGetTypelibPathMethodInfo      ,+#endif+    repositoryGetTypelibPath                ,+++-- ** getVersion #method:getVersion#++#if ENABLE_OVERLOADING+    RepositoryGetVersionMethodInfo          ,+#endif+    repositoryGetVersion                    ,+++-- ** isRegistered #method:isRegistered#++#if ENABLE_OVERLOADING+    RepositoryIsRegisteredMethodInfo        ,+#endif+    repositoryIsRegistered                  ,+++-- ** loadTypelib #method:loadTypelib#++#if ENABLE_OVERLOADING+    RepositoryLoadTypelibMethodInfo         ,+#endif+    repositoryLoadTypelib                   ,+++-- ** prependLibraryPath #method:prependLibraryPath#++    repositoryPrependLibraryPath            ,+++-- ** prependSearchPath #method:prependSearchPath#++    repositoryPrependSearchPath             ,+++-- ** require #method:require#++#if ENABLE_OVERLOADING+    RepositoryRequireMethodInfo             ,+#endif+    repositoryRequire                       ,+++-- ** requirePrivate #method:requirePrivate#++#if ENABLE_OVERLOADING+    RepositoryRequirePrivateMethodInfo      ,+#endif+    repositoryRequirePrivate                ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.GIRepository.Flags as GIRepository.Flags+import {-# SOURCE #-} qualified GI.GIRepository.Structs.BaseInfo as GIRepository.BaseInfo+import {-# SOURCE #-} qualified GI.GIRepository.Structs.Typelib as GIRepository.Typelib+import qualified GI.GLib.Structs.OptionGroup as GLib.OptionGroup+import qualified GI.GObject.Objects.Object as GObject.Object++-- | Memory-managed wrapper type.+newtype Repository = Repository (ManagedPtr Repository)+foreign import ccall "g_irepository_get_type"+    c_g_irepository_get_type :: IO GType++instance GObject Repository where+    gobjectType = c_g_irepository_get_type+    ++-- | Type class for types which can be safely cast to `Repository`, for instance with `toRepository`.+class (GObject o, O.IsDescendantOf Repository o) => IsRepository o+instance (GObject o, O.IsDescendantOf Repository o) => IsRepository o++instance O.HasParentTypes Repository+type instance O.ParentTypes Repository = '[GObject.Object.Object]++-- | Cast to `Repository`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toRepository :: (MonadIO m, IsRepository o) => o -> m Repository+toRepository = liftIO . unsafeCastTo Repository++-- | A convenience alias for `Nothing` :: `Maybe` `Repository`.+noRepository :: Maybe Repository+noRepository = Nothing++#if ENABLE_OVERLOADING+type family ResolveRepositoryMethod (t :: Symbol) (o :: *) :: * where+    ResolveRepositoryMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveRepositoryMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveRepositoryMethod "enumerateVersions" o = RepositoryEnumerateVersionsMethodInfo+    ResolveRepositoryMethod "findByErrorDomain" o = RepositoryFindByErrorDomainMethodInfo+    ResolveRepositoryMethod "findByGtype" o = RepositoryFindByGtypeMethodInfo+    ResolveRepositoryMethod "findByName" o = RepositoryFindByNameMethodInfo+    ResolveRepositoryMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveRepositoryMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveRepositoryMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveRepositoryMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveRepositoryMethod "isRegistered" o = RepositoryIsRegisteredMethodInfo+    ResolveRepositoryMethod "loadTypelib" o = RepositoryLoadTypelibMethodInfo+    ResolveRepositoryMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveRepositoryMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveRepositoryMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveRepositoryMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveRepositoryMethod "require" o = RepositoryRequireMethodInfo+    ResolveRepositoryMethod "requirePrivate" o = RepositoryRequirePrivateMethodInfo+    ResolveRepositoryMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveRepositoryMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveRepositoryMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveRepositoryMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveRepositoryMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveRepositoryMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveRepositoryMethod "getCPrefix" o = RepositoryGetCPrefixMethodInfo+    ResolveRepositoryMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveRepositoryMethod "getDependencies" o = RepositoryGetDependenciesMethodInfo+    ResolveRepositoryMethod "getImmediateDependencies" o = RepositoryGetImmediateDependenciesMethodInfo+    ResolveRepositoryMethod "getInfo" o = RepositoryGetInfoMethodInfo+    ResolveRepositoryMethod "getLoadedNamespaces" o = RepositoryGetLoadedNamespacesMethodInfo+    ResolveRepositoryMethod "getNInfos" o = RepositoryGetNInfosMethodInfo+    ResolveRepositoryMethod "getObjectGtypeInterfaces" o = RepositoryGetObjectGtypeInterfacesMethodInfo+    ResolveRepositoryMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveRepositoryMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveRepositoryMethod "getSharedLibrary" o = RepositoryGetSharedLibraryMethodInfo+    ResolveRepositoryMethod "getTypelibPath" o = RepositoryGetTypelibPathMethodInfo+    ResolveRepositoryMethod "getVersion" o = RepositoryGetVersionMethodInfo+    ResolveRepositoryMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveRepositoryMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveRepositoryMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRepositoryMethod t Repository, O.MethodInfo info Repository p) => OL.IsLabel t (Repository -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList Repository+type instance O.AttributeList Repository = RepositoryAttributeList+type RepositoryAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type instance O.SignalList Repository = RepositorySignalList+type RepositorySignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method Repository::enumerate_versions+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "repository", argType = TInterface (Name {namespace = "GIRepository", name = "Repository"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GIRepository or %NULL for the singleton\n  process-global default #GIRepository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "GI namespace, e.g. \"Gtk\"", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGList (TBasicType TUTF8))+-- throws : False+-- Skip return : False++foreign import ccall "g_irepository_enumerate_versions" g_irepository_enumerate_versions :: +    Ptr Repository ->                       -- repository : TInterface (Name {namespace = "GIRepository", name = "Repository"})+    CString ->                              -- namespace_ : TBasicType TUTF8+    IO (Ptr (GList CString))++{- |+Obtain an unordered list of versions (either currently loaded or+available) for /@namespace_@/ in this /@repository@/.+-}+repositoryEnumerateVersions ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepository a) =>+    a+    {- ^ /@repository@/: A 'GI.GIRepository.Objects.Repository.Repository' or 'Nothing' for the singleton+  process-global default 'GI.GIRepository.Objects.Repository.Repository' -}+    -> T.Text+    {- ^ /@namespace_@/: GI namespace, e.g. \"Gtk\" -}+    -> m [T.Text]+    {- ^ __Returns:__ the array of versions. -}+repositoryEnumerateVersions repository namespace_ = liftIO $ do+    repository' <- unsafeManagedPtrCastPtr repository+    namespace_' <- textToCString namespace_+    result <- g_irepository_enumerate_versions repository' namespace_'+    result' <- unpackGList result+    result'' <- mapM cstringToText result'+    mapGList freeMem result+    g_list_free result+    touchManagedPtr repository+    freeMem namespace_'+    return result''++#if ENABLE_OVERLOADING+data RepositoryEnumerateVersionsMethodInfo+instance (signature ~ (T.Text -> m [T.Text]), MonadIO m, IsRepository a) => O.MethodInfo RepositoryEnumerateVersionsMethodInfo a signature where+    overloadedMethod _ = repositoryEnumerateVersions++#endif++-- method Repository::find_by_error_domain+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "repository", argType = TInterface (Name {namespace = "GIRepository", name = "Repository"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GIRepository or %NULL for the singleton\n  process-global default #GIRepository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "domain", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GError domain", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_irepository_find_by_error_domain" g_irepository_find_by_error_domain :: +    Ptr Repository ->                       -- repository : TInterface (Name {namespace = "GIRepository", name = "Repository"})+    Word32 ->                               -- domain : TBasicType TUInt32+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Searches for the enum type corresponding to the given 'GError'+domain. Before calling this function for a particular namespace,+you must call 'GI.GIRepository.Objects.Repository.repositoryRequire' once to load the namespace, or+otherwise ensure the namespace has already been loaded.++/Since: 1.30/+-}+repositoryFindByErrorDomain ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepository a) =>+    a+    {- ^ /@repository@/: A 'GI.GIRepository.Objects.Repository.Repository' or 'Nothing' for the singleton+  process-global default 'GI.GIRepository.Objects.Repository.Repository' -}+    -> Word32+    {- ^ /@domain@/: a 'GError' domain -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ @/GIEnumInfo/@ representing metadata about /@domain@/\'s+enum type, or 'Nothing' -}+repositoryFindByErrorDomain repository domain = liftIO $ do+    repository' <- unsafeManagedPtrCastPtr repository+    result <- g_irepository_find_by_error_domain repository' domain+    checkUnexpectedReturnNULL "repositoryFindByErrorDomain" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr repository+    return result'++#if ENABLE_OVERLOADING+data RepositoryFindByErrorDomainMethodInfo+instance (signature ~ (Word32 -> m GIRepository.BaseInfo.BaseInfo), MonadIO m, IsRepository a) => O.MethodInfo RepositoryFindByErrorDomainMethodInfo a signature where+    overloadedMethod _ = repositoryFindByErrorDomain++#endif++-- method Repository::find_by_gtype+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "repository", argType = TInterface (Name {namespace = "GIRepository", name = "Repository"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GIRepository or %NULL for the singleton\n  process-global default #GIRepository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gtype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "GType to search for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_irepository_find_by_gtype" g_irepository_find_by_gtype :: +    Ptr Repository ->                       -- repository : TInterface (Name {namespace = "GIRepository", name = "Repository"})+    CGType ->                               -- gtype : TBasicType TGType+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Searches all loaded namespaces for a particular 'GType'.  Note that+in order to locate the metadata, the namespace corresponding to+the type must first have been loaded.  There is currently no+mechanism for determining the namespace which corresponds to an+arbitrary GType - thus, this function will operate most reliably+when you know the GType to originate from be from a loaded namespace.+-}+repositoryFindByGtype ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepository a) =>+    a+    {- ^ /@repository@/: A 'GI.GIRepository.Objects.Repository.Repository' or 'Nothing' for the singleton+  process-global default 'GI.GIRepository.Objects.Repository.Repository' -}+    -> GType+    {- ^ /@gtype@/: GType to search for -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ 'GI.GIRepository.Structs.BaseInfo.BaseInfo' representing metadata about /@type@/, or 'Nothing' -}+repositoryFindByGtype repository gtype = liftIO $ do+    repository' <- unsafeManagedPtrCastPtr repository+    let gtype' = gtypeToCGType gtype+    result <- g_irepository_find_by_gtype repository' gtype'+    checkUnexpectedReturnNULL "repositoryFindByGtype" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr repository+    return result'++#if ENABLE_OVERLOADING+data RepositoryFindByGtypeMethodInfo+instance (signature ~ (GType -> m GIRepository.BaseInfo.BaseInfo), MonadIO m, IsRepository a) => O.MethodInfo RepositoryFindByGtypeMethodInfo a signature where+    overloadedMethod _ = repositoryFindByGtype++#endif++-- method Repository::find_by_name+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "repository", argType = TInterface (Name {namespace = "GIRepository", name = "Repository"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GIRepository or %NULL for the singleton\n  process-global default #GIRepository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Namespace which will be searched", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Entry name to find", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_irepository_find_by_name" g_irepository_find_by_name :: +    Ptr Repository ->                       -- repository : TInterface (Name {namespace = "GIRepository", name = "Repository"})+    CString ->                              -- namespace_ : TBasicType TUTF8+    CString ->                              -- name : TBasicType TUTF8+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+Searches for a particular entry in a namespace.  Before calling+this function for a particular namespace, you must call+'GI.GIRepository.Objects.Repository.repositoryRequire' once to load the namespace, or otherwise+ensure the namespace has already been loaded.+-}+repositoryFindByName ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepository a) =>+    a+    {- ^ /@repository@/: A 'GI.GIRepository.Objects.Repository.Repository' or 'Nothing' for the singleton+  process-global default 'GI.GIRepository.Objects.Repository.Repository' -}+    -> T.Text+    {- ^ /@namespace_@/: Namespace which will be searched -}+    -> T.Text+    {- ^ /@name@/: Entry name to find -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ 'GI.GIRepository.Structs.BaseInfo.BaseInfo' representing metadata about /@name@/, or 'Nothing' -}+repositoryFindByName repository namespace_ name = liftIO $ do+    repository' <- unsafeManagedPtrCastPtr repository+    namespace_' <- textToCString namespace_+    name' <- textToCString name+    result <- g_irepository_find_by_name repository' namespace_' name'+    checkUnexpectedReturnNULL "repositoryFindByName" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr repository+    freeMem namespace_'+    freeMem name'+    return result'++#if ENABLE_OVERLOADING+data RepositoryFindByNameMethodInfo+instance (signature ~ (T.Text -> T.Text -> m GIRepository.BaseInfo.BaseInfo), MonadIO m, IsRepository a) => O.MethodInfo RepositoryFindByNameMethodInfo a signature where+    overloadedMethod _ = repositoryFindByName++#endif++-- method Repository::get_c_prefix+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "repository", argType = TInterface (Name {namespace = "GIRepository", name = "Repository"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GIRepository or %NULL for the singleton\n  process-global default #GIRepository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Namespace to inspect", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "g_irepository_get_c_prefix" g_irepository_get_c_prefix :: +    Ptr Repository ->                       -- repository : TInterface (Name {namespace = "GIRepository", name = "Repository"})+    CString ->                              -- namespace_ : TBasicType TUTF8+    IO CString++{- |+This function returns the \"C prefix\", or the C level namespace+associated with the given introspection namespace.  Each C symbol+starts with this prefix, as well each 'GType' in the library.++Note: The namespace must have already been loaded using a function+such as 'GI.GIRepository.Objects.Repository.repositoryRequire' before calling this function.+-}+repositoryGetCPrefix ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepository a) =>+    a+    {- ^ /@repository@/: A 'GI.GIRepository.Objects.Repository.Repository' or 'Nothing' for the singleton+  process-global default 'GI.GIRepository.Objects.Repository.Repository' -}+    -> T.Text+    {- ^ /@namespace_@/: Namespace to inspect -}+    -> m T.Text+    {- ^ __Returns:__ C namespace prefix, or 'Nothing' if none associated -}+repositoryGetCPrefix repository namespace_ = liftIO $ do+    repository' <- unsafeManagedPtrCastPtr repository+    namespace_' <- textToCString namespace_+    result <- g_irepository_get_c_prefix repository' namespace_'+    checkUnexpectedReturnNULL "repositoryGetCPrefix" result+    result' <- cstringToText result+    touchManagedPtr repository+    freeMem namespace_'+    return result'++#if ENABLE_OVERLOADING+data RepositoryGetCPrefixMethodInfo+instance (signature ~ (T.Text -> m T.Text), MonadIO m, IsRepository a) => O.MethodInfo RepositoryGetCPrefixMethodInfo a signature where+    overloadedMethod _ = repositoryGetCPrefix++#endif++-- method Repository::get_dependencies+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "repository", argType = TInterface (Name {namespace = "GIRepository", name = "Repository"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GIRepository or %NULL for the singleton\n  process-global default #GIRepository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Namespace of interest", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))+-- throws : False+-- Skip return : False++foreign import ccall "g_irepository_get_dependencies" g_irepository_get_dependencies :: +    Ptr Repository ->                       -- repository : TInterface (Name {namespace = "GIRepository", name = "Repository"})+    CString ->                              -- namespace_ : TBasicType TUTF8+    IO (Ptr CString)++{- |+Return an array of all (transitive) versioned dependencies for+/@namespace_@/. Returned strings are of the form+\<code>namespace-version\<\/code>.++Note: /@namespace_@/ must have already been loaded using a function+such as 'GI.GIRepository.Objects.Repository.repositoryRequire' before calling this function.++To get only the immediate dependencies for /@namespace_@/, use+'GI.GIRepository.Objects.Repository.repositoryGetImmediateDependencies'.+-}+repositoryGetDependencies ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepository a) =>+    a+    {- ^ /@repository@/: A 'GI.GIRepository.Objects.Repository.Repository' or 'Nothing' for the singleton+  process-global default 'GI.GIRepository.Objects.Repository.Repository' -}+    -> T.Text+    {- ^ /@namespace_@/: Namespace of interest -}+    -> m [T.Text]+    {- ^ __Returns:__ Zero-terminated string array of all versioned+  dependencies -}+repositoryGetDependencies repository namespace_ = liftIO $ do+    repository' <- unsafeManagedPtrCastPtr repository+    namespace_' <- textToCString namespace_+    result <- g_irepository_get_dependencies repository' namespace_'+    checkUnexpectedReturnNULL "repositoryGetDependencies" result+    result' <- unpackZeroTerminatedUTF8CArray result+    mapZeroTerminatedCArray freeMem result+    freeMem result+    touchManagedPtr repository+    freeMem namespace_'+    return result'++#if ENABLE_OVERLOADING+data RepositoryGetDependenciesMethodInfo+instance (signature ~ (T.Text -> m [T.Text]), MonadIO m, IsRepository a) => O.MethodInfo RepositoryGetDependenciesMethodInfo a signature where+    overloadedMethod _ = repositoryGetDependencies++#endif++-- method Repository::get_immediate_dependencies+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "repository", argType = TInterface (Name {namespace = "GIRepository", name = "Repository"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GIRepository or %NULL for the singleton\n  process-global default #GIRepository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Namespace of interest", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))+-- throws : False+-- Skip return : False++foreign import ccall "g_irepository_get_immediate_dependencies" g_irepository_get_immediate_dependencies :: +    Ptr Repository ->                       -- repository : TInterface (Name {namespace = "GIRepository", name = "Repository"})+    CString ->                              -- namespace_ : TBasicType TUTF8+    IO (Ptr CString)++{- |+Return an array of the immediate versioned dependencies for /@namespace_@/.+Returned strings are of the form \<code>namespace-version\<\/code>.++Note: /@namespace_@/ must have already been loaded using a function+such as 'GI.GIRepository.Objects.Repository.repositoryRequire' before calling this function.++To get the transitive closure of dependencies for /@namespace_@/, use+'GI.GIRepository.Objects.Repository.repositoryGetDependencies'.++/Since: 1.44/+-}+repositoryGetImmediateDependencies ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepository a) =>+    a+    {- ^ /@repository@/: A 'GI.GIRepository.Objects.Repository.Repository' or 'Nothing' for the singleton+  process-global default 'GI.GIRepository.Objects.Repository.Repository' -}+    -> T.Text+    {- ^ /@namespace_@/: Namespace of interest -}+    -> m [T.Text]+    {- ^ __Returns:__ Zero-terminated string array of immediate versioned+  dependencies -}+repositoryGetImmediateDependencies repository namespace_ = liftIO $ do+    repository' <- unsafeManagedPtrCastPtr repository+    namespace_' <- textToCString namespace_+    result <- g_irepository_get_immediate_dependencies repository' namespace_'+    checkUnexpectedReturnNULL "repositoryGetImmediateDependencies" result+    result' <- unpackZeroTerminatedUTF8CArray result+    mapZeroTerminatedCArray freeMem result+    freeMem result+    touchManagedPtr repository+    freeMem namespace_'+    return result'++#if ENABLE_OVERLOADING+data RepositoryGetImmediateDependenciesMethodInfo+instance (signature ~ (T.Text -> m [T.Text]), MonadIO m, IsRepository a) => O.MethodInfo RepositoryGetImmediateDependenciesMethodInfo a signature where+    overloadedMethod _ = repositoryGetImmediateDependencies++#endif++-- method Repository::get_info+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "repository", argType = TInterface (Name {namespace = "GIRepository", name = "Repository"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GIRepository or %NULL for the singleton\n  process-global default #GIRepository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Namespace to inspect", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "0-based offset into namespace metadata for entry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_irepository_get_info" g_irepository_get_info :: +    Ptr Repository ->                       -- repository : TInterface (Name {namespace = "GIRepository", name = "Repository"})+    CString ->                              -- namespace_ : TBasicType TUTF8+    Int32 ->                                -- index : TBasicType TInt+    IO (Ptr GIRepository.BaseInfo.BaseInfo)++{- |+This function returns a particular metadata entry in the+given namespace /@namespace_@/.  The namespace must have+already been loaded before calling this function.+See 'GI.GIRepository.Objects.Repository.repositoryGetNInfos' to find the maximum number of+entries.+-}+repositoryGetInfo ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepository a) =>+    a+    {- ^ /@repository@/: A 'GI.GIRepository.Objects.Repository.Repository' or 'Nothing' for the singleton+  process-global default 'GI.GIRepository.Objects.Repository.Repository' -}+    -> T.Text+    {- ^ /@namespace_@/: Namespace to inspect -}+    -> Int32+    {- ^ /@index@/: 0-based offset into namespace metadata for entry -}+    -> m GIRepository.BaseInfo.BaseInfo+    {- ^ __Returns:__ 'GI.GIRepository.Structs.BaseInfo.BaseInfo' containing metadata -}+repositoryGetInfo repository namespace_ index = liftIO $ do+    repository' <- unsafeManagedPtrCastPtr repository+    namespace_' <- textToCString namespace_+    result <- g_irepository_get_info repository' namespace_' index+    checkUnexpectedReturnNULL "repositoryGetInfo" result+    result' <- (wrapBoxed GIRepository.BaseInfo.BaseInfo) result+    touchManagedPtr repository+    freeMem namespace_'+    return result'++#if ENABLE_OVERLOADING+data RepositoryGetInfoMethodInfo+instance (signature ~ (T.Text -> Int32 -> m GIRepository.BaseInfo.BaseInfo), MonadIO m, IsRepository a) => O.MethodInfo RepositoryGetInfoMethodInfo a signature where+    overloadedMethod _ = repositoryGetInfo++#endif++-- method Repository::get_loaded_namespaces+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "repository", argType = TInterface (Name {namespace = "GIRepository", name = "Repository"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GIRepository or %NULL for the singleton\n  process-global default #GIRepository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))+-- throws : False+-- Skip return : False++foreign import ccall "g_irepository_get_loaded_namespaces" g_irepository_get_loaded_namespaces :: +    Ptr Repository ->                       -- repository : TInterface (Name {namespace = "GIRepository", name = "Repository"})+    IO (Ptr CString)++{- |+Return the list of currently loaded namespaces.+-}+repositoryGetLoadedNamespaces ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepository a) =>+    a+    {- ^ /@repository@/: A 'GI.GIRepository.Objects.Repository.Repository' or 'Nothing' for the singleton+  process-global default 'GI.GIRepository.Objects.Repository.Repository' -}+    -> m [T.Text]+    {- ^ __Returns:__ List of namespaces -}+repositoryGetLoadedNamespaces repository = liftIO $ do+    repository' <- unsafeManagedPtrCastPtr repository+    result <- g_irepository_get_loaded_namespaces repository'+    checkUnexpectedReturnNULL "repositoryGetLoadedNamespaces" result+    result' <- unpackZeroTerminatedUTF8CArray result+    mapZeroTerminatedCArray freeMem result+    freeMem result+    touchManagedPtr repository+    return result'++#if ENABLE_OVERLOADING+data RepositoryGetLoadedNamespacesMethodInfo+instance (signature ~ (m [T.Text]), MonadIO m, IsRepository a) => O.MethodInfo RepositoryGetLoadedNamespacesMethodInfo a signature where+    overloadedMethod _ = repositoryGetLoadedNamespaces++#endif++-- method Repository::get_n_infos+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "repository", argType = TInterface (Name {namespace = "GIRepository", name = "Repository"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GIRepository or %NULL for the singleton\n  process-global default #GIRepository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Namespace to inspect", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TInt)+-- throws : False+-- Skip return : False++foreign import ccall "g_irepository_get_n_infos" g_irepository_get_n_infos :: +    Ptr Repository ->                       -- repository : TInterface (Name {namespace = "GIRepository", name = "Repository"})+    CString ->                              -- namespace_ : TBasicType TUTF8+    IO Int32++{- |+This function returns the number of metadata entries in+given namespace /@namespace_@/.  The namespace must have+already been loaded before calling this function.+-}+repositoryGetNInfos ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepository a) =>+    a+    {- ^ /@repository@/: A 'GI.GIRepository.Objects.Repository.Repository' or 'Nothing' for the singleton+  process-global default 'GI.GIRepository.Objects.Repository.Repository' -}+    -> T.Text+    {- ^ /@namespace_@/: Namespace to inspect -}+    -> m Int32+    {- ^ __Returns:__ number of metadata entries -}+repositoryGetNInfos repository namespace_ = liftIO $ do+    repository' <- unsafeManagedPtrCastPtr repository+    namespace_' <- textToCString namespace_+    result <- g_irepository_get_n_infos repository' namespace_'+    touchManagedPtr repository+    freeMem namespace_'+    return result++#if ENABLE_OVERLOADING+data RepositoryGetNInfosMethodInfo+instance (signature ~ (T.Text -> m Int32), MonadIO m, IsRepository a) => O.MethodInfo RepositoryGetNInfosMethodInfo a signature where+    overloadedMethod _ = repositoryGetNInfos++#endif++-- method Repository::get_object_gtype_interfaces+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "repository", argType = TInterface (Name {namespace = "GIRepository", name = "Repository"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIRepository, or %NULL for the default repository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "gtype", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GType whose fundamental type is G_TYPE_OBJECT", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_interfaces_out", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of interfaces", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "interfaces_out", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Interfaces for @gtype", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : [Arg {argCName = "n_interfaces_out", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of interfaces", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "g_irepository_get_object_gtype_interfaces" g_irepository_get_object_gtype_interfaces :: +    Ptr Repository ->                       -- repository : TInterface (Name {namespace = "GIRepository", name = "Repository"})+    CGType ->                               -- gtype : TBasicType TGType+    Ptr Word32 ->                           -- n_interfaces_out : TBasicType TUInt+    Ptr (Ptr GIRepository.BaseInfo.BaseInfo) -> -- interfaces_out : TCArray False (-1) 2 (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+    IO ()++{- |+Look up the implemented interfaces for /@gtype@/.  This function+cannot fail per se; but for a totally \"unknown\" 'GType', it may+return 0 implemented interfaces.++The semantics of this function are designed for a dynamic binding,+where in certain cases (such as a function which returns an+interface which may have \"hidden\" implementation classes), not all+data may be statically known, and will have to be determined from+the 'GType' of the object.  An example is @/g_file_new_for_path()/@+returning a concrete class of @/GLocalFile/@, which is a 'GType' we+see at runtime, but not statically.++/Since: 1.60/+-}+repositoryGetObjectGtypeInterfaces ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepository a) =>+    a+    {- ^ /@repository@/: a 'GI.GIRepository.Objects.Repository.Repository', or 'Nothing' for the default repository -}+    -> GType+    {- ^ /@gtype@/: a 'GType' whose fundamental type is G_TYPE_OBJECT -}+    -> m ([GIRepository.BaseInfo.BaseInfo])+repositoryGetObjectGtypeInterfaces repository gtype = liftIO $ do+    repository' <- unsafeManagedPtrCastPtr repository+    let gtype' = gtypeToCGType gtype+    nInterfacesOut <- allocMem :: IO (Ptr Word32)+    interfacesOut <- allocMem :: IO (Ptr (Ptr GIRepository.BaseInfo.BaseInfo))+    g_irepository_get_object_gtype_interfaces repository' gtype' nInterfacesOut interfacesOut+    nInterfacesOut' <- peek nInterfacesOut+    interfacesOut' <- peek interfacesOut+    interfacesOut'' <- (unpackBoxedArrayWithLength 72 nInterfacesOut') interfacesOut'+    interfacesOut''' <- mapM (newBoxed GIRepository.BaseInfo.BaseInfo) interfacesOut''+    touchManagedPtr repository+    freeMem nInterfacesOut+    freeMem interfacesOut+    return interfacesOut'''++#if ENABLE_OVERLOADING+data RepositoryGetObjectGtypeInterfacesMethodInfo+instance (signature ~ (GType -> m ([GIRepository.BaseInfo.BaseInfo])), MonadIO m, IsRepository a) => O.MethodInfo RepositoryGetObjectGtypeInterfacesMethodInfo a signature where+    overloadedMethod _ = repositoryGetObjectGtypeInterfaces++#endif++-- method Repository::get_shared_library+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "repository", argType = TInterface (Name {namespace = "GIRepository", name = "Repository"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GIRepository or %NULL for the singleton\n  process-global default #GIRepository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Namespace to inspect", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "g_irepository_get_shared_library" g_irepository_get_shared_library :: +    Ptr Repository ->                       -- repository : TInterface (Name {namespace = "GIRepository", name = "Repository"})+    CString ->                              -- namespace_ : TBasicType TUTF8+    IO CString++{- |+This function returns a comma-separated list of paths to the+shared C libraries associated with the given namespace /@namespace_@/.+There may be no shared library path associated, in which case this+function will return 'Nothing'.++Note: The namespace must have already been loaded using a function+such as 'GI.GIRepository.Objects.Repository.repositoryRequire' before calling this function.+-}+repositoryGetSharedLibrary ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepository a) =>+    a+    {- ^ /@repository@/: A 'GI.GIRepository.Objects.Repository.Repository' or 'Nothing' for the singleton+  process-global default 'GI.GIRepository.Objects.Repository.Repository' -}+    -> T.Text+    {- ^ /@namespace_@/: Namespace to inspect -}+    -> m T.Text+    {- ^ __Returns:__ Comma-separated list of paths to shared libraries,+  or 'Nothing' if none are associated -}+repositoryGetSharedLibrary repository namespace_ = liftIO $ do+    repository' <- unsafeManagedPtrCastPtr repository+    namespace_' <- textToCString namespace_+    result <- g_irepository_get_shared_library repository' namespace_'+    checkUnexpectedReturnNULL "repositoryGetSharedLibrary" result+    result' <- cstringToText result+    touchManagedPtr repository+    freeMem namespace_'+    return result'++#if ENABLE_OVERLOADING+data RepositoryGetSharedLibraryMethodInfo+instance (signature ~ (T.Text -> m T.Text), MonadIO m, IsRepository a) => O.MethodInfo RepositoryGetSharedLibraryMethodInfo a signature where+    overloadedMethod _ = repositoryGetSharedLibrary++#endif++-- method Repository::get_typelib_path+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "repository", argType = TInterface (Name {namespace = "GIRepository", name = "Repository"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GIRepository or %NULL for the singleton\n  process-global default #GIRepository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "GI namespace to use, e.g. \"Gtk\"", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "g_irepository_get_typelib_path" g_irepository_get_typelib_path :: +    Ptr Repository ->                       -- repository : TInterface (Name {namespace = "GIRepository", name = "Repository"})+    CString ->                              -- namespace_ : TBasicType TUTF8+    IO CString++{- |+If namespace /@namespace_@/ is loaded, return the full path to the+.typelib file it was loaded from.  If the typelib for+namespace /@namespace_@/ was included in a shared library, return+the special string \"&lt;builtin&gt;\".+-}+repositoryGetTypelibPath ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepository a) =>+    a+    {- ^ /@repository@/: A 'GI.GIRepository.Objects.Repository.Repository' or 'Nothing' for the singleton+  process-global default 'GI.GIRepository.Objects.Repository.Repository' -}+    -> T.Text+    {- ^ /@namespace_@/: GI namespace to use, e.g. \"Gtk\" -}+    -> m T.Text+    {- ^ __Returns:__ Filesystem path (or $lt;builtin$gt;) if successful, 'Nothing' if namespace is not loaded -}+repositoryGetTypelibPath repository namespace_ = liftIO $ do+    repository' <- unsafeManagedPtrCastPtr repository+    namespace_' <- textToCString namespace_+    result <- g_irepository_get_typelib_path repository' namespace_'+    checkUnexpectedReturnNULL "repositoryGetTypelibPath" result+    result' <- cstringToText result+    touchManagedPtr repository+    freeMem namespace_'+    return result'++#if ENABLE_OVERLOADING+data RepositoryGetTypelibPathMethodInfo+instance (signature ~ (T.Text -> m T.Text), MonadIO m, IsRepository a) => O.MethodInfo RepositoryGetTypelibPathMethodInfo a signature where+    overloadedMethod _ = repositoryGetTypelibPath++#endif++-- method Repository::get_version+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "repository", argType = TInterface (Name {namespace = "GIRepository", name = "Repository"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GIRepository or %NULL for the singleton\n  process-global default #GIRepository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Namespace to inspect", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "g_irepository_get_version" g_irepository_get_version :: +    Ptr Repository ->                       -- repository : TInterface (Name {namespace = "GIRepository", name = "Repository"})+    CString ->                              -- namespace_ : TBasicType TUTF8+    IO CString++{- |+This function returns the loaded version associated with the given+namespace /@namespace_@/.++Note: The namespace must have already been loaded using a function+such as 'GI.GIRepository.Objects.Repository.repositoryRequire' before calling this function.+-}+repositoryGetVersion ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepository a) =>+    a+    {- ^ /@repository@/: A 'GI.GIRepository.Objects.Repository.Repository' or 'Nothing' for the singleton+  process-global default 'GI.GIRepository.Objects.Repository.Repository' -}+    -> T.Text+    {- ^ /@namespace_@/: Namespace to inspect -}+    -> m T.Text+    {- ^ __Returns:__ Loaded version -}+repositoryGetVersion repository namespace_ = liftIO $ do+    repository' <- unsafeManagedPtrCastPtr repository+    namespace_' <- textToCString namespace_+    result <- g_irepository_get_version repository' namespace_'+    checkUnexpectedReturnNULL "repositoryGetVersion" result+    result' <- cstringToText result+    touchManagedPtr repository+    freeMem namespace_'+    return result'++#if ENABLE_OVERLOADING+data RepositoryGetVersionMethodInfo+instance (signature ~ (T.Text -> m T.Text), MonadIO m, IsRepository a) => O.MethodInfo RepositoryGetVersionMethodInfo a signature where+    overloadedMethod _ = repositoryGetVersion++#endif++-- method Repository::is_registered+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "repository", argType = TInterface (Name {namespace = "GIRepository", name = "Repository"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GIRepository or %NULL for the singleton\n  process-global default #GIRepository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Namespace of interest", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Required version, may be %NULL for latest", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "g_irepository_is_registered" g_irepository_is_registered :: +    Ptr Repository ->                       -- repository : TInterface (Name {namespace = "GIRepository", name = "Repository"})+    CString ->                              -- namespace_ : TBasicType TUTF8+    CString ->                              -- version : TBasicType TUTF8+    IO CInt++{- |+Check whether a particular namespace (and optionally, a specific+version thereof) is currently loaded.  This function is likely to+only be useful in unusual circumstances; in order to act upon+metadata in the namespace, you should call 'GI.GIRepository.Objects.Repository.repositoryRequire'+instead which will ensure the namespace is loaded, and return as+quickly as this function will if it has already been loaded.+-}+repositoryIsRegistered ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepository a) =>+    a+    {- ^ /@repository@/: A 'GI.GIRepository.Objects.Repository.Repository' or 'Nothing' for the singleton+  process-global default 'GI.GIRepository.Objects.Repository.Repository' -}+    -> T.Text+    {- ^ /@namespace_@/: Namespace of interest -}+    -> Maybe (T.Text)+    {- ^ /@version@/: Required version, may be 'Nothing' for latest -}+    -> m Bool+    {- ^ __Returns:__ 'True' if namespace-version is loaded, 'False' otherwise -}+repositoryIsRegistered repository namespace_ version = liftIO $ do+    repository' <- unsafeManagedPtrCastPtr repository+    namespace_' <- textToCString namespace_+    maybeVersion <- case version of+        Nothing -> return nullPtr+        Just jVersion -> do+            jVersion' <- textToCString jVersion+            return jVersion'+    result <- g_irepository_is_registered repository' namespace_' maybeVersion+    let result' = (/= 0) result+    touchManagedPtr repository+    freeMem namespace_'+    freeMem maybeVersion+    return result'++#if ENABLE_OVERLOADING+data RepositoryIsRegisteredMethodInfo+instance (signature ~ (T.Text -> Maybe (T.Text) -> m Bool), MonadIO m, IsRepository a) => O.MethodInfo RepositoryIsRegisteredMethodInfo a signature where+    overloadedMethod _ = repositoryIsRegistered++#endif++-- method Repository::load_typelib+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "repository", argType = TInterface (Name {namespace = "GIRepository", name = "Repository"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GIRepository or %NULL for the singleton\n  process-global default #GIRepository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "typelib", argType = TInterface (Name {namespace = "GIRepository", name = "Typelib"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "TODO", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GIRepository", name = "RepositoryLoadFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "TODO", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : True+-- Skip return : False++foreign import ccall "g_irepository_load_typelib" g_irepository_load_typelib :: +    Ptr Repository ->                       -- repository : TInterface (Name {namespace = "GIRepository", name = "Repository"})+    Ptr GIRepository.Typelib.Typelib ->     -- typelib : TInterface (Name {namespace = "GIRepository", name = "Typelib"})+    CUInt ->                                -- flags : TInterface (Name {namespace = "GIRepository", name = "RepositoryLoadFlags"})+    Ptr (Ptr GError) ->                     -- error+    IO CString++{- |+TODO+-}+repositoryLoadTypelib ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepository a) =>+    a+    {- ^ /@repository@/: A 'GI.GIRepository.Objects.Repository.Repository' or 'Nothing' for the singleton+  process-global default 'GI.GIRepository.Objects.Repository.Repository' -}+    -> GIRepository.Typelib.Typelib+    {- ^ /@typelib@/: TODO -}+    -> [GIRepository.Flags.RepositoryLoadFlags]+    {- ^ /@flags@/: TODO -}+    -> m T.Text+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repositoryLoadTypelib repository typelib flags = liftIO $ do+    repository' <- unsafeManagedPtrCastPtr repository+    typelib' <- unsafeManagedPtrGetPtr typelib+    let flags' = gflagsToWord flags+    onException (do+        result <- propagateGError $ g_irepository_load_typelib repository' typelib' flags'+        checkUnexpectedReturnNULL "repositoryLoadTypelib" result+        result' <- cstringToText result+        touchManagedPtr repository+        touchManagedPtr typelib+        return result'+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepositoryLoadTypelibMethodInfo+instance (signature ~ (GIRepository.Typelib.Typelib -> [GIRepository.Flags.RepositoryLoadFlags] -> m T.Text), MonadIO m, IsRepository a) => O.MethodInfo RepositoryLoadTypelibMethodInfo a signature where+    overloadedMethod _ = repositoryLoadTypelib++#endif++-- method Repository::require+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "repository", argType = TInterface (Name {namespace = "GIRepository", name = "Repository"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GIRepository or %NULL for the singleton\n  process-global default #GIRepository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "GI namespace to use, e.g. \"Gtk\"", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Version of namespace, may be %NULL for latest", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GIRepository", name = "RepositoryLoadFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Set of %GIRepositoryLoadFlags, may be 0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "Typelib"}))+-- throws : True+-- Skip return : False++foreign import ccall "g_irepository_require" g_irepository_require :: +    Ptr Repository ->                       -- repository : TInterface (Name {namespace = "GIRepository", name = "Repository"})+    CString ->                              -- namespace_ : TBasicType TUTF8+    CString ->                              -- version : TBasicType TUTF8+    CUInt ->                                -- flags : TInterface (Name {namespace = "GIRepository", name = "RepositoryLoadFlags"})+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr GIRepository.Typelib.Typelib)++{- |+Force the namespace /@namespace_@/ to be loaded if it isn\'t already.+If /@namespace_@/ is not loaded, this function will search for a+\".typelib\" file using the repository search path.  In addition, a+version /@version@/ of namespace may be specified.  If /@version@/ is+not specified, the latest will be used.+-}+repositoryRequire ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepository a) =>+    a+    {- ^ /@repository@/: A 'GI.GIRepository.Objects.Repository.Repository' or 'Nothing' for the singleton+  process-global default 'GI.GIRepository.Objects.Repository.Repository' -}+    -> T.Text+    {- ^ /@namespace_@/: GI namespace to use, e.g. \"Gtk\" -}+    -> Maybe (T.Text)+    {- ^ /@version@/: Version of namespace, may be 'Nothing' for latest -}+    -> [GIRepository.Flags.RepositoryLoadFlags]+    {- ^ /@flags@/: Set of @/GIRepositoryLoadFlags/@, may be 0 -}+    -> m GIRepository.Typelib.Typelib+    {- ^ __Returns:__ a pointer to the 'GI.GIRepository.Structs.Typelib.Typelib' if successful, 'Nothing' otherwise /(Can throw 'Data.GI.Base.GError.GError')/ -}+repositoryRequire repository namespace_ version flags = liftIO $ do+    repository' <- unsafeManagedPtrCastPtr repository+    namespace_' <- textToCString namespace_+    maybeVersion <- case version of+        Nothing -> return nullPtr+        Just jVersion -> do+            jVersion' <- textToCString jVersion+            return jVersion'+    let flags' = gflagsToWord flags+    onException (do+        result <- propagateGError $ g_irepository_require repository' namespace_' maybeVersion flags'+        checkUnexpectedReturnNULL "repositoryRequire" result+        result' <- (newPtr GIRepository.Typelib.Typelib) result+        touchManagedPtr repository+        freeMem namespace_'+        freeMem maybeVersion+        return result'+     ) (do+        freeMem namespace_'+        freeMem maybeVersion+     )++#if ENABLE_OVERLOADING+data RepositoryRequireMethodInfo+instance (signature ~ (T.Text -> Maybe (T.Text) -> [GIRepository.Flags.RepositoryLoadFlags] -> m GIRepository.Typelib.Typelib), MonadIO m, IsRepository a) => O.MethodInfo RepositoryRequireMethodInfo a signature where+    overloadedMethod _ = repositoryRequire++#endif++-- method Repository::require_private+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "repository", argType = TInterface (Name {namespace = "GIRepository", name = "Repository"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GIRepository or %NULL for the singleton\n  process-global default #GIRepository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "typelib_dir", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Private directory where to find the requested typelib", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "namespace_", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "GI namespace to use, e.g. \"Gtk\"", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "version", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Version of namespace, may be %NULL for latest", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GIRepository", name = "RepositoryLoadFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Set of %GIRepositoryLoadFlags, may be 0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "Typelib"}))+-- throws : True+-- Skip return : False++foreign import ccall "g_irepository_require_private" g_irepository_require_private :: +    Ptr Repository ->                       -- repository : TInterface (Name {namespace = "GIRepository", name = "Repository"})+    CString ->                              -- typelib_dir : TBasicType TUTF8+    CString ->                              -- namespace_ : TBasicType TUTF8+    CString ->                              -- version : TBasicType TUTF8+    CUInt ->                                -- flags : TInterface (Name {namespace = "GIRepository", name = "RepositoryLoadFlags"})+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr GIRepository.Typelib.Typelib)++{- |+Force the namespace /@namespace_@/ to be loaded if it isn\'t already.+If /@namespace_@/ is not loaded, this function will search for a+\".typelib\" file within the private directory only. In addition, a+version /@version@/ of namespace should be specified.  If /@version@/ is+not specified, the latest will be used.+-}+repositoryRequirePrivate ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepository a) =>+    a+    {- ^ /@repository@/: A 'GI.GIRepository.Objects.Repository.Repository' or 'Nothing' for the singleton+  process-global default 'GI.GIRepository.Objects.Repository.Repository' -}+    -> T.Text+    {- ^ /@typelibDir@/: Private directory where to find the requested typelib -}+    -> T.Text+    {- ^ /@namespace_@/: GI namespace to use, e.g. \"Gtk\" -}+    -> Maybe (T.Text)+    {- ^ /@version@/: Version of namespace, may be 'Nothing' for latest -}+    -> [GIRepository.Flags.RepositoryLoadFlags]+    {- ^ /@flags@/: Set of @/GIRepositoryLoadFlags/@, may be 0 -}+    -> m GIRepository.Typelib.Typelib+    {- ^ __Returns:__ a pointer to the 'GI.GIRepository.Structs.Typelib.Typelib' if successful, 'Nothing' otherwise /(Can throw 'Data.GI.Base.GError.GError')/ -}+repositoryRequirePrivate repository typelibDir namespace_ version flags = liftIO $ do+    repository' <- unsafeManagedPtrCastPtr repository+    typelibDir' <- textToCString typelibDir+    namespace_' <- textToCString namespace_+    maybeVersion <- case version of+        Nothing -> return nullPtr+        Just jVersion -> do+            jVersion' <- textToCString jVersion+            return jVersion'+    let flags' = gflagsToWord flags+    onException (do+        result <- propagateGError $ g_irepository_require_private repository' typelibDir' namespace_' maybeVersion flags'+        checkUnexpectedReturnNULL "repositoryRequirePrivate" result+        result' <- (newPtr GIRepository.Typelib.Typelib) result+        touchManagedPtr repository+        freeMem typelibDir'+        freeMem namespace_'+        freeMem maybeVersion+        return result'+     ) (do+        freeMem typelibDir'+        freeMem namespace_'+        freeMem maybeVersion+     )++#if ENABLE_OVERLOADING+data RepositoryRequirePrivateMethodInfo+instance (signature ~ (T.Text -> T.Text -> Maybe (T.Text) -> [GIRepository.Flags.RepositoryLoadFlags] -> m GIRepository.Typelib.Typelib), MonadIO m, IsRepository a) => O.MethodInfo RepositoryRequirePrivateMethodInfo a signature where+    overloadedMethod _ = repositoryRequirePrivate++#endif++-- method Repository::dump+-- method type : MemberFunction+-- Args : [Arg {argCName = "arg", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "g_irepository_dump" g_irepository_dump :: +    CString ->                              -- arg : TBasicType TUTF8+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+/No description available in the introspection data./+-}+repositoryDump ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repositoryDump arg = liftIO $ do+    arg' <- textToCString arg+    onException (do+        _ <- propagateGError $ g_irepository_dump arg'+        freeMem arg'+        return ()+     ) (do+        freeMem arg'+     )++#if ENABLE_OVERLOADING+#endif++-- method Repository::error_quark+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : Just (TBasicType TUInt32)+-- throws : False+-- Skip return : False++foreign import ccall "g_irepository_error_quark" g_irepository_error_quark :: +    IO Word32++{- |+/No description available in the introspection data./+-}+repositoryErrorQuark ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m Word32+repositoryErrorQuark  = liftIO $ do+    result <- g_irepository_error_quark+    return result++#if ENABLE_OVERLOADING+#endif++-- method Repository::get_default+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "Repository"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_irepository_get_default" g_irepository_get_default :: +    IO (Ptr Repository)++{- |+Returns the singleton process-global default 'GI.GIRepository.Objects.Repository.Repository'. It is+not currently supported to have multiple repositories in a+particular process, but this function is provided in the unlikely+eventuality that it would become possible, and as a convenience for+higher level language bindings to conform to the GObject method+call conventions.++All methods on 'GI.GIRepository.Objects.Repository.Repository' also accept 'Nothing' as an instance+parameter to mean this default repository, which is usually more+convenient for C.+-}+repositoryGetDefault ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m Repository+    {- ^ __Returns:__ The global singleton 'GI.GIRepository.Objects.Repository.Repository' -}+repositoryGetDefault  = liftIO $ do+    result <- g_irepository_get_default+    checkUnexpectedReturnNULL "repositoryGetDefault" result+    result' <- (newObject Repository) result+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Repository::get_option_group+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GLib", name = "OptionGroup"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_irepository_get_option_group" g_irepository_get_option_group :: +    IO (Ptr GLib.OptionGroup.OptionGroup)++{- |+Obtain the option group for girepository, it\'s used+by the dumper and for programs that wants to provide+introspection information+-}+repositoryGetOptionGroup ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m GLib.OptionGroup.OptionGroup+    {- ^ __Returns:__ the option group -}+repositoryGetOptionGroup  = liftIO $ do+    result <- g_irepository_get_option_group+    checkUnexpectedReturnNULL "repositoryGetOptionGroup" result+    result' <- (wrapBoxed GLib.OptionGroup.OptionGroup) result+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Repository::get_search_path+-- method type : MemberFunction+-- Args : []+-- Lengths : []+-- returnType : Just (TGSList (TBasicType TFileName))+-- throws : False+-- Skip return : False++foreign import ccall "g_irepository_get_search_path" g_irepository_get_search_path :: +    IO (Ptr (GSList CString))++{- |+Returns the current search path 'GI.GIRepository.Objects.Repository.Repository' will use when loading+typelib files. The list is internal to 'GI.GIRepository.Objects.Repository.Repository' and should not+be freed, nor should its string elements.+-}+repositoryGetSearchPath ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m [[Char]]+    {- ^ __Returns:__ 'GI.GLib.Structs.SList.SList' of strings -}+repositoryGetSearchPath  = liftIO $ do+    result <- g_irepository_get_search_path+    result' <- unpackGSList result+    result'' <- mapM cstringToString result'+    return result''++#if ENABLE_OVERLOADING+#endif++-- method Repository::prepend_library_path+-- method type : MemberFunction+-- Args : [Arg {argCName = "directory", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "g_irepository_prepend_library_path" g_irepository_prepend_library_path :: +    CString ->                              -- directory : TBasicType TUTF8+    IO ()++{- |+/No description available in the introspection data./+-}+repositoryPrependLibraryPath ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    -> m ()+repositoryPrependLibraryPath directory = liftIO $ do+    directory' <- textToCString directory+    g_irepository_prepend_library_path directory'+    freeMem directory'+    return ()++#if ENABLE_OVERLOADING+#endif++-- method Repository::prepend_search_path+-- method type : MemberFunction+-- Args : [Arg {argCName = "directory", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "directory name to prepend to the typelib\n  search path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "g_irepository_prepend_search_path" g_irepository_prepend_search_path :: +    CString ->                              -- directory : TBasicType TFileName+    IO ()++{- |+Prepends /@directory@/ to the typelib search path.++See also: 'GI.GIRepository.Objects.Repository.repositoryGetSearchPath'.+-}+repositoryPrependSearchPath ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    [Char]+    {- ^ /@directory@/: directory name to prepend to the typelib+  search path -}+    -> m ()+repositoryPrependSearchPath directory = liftIO $ do+    directory' <- stringToCString directory+    g_irepository_prepend_search_path directory'+    freeMem directory'+    return ()++#if ENABLE_OVERLOADING+#endif++
+ GI/GIRepository/Objects/Repository.hs-boot view
@@ -0,0 +1,83 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.GIRepository.Objects.Repository where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype Repository = Repository (ManagedPtr Repository)+instance GObject Repository where+class (GObject o, O.IsDescendantOf Repository o) => IsRepository o+instance (GObject o, O.IsDescendantOf Repository o) => IsRepository o+instance O.HasParentTypes Repository+#if ENABLE_OVERLOADING+data RepositoryEnumerateVersionsMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepositoryFindByErrorDomainMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepositoryFindByGtypeMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepositoryFindByNameMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepositoryGetCPrefixMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepositoryGetDependenciesMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepositoryGetImmediateDependenciesMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepositoryGetInfoMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepositoryGetLoadedNamespacesMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepositoryGetNInfosMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepositoryGetObjectGtypeInterfacesMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepositoryGetSharedLibraryMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepositoryGetTypelibPathMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepositoryGetVersionMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepositoryIsRegisteredMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepositoryLoadTypelibMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepositoryRequireMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepositoryRequirePrivateMethodInfo+#endif
+ GI/GIRepository/Structs.hs view
@@ -0,0 +1,47 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.GIRepository.Structs+    (     module GI.GIRepository.Structs.AttributeIter,+    module GI.GIRepository.Structs.BaseInfo ,+    module GI.GIRepository.Structs.Typelib  ,+    module GI.GIRepository.Structs.UnresolvedInfo,+++    ) where++import GI.GIRepository.Structs.AttributeIter+import GI.GIRepository.Structs.BaseInfo+import GI.GIRepository.Structs.Typelib+import GI.GIRepository.Structs.UnresolvedInfo++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++
+ GI/GIRepository/Structs/AttributeIter.hs view
@@ -0,0 +1,89 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++An opaque structure used to iterate over attributes+in a 'GI.GIRepository.Structs.BaseInfo.BaseInfo' struct.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.GIRepository.Structs.AttributeIter+    ( ++-- * Exported types+    AttributeIter(..)                       ,+    newZeroAttributeIter                    ,+    noAttributeIter                         ,+++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++-- | Memory-managed wrapper type.+newtype AttributeIter = AttributeIter (ManagedPtr AttributeIter)+instance WrappedPtr AttributeIter where+    wrappedPtrCalloc = callocBytes 32+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 32 >=> wrapPtr AttributeIter)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `AttributeIter` struct initialized to zero.+newZeroAttributeIter :: MonadIO m => m AttributeIter+newZeroAttributeIter = liftIO $ wrappedPtrCalloc >>= wrapPtr AttributeIter++instance tag ~ 'AttrSet => Constructible AttributeIter tag where+    new _ attrs = do+        o <- newZeroAttributeIter+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `AttributeIter`.+noAttributeIter :: Maybe AttributeIter+noAttributeIter = Nothing+++#if ENABLE_OVERLOADING+instance O.HasAttributeList AttributeIter+type instance O.AttributeList AttributeIter = AttributeIterAttributeList+type AttributeIterAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveAttributeIterMethod (t :: Symbol) (o :: *) :: * where+    ResolveAttributeIterMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveAttributeIterMethod t AttributeIter, O.MethodInfo info AttributeIter p) => OL.IsLabel t (AttributeIter -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/GIRepository/Structs/AttributeIter.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.GIRepository.Structs.AttributeIter where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype AttributeIter = AttributeIter (ManagedPtr AttributeIter)+instance WrappedPtr AttributeIter where
+ GI/GIRepository/Structs/BaseInfo.hs view
@@ -0,0 +1,591 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++GIBaseInfo is the common base struct of all other *Info structs+accessible through the 'GI.GIRepository.Objects.Repository.Repository' API.+All other structs can be casted to a 'GI.GIRepository.Structs.BaseInfo.BaseInfo', for instance:+\<example>+\<title>Casting a @/GIFunctionInfo/@ to 'GI.GIRepository.Structs.BaseInfo.BaseInfo'\<\/title>+\<programlisting>+   GIFunctionInfo *function_info = ...;+   GIBaseInfo *info = (GIBaseInfo*)function_info;+\<\/programlisting>+\<\/example>+Most 'GI.GIRepository.Objects.Repository.Repository' APIs returning a 'GI.GIRepository.Structs.BaseInfo.BaseInfo' is actually creating a new struct, in other+words, @/g_base_info_unref()/@ has to be called when done accessing the data.+GIBaseInfos are normally accessed by calling either+'GI.GIRepository.Objects.Repository.repositoryFindByName', 'GI.GIRepository.Objects.Repository.repositoryFindByGtype' or 'GI.GIRepository.Objects.Repository.repositoryGetInfo'.++\<example>+\<title>Getting the Button of the Gtk typelib\<\/title>+\<programlisting>+   GIBaseInfo *button_info = g_irepository_find_by_name(NULL, \"Gtk\", \"Button\");+   ... use button_info ...+   g_base_info_unref(button_info);+\<\/programlisting>+\<\/example>++\<refsect1 id=\"gi-gibaseinfo.struct-hierarchy\" role=\"struct_hierarchy\">+\<title role=\"struct_hierarchy.title\">Struct hierarchy\<\/title>+\<synopsis>+  GIBaseInfo+   +----\<link linkend=\"gi-GIArgInfo\">GIArgInfo\<\/link>+   +----\<link linkend=\"gi-GICallableInfo\">GICallableInfo\<\/link>+   +----\<link linkend=\"gi-GIConstantInfo\">GIConstantInfo\<\/link>+   +----\<link linkend=\"gi-GIFieldInfo\">GIFieldInfo\<\/link>+   +----\<link linkend=\"gi-GIPropertyInfo\">GIPropertyInfo\<\/link>+   +----\<link linkend=\"gi-GIRegisteredTypeInfo\">GIRegisteredTypeInfo\<\/link>+   +----\<link linkend=\"gi-GITypeInfo\">GITypeInfo\<\/link>+\<\/synopsis>+\<\/refsect1>+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.GIRepository.Structs.BaseInfo+    ( ++-- * Exported types+    BaseInfo(..)                            ,+    newZeroBaseInfo                         ,+    noBaseInfo                              ,+++ -- * Methods+-- ** equal #method:equal#++#if ENABLE_OVERLOADING+    BaseInfoEqualMethodInfo                 ,+#endif+    baseInfoEqual                           ,+++-- ** getAttribute #method:getAttribute#++#if ENABLE_OVERLOADING+    BaseInfoGetAttributeMethodInfo          ,+#endif+    baseInfoGetAttribute                    ,+++-- ** getContainer #method:getContainer#++#if ENABLE_OVERLOADING+    BaseInfoGetContainerMethodInfo          ,+#endif+    baseInfoGetContainer                    ,+++-- ** getName #method:getName#++#if ENABLE_OVERLOADING+    BaseInfoGetNameMethodInfo               ,+#endif+    baseInfoGetName                         ,+++-- ** getNamespace #method:getNamespace#++#if ENABLE_OVERLOADING+    BaseInfoGetNamespaceMethodInfo          ,+#endif+    baseInfoGetNamespace                    ,+++-- ** getType #method:getType#++#if ENABLE_OVERLOADING+    BaseInfoGetTypeMethodInfo               ,+#endif+    baseInfoGetType                         ,+++-- ** getTypelib #method:getTypelib#++#if ENABLE_OVERLOADING+    BaseInfoGetTypelibMethodInfo            ,+#endif+    baseInfoGetTypelib                      ,+++-- ** isDeprecated #method:isDeprecated#++#if ENABLE_OVERLOADING+    BaseInfoIsDeprecatedMethodInfo          ,+#endif+    baseInfoIsDeprecated                    ,+++-- ** iterateAttributes #method:iterateAttributes#++#if ENABLE_OVERLOADING+    BaseInfoIterateAttributesMethodInfo     ,+#endif+    baseInfoIterateAttributes               ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++import {-# SOURCE #-} qualified GI.GIRepository.Enums as GIRepository.Enums+import {-# SOURCE #-} qualified GI.GIRepository.Structs.AttributeIter as GIRepository.AttributeIter+import {-# SOURCE #-} qualified GI.GIRepository.Structs.Typelib as GIRepository.Typelib++-- | Memory-managed wrapper type.+newtype BaseInfo = BaseInfo (ManagedPtr BaseInfo)+foreign import ccall "g_base_info_gtype_get_type" c_g_base_info_gtype_get_type :: +    IO GType++instance BoxedObject BaseInfo where+    boxedType _ = c_g_base_info_gtype_get_type++-- | Construct a `BaseInfo` struct initialized to zero.+newZeroBaseInfo :: MonadIO m => m BaseInfo+newZeroBaseInfo = liftIO $ callocBoxedBytes 72 >>= wrapBoxed BaseInfo++instance tag ~ 'AttrSet => Constructible BaseInfo tag where+    new _ attrs = do+        o <- newZeroBaseInfo+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `BaseInfo`.+noBaseInfo :: Maybe BaseInfo+noBaseInfo = Nothing+++#if ENABLE_OVERLOADING+instance O.HasAttributeList BaseInfo+type instance O.AttributeList BaseInfo = BaseInfoAttributeList+type BaseInfoAttributeList = ('[ ] :: [(Symbol, *)])+#endif++-- method BaseInfo::equal+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "info1", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIBaseInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info2", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIBaseInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "g_base_info_equal" g_base_info_equal :: +    Ptr BaseInfo ->                         -- info1 : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Ptr BaseInfo ->                         -- info2 : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CInt++{- |+Compare two 'GI.GIRepository.Structs.BaseInfo.BaseInfo'.++Using pointer comparison is not practical since many functions return+different instances of 'GI.GIRepository.Structs.BaseInfo.BaseInfo' that refers to the same part of the+TypeLib; use this function instead to do 'GI.GIRepository.Structs.BaseInfo.BaseInfo' comparisons.+-}+baseInfoEqual ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    BaseInfo+    {- ^ /@info1@/: a 'GI.GIRepository.Structs.BaseInfo.BaseInfo' -}+    -> BaseInfo+    {- ^ /@info2@/: a 'GI.GIRepository.Structs.BaseInfo.BaseInfo' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if and only if /@info1@/ equals /@info2@/. -}+baseInfoEqual info1 info2 = liftIO $ do+    info1' <- unsafeManagedPtrGetPtr info1+    info2' <- unsafeManagedPtrGetPtr info2+    result <- g_base_info_equal info1' info2'+    let result' = (/= 0) result+    touchManagedPtr info1+    touchManagedPtr info2+    return result'++#if ENABLE_OVERLOADING+data BaseInfoEqualMethodInfo+instance (signature ~ (BaseInfo -> m Bool), MonadIO m) => O.MethodInfo BaseInfoEqualMethodInfo BaseInfo signature where+    overloadedMethod _ = baseInfoEqual++#endif++-- method BaseInfo::get_attribute+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIBaseInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a freeform string naming an attribute", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "g_base_info_get_attribute" g_base_info_get_attribute :: +    Ptr BaseInfo ->                         -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    CString ->                              -- name : TBasicType TUTF8+    IO CString++{- |+Retrieve an arbitrary attribute associated with this node.+-}+baseInfoGetAttribute ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    BaseInfo+    {- ^ /@info@/: a 'GI.GIRepository.Structs.BaseInfo.BaseInfo' -}+    -> T.Text+    {- ^ /@name@/: a freeform string naming an attribute -}+    -> m T.Text+    {- ^ __Returns:__ The value of the attribute, or 'Nothing' if no such attribute exists -}+baseInfoGetAttribute info name = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    name' <- textToCString name+    result <- g_base_info_get_attribute info' name'+    checkUnexpectedReturnNULL "baseInfoGetAttribute" result+    result' <- cstringToText result+    touchManagedPtr info+    freeMem name'+    return result'++#if ENABLE_OVERLOADING+data BaseInfoGetAttributeMethodInfo+instance (signature ~ (T.Text -> m T.Text), MonadIO m) => O.MethodInfo BaseInfoGetAttributeMethodInfo BaseInfo signature where+    overloadedMethod _ = baseInfoGetAttribute++#endif++-- method BaseInfo::get_container+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIBaseInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_base_info_get_container" g_base_info_get_container :: +    Ptr BaseInfo ->                         -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO (Ptr BaseInfo)++{- |+Obtain the container of the /@info@/. The container is the parent+GIBaseInfo. For instance, the parent of a @/GIFunctionInfo/@ is an+@/GIObjectInfo/@ or @/GIInterfaceInfo/@.+-}+baseInfoGetContainer ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    BaseInfo+    {- ^ /@info@/: a 'GI.GIRepository.Structs.BaseInfo.BaseInfo' -}+    -> m BaseInfo+    {- ^ __Returns:__ the container -}+baseInfoGetContainer info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_base_info_get_container info'+    checkUnexpectedReturnNULL "baseInfoGetContainer" result+    result' <- (newBoxed BaseInfo) result+    touchManagedPtr info+    return result'++#if ENABLE_OVERLOADING+data BaseInfoGetContainerMethodInfo+instance (signature ~ (m BaseInfo), MonadIO m) => O.MethodInfo BaseInfoGetContainerMethodInfo BaseInfo signature where+    overloadedMethod _ = baseInfoGetContainer++#endif++-- method BaseInfo::get_name+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIBaseInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "g_base_info_get_name" g_base_info_get_name :: +    Ptr BaseInfo ->                         -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CString++{- |+Obtain the name of the /@info@/. What the name represents depends on+the 'GI.GIRepository.Enums.InfoType' of the /@info@/. For instance for @/GIFunctionInfo/@ it is+the name of the function.+-}+baseInfoGetName ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    BaseInfo+    {- ^ /@info@/: a 'GI.GIRepository.Structs.BaseInfo.BaseInfo' -}+    -> m T.Text+    {- ^ __Returns:__ the name of /@info@/ or 'Nothing' if it lacks a name. -}+baseInfoGetName info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_base_info_get_name info'+    checkUnexpectedReturnNULL "baseInfoGetName" result+    result' <- cstringToText result+    touchManagedPtr info+    return result'++#if ENABLE_OVERLOADING+data BaseInfoGetNameMethodInfo+instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo BaseInfoGetNameMethodInfo BaseInfo signature where+    overloadedMethod _ = baseInfoGetName++#endif++-- method BaseInfo::get_namespace+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIBaseInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "g_base_info_get_namespace" g_base_info_get_namespace :: +    Ptr BaseInfo ->                         -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CString++{- |+Obtain the namespace of /@info@/.+-}+baseInfoGetNamespace ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    BaseInfo+    {- ^ /@info@/: a 'GI.GIRepository.Structs.BaseInfo.BaseInfo' -}+    -> m T.Text+    {- ^ __Returns:__ the namespace -}+baseInfoGetNamespace info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_base_info_get_namespace info'+    checkUnexpectedReturnNULL "baseInfoGetNamespace" result+    result' <- cstringToText result+    touchManagedPtr info+    return result'++#if ENABLE_OVERLOADING+data BaseInfoGetNamespaceMethodInfo+instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo BaseInfoGetNamespaceMethodInfo BaseInfo signature where+    overloadedMethod _ = baseInfoGetNamespace++#endif++-- method BaseInfo::get_type+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIBaseInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "InfoType"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_base_info_get_type" g_base_info_get_type :: +    Ptr BaseInfo ->                         -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CUInt++{- |+Obtain the info type of the GIBaseInfo.+-}+baseInfoGetType ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    BaseInfo+    {- ^ /@info@/: a 'GI.GIRepository.Structs.BaseInfo.BaseInfo' -}+    -> m GIRepository.Enums.InfoType+    {- ^ __Returns:__ the info type of /@info@/ -}+baseInfoGetType info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_base_info_get_type info'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr info+    return result'++#if ENABLE_OVERLOADING+data BaseInfoGetTypeMethodInfo+instance (signature ~ (m GIRepository.Enums.InfoType), MonadIO m) => O.MethodInfo BaseInfoGetTypeMethodInfo BaseInfo signature where+    overloadedMethod _ = baseInfoGetType++#endif++-- method BaseInfo::get_typelib+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIBaseInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GIRepository", name = "Typelib"}))+-- throws : False+-- Skip return : False++foreign import ccall "g_base_info_get_typelib" g_base_info_get_typelib :: +    Ptr BaseInfo ->                         -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO (Ptr GIRepository.Typelib.Typelib)++{- |+Obtain the typelib this /@info@/ belongs to+-}+baseInfoGetTypelib ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    BaseInfo+    {- ^ /@info@/: a 'GI.GIRepository.Structs.BaseInfo.BaseInfo' -}+    -> m GIRepository.Typelib.Typelib+    {- ^ __Returns:__ the typelib. -}+baseInfoGetTypelib info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_base_info_get_typelib info'+    checkUnexpectedReturnNULL "baseInfoGetTypelib" result+    result' <- (newPtr GIRepository.Typelib.Typelib) result+    touchManagedPtr info+    return result'++#if ENABLE_OVERLOADING+data BaseInfoGetTypelibMethodInfo+instance (signature ~ (m GIRepository.Typelib.Typelib), MonadIO m) => O.MethodInfo BaseInfoGetTypelibMethodInfo BaseInfo signature where+    overloadedMethod _ = baseInfoGetTypelib++#endif++-- method BaseInfo::is_deprecated+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIBaseInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "g_base_info_is_deprecated" g_base_info_is_deprecated :: +    Ptr BaseInfo ->                         -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    IO CInt++{- |+Obtain whether the /@info@/ is represents a metadata which is+deprecated or not.+-}+baseInfoIsDeprecated ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    BaseInfo+    {- ^ /@info@/: a 'GI.GIRepository.Structs.BaseInfo.BaseInfo' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if deprecated -}+baseInfoIsDeprecated info = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    result <- g_base_info_is_deprecated info'+    let result' = (/= 0) result+    touchManagedPtr info+    return result'++#if ENABLE_OVERLOADING+data BaseInfoIsDeprecatedMethodInfo+instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo BaseInfoIsDeprecatedMethodInfo BaseInfo signature where+    overloadedMethod _ = baseInfoIsDeprecated++#endif++-- method BaseInfo::iterate_attributes+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "info", argType = TInterface (Name {namespace = "GIRepository", name = "BaseInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIBaseInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "iterator", argType = TInterface (Name {namespace = "GIRepository", name = "AttributeIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIAttributeIter structure, must be initialized; see below", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Returned name, must not be freed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Returned name, must not be freed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "g_base_info_iterate_attributes" g_base_info_iterate_attributes :: +    Ptr BaseInfo ->                         -- info : TInterface (Name {namespace = "GIRepository", name = "BaseInfo"})+    Ptr GIRepository.AttributeIter.AttributeIter -> -- iterator : TInterface (Name {namespace = "GIRepository", name = "AttributeIter"})+    Ptr CString ->                          -- name : TBasicType TUTF8+    Ptr CString ->                          -- value : TBasicType TUTF8+    IO CInt++{- |+Iterate over all attributes associated with this node.  The iterator+structure is typically stack allocated, and must have its first+member initialized to 'Nothing'.  Attributes are arbitrary namespaced key–value+pairs which can be attached to almost any item.  They are intended for use+by software higher in the toolchain than bindings, and are distinct from+normal GIR annotations.++Both the /@name@/ and /@value@/ should be treated as constants+and must not be freed.++\<example>+\<title>Iterating over attributes\<\/title>+\<programlisting>+void+print_attributes (GIBaseInfo *info)+{+  GIAttributeIter iter = { 0, };+  char *name;+  char *value;+  while (g_base_info_iterate_attributes (info, &iter, &name, &value))+    {+      g_print (\"attribute name: @/s/@ value: @/s/@\", name, value);+    }+}+\<\/programlisting>+\<\/example>+-}+baseInfoIterateAttributes ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    BaseInfo+    {- ^ /@info@/: a 'GI.GIRepository.Structs.BaseInfo.BaseInfo' -}+    -> GIRepository.AttributeIter.AttributeIter+    {- ^ /@iterator@/: a 'GI.GIRepository.Structs.AttributeIter.AttributeIter' structure, must be initialized; see below -}+    -> m ((Bool, T.Text, T.Text))+    {- ^ __Returns:__ 'True' if there are more attributes -}+baseInfoIterateAttributes info iterator = liftIO $ do+    info' <- unsafeManagedPtrGetPtr info+    iterator' <- unsafeManagedPtrGetPtr iterator+    name <- allocMem :: IO (Ptr CString)+    value <- allocMem :: IO (Ptr CString)+    result <- g_base_info_iterate_attributes info' iterator' name value+    let result' = (/= 0) result+    name' <- peek name+    name'' <- cstringToText name'+    value' <- peek value+    value'' <- cstringToText value'+    touchManagedPtr info+    touchManagedPtr iterator+    freeMem name+    freeMem value+    return (result', name'', value'')++#if ENABLE_OVERLOADING+data BaseInfoIterateAttributesMethodInfo+instance (signature ~ (GIRepository.AttributeIter.AttributeIter -> m ((Bool, T.Text, T.Text))), MonadIO m) => O.MethodInfo BaseInfoIterateAttributesMethodInfo BaseInfo signature where+    overloadedMethod _ = baseInfoIterateAttributes++#endif++#if ENABLE_OVERLOADING+type family ResolveBaseInfoMethod (t :: Symbol) (o :: *) :: * where+    ResolveBaseInfoMethod "equal" o = BaseInfoEqualMethodInfo+    ResolveBaseInfoMethod "isDeprecated" o = BaseInfoIsDeprecatedMethodInfo+    ResolveBaseInfoMethod "iterateAttributes" o = BaseInfoIterateAttributesMethodInfo+    ResolveBaseInfoMethod "getAttribute" o = BaseInfoGetAttributeMethodInfo+    ResolveBaseInfoMethod "getContainer" o = BaseInfoGetContainerMethodInfo+    ResolveBaseInfoMethod "getName" o = BaseInfoGetNameMethodInfo+    ResolveBaseInfoMethod "getNamespace" o = BaseInfoGetNamespaceMethodInfo+    ResolveBaseInfoMethod "getType" o = BaseInfoGetTypeMethodInfo+    ResolveBaseInfoMethod "getTypelib" o = BaseInfoGetTypelibMethodInfo+    ResolveBaseInfoMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveBaseInfoMethod t BaseInfo, O.MethodInfo info BaseInfo p) => OL.IsLabel t (BaseInfo -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/GIRepository/Structs/BaseInfo.hs-boot view
@@ -0,0 +1,53 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.GIRepository.Structs.BaseInfo where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype BaseInfo = BaseInfo (ManagedPtr BaseInfo)+instance BoxedObject BaseInfo where+#if ENABLE_OVERLOADING+data BaseInfoEqualMethodInfo+#endif+#if ENABLE_OVERLOADING+data BaseInfoGetAttributeMethodInfo+#endif+#if ENABLE_OVERLOADING+data BaseInfoGetContainerMethodInfo+#endif+#if ENABLE_OVERLOADING+data BaseInfoGetNameMethodInfo+#endif+#if ENABLE_OVERLOADING+data BaseInfoGetNamespaceMethodInfo+#endif+#if ENABLE_OVERLOADING+data BaseInfoGetTypeMethodInfo+#endif+#if ENABLE_OVERLOADING+data BaseInfoGetTypelibMethodInfo+#endif+#if ENABLE_OVERLOADING+data BaseInfoIsDeprecatedMethodInfo+#endif+#if ENABLE_OVERLOADING+data BaseInfoIterateAttributesMethodInfo+#endif
+ GI/GIRepository/Structs/Typelib.hs view
@@ -0,0 +1,212 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++TODO+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.GIRepository.Structs.Typelib+    ( ++-- * Exported types+    Typelib(..)                             ,+    noTypelib                               ,+++ -- * Methods+-- ** free #method:free#++#if ENABLE_OVERLOADING+    TypelibFreeMethodInfo                   ,+#endif+    typelibFree                             ,+++-- ** getNamespace #method:getNamespace#++#if ENABLE_OVERLOADING+    TypelibGetNamespaceMethodInfo           ,+#endif+    typelibGetNamespace                     ,+++-- ** symbol #method:symbol#++#if ENABLE_OVERLOADING+    TypelibSymbolMethodInfo                 ,+#endif+    typelibSymbol                           ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++-- | Memory-managed wrapper type.+newtype Typelib = Typelib (ManagedPtr Typelib)+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?+instance WrappedPtr Typelib where+    wrappedPtrCalloc = return nullPtr+    wrappedPtrCopy = return+    wrappedPtrFree = Nothing++-- | A convenience alias for `Nothing` :: `Maybe` `Typelib`.+noTypelib :: Maybe Typelib+noTypelib = Nothing+++#if ENABLE_OVERLOADING+instance O.HasAttributeList Typelib+type instance O.AttributeList Typelib = TypelibAttributeList+type TypelibAttributeList = ('[ ] :: [(Symbol, *)])+#endif++-- method Typelib::free+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "typelib", argType = TInterface (Name {namespace = "GIRepository", name = "Typelib"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "g_typelib_free" g_typelib_free :: +    Ptr Typelib ->                          -- typelib : TInterface (Name {namespace = "GIRepository", name = "Typelib"})+    IO ()++{- |+/No description available in the introspection data./+-}+typelibFree ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Typelib+    -> m ()+typelibFree typelib = liftIO $ do+    typelib' <- unsafeManagedPtrGetPtr typelib+    g_typelib_free typelib'+    touchManagedPtr typelib+    return ()++#if ENABLE_OVERLOADING+data TypelibFreeMethodInfo+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TypelibFreeMethodInfo Typelib signature where+    overloadedMethod _ = typelibFree++#endif++-- method Typelib::get_namespace+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "typelib", argType = TInterface (Name {namespace = "GIRepository", name = "Typelib"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "g_typelib_get_namespace" g_typelib_get_namespace :: +    Ptr Typelib ->                          -- typelib : TInterface (Name {namespace = "GIRepository", name = "Typelib"})+    IO CString++{- |+/No description available in the introspection data./+-}+typelibGetNamespace ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Typelib+    -> m T.Text+typelibGetNamespace typelib = liftIO $ do+    typelib' <- unsafeManagedPtrGetPtr typelib+    result <- g_typelib_get_namespace typelib'+    checkUnexpectedReturnNULL "typelibGetNamespace" result+    result' <- cstringToText result+    touchManagedPtr typelib+    return result'++#if ENABLE_OVERLOADING+data TypelibGetNamespaceMethodInfo+instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo TypelibGetNamespaceMethodInfo Typelib signature where+    overloadedMethod _ = typelibGetNamespace++#endif++-- method Typelib::symbol+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "typelib", argType = TInterface (Name {namespace = "GIRepository", name = "Typelib"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "symbol_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "symbol", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "g_typelib_symbol" g_typelib_symbol :: +    Ptr Typelib ->                          -- typelib : TInterface (Name {namespace = "GIRepository", name = "Typelib"})+    CString ->                              -- symbol_name : TBasicType TUTF8+    Ptr () ->                               -- symbol : TBasicType TPtr+    IO CInt++{- |+/No description available in the introspection data./+-}+typelibSymbol ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Typelib+    -> T.Text+    -> Ptr ()+    -> m Bool+typelibSymbol typelib symbolName symbol = liftIO $ do+    typelib' <- unsafeManagedPtrGetPtr typelib+    symbolName' <- textToCString symbolName+    result <- g_typelib_symbol typelib' symbolName' symbol+    let result' = (/= 0) result+    touchManagedPtr typelib+    freeMem symbolName'+    return result'++#if ENABLE_OVERLOADING+data TypelibSymbolMethodInfo+instance (signature ~ (T.Text -> Ptr () -> m Bool), MonadIO m) => O.MethodInfo TypelibSymbolMethodInfo Typelib signature where+    overloadedMethod _ = typelibSymbol++#endif++#if ENABLE_OVERLOADING+type family ResolveTypelibMethod (t :: Symbol) (o :: *) :: * where+    ResolveTypelibMethod "free" o = TypelibFreeMethodInfo+    ResolveTypelibMethod "symbol" o = TypelibSymbolMethodInfo+    ResolveTypelibMethod "getNamespace" o = TypelibGetNamespaceMethodInfo+    ResolveTypelibMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveTypelibMethod t Typelib, O.MethodInfo info Typelib p) => OL.IsLabel t (Typelib -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/GIRepository/Structs/Typelib.hs-boot view
@@ -0,0 +1,35 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.GIRepository.Structs.Typelib where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype Typelib = Typelib (ManagedPtr Typelib)+instance WrappedPtr Typelib where+#if ENABLE_OVERLOADING+data TypelibFreeMethodInfo+#endif+#if ENABLE_OVERLOADING+data TypelibGetNamespaceMethodInfo+#endif+#if ENABLE_OVERLOADING+data TypelibSymbolMethodInfo+#endif
+ GI/GIRepository/Structs/UnresolvedInfo.hs view
@@ -0,0 +1,77 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Represents a unresolved type in a typelib.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.GIRepository.Structs.UnresolvedInfo+    ( ++-- * Exported types+    UnresolvedInfo(..)                      ,+    noUnresolvedInfo                        ,+++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++-- | Memory-managed wrapper type.+newtype UnresolvedInfo = UnresolvedInfo (ManagedPtr UnresolvedInfo)+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?+instance WrappedPtr UnresolvedInfo where+    wrappedPtrCalloc = return nullPtr+    wrappedPtrCopy = return+    wrappedPtrFree = Nothing++-- | A convenience alias for `Nothing` :: `Maybe` `UnresolvedInfo`.+noUnresolvedInfo :: Maybe UnresolvedInfo+noUnresolvedInfo = Nothing+++#if ENABLE_OVERLOADING+instance O.HasAttributeList UnresolvedInfo+type instance O.AttributeList UnresolvedInfo = UnresolvedInfoAttributeList+type UnresolvedInfoAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveUnresolvedInfoMethod (t :: Symbol) (o :: *) :: * where+    ResolveUnresolvedInfoMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveUnresolvedInfoMethod t UnresolvedInfo, O.MethodInfo info UnresolvedInfo p) => OL.IsLabel t (UnresolvedInfo -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/GIRepository/Structs/UnresolvedInfo.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.GIRepository.Structs.UnresolvedInfo where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype UnresolvedInfo = UnresolvedInfo (ManagedPtr UnresolvedInfo)+instance WrappedPtr UnresolvedInfo where
+ GI/GIRepository/Unions.hs view
@@ -0,0 +1,41 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.GIRepository.Unions+    (     module GI.GIRepository.Unions.Argument  ,+++    ) where++import GI.GIRepository.Unions.Argument++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++
+ GI/GIRepository/Unions/Argument.hs view
@@ -0,0 +1,1281 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Stores an argument of varying type+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.GIRepository.Unions.Argument+    ( ++-- * Exported types+    Argument(..)                            ,+    newZeroArgument                         ,+    noArgument                              ,+++ -- * Properties+-- ** vBoolean #attr:vBoolean#+{- | TODO+-}+#if ENABLE_OVERLOADING+    argument_vBoolean                       ,+#endif+    getArgumentVBoolean                     ,+    setArgumentVBoolean                     ,+++-- ** vDouble #attr:vDouble#+{- | TODO+-}+#if ENABLE_OVERLOADING+    argument_vDouble                        ,+#endif+    getArgumentVDouble                      ,+    setArgumentVDouble                      ,+++-- ** vFloat #attr:vFloat#+{- | TODO+-}+#if ENABLE_OVERLOADING+    argument_vFloat                         ,+#endif+    getArgumentVFloat                       ,+    setArgumentVFloat                       ,+++-- ** vInt #attr:vInt#+{- | TODO+-}+#if ENABLE_OVERLOADING+    argument_vInt                           ,+#endif+    getArgumentVInt                         ,+    setArgumentVInt                         ,+++-- ** vInt16 #attr:vInt16#+{- | TODO+-}+#if ENABLE_OVERLOADING+    argument_vInt16                         ,+#endif+    getArgumentVInt16                       ,+    setArgumentVInt16                       ,+++-- ** vInt32 #attr:vInt32#+{- | TODO+-}+#if ENABLE_OVERLOADING+    argument_vInt32                         ,+#endif+    getArgumentVInt32                       ,+    setArgumentVInt32                       ,+++-- ** vInt64 #attr:vInt64#+{- | TODO+-}+#if ENABLE_OVERLOADING+    argument_vInt64                         ,+#endif+    getArgumentVInt64                       ,+    setArgumentVInt64                       ,+++-- ** vInt8 #attr:vInt8#+{- | TODO+-}+#if ENABLE_OVERLOADING+    argument_vInt8                          ,+#endif+    getArgumentVInt8                        ,+    setArgumentVInt8                        ,+++-- ** vLong #attr:vLong#+{- | TODO+-}+#if ENABLE_OVERLOADING+    argument_vLong                          ,+#endif+    getArgumentVLong                        ,+    setArgumentVLong                        ,+++-- ** vPointer #attr:vPointer#+{- | TODO+-}+#if ENABLE_OVERLOADING+    argument_vPointer                       ,+#endif+    clearArgumentVPointer                   ,+    getArgumentVPointer                     ,+    setArgumentVPointer                     ,+++-- ** vShort #attr:vShort#+{- | TODO+-}+#if ENABLE_OVERLOADING+    argument_vShort                         ,+#endif+    getArgumentVShort                       ,+    setArgumentVShort                       ,+++-- ** vSize #attr:vSize#+{- | TODO+-}+#if ENABLE_OVERLOADING+    argument_vSize                          ,+#endif+    getArgumentVSize                        ,+    setArgumentVSize                        ,+++-- ** vSsize #attr:vSsize#+{- | TODO+-}+#if ENABLE_OVERLOADING+    argument_vSsize                         ,+#endif+    getArgumentVSsize                       ,+    setArgumentVSsize                       ,+++-- ** vString #attr:vString#+{- | TODO+-}+#if ENABLE_OVERLOADING+    argument_vString                        ,+#endif+    clearArgumentVString                    ,+    getArgumentVString                      ,+    setArgumentVString                      ,+++-- ** vUint #attr:vUint#+{- | TODO+-}+#if ENABLE_OVERLOADING+    argument_vUint                          ,+#endif+    getArgumentVUint                        ,+    setArgumentVUint                        ,+++-- ** vUint16 #attr:vUint16#+{- | TODO+-}+#if ENABLE_OVERLOADING+    argument_vUint16                        ,+#endif+    getArgumentVUint16                      ,+    setArgumentVUint16                      ,+++-- ** vUint32 #attr:vUint32#+{- | TODO+-}+#if ENABLE_OVERLOADING+    argument_vUint32                        ,+#endif+    getArgumentVUint32                      ,+    setArgumentVUint32                      ,+++-- ** vUint64 #attr:vUint64#+{- | TODO+-}+#if ENABLE_OVERLOADING+    argument_vUint64                        ,+#endif+    getArgumentVUint64                      ,+    setArgumentVUint64                      ,+++-- ** vUint8 #attr:vUint8#+{- | TODO+-}+#if ENABLE_OVERLOADING+    argument_vUint8                         ,+#endif+    getArgumentVUint8                       ,+    setArgumentVUint8                       ,+++-- ** vUlong #attr:vUlong#+{- | TODO+-}+#if ENABLE_OVERLOADING+    argument_vUlong                         ,+#endif+    getArgumentVUlong                       ,+    setArgumentVUlong                       ,+++-- ** vUshort #attr:vUshort#+{- | TODO+-}+#if ENABLE_OVERLOADING+    argument_vUshort                        ,+#endif+    getArgumentVUshort                      ,+    setArgumentVUshort                      ,+++++    ) where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL+++-- | Memory-managed wrapper type.+newtype Argument = Argument (ManagedPtr Argument)+instance WrappedPtr Argument where+    wrappedPtrCalloc = callocBytes 8+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 8 >=> wrapPtr Argument)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `Argument` struct initialized to zero.+newZeroArgument :: MonadIO m => m Argument+newZeroArgument = liftIO $ wrappedPtrCalloc >>= wrapPtr Argument++instance tag ~ 'AttrSet => Constructible Argument tag where+    new _ attrs = do+        o <- newZeroArgument+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `Argument`.+noArgument :: Maybe Argument+noArgument = Nothing++{- |+Get the value of the “@v_boolean@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' argument #vBoolean+@+-}+getArgumentVBoolean :: MonadIO m => Argument -> m Bool+getArgumentVBoolean s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (/= 0) val+    return val'++{- |+Set the value of the “@v_boolean@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' argument [ #vBoolean 'Data.GI.Base.Attributes.:=' value ]+@+-}+setArgumentVBoolean :: MonadIO m => Argument -> Bool -> m ()+setArgumentVBoolean s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data ArgumentVBooleanFieldInfo+instance AttrInfo ArgumentVBooleanFieldInfo where+    type AttrAllowedOps ArgumentVBooleanFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint ArgumentVBooleanFieldInfo = (~) Bool+    type AttrBaseTypeConstraint ArgumentVBooleanFieldInfo = (~) Argument+    type AttrGetType ArgumentVBooleanFieldInfo = Bool+    type AttrLabel ArgumentVBooleanFieldInfo = "v_boolean"+    type AttrOrigin ArgumentVBooleanFieldInfo = Argument+    attrGet _ = getArgumentVBoolean+    attrSet _ = setArgumentVBoolean+    attrConstruct = undefined+    attrClear _ = undefined++argument_vBoolean :: AttrLabelProxy "vBoolean"+argument_vBoolean = AttrLabelProxy++#endif+++{- |+Get the value of the “@v_int8@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' argument #vInt8+@+-}+getArgumentVInt8 :: MonadIO m => Argument -> m Int8+getArgumentVInt8 s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int8+    return val++{- |+Set the value of the “@v_int8@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' argument [ #vInt8 'Data.GI.Base.Attributes.:=' value ]+@+-}+setArgumentVInt8 :: MonadIO m => Argument -> Int8 -> m ()+setArgumentVInt8 s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Int8)++#if ENABLE_OVERLOADING+data ArgumentVInt8FieldInfo+instance AttrInfo ArgumentVInt8FieldInfo where+    type AttrAllowedOps ArgumentVInt8FieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint ArgumentVInt8FieldInfo = (~) Int8+    type AttrBaseTypeConstraint ArgumentVInt8FieldInfo = (~) Argument+    type AttrGetType ArgumentVInt8FieldInfo = Int8+    type AttrLabel ArgumentVInt8FieldInfo = "v_int8"+    type AttrOrigin ArgumentVInt8FieldInfo = Argument+    attrGet _ = getArgumentVInt8+    attrSet _ = setArgumentVInt8+    attrConstruct = undefined+    attrClear _ = undefined++argument_vInt8 :: AttrLabelProxy "vInt8"+argument_vInt8 = AttrLabelProxy++#endif+++{- |+Get the value of the “@v_uint8@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' argument #vUint8+@+-}+getArgumentVUint8 :: MonadIO m => Argument -> m Word8+getArgumentVUint8 s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word8+    return val++{- |+Set the value of the “@v_uint8@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' argument [ #vUint8 'Data.GI.Base.Attributes.:=' value ]+@+-}+setArgumentVUint8 :: MonadIO m => Argument -> Word8 -> m ()+setArgumentVUint8 s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Word8)++#if ENABLE_OVERLOADING+data ArgumentVUint8FieldInfo+instance AttrInfo ArgumentVUint8FieldInfo where+    type AttrAllowedOps ArgumentVUint8FieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint ArgumentVUint8FieldInfo = (~) Word8+    type AttrBaseTypeConstraint ArgumentVUint8FieldInfo = (~) Argument+    type AttrGetType ArgumentVUint8FieldInfo = Word8+    type AttrLabel ArgumentVUint8FieldInfo = "v_uint8"+    type AttrOrigin ArgumentVUint8FieldInfo = Argument+    attrGet _ = getArgumentVUint8+    attrSet _ = setArgumentVUint8+    attrConstruct = undefined+    attrClear _ = undefined++argument_vUint8 :: AttrLabelProxy "vUint8"+argument_vUint8 = AttrLabelProxy++#endif+++{- |+Get the value of the “@v_int16@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' argument #vInt16+@+-}+getArgumentVInt16 :: MonadIO m => Argument -> m Int16+getArgumentVInt16 s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int16+    return val++{- |+Set the value of the “@v_int16@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' argument [ #vInt16 'Data.GI.Base.Attributes.:=' value ]+@+-}+setArgumentVInt16 :: MonadIO m => Argument -> Int16 -> m ()+setArgumentVInt16 s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Int16)++#if ENABLE_OVERLOADING+data ArgumentVInt16FieldInfo+instance AttrInfo ArgumentVInt16FieldInfo where+    type AttrAllowedOps ArgumentVInt16FieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint ArgumentVInt16FieldInfo = (~) Int16+    type AttrBaseTypeConstraint ArgumentVInt16FieldInfo = (~) Argument+    type AttrGetType ArgumentVInt16FieldInfo = Int16+    type AttrLabel ArgumentVInt16FieldInfo = "v_int16"+    type AttrOrigin ArgumentVInt16FieldInfo = Argument+    attrGet _ = getArgumentVInt16+    attrSet _ = setArgumentVInt16+    attrConstruct = undefined+    attrClear _ = undefined++argument_vInt16 :: AttrLabelProxy "vInt16"+argument_vInt16 = AttrLabelProxy++#endif+++{- |+Get the value of the “@v_uint16@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' argument #vUint16+@+-}+getArgumentVUint16 :: MonadIO m => Argument -> m Word16+getArgumentVUint16 s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word16+    return val++{- |+Set the value of the “@v_uint16@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' argument [ #vUint16 'Data.GI.Base.Attributes.:=' value ]+@+-}+setArgumentVUint16 :: MonadIO m => Argument -> Word16 -> m ()+setArgumentVUint16 s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Word16)++#if ENABLE_OVERLOADING+data ArgumentVUint16FieldInfo+instance AttrInfo ArgumentVUint16FieldInfo where+    type AttrAllowedOps ArgumentVUint16FieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint ArgumentVUint16FieldInfo = (~) Word16+    type AttrBaseTypeConstraint ArgumentVUint16FieldInfo = (~) Argument+    type AttrGetType ArgumentVUint16FieldInfo = Word16+    type AttrLabel ArgumentVUint16FieldInfo = "v_uint16"+    type AttrOrigin ArgumentVUint16FieldInfo = Argument+    attrGet _ = getArgumentVUint16+    attrSet _ = setArgumentVUint16+    attrConstruct = undefined+    attrClear _ = undefined++argument_vUint16 :: AttrLabelProxy "vUint16"+argument_vUint16 = AttrLabelProxy++#endif+++{- |+Get the value of the “@v_int32@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' argument #vInt32+@+-}+getArgumentVInt32 :: MonadIO m => Argument -> m Int32+getArgumentVInt32 s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int32+    return val++{- |+Set the value of the “@v_int32@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' argument [ #vInt32 'Data.GI.Base.Attributes.:=' value ]+@+-}+setArgumentVInt32 :: MonadIO m => Argument -> Int32 -> m ()+setArgumentVInt32 s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Int32)++#if ENABLE_OVERLOADING+data ArgumentVInt32FieldInfo+instance AttrInfo ArgumentVInt32FieldInfo where+    type AttrAllowedOps ArgumentVInt32FieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint ArgumentVInt32FieldInfo = (~) Int32+    type AttrBaseTypeConstraint ArgumentVInt32FieldInfo = (~) Argument+    type AttrGetType ArgumentVInt32FieldInfo = Int32+    type AttrLabel ArgumentVInt32FieldInfo = "v_int32"+    type AttrOrigin ArgumentVInt32FieldInfo = Argument+    attrGet _ = getArgumentVInt32+    attrSet _ = setArgumentVInt32+    attrConstruct = undefined+    attrClear _ = undefined++argument_vInt32 :: AttrLabelProxy "vInt32"+argument_vInt32 = AttrLabelProxy++#endif+++{- |+Get the value of the “@v_uint32@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' argument #vUint32+@+-}+getArgumentVUint32 :: MonadIO m => Argument -> m Word32+getArgumentVUint32 s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word32+    return val++{- |+Set the value of the “@v_uint32@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' argument [ #vUint32 'Data.GI.Base.Attributes.:=' value ]+@+-}+setArgumentVUint32 :: MonadIO m => Argument -> Word32 -> m ()+setArgumentVUint32 s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Word32)++#if ENABLE_OVERLOADING+data ArgumentVUint32FieldInfo+instance AttrInfo ArgumentVUint32FieldInfo where+    type AttrAllowedOps ArgumentVUint32FieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint ArgumentVUint32FieldInfo = (~) Word32+    type AttrBaseTypeConstraint ArgumentVUint32FieldInfo = (~) Argument+    type AttrGetType ArgumentVUint32FieldInfo = Word32+    type AttrLabel ArgumentVUint32FieldInfo = "v_uint32"+    type AttrOrigin ArgumentVUint32FieldInfo = Argument+    attrGet _ = getArgumentVUint32+    attrSet _ = setArgumentVUint32+    attrConstruct = undefined+    attrClear _ = undefined++argument_vUint32 :: AttrLabelProxy "vUint32"+argument_vUint32 = AttrLabelProxy++#endif+++{- |+Get the value of the “@v_int64@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' argument #vInt64+@+-}+getArgumentVInt64 :: MonadIO m => Argument -> m Int64+getArgumentVInt64 s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int64+    return val++{- |+Set the value of the “@v_int64@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' argument [ #vInt64 'Data.GI.Base.Attributes.:=' value ]+@+-}+setArgumentVInt64 :: MonadIO m => Argument -> Int64 -> m ()+setArgumentVInt64 s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Int64)++#if ENABLE_OVERLOADING+data ArgumentVInt64FieldInfo+instance AttrInfo ArgumentVInt64FieldInfo where+    type AttrAllowedOps ArgumentVInt64FieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint ArgumentVInt64FieldInfo = (~) Int64+    type AttrBaseTypeConstraint ArgumentVInt64FieldInfo = (~) Argument+    type AttrGetType ArgumentVInt64FieldInfo = Int64+    type AttrLabel ArgumentVInt64FieldInfo = "v_int64"+    type AttrOrigin ArgumentVInt64FieldInfo = Argument+    attrGet _ = getArgumentVInt64+    attrSet _ = setArgumentVInt64+    attrConstruct = undefined+    attrClear _ = undefined++argument_vInt64 :: AttrLabelProxy "vInt64"+argument_vInt64 = AttrLabelProxy++#endif+++{- |+Get the value of the “@v_uint64@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' argument #vUint64+@+-}+getArgumentVUint64 :: MonadIO m => Argument -> m Word64+getArgumentVUint64 s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word64+    return val++{- |+Set the value of the “@v_uint64@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' argument [ #vUint64 'Data.GI.Base.Attributes.:=' value ]+@+-}+setArgumentVUint64 :: MonadIO m => Argument -> Word64 -> m ()+setArgumentVUint64 s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Word64)++#if ENABLE_OVERLOADING+data ArgumentVUint64FieldInfo+instance AttrInfo ArgumentVUint64FieldInfo where+    type AttrAllowedOps ArgumentVUint64FieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint ArgumentVUint64FieldInfo = (~) Word64+    type AttrBaseTypeConstraint ArgumentVUint64FieldInfo = (~) Argument+    type AttrGetType ArgumentVUint64FieldInfo = Word64+    type AttrLabel ArgumentVUint64FieldInfo = "v_uint64"+    type AttrOrigin ArgumentVUint64FieldInfo = Argument+    attrGet _ = getArgumentVUint64+    attrSet _ = setArgumentVUint64+    attrConstruct = undefined+    attrClear _ = undefined++argument_vUint64 :: AttrLabelProxy "vUint64"+argument_vUint64 = AttrLabelProxy++#endif+++{- |+Get the value of the “@v_float@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' argument #vFloat+@+-}+getArgumentVFloat :: MonadIO m => Argument -> m Float+getArgumentVFloat s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CFloat+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@v_float@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' argument [ #vFloat 'Data.GI.Base.Attributes.:=' value ]+@+-}+setArgumentVFloat :: MonadIO m => Argument -> Float -> m ()+setArgumentVFloat s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 0) (val' :: CFloat)++#if ENABLE_OVERLOADING+data ArgumentVFloatFieldInfo+instance AttrInfo ArgumentVFloatFieldInfo where+    type AttrAllowedOps ArgumentVFloatFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint ArgumentVFloatFieldInfo = (~) Float+    type AttrBaseTypeConstraint ArgumentVFloatFieldInfo = (~) Argument+    type AttrGetType ArgumentVFloatFieldInfo = Float+    type AttrLabel ArgumentVFloatFieldInfo = "v_float"+    type AttrOrigin ArgumentVFloatFieldInfo = Argument+    attrGet _ = getArgumentVFloat+    attrSet _ = setArgumentVFloat+    attrConstruct = undefined+    attrClear _ = undefined++argument_vFloat :: AttrLabelProxy "vFloat"+argument_vFloat = AttrLabelProxy++#endif+++{- |+Get the value of the “@v_double@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' argument #vDouble+@+-}+getArgumentVDouble :: MonadIO m => Argument -> m Double+getArgumentVDouble s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CDouble+    let val' = realToFrac val+    return val'++{- |+Set the value of the “@v_double@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' argument [ #vDouble 'Data.GI.Base.Attributes.:=' value ]+@+-}+setArgumentVDouble :: MonadIO m => Argument -> Double -> m ()+setArgumentVDouble s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = realToFrac val+    poke (ptr `plusPtr` 0) (val' :: CDouble)++#if ENABLE_OVERLOADING+data ArgumentVDoubleFieldInfo+instance AttrInfo ArgumentVDoubleFieldInfo where+    type AttrAllowedOps ArgumentVDoubleFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint ArgumentVDoubleFieldInfo = (~) Double+    type AttrBaseTypeConstraint ArgumentVDoubleFieldInfo = (~) Argument+    type AttrGetType ArgumentVDoubleFieldInfo = Double+    type AttrLabel ArgumentVDoubleFieldInfo = "v_double"+    type AttrOrigin ArgumentVDoubleFieldInfo = Argument+    attrGet _ = getArgumentVDouble+    attrSet _ = setArgumentVDouble+    attrConstruct = undefined+    attrClear _ = undefined++argument_vDouble :: AttrLabelProxy "vDouble"+argument_vDouble = AttrLabelProxy++#endif+++{- |+Get the value of the “@v_short@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' argument #vShort+@+-}+getArgumentVShort :: MonadIO m => Argument -> m Int16+getArgumentVShort s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int16+    return val++{- |+Set the value of the “@v_short@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' argument [ #vShort 'Data.GI.Base.Attributes.:=' value ]+@+-}+setArgumentVShort :: MonadIO m => Argument -> Int16 -> m ()+setArgumentVShort s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Int16)++#if ENABLE_OVERLOADING+data ArgumentVShortFieldInfo+instance AttrInfo ArgumentVShortFieldInfo where+    type AttrAllowedOps ArgumentVShortFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint ArgumentVShortFieldInfo = (~) Int16+    type AttrBaseTypeConstraint ArgumentVShortFieldInfo = (~) Argument+    type AttrGetType ArgumentVShortFieldInfo = Int16+    type AttrLabel ArgumentVShortFieldInfo = "v_short"+    type AttrOrigin ArgumentVShortFieldInfo = Argument+    attrGet _ = getArgumentVShort+    attrSet _ = setArgumentVShort+    attrConstruct = undefined+    attrClear _ = undefined++argument_vShort :: AttrLabelProxy "vShort"+argument_vShort = AttrLabelProxy++#endif+++{- |+Get the value of the “@v_ushort@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' argument #vUshort+@+-}+getArgumentVUshort :: MonadIO m => Argument -> m Word16+getArgumentVUshort s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word16+    return val++{- |+Set the value of the “@v_ushort@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' argument [ #vUshort 'Data.GI.Base.Attributes.:=' value ]+@+-}+setArgumentVUshort :: MonadIO m => Argument -> Word16 -> m ()+setArgumentVUshort s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Word16)++#if ENABLE_OVERLOADING+data ArgumentVUshortFieldInfo+instance AttrInfo ArgumentVUshortFieldInfo where+    type AttrAllowedOps ArgumentVUshortFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint ArgumentVUshortFieldInfo = (~) Word16+    type AttrBaseTypeConstraint ArgumentVUshortFieldInfo = (~) Argument+    type AttrGetType ArgumentVUshortFieldInfo = Word16+    type AttrLabel ArgumentVUshortFieldInfo = "v_ushort"+    type AttrOrigin ArgumentVUshortFieldInfo = Argument+    attrGet _ = getArgumentVUshort+    attrSet _ = setArgumentVUshort+    attrConstruct = undefined+    attrClear _ = undefined++argument_vUshort :: AttrLabelProxy "vUshort"+argument_vUshort = AttrLabelProxy++#endif+++{- |+Get the value of the “@v_int@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' argument #vInt+@+-}+getArgumentVInt :: MonadIO m => Argument -> m Int32+getArgumentVInt s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int32+    return val++{- |+Set the value of the “@v_int@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' argument [ #vInt 'Data.GI.Base.Attributes.:=' value ]+@+-}+setArgumentVInt :: MonadIO m => Argument -> Int32 -> m ()+setArgumentVInt s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Int32)++#if ENABLE_OVERLOADING+data ArgumentVIntFieldInfo+instance AttrInfo ArgumentVIntFieldInfo where+    type AttrAllowedOps ArgumentVIntFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint ArgumentVIntFieldInfo = (~) Int32+    type AttrBaseTypeConstraint ArgumentVIntFieldInfo = (~) Argument+    type AttrGetType ArgumentVIntFieldInfo = Int32+    type AttrLabel ArgumentVIntFieldInfo = "v_int"+    type AttrOrigin ArgumentVIntFieldInfo = Argument+    attrGet _ = getArgumentVInt+    attrSet _ = setArgumentVInt+    attrConstruct = undefined+    attrClear _ = undefined++argument_vInt :: AttrLabelProxy "vInt"+argument_vInt = AttrLabelProxy++#endif+++{- |+Get the value of the “@v_uint@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' argument #vUint+@+-}+getArgumentVUint :: MonadIO m => Argument -> m Word32+getArgumentVUint s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word32+    return val++{- |+Set the value of the “@v_uint@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' argument [ #vUint 'Data.GI.Base.Attributes.:=' value ]+@+-}+setArgumentVUint :: MonadIO m => Argument -> Word32 -> m ()+setArgumentVUint s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Word32)++#if ENABLE_OVERLOADING+data ArgumentVUintFieldInfo+instance AttrInfo ArgumentVUintFieldInfo where+    type AttrAllowedOps ArgumentVUintFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint ArgumentVUintFieldInfo = (~) Word32+    type AttrBaseTypeConstraint ArgumentVUintFieldInfo = (~) Argument+    type AttrGetType ArgumentVUintFieldInfo = Word32+    type AttrLabel ArgumentVUintFieldInfo = "v_uint"+    type AttrOrigin ArgumentVUintFieldInfo = Argument+    attrGet _ = getArgumentVUint+    attrSet _ = setArgumentVUint+    attrConstruct = undefined+    attrClear _ = undefined++argument_vUint :: AttrLabelProxy "vUint"+argument_vUint = AttrLabelProxy++#endif+++{- |+Get the value of the “@v_long@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' argument #vLong+@+-}+getArgumentVLong :: MonadIO m => Argument -> m CLong+getArgumentVLong s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CLong+    return val++{- |+Set the value of the “@v_long@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' argument [ #vLong 'Data.GI.Base.Attributes.:=' value ]+@+-}+setArgumentVLong :: MonadIO m => Argument -> CLong -> m ()+setArgumentVLong s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: CLong)++#if ENABLE_OVERLOADING+data ArgumentVLongFieldInfo+instance AttrInfo ArgumentVLongFieldInfo where+    type AttrAllowedOps ArgumentVLongFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint ArgumentVLongFieldInfo = (~) CLong+    type AttrBaseTypeConstraint ArgumentVLongFieldInfo = (~) Argument+    type AttrGetType ArgumentVLongFieldInfo = CLong+    type AttrLabel ArgumentVLongFieldInfo = "v_long"+    type AttrOrigin ArgumentVLongFieldInfo = Argument+    attrGet _ = getArgumentVLong+    attrSet _ = setArgumentVLong+    attrConstruct = undefined+    attrClear _ = undefined++argument_vLong :: AttrLabelProxy "vLong"+argument_vLong = AttrLabelProxy++#endif+++{- |+Get the value of the “@v_ulong@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' argument #vUlong+@+-}+getArgumentVUlong :: MonadIO m => Argument -> m CULong+getArgumentVUlong s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CULong+    return val++{- |+Set the value of the “@v_ulong@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' argument [ #vUlong 'Data.GI.Base.Attributes.:=' value ]+@+-}+setArgumentVUlong :: MonadIO m => Argument -> CULong -> m ()+setArgumentVUlong s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: CULong)++#if ENABLE_OVERLOADING+data ArgumentVUlongFieldInfo+instance AttrInfo ArgumentVUlongFieldInfo where+    type AttrAllowedOps ArgumentVUlongFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint ArgumentVUlongFieldInfo = (~) CULong+    type AttrBaseTypeConstraint ArgumentVUlongFieldInfo = (~) Argument+    type AttrGetType ArgumentVUlongFieldInfo = CULong+    type AttrLabel ArgumentVUlongFieldInfo = "v_ulong"+    type AttrOrigin ArgumentVUlongFieldInfo = Argument+    attrGet _ = getArgumentVUlong+    attrSet _ = setArgumentVUlong+    attrConstruct = undefined+    attrClear _ = undefined++argument_vUlong :: AttrLabelProxy "vUlong"+argument_vUlong = AttrLabelProxy++#endif+++{- |+Get the value of the “@v_ssize@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' argument #vSsize+@+-}+getArgumentVSsize :: MonadIO m => Argument -> m Int64+getArgumentVSsize s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int64+    return val++{- |+Set the value of the “@v_ssize@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' argument [ #vSsize 'Data.GI.Base.Attributes.:=' value ]+@+-}+setArgumentVSsize :: MonadIO m => Argument -> Int64 -> m ()+setArgumentVSsize s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Int64)++#if ENABLE_OVERLOADING+data ArgumentVSsizeFieldInfo+instance AttrInfo ArgumentVSsizeFieldInfo where+    type AttrAllowedOps ArgumentVSsizeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint ArgumentVSsizeFieldInfo = (~) Int64+    type AttrBaseTypeConstraint ArgumentVSsizeFieldInfo = (~) Argument+    type AttrGetType ArgumentVSsizeFieldInfo = Int64+    type AttrLabel ArgumentVSsizeFieldInfo = "v_ssize"+    type AttrOrigin ArgumentVSsizeFieldInfo = Argument+    attrGet _ = getArgumentVSsize+    attrSet _ = setArgumentVSsize+    attrConstruct = undefined+    attrClear _ = undefined++argument_vSsize :: AttrLabelProxy "vSsize"+argument_vSsize = AttrLabelProxy++#endif+++{- |+Get the value of the “@v_size@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' argument #vSize+@+-}+getArgumentVSize :: MonadIO m => Argument -> m Word64+getArgumentVSize s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word64+    return val++{- |+Set the value of the “@v_size@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' argument [ #vSize 'Data.GI.Base.Attributes.:=' value ]+@+-}+setArgumentVSize :: MonadIO m => Argument -> Word64 -> m ()+setArgumentVSize s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Word64)++#if ENABLE_OVERLOADING+data ArgumentVSizeFieldInfo+instance AttrInfo ArgumentVSizeFieldInfo where+    type AttrAllowedOps ArgumentVSizeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint ArgumentVSizeFieldInfo = (~) Word64+    type AttrBaseTypeConstraint ArgumentVSizeFieldInfo = (~) Argument+    type AttrGetType ArgumentVSizeFieldInfo = Word64+    type AttrLabel ArgumentVSizeFieldInfo = "v_size"+    type AttrOrigin ArgumentVSizeFieldInfo = Argument+    attrGet _ = getArgumentVSize+    attrSet _ = setArgumentVSize+    attrConstruct = undefined+    attrClear _ = undefined++argument_vSize :: AttrLabelProxy "vSize"+argument_vSize = AttrLabelProxy++#endif+++{- |+Get the value of the “@v_string@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' argument #vString+@+-}+getArgumentVString :: MonadIO m => Argument -> m (Maybe T.Text)+getArgumentVString s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CString+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- cstringToText val'+        return val''+    return result++{- |+Set the value of the “@v_string@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' argument [ #vString 'Data.GI.Base.Attributes.:=' value ]+@+-}+setArgumentVString :: MonadIO m => Argument -> CString -> m ()+setArgumentVString s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: CString)++{- |+Set the value of the “@v_string@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #vString+@+-}+clearArgumentVString :: MonadIO m => Argument -> m ()+clearArgumentVString s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)++#if ENABLE_OVERLOADING+data ArgumentVStringFieldInfo+instance AttrInfo ArgumentVStringFieldInfo where+    type AttrAllowedOps ArgumentVStringFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint ArgumentVStringFieldInfo = (~) CString+    type AttrBaseTypeConstraint ArgumentVStringFieldInfo = (~) Argument+    type AttrGetType ArgumentVStringFieldInfo = Maybe T.Text+    type AttrLabel ArgumentVStringFieldInfo = "v_string"+    type AttrOrigin ArgumentVStringFieldInfo = Argument+    attrGet _ = getArgumentVString+    attrSet _ = setArgumentVString+    attrConstruct = undefined+    attrClear _ = clearArgumentVString++argument_vString :: AttrLabelProxy "vString"+argument_vString = AttrLabelProxy++#endif+++{- |+Get the value of the “@v_pointer@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' argument #vPointer+@+-}+getArgumentVPointer :: MonadIO m => Argument -> m (Ptr ())+getArgumentVPointer s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr ())+    return val++{- |+Set the value of the “@v_pointer@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' argument [ #vPointer 'Data.GI.Base.Attributes.:=' value ]+@+-}+setArgumentVPointer :: MonadIO m => Argument -> Ptr () -> m ()+setArgumentVPointer s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Ptr ())++{- |+Set the value of the “@v_pointer@” field to `Nothing`.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.clear' #vPointer+@+-}+clearArgumentVPointer :: MonadIO m => Argument -> m ()+clearArgumentVPointer s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr ())++#if ENABLE_OVERLOADING+data ArgumentVPointerFieldInfo+instance AttrInfo ArgumentVPointerFieldInfo where+    type AttrAllowedOps ArgumentVPointerFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint ArgumentVPointerFieldInfo = (~) (Ptr ())+    type AttrBaseTypeConstraint ArgumentVPointerFieldInfo = (~) Argument+    type AttrGetType ArgumentVPointerFieldInfo = Ptr ()+    type AttrLabel ArgumentVPointerFieldInfo = "v_pointer"+    type AttrOrigin ArgumentVPointerFieldInfo = Argument+    attrGet _ = getArgumentVPointer+    attrSet _ = setArgumentVPointer+    attrConstruct = undefined+    attrClear _ = clearArgumentVPointer++argument_vPointer :: AttrLabelProxy "vPointer"+argument_vPointer = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList Argument+type instance O.AttributeList Argument = ArgumentAttributeList+type ArgumentAttributeList = ('[ '("vBoolean", ArgumentVBooleanFieldInfo), '("vInt8", ArgumentVInt8FieldInfo), '("vUint8", ArgumentVUint8FieldInfo), '("vInt16", ArgumentVInt16FieldInfo), '("vUint16", ArgumentVUint16FieldInfo), '("vInt32", ArgumentVInt32FieldInfo), '("vUint32", ArgumentVUint32FieldInfo), '("vInt64", ArgumentVInt64FieldInfo), '("vUint64", ArgumentVUint64FieldInfo), '("vFloat", ArgumentVFloatFieldInfo), '("vDouble", ArgumentVDoubleFieldInfo), '("vShort", ArgumentVShortFieldInfo), '("vUshort", ArgumentVUshortFieldInfo), '("vInt", ArgumentVIntFieldInfo), '("vUint", ArgumentVUintFieldInfo), '("vLong", ArgumentVLongFieldInfo), '("vUlong", ArgumentVUlongFieldInfo), '("vSsize", ArgumentVSsizeFieldInfo), '("vSize", ArgumentVSizeFieldInfo), '("vString", ArgumentVStringFieldInfo), '("vPointer", ArgumentVPointerFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveArgumentMethod (t :: Symbol) (o :: *) :: * where+    ResolveArgumentMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveArgumentMethod t Argument, O.MethodInfo info Argument p) => OL.IsLabel t (Argument -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++
+ GI/GIRepository/Unions/Argument.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.GIRepository.Unions.Argument where++import Data.GI.Base.ShortPrelude+import qualified Data.GI.Base.ShortPrelude as SP+import qualified Data.GI.Base.Overloading as O+import qualified Prelude as P++import qualified Data.GI.Base.Attributes as GI.Attributes+import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr+import qualified Data.GI.Base.GClosure as B.GClosure+import qualified Data.GI.Base.GError as B.GError+import qualified Data.GI.Base.GVariant as B.GVariant+import qualified Data.GI.Base.GValue as B.GValue+import qualified Data.GI.Base.GParamSpec as B.GParamSpec+import qualified Data.GI.Base.CallStack as B.CallStack+import qualified Data.GI.Base.Properties as B.Properties+import qualified Data.Text as T+import qualified Data.ByteString.Char8 as B+import qualified Data.Map as Map+import qualified Foreign.Ptr as FP+import qualified GHC.OverloadedLabels as OL++newtype Argument = Argument (ManagedPtr Argument)+instance WrappedPtr Argument where
LICENSE view
@@ -1,3 +1,17 @@+The gi-girepository library and included works are provided under the terms of the+GNU Library General Public License (LGPL) version 2.1 with the following+exception:++Static linking of applications or any other source to the gi-girepository library+does not constitute a modified or derivative work and does not require+the author(s) to provide source code for said work, to link against the+shared gi-girepository libraries, or to link their applications against a+user-supplied version of gi-girepository. If you link applications to a modified+version of gi-girepository, then the changes to gi-girepository must be provided under the+terms of the LGPL.++----------------------------------------------------------------------------+                   GNU LESSER GENERAL PUBLIC LICENSE                        Version 2.1, February 1999 
README.md view
@@ -1,6 +1,6 @@ # Documentation Autogenerated documentation for this package can be found at -[https://hackage.haskell.org/package/gi-girepository-1.0.16/docs/GI-GIRepository.html](https://hackage.haskell.org/package/gi-girepository-1.0.16/docs/GI-GIRepository.html)+[https://hackage.haskell.org/package/gi-girepository-1.0.18/docs/GI-GIRepository.html](https://hackage.haskell.org/package/gi-girepository-1.0.18/docs/GI-GIRepository.html)  For general documentation on using [haskell-gi](https://github.com/haskell-gi/haskell-gi) based bindings, see [the project page](https://github.com/haskell-gi/haskell-gi) or [the Wiki](https://github.com/haskell-gi/haskell-gi/wiki).
gi-girepository.cabal view
@@ -1,12 +1,12 @@ name:                 gi-girepository-version:              1.0.16+version:              1.0.18 synopsis:             GIRepository (gobject-introspection) bindings description:          Bindings for GIRepository, autogenerated by haskell-gi. homepage:             https://github.com/haskell-gi/haskell-gi license:              LGPL-2.1 license-file:         LICENSE author:               Will Thompson, Iñaki García Etxebarria and Jonas Platte-maintainer:           Iñaki García Etxebarria (garetxe@gmail.com)+maintainer:           Iñaki García Etxebarria (inaki@blueleaf.cc) category:             Bindings build-type:           Custom cabal-version:        1.24@@ -14,20 +14,20 @@ extra-source-files: README.md ChangeLog.md stack.yaml GIRepository.overrides  custom-setup-      setup-depends: base >= 4.7 && < 5,+      setup-depends: base >= 4.9 && < 5,                      Cabal >= 1.24,-                     haskell-gi >= 0.21.1 && < 0.22+                     haskell-gi >= 0.21.0 && < 0.23  library       default-language: Haskell2010-      default-extensions: NoImplicitPrelude, ScopedTypeVariables, CPP, OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts+      default-extensions: NoImplicitPrelude, ScopedTypeVariables, CPP, OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts, UndecidableSuperClasses       other-extensions: PatternSynonyms, ViewPatterns       ghc-options: -fno-warn-unused-imports -fno-warn-warnings-deprecations        pkgconfig-depends: gobject-introspection-1.0       build-depends: base >= 4.7 && <5,-                     haskell-gi-base == 0.21.*,-                     haskell-gi >= 0.21.1 && < 0.22,+                     haskell-gi-base >= 0.21.0 && < 0.23,+                     haskell-gi >= 0.21.0 && < 0.23,                      haskell-gi-overloading < 1.1,                      gi-glib == 2.0.*,                      gi-gobject == 2.0.*,@@ -40,3 +40,18 @@       -- see https://ghc.haskell.org/trac/ghc/ticket/14382       if impl(ghc == 8.2.*)               build-depends: haskell-gi-overloading == 0.0++      exposed-modules: GI.GIRepository,+                       GI.GIRepository.Constants,+                       GI.GIRepository.Enums,+                       GI.GIRepository.Flags,+                       GI.GIRepository.Functions,+                       GI.GIRepository.Objects,+                       GI.GIRepository.Objects.Repository,+                       GI.GIRepository.Structs,+                       GI.GIRepository.Structs.AttributeIter,+                       GI.GIRepository.Structs.BaseInfo,+                       GI.GIRepository.Structs.Typelib,+                       GI.GIRepository.Structs.UnresolvedInfo,+                       GI.GIRepository.Unions,+                       GI.GIRepository.Unions.Argument
stack.yaml view
@@ -1,3 +1,3 @@ packages: - '.'-resolver: lts-9.21+resolver: lts-13.7