packages feed

gi-glib 2.0.19 → 2.0.20

raw patch · 149 files changed

+83/−88193 lines, 149 filesPVP ok

version bump matches the API change (PVP)

API changes (from Hackage documentation)

Files

ChangeLog.md view
@@ -1,3 +1,7 @@+### 2.0.20+++ List autogenerated modules in .cabal file+ ### 2.0.19  + Update to haskell-gi(-base) 0.22
− GI/GLib.hs
@@ -1,58 +0,0 @@---{- |-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.GLib-    (     module GI.GLib.Callbacks                ,-    module GI.GLib.Constants                ,-    module GI.GLib.Enums                    ,-    module GI.GLib.Flags                    ,-    module GI.GLib.Functions                ,-    module GI.GLib.Structs                  ,-    module GI.GLib.Unions                   ,----    module Data.GI.Base                     ,---    ) where--import GI.GLib.Callbacks-import GI.GLib.Constants-import GI.GLib.Enums-import GI.GLib.Flags-import GI.GLib.Functions-import GI.GLib.Structs-import GI.GLib.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/GLib/Callbacks.hs
@@ -1,6185 +0,0 @@---{- |-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.GLib.Callbacks-    ( -- -- * Signals--- ** ChildWatchFunc #signal:ChildWatchFunc#--    C_ChildWatchFunc                        ,-    ChildWatchFunc                          ,-    ChildWatchFunc_WithClosures             ,-    drop_closures_ChildWatchFunc            ,-    dynamic_ChildWatchFunc                  ,-    genClosure_ChildWatchFunc               ,-    mk_ChildWatchFunc                       ,-    noChildWatchFunc                        ,-    noChildWatchFunc_WithClosures           ,-    wrap_ChildWatchFunc                     ,----- ** ClearHandleFunc #signal:ClearHandleFunc#--    C_ClearHandleFunc                       ,-    ClearHandleFunc                         ,-    dynamic_ClearHandleFunc                 ,-    genClosure_ClearHandleFunc              ,-    mk_ClearHandleFunc                      ,-    noClearHandleFunc                       ,-    wrap_ClearHandleFunc                    ,----- ** CompareDataFunc #signal:CompareDataFunc#--    C_CompareDataFunc                       ,-    CompareDataFunc                         ,-    CompareDataFunc_WithClosures            ,-    drop_closures_CompareDataFunc           ,-    dynamic_CompareDataFunc                 ,-    genClosure_CompareDataFunc              ,-    mk_CompareDataFunc                      ,-    noCompareDataFunc                       ,-    noCompareDataFunc_WithClosures          ,-    wrap_CompareDataFunc                    ,----- ** CompareFunc #signal:CompareFunc#--    C_CompareFunc                           ,-    CompareFunc                             ,-    dynamic_CompareFunc                     ,-    genClosure_CompareFunc                  ,-    mk_CompareFunc                          ,-    noCompareFunc                           ,-    wrap_CompareFunc                        ,----- ** CopyFunc #signal:CopyFunc#--    C_CopyFunc                              ,-    CopyFunc                                ,-    dynamic_CopyFunc                        ,-    genClosure_CopyFunc                     ,-    mk_CopyFunc                             ,-    noCopyFunc                              ,-    wrap_CopyFunc                           ,----- ** DataForeachFunc #signal:DataForeachFunc#--    C_DataForeachFunc                       ,-    DataForeachFunc                         ,-    DataForeachFunc_WithClosures            ,-    drop_closures_DataForeachFunc           ,-    dynamic_DataForeachFunc                 ,-    genClosure_DataForeachFunc              ,-    mk_DataForeachFunc                      ,-    noDataForeachFunc                       ,-    noDataForeachFunc_WithClosures          ,-    wrap_DataForeachFunc                    ,----- ** DestroyNotify #signal:DestroyNotify#--    C_DestroyNotify                         ,-    DestroyNotify                           ,-    dynamic_DestroyNotify                   ,-    genClosure_DestroyNotify                ,-    mk_DestroyNotify                        ,-    noDestroyNotify                         ,-    wrap_DestroyNotify                      ,----- ** DuplicateFunc #signal:DuplicateFunc#--    C_DuplicateFunc                         ,-    DuplicateFunc                           ,-    DuplicateFunc_WithClosures              ,-    drop_closures_DuplicateFunc             ,-    dynamic_DuplicateFunc                   ,-    genClosure_DuplicateFunc                ,-    mk_DuplicateFunc                        ,-    noDuplicateFunc                         ,-    noDuplicateFunc_WithClosures            ,-    wrap_DuplicateFunc                      ,----- ** EqualFunc #signal:EqualFunc#--    C_EqualFunc                             ,-    EqualFunc                               ,-    dynamic_EqualFunc                       ,-    genClosure_EqualFunc                    ,-    mk_EqualFunc                            ,-    noEqualFunc                             ,-    wrap_EqualFunc                          ,----- ** FreeFunc #signal:FreeFunc#--    C_FreeFunc                              ,-    FreeFunc                                ,-    dynamic_FreeFunc                        ,-    genClosure_FreeFunc                     ,-    mk_FreeFunc                             ,-    noFreeFunc                              ,-    wrap_FreeFunc                           ,----- ** Func #signal:Func#--    C_Func                                  ,-    Func                                    ,-    Func_WithClosures                       ,-    drop_closures_Func                      ,-    dynamic_Func                            ,-    genClosure_Func                         ,-    mk_Func                                 ,-    noFunc                                  ,-    noFunc_WithClosures                     ,-    wrap_Func                               ,----- ** HFunc #signal:HFunc#--    C_HFunc                                 ,-    HFunc                                   ,-    HFunc_WithClosures                      ,-    drop_closures_HFunc                     ,-    dynamic_HFunc                           ,-    genClosure_HFunc                        ,-    mk_HFunc                                ,-    noHFunc                                 ,-    noHFunc_WithClosures                    ,-    wrap_HFunc                              ,----- ** HRFunc #signal:HRFunc#--    C_HRFunc                                ,-    HRFunc                                  ,-    HRFunc_WithClosures                     ,-    drop_closures_HRFunc                    ,-    dynamic_HRFunc                          ,-    genClosure_HRFunc                       ,-    mk_HRFunc                               ,-    noHRFunc                                ,-    noHRFunc_WithClosures                   ,-    wrap_HRFunc                             ,----- ** HashFunc #signal:HashFunc#--    C_HashFunc                              ,-    HashFunc                                ,-    dynamic_HashFunc                        ,-    genClosure_HashFunc                     ,-    mk_HashFunc                             ,-    noHashFunc                              ,-    wrap_HashFunc                           ,----- ** HookCheckFunc #signal:HookCheckFunc#--    C_HookCheckFunc                         ,-    HookCheckFunc                           ,-    dynamic_HookCheckFunc                   ,-    genClosure_HookCheckFunc                ,-    mk_HookCheckFunc                        ,-    noHookCheckFunc                         ,-    wrap_HookCheckFunc                      ,----- ** HookCheckMarshaller #signal:HookCheckMarshaller#--    C_HookCheckMarshaller                   ,-    HookCheckMarshaller                     ,-    dynamic_HookCheckMarshaller             ,-    genClosure_HookCheckMarshaller          ,-    mk_HookCheckMarshaller                  ,-    noHookCheckMarshaller                   ,-    wrap_HookCheckMarshaller                ,----- ** HookCompareFunc #signal:HookCompareFunc#--    C_HookCompareFunc                       ,-    HookCompareFunc                         ,-    dynamic_HookCompareFunc                 ,-    genClosure_HookCompareFunc              ,-    mk_HookCompareFunc                      ,-    noHookCompareFunc                       ,-    wrap_HookCompareFunc                    ,----- ** HookFinalizeFunc #signal:HookFinalizeFunc#--    C_HookFinalizeFunc                      ,-    HookFinalizeFunc                        ,-    dynamic_HookFinalizeFunc                ,-    genClosure_HookFinalizeFunc             ,-    mk_HookFinalizeFunc                     ,-    noHookFinalizeFunc                      ,-    wrap_HookFinalizeFunc                   ,----- ** HookFindFunc #signal:HookFindFunc#--    C_HookFindFunc                          ,-    HookFindFunc                            ,-    dynamic_HookFindFunc                    ,-    genClosure_HookFindFunc                 ,-    mk_HookFindFunc                         ,-    noHookFindFunc                          ,-    wrap_HookFindFunc                       ,----- ** HookFunc #signal:HookFunc#--    C_HookFunc                              ,-    HookFunc                                ,-    dynamic_HookFunc                        ,-    genClosure_HookFunc                     ,-    mk_HookFunc                             ,-    noHookFunc                              ,-    wrap_HookFunc                           ,----- ** HookMarshaller #signal:HookMarshaller#--    C_HookMarshaller                        ,-    HookMarshaller                          ,-    dynamic_HookMarshaller                  ,-    genClosure_HookMarshaller               ,-    mk_HookMarshaller                       ,-    noHookMarshaller                        ,-    wrap_HookMarshaller                     ,----- ** IOFunc #signal:IOFunc#--    C_IOFunc                                ,-    IOFunc                                  ,-    dynamic_IOFunc                          ,-    genClosure_IOFunc                       ,-    mk_IOFunc                               ,-    noIOFunc                                ,-    wrap_IOFunc                             ,----- ** IOFuncsIoCloseFieldCallback #signal:IOFuncsIoCloseFieldCallback#--    C_IOFuncsIoCloseFieldCallback           ,-    IOFuncsIoCloseFieldCallback             ,-    dynamic_IOFuncsIoCloseFieldCallback     ,-    mk_IOFuncsIoCloseFieldCallback          ,-    noIOFuncsIoCloseFieldCallback           ,----- ** IOFuncsIoCreateWatchFieldCallback #signal:IOFuncsIoCreateWatchFieldCallback#--    C_IOFuncsIoCreateWatchFieldCallback     ,-    IOFuncsIoCreateWatchFieldCallback       ,-    dynamic_IOFuncsIoCreateWatchFieldCallback,-    genClosure_IOFuncsIoCreateWatchFieldCallback,-    mk_IOFuncsIoCreateWatchFieldCallback    ,-    noIOFuncsIoCreateWatchFieldCallback     ,-    wrap_IOFuncsIoCreateWatchFieldCallback  ,----- ** IOFuncsIoFreeFieldCallback #signal:IOFuncsIoFreeFieldCallback#--    C_IOFuncsIoFreeFieldCallback            ,-    IOFuncsIoFreeFieldCallback              ,-    dynamic_IOFuncsIoFreeFieldCallback      ,-    genClosure_IOFuncsIoFreeFieldCallback   ,-    mk_IOFuncsIoFreeFieldCallback           ,-    noIOFuncsIoFreeFieldCallback            ,-    wrap_IOFuncsIoFreeFieldCallback         ,----- ** IOFuncsIoGetFlagsFieldCallback #signal:IOFuncsIoGetFlagsFieldCallback#--    C_IOFuncsIoGetFlagsFieldCallback        ,-    IOFuncsIoGetFlagsFieldCallback          ,-    dynamic_IOFuncsIoGetFlagsFieldCallback  ,-    genClosure_IOFuncsIoGetFlagsFieldCallback,-    mk_IOFuncsIoGetFlagsFieldCallback       ,-    noIOFuncsIoGetFlagsFieldCallback        ,-    wrap_IOFuncsIoGetFlagsFieldCallback     ,----- ** IOFuncsIoReadFieldCallback #signal:IOFuncsIoReadFieldCallback#--    C_IOFuncsIoReadFieldCallback            ,-    IOFuncsIoReadFieldCallback              ,-    dynamic_IOFuncsIoReadFieldCallback      ,-    mk_IOFuncsIoReadFieldCallback           ,-    noIOFuncsIoReadFieldCallback            ,----- ** IOFuncsIoSeekFieldCallback #signal:IOFuncsIoSeekFieldCallback#--    C_IOFuncsIoSeekFieldCallback            ,-    IOFuncsIoSeekFieldCallback              ,-    dynamic_IOFuncsIoSeekFieldCallback      ,-    mk_IOFuncsIoSeekFieldCallback           ,-    noIOFuncsIoSeekFieldCallback            ,----- ** IOFuncsIoSetFlagsFieldCallback #signal:IOFuncsIoSetFlagsFieldCallback#--    C_IOFuncsIoSetFlagsFieldCallback        ,-    IOFuncsIoSetFlagsFieldCallback          ,-    dynamic_IOFuncsIoSetFlagsFieldCallback  ,-    mk_IOFuncsIoSetFlagsFieldCallback       ,-    noIOFuncsIoSetFlagsFieldCallback        ,----- ** IOFuncsIoWriteFieldCallback #signal:IOFuncsIoWriteFieldCallback#--    C_IOFuncsIoWriteFieldCallback           ,-    IOFuncsIoWriteFieldCallback             ,-    dynamic_IOFuncsIoWriteFieldCallback     ,-    mk_IOFuncsIoWriteFieldCallback          ,-    noIOFuncsIoWriteFieldCallback           ,----- ** LogFunc #signal:LogFunc#--    C_LogFunc                               ,-    LogFunc                                 ,-    LogFunc_WithClosures                    ,-    drop_closures_LogFunc                   ,-    dynamic_LogFunc                         ,-    genClosure_LogFunc                      ,-    mk_LogFunc                              ,-    noLogFunc                               ,-    noLogFunc_WithClosures                  ,-    wrap_LogFunc                            ,----- ** LogWriterFunc #signal:LogWriterFunc#--    C_LogWriterFunc                         ,-    LogWriterFunc                           ,-    LogWriterFunc_WithClosures              ,-    drop_closures_LogWriterFunc             ,-    dynamic_LogWriterFunc                   ,-    genClosure_LogWriterFunc                ,-    mk_LogWriterFunc                        ,-    noLogWriterFunc                         ,-    noLogWriterFunc_WithClosures            ,-    wrap_LogWriterFunc                      ,----- ** MarkupParserEndElementFieldCallback #signal:MarkupParserEndElementFieldCallback#--    C_MarkupParserEndElementFieldCallback   ,-    MarkupParserEndElementFieldCallback     ,-    MarkupParserEndElementFieldCallback_WithClosures,-    drop_closures_MarkupParserEndElementFieldCallback,-    dynamic_MarkupParserEndElementFieldCallback,-    mk_MarkupParserEndElementFieldCallback  ,-    noMarkupParserEndElementFieldCallback   ,-    noMarkupParserEndElementFieldCallback_WithClosures,----- ** MarkupParserErrorFieldCallback #signal:MarkupParserErrorFieldCallback#--    C_MarkupParserErrorFieldCallback        ,-    MarkupParserErrorFieldCallback          ,-    MarkupParserErrorFieldCallback_WithClosures,-    drop_closures_MarkupParserErrorFieldCallback,-    dynamic_MarkupParserErrorFieldCallback  ,-    genClosure_MarkupParserErrorFieldCallback,-    mk_MarkupParserErrorFieldCallback       ,-    noMarkupParserErrorFieldCallback        ,-    noMarkupParserErrorFieldCallback_WithClosures,-    wrap_MarkupParserErrorFieldCallback     ,----- ** MarkupParserPassthroughFieldCallback #signal:MarkupParserPassthroughFieldCallback#--    C_MarkupParserPassthroughFieldCallback  ,-    MarkupParserPassthroughFieldCallback    ,-    MarkupParserPassthroughFieldCallback_WithClosures,-    drop_closures_MarkupParserPassthroughFieldCallback,-    dynamic_MarkupParserPassthroughFieldCallback,-    mk_MarkupParserPassthroughFieldCallback ,-    noMarkupParserPassthroughFieldCallback  ,-    noMarkupParserPassthroughFieldCallback_WithClosures,----- ** MarkupParserStartElementFieldCallback #signal:MarkupParserStartElementFieldCallback#--    C_MarkupParserStartElementFieldCallback ,-    MarkupParserStartElementFieldCallback   ,-    MarkupParserStartElementFieldCallback_WithClosures,-    drop_closures_MarkupParserStartElementFieldCallback,-    dynamic_MarkupParserStartElementFieldCallback,-    mk_MarkupParserStartElementFieldCallback,-    noMarkupParserStartElementFieldCallback ,-    noMarkupParserStartElementFieldCallback_WithClosures,----- ** MarkupParserTextFieldCallback #signal:MarkupParserTextFieldCallback#--    C_MarkupParserTextFieldCallback         ,-    MarkupParserTextFieldCallback           ,-    MarkupParserTextFieldCallback_WithClosures,-    drop_closures_MarkupParserTextFieldCallback,-    dynamic_MarkupParserTextFieldCallback   ,-    mk_MarkupParserTextFieldCallback        ,-    noMarkupParserTextFieldCallback         ,-    noMarkupParserTextFieldCallback_WithClosures,----- ** MemVTableCallocFieldCallback #signal:MemVTableCallocFieldCallback#--    C_MemVTableCallocFieldCallback          ,-    MemVTableCallocFieldCallback            ,-    dynamic_MemVTableCallocFieldCallback    ,-    genClosure_MemVTableCallocFieldCallback ,-    mk_MemVTableCallocFieldCallback         ,-    noMemVTableCallocFieldCallback          ,-    wrap_MemVTableCallocFieldCallback       ,----- ** MemVTableFreeFieldCallback #signal:MemVTableFreeFieldCallback#--    C_MemVTableFreeFieldCallback            ,-    MemVTableFreeFieldCallback              ,-    dynamic_MemVTableFreeFieldCallback      ,-    genClosure_MemVTableFreeFieldCallback   ,-    mk_MemVTableFreeFieldCallback           ,-    noMemVTableFreeFieldCallback            ,-    wrap_MemVTableFreeFieldCallback         ,----- ** MemVTableMallocFieldCallback #signal:MemVTableMallocFieldCallback#--    C_MemVTableMallocFieldCallback          ,-    MemVTableMallocFieldCallback            ,-    dynamic_MemVTableMallocFieldCallback    ,-    genClosure_MemVTableMallocFieldCallback ,-    mk_MemVTableMallocFieldCallback         ,-    noMemVTableMallocFieldCallback          ,-    wrap_MemVTableMallocFieldCallback       ,----- ** MemVTableReallocFieldCallback #signal:MemVTableReallocFieldCallback#--    C_MemVTableReallocFieldCallback         ,-    MemVTableReallocFieldCallback           ,-    dynamic_MemVTableReallocFieldCallback   ,-    genClosure_MemVTableReallocFieldCallback,-    mk_MemVTableReallocFieldCallback        ,-    noMemVTableReallocFieldCallback         ,-    wrap_MemVTableReallocFieldCallback      ,----- ** MemVTableTryMallocFieldCallback #signal:MemVTableTryMallocFieldCallback#--    C_MemVTableTryMallocFieldCallback       ,-    MemVTableTryMallocFieldCallback         ,-    dynamic_MemVTableTryMallocFieldCallback ,-    genClosure_MemVTableTryMallocFieldCallback,-    mk_MemVTableTryMallocFieldCallback      ,-    noMemVTableTryMallocFieldCallback       ,-    wrap_MemVTableTryMallocFieldCallback    ,----- ** MemVTableTryReallocFieldCallback #signal:MemVTableTryReallocFieldCallback#--    C_MemVTableTryReallocFieldCallback      ,-    MemVTableTryReallocFieldCallback        ,-    dynamic_MemVTableTryReallocFieldCallback,-    genClosure_MemVTableTryReallocFieldCallback,-    mk_MemVTableTryReallocFieldCallback     ,-    noMemVTableTryReallocFieldCallback      ,-    wrap_MemVTableTryReallocFieldCallback   ,----- ** NodeForeachFunc #signal:NodeForeachFunc#--    C_NodeForeachFunc                       ,-    NodeForeachFunc                         ,-    dynamic_NodeForeachFunc                 ,-    genClosure_NodeForeachFunc              ,-    mk_NodeForeachFunc                      ,-    noNodeForeachFunc                       ,-    wrap_NodeForeachFunc                    ,----- ** NodeTraverseFunc #signal:NodeTraverseFunc#--    C_NodeTraverseFunc                      ,-    NodeTraverseFunc                        ,-    dynamic_NodeTraverseFunc                ,-    genClosure_NodeTraverseFunc             ,-    mk_NodeTraverseFunc                     ,-    noNodeTraverseFunc                      ,-    wrap_NodeTraverseFunc                   ,----- ** OptionArgFunc #signal:OptionArgFunc#--    C_OptionArgFunc                         ,-    OptionArgFunc                           ,-    dynamic_OptionArgFunc                   ,-    mk_OptionArgFunc                        ,-    noOptionArgFunc                         ,----- ** OptionErrorFunc #signal:OptionErrorFunc#--    C_OptionErrorFunc                       ,-    OptionErrorFunc                         ,-    dynamic_OptionErrorFunc                 ,-    mk_OptionErrorFunc                      ,-    noOptionErrorFunc                       ,----- ** OptionParseFunc #signal:OptionParseFunc#--    C_OptionParseFunc                       ,-    OptionParseFunc                         ,-    dynamic_OptionParseFunc                 ,-    mk_OptionParseFunc                      ,-    noOptionParseFunc                       ,----- ** PollFunc #signal:PollFunc#--    C_PollFunc                              ,-    PollFunc                                ,-    dynamic_PollFunc                        ,-    genClosure_PollFunc                     ,-    mk_PollFunc                             ,-    noPollFunc                              ,-    wrap_PollFunc                           ,----- ** PrintFunc #signal:PrintFunc#--    C_PrintFunc                             ,-    PrintFunc                               ,-    dynamic_PrintFunc                       ,-    genClosure_PrintFunc                    ,-    mk_PrintFunc                            ,-    noPrintFunc                             ,-    wrap_PrintFunc                          ,----- ** RegexEvalCallback #signal:RegexEvalCallback#--    C_RegexEvalCallback                     ,-    RegexEvalCallback                       ,-    RegexEvalCallback_WithClosures          ,-    drop_closures_RegexEvalCallback         ,-    dynamic_RegexEvalCallback               ,-    genClosure_RegexEvalCallback            ,-    mk_RegexEvalCallback                    ,-    noRegexEvalCallback                     ,-    noRegexEvalCallback_WithClosures        ,-    wrap_RegexEvalCallback                  ,----- ** ScannerMsgFunc #signal:ScannerMsgFunc#--    C_ScannerMsgFunc                        ,-    ScannerMsgFunc                          ,-    dynamic_ScannerMsgFunc                  ,-    genClosure_ScannerMsgFunc               ,-    mk_ScannerMsgFunc                       ,-    noScannerMsgFunc                        ,-    wrap_ScannerMsgFunc                     ,----- ** SequenceIterCompareFunc #signal:SequenceIterCompareFunc#--    C_SequenceIterCompareFunc               ,-    SequenceIterCompareFunc                 ,-    dynamic_SequenceIterCompareFunc         ,-    genClosure_SequenceIterCompareFunc      ,-    mk_SequenceIterCompareFunc              ,-    noSequenceIterCompareFunc               ,-    wrap_SequenceIterCompareFunc            ,----- ** SourceCallbackFuncsRefFieldCallback #signal:SourceCallbackFuncsRefFieldCallback#--    C_SourceCallbackFuncsRefFieldCallback   ,-    SourceCallbackFuncsRefFieldCallback     ,-    dynamic_SourceCallbackFuncsRefFieldCallback,-    genClosure_SourceCallbackFuncsRefFieldCallback,-    mk_SourceCallbackFuncsRefFieldCallback  ,-    noSourceCallbackFuncsRefFieldCallback   ,-    wrap_SourceCallbackFuncsRefFieldCallback,----- ** SourceCallbackFuncsUnrefFieldCallback #signal:SourceCallbackFuncsUnrefFieldCallback#--    C_SourceCallbackFuncsUnrefFieldCallback ,-    SourceCallbackFuncsUnrefFieldCallback   ,-    dynamic_SourceCallbackFuncsUnrefFieldCallback,-    genClosure_SourceCallbackFuncsUnrefFieldCallback,-    mk_SourceCallbackFuncsUnrefFieldCallback,-    noSourceCallbackFuncsUnrefFieldCallback ,-    wrap_SourceCallbackFuncsUnrefFieldCallback,----- ** SourceDummyMarshal #signal:SourceDummyMarshal#--    C_SourceDummyMarshal                    ,-    SourceDummyMarshal                      ,-    dynamic_SourceDummyMarshal              ,-    genClosure_SourceDummyMarshal           ,-    mk_SourceDummyMarshal                   ,-    noSourceDummyMarshal                    ,-    wrap_SourceDummyMarshal                 ,----- ** SourceFunc #signal:SourceFunc#--    C_SourceFunc                            ,-    SourceFunc                              ,-    SourceFunc_WithClosures                 ,-    drop_closures_SourceFunc                ,-    dynamic_SourceFunc                      ,-    genClosure_SourceFunc                   ,-    mk_SourceFunc                           ,-    noSourceFunc                            ,-    noSourceFunc_WithClosures               ,-    wrap_SourceFunc                         ,----- ** SourceFuncsCheckFieldCallback #signal:SourceFuncsCheckFieldCallback#--    C_SourceFuncsCheckFieldCallback         ,-    SourceFuncsCheckFieldCallback           ,-    dynamic_SourceFuncsCheckFieldCallback   ,-    genClosure_SourceFuncsCheckFieldCallback,-    mk_SourceFuncsCheckFieldCallback        ,-    noSourceFuncsCheckFieldCallback         ,-    wrap_SourceFuncsCheckFieldCallback      ,----- ** SourceFuncsFinalizeFieldCallback #signal:SourceFuncsFinalizeFieldCallback#--    C_SourceFuncsFinalizeFieldCallback      ,-    SourceFuncsFinalizeFieldCallback        ,-    dynamic_SourceFuncsFinalizeFieldCallback,-    genClosure_SourceFuncsFinalizeFieldCallback,-    mk_SourceFuncsFinalizeFieldCallback     ,-    noSourceFuncsFinalizeFieldCallback      ,-    wrap_SourceFuncsFinalizeFieldCallback   ,----- ** SourceFuncsPrepareFieldCallback #signal:SourceFuncsPrepareFieldCallback#--    C_SourceFuncsPrepareFieldCallback       ,-    SourceFuncsPrepareFieldCallback         ,-    dynamic_SourceFuncsPrepareFieldCallback ,-    genClosure_SourceFuncsPrepareFieldCallback,-    mk_SourceFuncsPrepareFieldCallback      ,-    noSourceFuncsPrepareFieldCallback       ,-    wrap_SourceFuncsPrepareFieldCallback    ,----- ** SpawnChildSetupFunc #signal:SpawnChildSetupFunc#--    C_SpawnChildSetupFunc                   ,-    SpawnChildSetupFunc                     ,-    SpawnChildSetupFunc_WithClosures        ,-    drop_closures_SpawnChildSetupFunc       ,-    dynamic_SpawnChildSetupFunc             ,-    genClosure_SpawnChildSetupFunc          ,-    mk_SpawnChildSetupFunc                  ,-    noSpawnChildSetupFunc                   ,-    noSpawnChildSetupFunc_WithClosures      ,-    wrap_SpawnChildSetupFunc                ,----- ** TestDataFunc #signal:TestDataFunc#--    C_TestDataFunc                          ,-    TestDataFunc                            ,-    TestDataFunc_WithClosures               ,-    drop_closures_TestDataFunc              ,-    dynamic_TestDataFunc                    ,-    genClosure_TestDataFunc                 ,-    mk_TestDataFunc                         ,-    noTestDataFunc                          ,-    noTestDataFunc_WithClosures             ,-    wrap_TestDataFunc                       ,----- ** TestFixtureFunc #signal:TestFixtureFunc#--    C_TestFixtureFunc                       ,-    TestFixtureFunc                         ,-    TestFixtureFunc_WithClosures            ,-    drop_closures_TestFixtureFunc           ,-    dynamic_TestFixtureFunc                 ,-    genClosure_TestFixtureFunc              ,-    mk_TestFixtureFunc                      ,-    noTestFixtureFunc                       ,-    noTestFixtureFunc_WithClosures          ,-    wrap_TestFixtureFunc                    ,----- ** TestFunc #signal:TestFunc#--    C_TestFunc                              ,-    TestFunc                                ,-    dynamic_TestFunc                        ,-    genClosure_TestFunc                     ,-    mk_TestFunc                             ,-    noTestFunc                              ,-    wrap_TestFunc                           ,----- ** TestLogFatalFunc #signal:TestLogFatalFunc#--    C_TestLogFatalFunc                      ,-    TestLogFatalFunc                        ,-    TestLogFatalFunc_WithClosures           ,-    drop_closures_TestLogFatalFunc          ,-    dynamic_TestLogFatalFunc                ,-    genClosure_TestLogFatalFunc             ,-    mk_TestLogFatalFunc                     ,-    noTestLogFatalFunc                      ,-    noTestLogFatalFunc_WithClosures         ,-    wrap_TestLogFatalFunc                   ,----- ** ThreadFunc #signal:ThreadFunc#--    C_ThreadFunc                            ,-    ThreadFunc                              ,-    dynamic_ThreadFunc                      ,-    genClosure_ThreadFunc                   ,-    mk_ThreadFunc                           ,-    noThreadFunc                            ,-    wrap_ThreadFunc                         ,----- ** TranslateFunc #signal:TranslateFunc#--    C_TranslateFunc                         ,-    TranslateFunc                           ,-    dynamic_TranslateFunc                   ,-    genClosure_TranslateFunc                ,-    mk_TranslateFunc                        ,-    noTranslateFunc                         ,-    wrap_TranslateFunc                      ,----- ** TraverseFunc #signal:TraverseFunc#--    C_TraverseFunc                          ,-    TraverseFunc                            ,-    dynamic_TraverseFunc                    ,-    genClosure_TraverseFunc                 ,-    mk_TraverseFunc                         ,-    noTraverseFunc                          ,-    wrap_TraverseFunc                       ,----- ** UnixFDSourceFunc #signal:UnixFDSourceFunc#--    C_UnixFDSourceFunc                      ,-    UnixFDSourceFunc                        ,-    UnixFDSourceFunc_WithClosures           ,-    drop_closures_UnixFDSourceFunc          ,-    dynamic_UnixFDSourceFunc                ,-    genClosure_UnixFDSourceFunc             ,-    mk_UnixFDSourceFunc                     ,-    noUnixFDSourceFunc                      ,-    noUnixFDSourceFunc_WithClosures         ,-    wrap_UnixFDSourceFunc                   ,----- ** VoidFunc #signal:VoidFunc#--    C_VoidFunc                              ,-    VoidFunc                                ,-    dynamic_VoidFunc                        ,-    genClosure_VoidFunc                     ,-    mk_VoidFunc                             ,-    noVoidFunc                              ,-    wrap_VoidFunc                           ,-----    ) 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.GLib.Enums as GLib.Enums-import {-# SOURCE #-} qualified GI.GLib.Flags as GLib.Flags-import {-# SOURCE #-} qualified GI.GLib.Structs.Hook as GLib.Hook-import {-# SOURCE #-} qualified GI.GLib.Structs.HookList as GLib.HookList-import {-# SOURCE #-} qualified GI.GLib.Structs.IOChannel as GLib.IOChannel-import {-# SOURCE #-} qualified GI.GLib.Structs.LogField as GLib.LogField-import {-# SOURCE #-} qualified GI.GLib.Structs.MarkupParseContext as GLib.MarkupParseContext-import {-# SOURCE #-} qualified GI.GLib.Structs.MatchInfo as GLib.MatchInfo-import {-# SOURCE #-} qualified GI.GLib.Structs.Node as GLib.Node-import {-# SOURCE #-} qualified GI.GLib.Structs.OptionContext as GLib.OptionContext-import {-# SOURCE #-} qualified GI.GLib.Structs.OptionGroup as GLib.OptionGroup-import {-# SOURCE #-} qualified GI.GLib.Structs.PollFD as GLib.PollFD-import {-# SOURCE #-} qualified GI.GLib.Structs.Scanner as GLib.Scanner-import {-# SOURCE #-} qualified GI.GLib.Structs.SequenceIter as GLib.SequenceIter-import {-# SOURCE #-} qualified GI.GLib.Structs.Source as GLib.Source-import {-# SOURCE #-} qualified GI.GLib.Structs.String as GLib.String---- callback VoidFunc---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Declares a type of function which takes no arguments\nand has no return value. It is used to specify the type\nfunction passed to g_atexit().", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_VoidFunc =-    IO ()---- Args : []--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_VoidFunc :: FunPtr C_VoidFunc -> C_VoidFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_VoidFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_VoidFunc-    -> m ()-dynamic_VoidFunc __funPtr = liftIO $ do-    (__dynamic_C_VoidFunc __funPtr)-    return ()---- | Generate a function pointer callable from C code, from a `C_VoidFunc`.-foreign import ccall "wrapper"-    mk_VoidFunc :: C_VoidFunc -> IO (FunPtr C_VoidFunc)--{- |-Declares a type of function which takes no arguments-and has no return value. It is used to specify the type-function passed to 'GI.GLib.Functions.atexit'.--}-type VoidFunc =-    IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `VoidFunc`@.-noVoidFunc :: Maybe VoidFunc-noVoidFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_VoidFunc :: MonadIO m => VoidFunc -> m (GClosure C_VoidFunc)-genClosure_VoidFunc cb = liftIO $ do-    let cb' = wrap_VoidFunc Nothing cb-    mk_VoidFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `VoidFunc` into a `C_VoidFunc`.-wrap_VoidFunc ::-    Maybe (Ptr (FunPtr C_VoidFunc)) ->-    VoidFunc ->-    C_VoidFunc-wrap_VoidFunc funptrptr _cb = do-    _cb -    maybeReleaseFunPtr funptrptr----- callback UnixFDSourceFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%FALSE if the source should be removed", sinceVersion = Nothing}, args = [Arg {argCName = "fd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the fd that triggered the event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "condition", argType = TInterface (Name {namespace = "GLib", name = "IOCondition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the IO conditions reported on @fd", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_unix_fd_add()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type of functions to be called when a UNIX fd watch source\ntriggers.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_UnixFDSourceFunc =-    Int32 ->-    CUInt ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "fd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the fd that triggered the event", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "condition", argType = TInterface (Name {namespace = "GLib", name = "IOCondition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the IO conditions reported on @fd", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_unix_fd_add()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_UnixFDSourceFunc :: FunPtr C_UnixFDSourceFunc -> C_UnixFDSourceFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_UnixFDSourceFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_UnixFDSourceFunc-    -> Int32-    {- ^ /@fd@/: the fd that triggered the event -}-    -> [GLib.Flags.IOCondition]-    {- ^ /@condition@/: the IO conditions reported on /@fd@/ -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to @/g_unix_fd_add()/@ -}-    -> m Bool-    {- ^ __Returns:__ 'False' if the source should be removed -}-dynamic_UnixFDSourceFunc __funPtr fd condition userData = liftIO $ do-    let condition' = gflagsToWord condition-    result <- (__dynamic_C_UnixFDSourceFunc __funPtr) fd condition' userData-    let result' = (/= 0) result-    return result'---- | Generate a function pointer callable from C code, from a `C_UnixFDSourceFunc`.-foreign import ccall "wrapper"-    mk_UnixFDSourceFunc :: C_UnixFDSourceFunc -> IO (FunPtr C_UnixFDSourceFunc)--{- |-The type of functions to be called when a UNIX fd watch source-triggers.--}-type UnixFDSourceFunc =-    Int32-    {- ^ /@fd@/: the fd that triggered the event -}-    -> [GLib.Flags.IOCondition]-    {- ^ /@condition@/: the IO conditions reported on /@fd@/ -}-    -> IO Bool-    {- ^ __Returns:__ 'False' if the source should be removed -}---- | A convenience synonym for @`Nothing` :: `Maybe` `UnixFDSourceFunc`@.-noUnixFDSourceFunc :: Maybe UnixFDSourceFunc-noUnixFDSourceFunc = Nothing--{- |-The type of functions to be called when a UNIX fd watch source-triggers.--}-type UnixFDSourceFunc_WithClosures =-    Int32-    {- ^ /@fd@/: the fd that triggered the event -}-    -> [GLib.Flags.IOCondition]-    {- ^ /@condition@/: the IO conditions reported on /@fd@/ -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to @/g_unix_fd_add()/@ -}-    -> IO Bool-    {- ^ __Returns:__ 'False' if the source should be removed -}---- | A convenience synonym for @`Nothing` :: `Maybe` `UnixFDSourceFunc_WithClosures`@.-noUnixFDSourceFunc_WithClosures :: Maybe UnixFDSourceFunc_WithClosures-noUnixFDSourceFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_UnixFDSourceFunc :: UnixFDSourceFunc -> UnixFDSourceFunc_WithClosures-drop_closures_UnixFDSourceFunc _f fd condition _ = _f fd condition---- | Wrap the callback into a `GClosure`.-genClosure_UnixFDSourceFunc :: MonadIO m => UnixFDSourceFunc -> m (GClosure C_UnixFDSourceFunc)-genClosure_UnixFDSourceFunc cb = liftIO $ do-    let cb' = drop_closures_UnixFDSourceFunc cb-    let cb'' = wrap_UnixFDSourceFunc Nothing cb'-    mk_UnixFDSourceFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `UnixFDSourceFunc` into a `C_UnixFDSourceFunc`.-wrap_UnixFDSourceFunc ::-    Maybe (Ptr (FunPtr C_UnixFDSourceFunc)) ->-    UnixFDSourceFunc_WithClosures ->-    C_UnixFDSourceFunc-wrap_UnixFDSourceFunc funptrptr _cb fd condition userData = do-    let condition' = wordToGFlags condition-    result <- _cb  fd condition' userData-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback TraverseFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE to stop the traversal", sinceVersion = Nothing}, args = [Arg {argCName = "key", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a key of a #GTree node", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the value corresponding to the key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_tree_traverse()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of function passed to g_tree_traverse(). It is\npassed the key and value of each node, together with the @user_data\nparameter passed to g_tree_traverse(). If the function returns\n%TRUE, the traversal is stopped.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_TraverseFunc =-    Ptr () ->-    Ptr () ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "key", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a key of a #GTree node", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the value corresponding to the key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_tree_traverse()", 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 "dynamic" __dynamic_C_TraverseFunc :: FunPtr C_TraverseFunc -> C_TraverseFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_TraverseFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_TraverseFunc-    -> Ptr ()-    {- ^ /@key@/: a key of a 'GI.GLib.Structs.Tree.Tree' node -}-    -> Ptr ()-    {- ^ /@value@/: the value corresponding to the key -}-    -> Ptr ()-    {- ^ /@data@/: user data passed to @/g_tree_traverse()/@ -}-    -> m Bool-    {- ^ __Returns:__ 'True' to stop the traversal -}-dynamic_TraverseFunc __funPtr key value data_ = liftIO $ do-    result <- (__dynamic_C_TraverseFunc __funPtr) key value data_-    let result' = (/= 0) result-    return result'---- | Generate a function pointer callable from C code, from a `C_TraverseFunc`.-foreign import ccall "wrapper"-    mk_TraverseFunc :: C_TraverseFunc -> IO (FunPtr C_TraverseFunc)--{- |-Specifies the type of function passed to @/g_tree_traverse()/@. It is-passed the key and value of each node, together with the /@userData@/-parameter passed to @/g_tree_traverse()/@. If the function returns-'True', the traversal is stopped.--}-type TraverseFunc =-    Ptr ()-    {- ^ /@key@/: a key of a 'GI.GLib.Structs.Tree.Tree' node -}-    -> Ptr ()-    {- ^ /@value@/: the value corresponding to the key -}-    -> Ptr ()-    {- ^ /@data@/: user data passed to @/g_tree_traverse()/@ -}-    -> IO Bool-    {- ^ __Returns:__ 'True' to stop the traversal -}---- | A convenience synonym for @`Nothing` :: `Maybe` `TraverseFunc`@.-noTraverseFunc :: Maybe TraverseFunc-noTraverseFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_TraverseFunc :: MonadIO m => TraverseFunc -> m (GClosure C_TraverseFunc)-genClosure_TraverseFunc cb = liftIO $ do-    let cb' = wrap_TraverseFunc Nothing cb-    mk_TraverseFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `TraverseFunc` into a `C_TraverseFunc`.-wrap_TraverseFunc ::-    Maybe (Ptr (FunPtr C_TraverseFunc)) ->-    TraverseFunc ->-    C_TraverseFunc-wrap_TraverseFunc funptrptr _cb key value data_ = do-    result <- _cb  key value data_-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback TranslateFunc---          -> Callable {returnType = Just (TBasicType TUTF8), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "a translation of the string for the current locale.\n The returned string is owned by GLib and must not be freed.", sinceVersion = Nothing}, args = [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the untranslated string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data specified when installing the function, e.g.\n in g_option_group_set_translate_func()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type of functions which are used to translate user-visible\nstrings, for <option>--help</option> output.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_TranslateFunc =-    CString ->-    Ptr () ->-    IO CString---- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the untranslated string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data specified when installing the function, e.g.\n in g_option_group_set_translate_func()", 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 "dynamic" __dynamic_C_TranslateFunc :: FunPtr C_TranslateFunc -> C_TranslateFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_TranslateFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_TranslateFunc-    -> T.Text-    {- ^ /@str@/: the untranslated string -}-    -> Ptr ()-    {- ^ /@data@/: user data specified when installing the function, e.g.- in 'GI.GLib.Structs.OptionGroup.optionGroupSetTranslateFunc' -}-    -> m T.Text-    {- ^ __Returns:__ a translation of the string for the current locale.- The returned string is owned by GLib and must not be freed. -}-dynamic_TranslateFunc __funPtr str data_ = liftIO $ do-    str' <- textToCString str-    result <- (__dynamic_C_TranslateFunc __funPtr) str' data_-    checkUnexpectedReturnNULL "translateFunc" result-    result' <- cstringToText result-    freeMem str'-    return result'---- | Generate a function pointer callable from C code, from a `C_TranslateFunc`.-foreign import ccall "wrapper"-    mk_TranslateFunc :: C_TranslateFunc -> IO (FunPtr C_TranslateFunc)--{- |-The type of functions which are used to translate user-visible-strings, for \<option>--help\<\/option> output.--}-type TranslateFunc =-    T.Text-    {- ^ /@str@/: the untranslated string -}-    -> Ptr ()-    {- ^ /@data@/: user data specified when installing the function, e.g.- in 'GI.GLib.Structs.OptionGroup.optionGroupSetTranslateFunc' -}-    -> IO T.Text-    {- ^ __Returns:__ a translation of the string for the current locale.- The returned string is owned by GLib and must not be freed. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `TranslateFunc`@.-noTranslateFunc :: Maybe TranslateFunc-noTranslateFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_TranslateFunc :: MonadIO m => TranslateFunc -> m (GClosure C_TranslateFunc)-genClosure_TranslateFunc cb = liftIO $ do-    let cb' = wrap_TranslateFunc Nothing cb-    mk_TranslateFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `TranslateFunc` into a `C_TranslateFunc`.-wrap_TranslateFunc ::-    Maybe (Ptr (FunPtr C_TranslateFunc)) ->-    TranslateFunc ->-    C_TranslateFunc-wrap_TranslateFunc funptrptr _cb str data_ = do-    str' <- cstringToText str-    result <- _cb  str' data_-    maybeReleaseFunPtr funptrptr-    result' <- textToCString result-    return result'----- callback ThreadFunc---          -> Callable {returnType = Just (TBasicType TPtr), returnMayBeNull = True, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "the return value of the thread", sinceVersion = Nothing}, args = [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data passed to the thread", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of the @func functions passed to g_thread_new()\nor g_thread_try_new().", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_ThreadFunc =-    Ptr () ->-    IO (Ptr ())---- Args : [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data passed to the thread", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_ThreadFunc :: FunPtr C_ThreadFunc -> C_ThreadFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_ThreadFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_ThreadFunc-    -> Ptr ()-    {- ^ /@data@/: data passed to the thread -}-    -> m (Ptr ())-    {- ^ __Returns:__ the return value of the thread -}-dynamic_ThreadFunc __funPtr data_ = liftIO $ do-    result <- (__dynamic_C_ThreadFunc __funPtr) data_-    return result---- | Generate a function pointer callable from C code, from a `C_ThreadFunc`.-foreign import ccall "wrapper"-    mk_ThreadFunc :: C_ThreadFunc -> IO (FunPtr C_ThreadFunc)--{- |-Specifies the type of the /@func@/ functions passed to @/g_thread_new()/@-or @/g_thread_try_new()/@.--}-type ThreadFunc =-    Ptr ()-    {- ^ /@data@/: data passed to the thread -}-    -> IO (Ptr ())-    {- ^ __Returns:__ the return value of the thread -}---- | A convenience synonym for @`Nothing` :: `Maybe` `ThreadFunc`@.-noThreadFunc :: Maybe ThreadFunc-noThreadFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_ThreadFunc :: MonadIO m => ThreadFunc -> m (GClosure C_ThreadFunc)-genClosure_ThreadFunc cb = liftIO $ do-    let cb' = wrap_ThreadFunc Nothing cb-    mk_ThreadFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `ThreadFunc` into a `C_ThreadFunc`.-wrap_ThreadFunc ::-    Maybe (Ptr (FunPtr C_ThreadFunc)) ->-    ThreadFunc ->-    C_ThreadFunc-wrap_ThreadFunc funptrptr _cb data_ = do-    result <- _cb  data_-    maybeReleaseFunPtr funptrptr-    return result----- callback TestLogFatalFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the program should abort, %FALSE otherwise", sinceVersion = Nothing}, args = [Arg {argCName = "log_domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the log domain of the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "log_level", argType = TInterface (Name {namespace = "GLib", name = "LogLevelFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the log level of the message (including the fatal and recursion flags)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the message to process", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data, set in g_test_log_set_fatal_handler()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the prototype of fatal log handler functions.", sinceVersion = Just "2.22"}}--- | Type for the callback on the (unwrapped) C side.-type C_TestLogFatalFunc =-    CString ->-    CInt ->-    CString ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "log_domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the log domain of the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "log_level", argType = TInterface (Name {namespace = "GLib", name = "LogLevelFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the log level of the message (including the fatal and recursion flags)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the message to process", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data, set in g_test_log_set_fatal_handler()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_TestLogFatalFunc :: FunPtr C_TestLogFatalFunc -> C_TestLogFatalFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_TestLogFatalFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_TestLogFatalFunc-    -> T.Text-    {- ^ /@logDomain@/: the log domain of the message -}-    -> [GLib.Flags.LogLevelFlags]-    {- ^ /@logLevel@/: the log level of the message (including the fatal and recursion flags) -}-    -> T.Text-    {- ^ /@message@/: the message to process -}-    -> Ptr ()-    {- ^ /@userData@/: user data, set in @/g_test_log_set_fatal_handler()/@ -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the program should abort, 'False' otherwise -}-dynamic_TestLogFatalFunc __funPtr logDomain logLevel message userData = liftIO $ do-    logDomain' <- textToCString logDomain-    let logLevel' = gflagsToWord logLevel-    message' <- textToCString message-    result <- (__dynamic_C_TestLogFatalFunc __funPtr) logDomain' logLevel' message' userData-    let result' = (/= 0) result-    freeMem logDomain'-    freeMem message'-    return result'---- | Generate a function pointer callable from C code, from a `C_TestLogFatalFunc`.-foreign import ccall "wrapper"-    mk_TestLogFatalFunc :: C_TestLogFatalFunc -> IO (FunPtr C_TestLogFatalFunc)--{- |-Specifies the prototype of fatal log handler functions.--/Since: 2.22/--}-type TestLogFatalFunc =-    T.Text-    {- ^ /@logDomain@/: the log domain of the message -}-    -> [GLib.Flags.LogLevelFlags]-    {- ^ /@logLevel@/: the log level of the message (including the fatal and recursion flags) -}-    -> T.Text-    {- ^ /@message@/: the message to process -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the program should abort, 'False' otherwise -}---- | A convenience synonym for @`Nothing` :: `Maybe` `TestLogFatalFunc`@.-noTestLogFatalFunc :: Maybe TestLogFatalFunc-noTestLogFatalFunc = Nothing--{- |-Specifies the prototype of fatal log handler functions.--/Since: 2.22/--}-type TestLogFatalFunc_WithClosures =-    T.Text-    {- ^ /@logDomain@/: the log domain of the message -}-    -> [GLib.Flags.LogLevelFlags]-    {- ^ /@logLevel@/: the log level of the message (including the fatal and recursion flags) -}-    -> T.Text-    {- ^ /@message@/: the message to process -}-    -> Ptr ()-    {- ^ /@userData@/: user data, set in @/g_test_log_set_fatal_handler()/@ -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the program should abort, 'False' otherwise -}---- | A convenience synonym for @`Nothing` :: `Maybe` `TestLogFatalFunc_WithClosures`@.-noTestLogFatalFunc_WithClosures :: Maybe TestLogFatalFunc_WithClosures-noTestLogFatalFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_TestLogFatalFunc :: TestLogFatalFunc -> TestLogFatalFunc_WithClosures-drop_closures_TestLogFatalFunc _f logDomain logLevel message _ = _f logDomain logLevel message---- | Wrap the callback into a `GClosure`.-genClosure_TestLogFatalFunc :: MonadIO m => TestLogFatalFunc -> m (GClosure C_TestLogFatalFunc)-genClosure_TestLogFatalFunc cb = liftIO $ do-    let cb' = drop_closures_TestLogFatalFunc cb-    let cb'' = wrap_TestLogFatalFunc Nothing cb'-    mk_TestLogFatalFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `TestLogFatalFunc` into a `C_TestLogFatalFunc`.-wrap_TestLogFatalFunc ::-    Maybe (Ptr (FunPtr C_TestLogFatalFunc)) ->-    TestLogFatalFunc_WithClosures ->-    C_TestLogFatalFunc-wrap_TestLogFatalFunc funptrptr _cb logDomain logLevel message userData = do-    logDomain' <- cstringToText logDomain-    let logLevel' = wordToGFlags logLevel-    message' <- cstringToText message-    result <- _cb  logDomain' logLevel' message' userData-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback TestFunc---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type used for test case functions.", sinceVersion = Just "2.28"}}--- | Type for the callback on the (unwrapped) C side.-type C_TestFunc =-    IO ()---- Args : []--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_TestFunc :: FunPtr C_TestFunc -> C_TestFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_TestFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_TestFunc-    -> m ()-dynamic_TestFunc __funPtr = liftIO $ do-    (__dynamic_C_TestFunc __funPtr)-    return ()---- | Generate a function pointer callable from C code, from a `C_TestFunc`.-foreign import ccall "wrapper"-    mk_TestFunc :: C_TestFunc -> IO (FunPtr C_TestFunc)--{- |-The type used for test case functions.--/Since: 2.28/--}-type TestFunc =-    IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `TestFunc`@.-noTestFunc :: Maybe TestFunc-noTestFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_TestFunc :: MonadIO m => TestFunc -> m (GClosure C_TestFunc)-genClosure_TestFunc cb = liftIO $ do-    let cb' = wrap_TestFunc Nothing cb-    mk_TestFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `TestFunc` into a `C_TestFunc`.-wrap_TestFunc ::-    Maybe (Ptr (FunPtr C_TestFunc)) ->-    TestFunc ->-    C_TestFunc-wrap_TestFunc funptrptr _cb = do-    _cb -    maybeReleaseFunPtr funptrptr----- callback TestFixtureFunc---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "fixture", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the test fixture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data provided when registering the test", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type used for functions that operate on test fixtures.  This is\nused for the fixture setup and teardown functions as well as for the\ntestcases themselves.\n\n@user_data is a pointer to the data that was given when registering\nthe test case.\n\n@fixture will be a pointer to the area of memory allocated by the\ntest framework, of the size requested.  If the requested size was\nzero then @fixture will be equal to @user_data.", sinceVersion = Just "2.28"}}--- | Type for the callback on the (unwrapped) C side.-type C_TestFixtureFunc =-    Ptr () ->-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "fixture", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the test fixture", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data provided when registering the test", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_TestFixtureFunc :: FunPtr C_TestFixtureFunc -> C_TestFixtureFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_TestFixtureFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_TestFixtureFunc-    -> Ptr ()-    {- ^ /@fixture@/: the test fixture -}-    -> Ptr ()-    {- ^ /@userData@/: the data provided when registering the test -}-    -> m ()-dynamic_TestFixtureFunc __funPtr fixture userData = liftIO $ do-    (__dynamic_C_TestFixtureFunc __funPtr) fixture userData-    return ()---- | Generate a function pointer callable from C code, from a `C_TestFixtureFunc`.-foreign import ccall "wrapper"-    mk_TestFixtureFunc :: C_TestFixtureFunc -> IO (FunPtr C_TestFixtureFunc)--{- |-The type used for functions that operate on test fixtures.  This is-used for the fixture setup and teardown functions as well as for the-testcases themselves.--/@userData@/ is a pointer to the data that was given when registering-the test case.--/@fixture@/ will be a pointer to the area of memory allocated by the-test framework, of the size requested.  If the requested size was-zero then /@fixture@/ will be equal to /@userData@/.--/Since: 2.28/--}-type TestFixtureFunc =-    Ptr ()-    {- ^ /@fixture@/: the test fixture -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `TestFixtureFunc`@.-noTestFixtureFunc :: Maybe TestFixtureFunc-noTestFixtureFunc = Nothing--{- |-The type used for functions that operate on test fixtures.  This is-used for the fixture setup and teardown functions as well as for the-testcases themselves.--/@userData@/ is a pointer to the data that was given when registering-the test case.--/@fixture@/ will be a pointer to the area of memory allocated by the-test framework, of the size requested.  If the requested size was-zero then /@fixture@/ will be equal to /@userData@/.--/Since: 2.28/--}-type TestFixtureFunc_WithClosures =-    Ptr ()-    {- ^ /@fixture@/: the test fixture -}-    -> Ptr ()-    {- ^ /@userData@/: the data provided when registering the test -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `TestFixtureFunc_WithClosures`@.-noTestFixtureFunc_WithClosures :: Maybe TestFixtureFunc_WithClosures-noTestFixtureFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_TestFixtureFunc :: TestFixtureFunc -> TestFixtureFunc_WithClosures-drop_closures_TestFixtureFunc _f fixture _ = _f fixture---- | Wrap the callback into a `GClosure`.-genClosure_TestFixtureFunc :: MonadIO m => TestFixtureFunc -> m (GClosure C_TestFixtureFunc)-genClosure_TestFixtureFunc cb = liftIO $ do-    let cb' = drop_closures_TestFixtureFunc cb-    let cb'' = wrap_TestFixtureFunc Nothing cb'-    mk_TestFixtureFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `TestFixtureFunc` into a `C_TestFixtureFunc`.-wrap_TestFixtureFunc ::-    Maybe (Ptr (FunPtr C_TestFixtureFunc)) ->-    TestFixtureFunc_WithClosures ->-    C_TestFixtureFunc-wrap_TestFixtureFunc funptrptr _cb fixture userData = do-    _cb  fixture userData-    maybeReleaseFunPtr funptrptr----- callback TestDataFunc---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data provided when registering the test", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 0, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type used for test case functions that take an extra pointer\nargument.", sinceVersion = Just "2.28"}}--- | Type for the callback on the (unwrapped) C side.-type C_TestDataFunc =-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data provided when registering the test", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 0, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_TestDataFunc :: FunPtr C_TestDataFunc -> C_TestDataFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_TestDataFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_TestDataFunc-    -> Ptr ()-    {- ^ /@userData@/: the data provided when registering the test -}-    -> m ()-dynamic_TestDataFunc __funPtr userData = liftIO $ do-    (__dynamic_C_TestDataFunc __funPtr) userData-    return ()---- | Generate a function pointer callable from C code, from a `C_TestDataFunc`.-foreign import ccall "wrapper"-    mk_TestDataFunc :: C_TestDataFunc -> IO (FunPtr C_TestDataFunc)--{- |-The type used for test case functions that take an extra pointer-argument.--/Since: 2.28/--}-type TestDataFunc =-    IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `TestDataFunc`@.-noTestDataFunc :: Maybe TestDataFunc-noTestDataFunc = Nothing--{- |-The type used for test case functions that take an extra pointer-argument.--/Since: 2.28/--}-type TestDataFunc_WithClosures =-    Ptr ()-    {- ^ /@userData@/: the data provided when registering the test -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `TestDataFunc_WithClosures`@.-noTestDataFunc_WithClosures :: Maybe TestDataFunc_WithClosures-noTestDataFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_TestDataFunc :: TestDataFunc -> TestDataFunc_WithClosures-drop_closures_TestDataFunc _f _ = _f ---- | Wrap the callback into a `GClosure`.-genClosure_TestDataFunc :: MonadIO m => TestDataFunc -> m (GClosure C_TestDataFunc)-genClosure_TestDataFunc cb = liftIO $ do-    let cb' = drop_closures_TestDataFunc cb-    let cb'' = wrap_TestDataFunc Nothing cb'-    mk_TestDataFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `TestDataFunc` into a `C_TestDataFunc`.-wrap_TestDataFunc ::-    Maybe (Ptr (FunPtr C_TestDataFunc)) ->-    TestDataFunc_WithClosures ->-    C_TestDataFunc-wrap_TestDataFunc funptrptr _cb userData = do-    _cb  userData-    maybeReleaseFunPtr funptrptr----- callback SpawnChildSetupFunc---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to the function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 0, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of the setup function passed to g_spawn_async(),\ng_spawn_sync() and g_spawn_async_with_pipes(), which can, in very\nlimited ways, be used to affect the child's execution.\n\nOn POSIX platforms, the function is called in the child after GLib\nhas performed all the setup it plans to perform, but before calling\nexec(). Actions taken in this function will only affect the child,\nnot the parent.\n\nOn Windows, the function is called in the parent. Its usefulness on\nWindows is thus questionable. In many cases executing the child setup\nfunction in the parent can have ill effects, and you should be very\ncareful when porting software to Windows that uses child setup\nfunctions.\n\nHowever, even on POSIX, you are extremely limited in what you can\nsafely do from a #GSpawnChildSetupFunc, because any mutexes that were\nheld by other threads in the parent process at the time of the fork()\nwill still be locked in the child process, and they will never be\nunlocked (since the threads that held them don't exist in the child).\nPOSIX allows only async-signal-safe functions (see signal(7)) to be\ncalled in the child between fork() and exec(), which drastically limits\nthe usefulness of child setup functions.\n\nIn particular, it is not safe to call any function which may\ncall malloc(), which includes POSIX functions such as setenv().\nIf you need to set up the child environment differently from\nthe parent, you should use g_get_environ(), g_environ_setenv(),\nand g_environ_unsetenv(), and then pass the complete environment\nlist to the `g_spawn...` function.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_SpawnChildSetupFunc =-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to the function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 0, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_SpawnChildSetupFunc :: FunPtr C_SpawnChildSetupFunc -> C_SpawnChildSetupFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_SpawnChildSetupFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_SpawnChildSetupFunc-    -> Ptr ()-    {- ^ /@userData@/: user data to pass to the function. -}-    -> m ()-dynamic_SpawnChildSetupFunc __funPtr userData = liftIO $ do-    (__dynamic_C_SpawnChildSetupFunc __funPtr) userData-    return ()---- | Generate a function pointer callable from C code, from a `C_SpawnChildSetupFunc`.-foreign import ccall "wrapper"-    mk_SpawnChildSetupFunc :: C_SpawnChildSetupFunc -> IO (FunPtr C_SpawnChildSetupFunc)--{- |-Specifies the type of the setup function passed to 'GI.GLib.Functions.spawnAsync',-'GI.GLib.Functions.spawnSync' and 'GI.GLib.Functions.spawnAsyncWithPipes', which can, in very-limited ways, be used to affect the child\'s execution.--On POSIX platforms, the function is called in the child after GLib-has performed all the setup it plans to perform, but before calling-@/exec()/@. Actions taken in this function will only affect the child,-not the parent.--On Windows, the function is called in the parent. Its usefulness on-Windows is thus questionable. In many cases executing the child setup-function in the parent can have ill effects, and you should be very-careful when porting software to Windows that uses child setup-functions.--However, even on POSIX, you are extremely limited in what you can-safely do from a 'GI.GLib.Callbacks.SpawnChildSetupFunc', because any mutexes that were-held by other threads in the parent process at the time of the @/fork()/@-will still be locked in the child process, and they will never be-unlocked (since the threads that held them don\'t exist in the child).-POSIX allows only async-signal-safe functions (see signal(7)) to be-called in the child between @/fork()/@ and @/exec()/@, which drastically limits-the usefulness of child setup functions.--In particular, it is not safe to call any function which may-call @/malloc()/@, which includes POSIX functions such as @/setenv()/@.-If you need to set up the child environment differently from-the parent, you should use 'GI.GLib.Functions.getEnviron', 'GI.GLib.Functions.environSetenv',-and 'GI.GLib.Functions.environUnsetenv', and then pass the complete environment-list to the @g_spawn...@ function.--}-type SpawnChildSetupFunc =-    IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `SpawnChildSetupFunc`@.-noSpawnChildSetupFunc :: Maybe SpawnChildSetupFunc-noSpawnChildSetupFunc = Nothing--{- |-Specifies the type of the setup function passed to 'GI.GLib.Functions.spawnAsync',-'GI.GLib.Functions.spawnSync' and 'GI.GLib.Functions.spawnAsyncWithPipes', which can, in very-limited ways, be used to affect the child\'s execution.--On POSIX platforms, the function is called in the child after GLib-has performed all the setup it plans to perform, but before calling-@/exec()/@. Actions taken in this function will only affect the child,-not the parent.--On Windows, the function is called in the parent. Its usefulness on-Windows is thus questionable. In many cases executing the child setup-function in the parent can have ill effects, and you should be very-careful when porting software to Windows that uses child setup-functions.--However, even on POSIX, you are extremely limited in what you can-safely do from a 'GI.GLib.Callbacks.SpawnChildSetupFunc', because any mutexes that were-held by other threads in the parent process at the time of the @/fork()/@-will still be locked in the child process, and they will never be-unlocked (since the threads that held them don\'t exist in the child).-POSIX allows only async-signal-safe functions (see signal(7)) to be-called in the child between @/fork()/@ and @/exec()/@, which drastically limits-the usefulness of child setup functions.--In particular, it is not safe to call any function which may-call @/malloc()/@, which includes POSIX functions such as @/setenv()/@.-If you need to set up the child environment differently from-the parent, you should use 'GI.GLib.Functions.getEnviron', 'GI.GLib.Functions.environSetenv',-and 'GI.GLib.Functions.environUnsetenv', and then pass the complete environment-list to the @g_spawn...@ function.--}-type SpawnChildSetupFunc_WithClosures =-    Ptr ()-    {- ^ /@userData@/: user data to pass to the function. -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `SpawnChildSetupFunc_WithClosures`@.-noSpawnChildSetupFunc_WithClosures :: Maybe SpawnChildSetupFunc_WithClosures-noSpawnChildSetupFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_SpawnChildSetupFunc :: SpawnChildSetupFunc -> SpawnChildSetupFunc_WithClosures-drop_closures_SpawnChildSetupFunc _f _ = _f ---- | Wrap the callback into a `GClosure`.-genClosure_SpawnChildSetupFunc :: MonadIO m => SpawnChildSetupFunc -> m (GClosure C_SpawnChildSetupFunc)-genClosure_SpawnChildSetupFunc cb = liftIO $ do-    let cb' = drop_closures_SpawnChildSetupFunc cb-    let cb'' = wrap_SpawnChildSetupFunc Nothing cb'-    mk_SpawnChildSetupFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `SpawnChildSetupFunc` into a `C_SpawnChildSetupFunc`.-wrap_SpawnChildSetupFunc ::-    Maybe (Ptr (FunPtr C_SpawnChildSetupFunc)) ->-    SpawnChildSetupFunc_WithClosures ->-    C_SpawnChildSetupFunc-wrap_SpawnChildSetupFunc funptrptr _cb userData = do-    _cb  userData-    maybeReleaseFunPtr funptrptr----- callback SourceFuncsPrepareFieldCallback---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timeout_", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_SourceFuncsPrepareFieldCallback =-    Ptr GLib.Source.Source ->-    Int32 ->-    IO CInt---- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timeout_", argType = TBasicType TInt, 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 : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_SourceFuncsPrepareFieldCallback :: FunPtr C_SourceFuncsPrepareFieldCallback -> C_SourceFuncsPrepareFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_SourceFuncsPrepareFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_SourceFuncsPrepareFieldCallback-    -> GLib.Source.Source-    -> Int32-    -> m Bool-dynamic_SourceFuncsPrepareFieldCallback __funPtr source timeout_ = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    result <- (__dynamic_C_SourceFuncsPrepareFieldCallback __funPtr) source' timeout_-    let result' = (/= 0) result-    touchManagedPtr source-    return result'---- | Generate a function pointer callable from C code, from a `C_SourceFuncsPrepareFieldCallback`.-foreign import ccall "wrapper"-    mk_SourceFuncsPrepareFieldCallback :: C_SourceFuncsPrepareFieldCallback -> IO (FunPtr C_SourceFuncsPrepareFieldCallback)--{- |-/No description available in the introspection data./--}-type SourceFuncsPrepareFieldCallback =-    GLib.Source.Source-    -> Int32-    -> IO Bool---- | A convenience synonym for @`Nothing` :: `Maybe` `SourceFuncsPrepareFieldCallback`@.-noSourceFuncsPrepareFieldCallback :: Maybe SourceFuncsPrepareFieldCallback-noSourceFuncsPrepareFieldCallback = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_SourceFuncsPrepareFieldCallback :: MonadIO m => SourceFuncsPrepareFieldCallback -> m (GClosure C_SourceFuncsPrepareFieldCallback)-genClosure_SourceFuncsPrepareFieldCallback cb = liftIO $ do-    let cb' = wrap_SourceFuncsPrepareFieldCallback Nothing cb-    mk_SourceFuncsPrepareFieldCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `SourceFuncsPrepareFieldCallback` into a `C_SourceFuncsPrepareFieldCallback`.-wrap_SourceFuncsPrepareFieldCallback ::-    Maybe (Ptr (FunPtr C_SourceFuncsPrepareFieldCallback)) ->-    SourceFuncsPrepareFieldCallback ->-    C_SourceFuncsPrepareFieldCallback-wrap_SourceFuncsPrepareFieldCallback funptrptr _cb source timeout_ = do-    B.ManagedPtr.withTransient GLib.Source.Source source $ \source' -> do-        result <- _cb  source' timeout_-        maybeReleaseFunPtr funptrptr-        let result' = (fromIntegral . fromEnum) result-        return result'----- callback SourceFuncsFinalizeFieldCallback---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_SourceFuncsFinalizeFieldCallback =-    Ptr GLib.Source.Source ->-    IO ()---- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), 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 "dynamic" __dynamic_C_SourceFuncsFinalizeFieldCallback :: FunPtr C_SourceFuncsFinalizeFieldCallback -> C_SourceFuncsFinalizeFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_SourceFuncsFinalizeFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_SourceFuncsFinalizeFieldCallback-    -> GLib.Source.Source-    -> m ()-dynamic_SourceFuncsFinalizeFieldCallback __funPtr source = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    (__dynamic_C_SourceFuncsFinalizeFieldCallback __funPtr) source'-    touchManagedPtr source-    return ()---- | Generate a function pointer callable from C code, from a `C_SourceFuncsFinalizeFieldCallback`.-foreign import ccall "wrapper"-    mk_SourceFuncsFinalizeFieldCallback :: C_SourceFuncsFinalizeFieldCallback -> IO (FunPtr C_SourceFuncsFinalizeFieldCallback)--{- |-/No description available in the introspection data./--}-type SourceFuncsFinalizeFieldCallback =-    GLib.Source.Source-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `SourceFuncsFinalizeFieldCallback`@.-noSourceFuncsFinalizeFieldCallback :: Maybe SourceFuncsFinalizeFieldCallback-noSourceFuncsFinalizeFieldCallback = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_SourceFuncsFinalizeFieldCallback :: MonadIO m => SourceFuncsFinalizeFieldCallback -> m (GClosure C_SourceFuncsFinalizeFieldCallback)-genClosure_SourceFuncsFinalizeFieldCallback cb = liftIO $ do-    let cb' = wrap_SourceFuncsFinalizeFieldCallback Nothing cb-    mk_SourceFuncsFinalizeFieldCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `SourceFuncsFinalizeFieldCallback` into a `C_SourceFuncsFinalizeFieldCallback`.-wrap_SourceFuncsFinalizeFieldCallback ::-    Maybe (Ptr (FunPtr C_SourceFuncsFinalizeFieldCallback)) ->-    SourceFuncsFinalizeFieldCallback ->-    C_SourceFuncsFinalizeFieldCallback-wrap_SourceFuncsFinalizeFieldCallback funptrptr _cb source = do-    B.ManagedPtr.withTransient GLib.Source.Source source $ \source' -> do-        _cb  source'-        maybeReleaseFunPtr funptrptr----- callback SourceFuncsCheckFieldCallback---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_SourceFuncsCheckFieldCallback =-    Ptr GLib.Source.Source ->-    IO CInt---- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), 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 : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_SourceFuncsCheckFieldCallback :: FunPtr C_SourceFuncsCheckFieldCallback -> C_SourceFuncsCheckFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_SourceFuncsCheckFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_SourceFuncsCheckFieldCallback-    -> GLib.Source.Source-    -> m Bool-dynamic_SourceFuncsCheckFieldCallback __funPtr source = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    result <- (__dynamic_C_SourceFuncsCheckFieldCallback __funPtr) source'-    let result' = (/= 0) result-    touchManagedPtr source-    return result'---- | Generate a function pointer callable from C code, from a `C_SourceFuncsCheckFieldCallback`.-foreign import ccall "wrapper"-    mk_SourceFuncsCheckFieldCallback :: C_SourceFuncsCheckFieldCallback -> IO (FunPtr C_SourceFuncsCheckFieldCallback)--{- |-/No description available in the introspection data./--}-type SourceFuncsCheckFieldCallback =-    GLib.Source.Source-    -> IO Bool---- | A convenience synonym for @`Nothing` :: `Maybe` `SourceFuncsCheckFieldCallback`@.-noSourceFuncsCheckFieldCallback :: Maybe SourceFuncsCheckFieldCallback-noSourceFuncsCheckFieldCallback = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_SourceFuncsCheckFieldCallback :: MonadIO m => SourceFuncsCheckFieldCallback -> m (GClosure C_SourceFuncsCheckFieldCallback)-genClosure_SourceFuncsCheckFieldCallback cb = liftIO $ do-    let cb' = wrap_SourceFuncsCheckFieldCallback Nothing cb-    mk_SourceFuncsCheckFieldCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `SourceFuncsCheckFieldCallback` into a `C_SourceFuncsCheckFieldCallback`.-wrap_SourceFuncsCheckFieldCallback ::-    Maybe (Ptr (FunPtr C_SourceFuncsCheckFieldCallback)) ->-    SourceFuncsCheckFieldCallback ->-    C_SourceFuncsCheckFieldCallback-wrap_SourceFuncsCheckFieldCallback funptrptr _cb source = do-    B.ManagedPtr.withTransient GLib.Source.Source source $ \source' -> do-        result <- _cb  source'-        maybeReleaseFunPtr funptrptr-        let result' = (fromIntegral . fromEnum) result-        return result'----- callback SourceFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%FALSE if the source should be removed. #G_SOURCE_CONTINUE and\n#G_SOURCE_REMOVE are more memorable names for the return value.", sinceVersion = Nothing}, args = [Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data passed to the function, set when the source was\n    created with one of the above functions", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 0, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of function passed to g_timeout_add(),\ng_timeout_add_full(), g_idle_add(), and g_idle_add_full().\n\nWhen calling g_source_set_callback(), you may need to cast a function of a\ndifferent type to this type. Use G_SOURCE_FUNC() to avoid warnings about\nincompatible function types.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_SourceFunc =-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data passed to the function, set when the source was\n    created with one of the above functions", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 0, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_SourceFunc :: FunPtr C_SourceFunc -> C_SourceFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_SourceFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_SourceFunc-    -> Ptr ()-    {- ^ /@userData@/: data passed to the function, set when the source was-    created with one of the above functions -}-    -> m Bool-    {- ^ __Returns:__ 'False' if the source should be removed. 'GI.GLib.Constants.SOURCE_CONTINUE' and-'GI.GLib.Constants.SOURCE_REMOVE' are more memorable names for the return value. -}-dynamic_SourceFunc __funPtr userData = liftIO $ do-    result <- (__dynamic_C_SourceFunc __funPtr) userData-    let result' = (/= 0) result-    return result'---- | Generate a function pointer callable from C code, from a `C_SourceFunc`.-foreign import ccall "wrapper"-    mk_SourceFunc :: C_SourceFunc -> IO (FunPtr C_SourceFunc)--{- |-Specifies the type of function passed to @/g_timeout_add()/@,-'GI.GLib.Functions.timeoutAdd', @/g_idle_add()/@, and 'GI.GLib.Functions.idleAdd'.--When calling 'GI.GLib.Structs.Source.sourceSetCallback', you may need to cast a function of a-different type to this type. Use @/G_SOURCE_FUNC()/@ to avoid warnings about-incompatible function types.--}-type SourceFunc =-    IO Bool-    {- ^ __Returns:__ 'False' if the source should be removed. 'GI.GLib.Constants.SOURCE_CONTINUE' and-'GI.GLib.Constants.SOURCE_REMOVE' are more memorable names for the return value. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `SourceFunc`@.-noSourceFunc :: Maybe SourceFunc-noSourceFunc = Nothing--{- |-Specifies the type of function passed to @/g_timeout_add()/@,-'GI.GLib.Functions.timeoutAdd', @/g_idle_add()/@, and 'GI.GLib.Functions.idleAdd'.--When calling 'GI.GLib.Structs.Source.sourceSetCallback', you may need to cast a function of a-different type to this type. Use @/G_SOURCE_FUNC()/@ to avoid warnings about-incompatible function types.--}-type SourceFunc_WithClosures =-    Ptr ()-    {- ^ /@userData@/: data passed to the function, set when the source was-    created with one of the above functions -}-    -> IO Bool-    {- ^ __Returns:__ 'False' if the source should be removed. 'GI.GLib.Constants.SOURCE_CONTINUE' and-'GI.GLib.Constants.SOURCE_REMOVE' are more memorable names for the return value. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `SourceFunc_WithClosures`@.-noSourceFunc_WithClosures :: Maybe SourceFunc_WithClosures-noSourceFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_SourceFunc :: SourceFunc -> SourceFunc_WithClosures-drop_closures_SourceFunc _f _ = _f ---- | Wrap the callback into a `GClosure`.-genClosure_SourceFunc :: MonadIO m => SourceFunc -> m (GClosure C_SourceFunc)-genClosure_SourceFunc cb = liftIO $ do-    let cb' = drop_closures_SourceFunc cb-    let cb'' = wrap_SourceFunc Nothing cb'-    mk_SourceFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `SourceFunc` into a `C_SourceFunc`.-wrap_SourceFunc ::-    Maybe (Ptr (FunPtr C_SourceFunc)) ->-    SourceFunc_WithClosures ->-    C_SourceFunc-wrap_SourceFunc funptrptr _cb userData = do-    result <- _cb  userData-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback SourceDummyMarshal---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "This is just a placeholder for #GClosureMarshal,\nwhich cannot be used here for dependency reasons.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_SourceDummyMarshal =-    IO ()---- Args : []--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_SourceDummyMarshal :: FunPtr C_SourceDummyMarshal -> C_SourceDummyMarshal---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_SourceDummyMarshal ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_SourceDummyMarshal-    -> m ()-dynamic_SourceDummyMarshal __funPtr = liftIO $ do-    (__dynamic_C_SourceDummyMarshal __funPtr)-    return ()---- | Generate a function pointer callable from C code, from a `C_SourceDummyMarshal`.-foreign import ccall "wrapper"-    mk_SourceDummyMarshal :: C_SourceDummyMarshal -> IO (FunPtr C_SourceDummyMarshal)--{- |-This is just a placeholder for @/GClosureMarshal/@,-which cannot be used here for dependency reasons.--}-type SourceDummyMarshal =-    IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `SourceDummyMarshal`@.-noSourceDummyMarshal :: Maybe SourceDummyMarshal-noSourceDummyMarshal = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_SourceDummyMarshal :: MonadIO m => SourceDummyMarshal -> m (GClosure C_SourceDummyMarshal)-genClosure_SourceDummyMarshal cb = liftIO $ do-    let cb' = wrap_SourceDummyMarshal Nothing cb-    mk_SourceDummyMarshal cb' >>= B.GClosure.newGClosure----- | Wrap a `SourceDummyMarshal` into a `C_SourceDummyMarshal`.-wrap_SourceDummyMarshal ::-    Maybe (Ptr (FunPtr C_SourceDummyMarshal)) ->-    SourceDummyMarshal ->-    C_SourceDummyMarshal-wrap_SourceDummyMarshal funptrptr _cb = do-    _cb -    maybeReleaseFunPtr funptrptr----- callback SourceCallbackFuncsUnrefFieldCallback---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "cb_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_SourceCallbackFuncsUnrefFieldCallback =-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "cb_data", argType = TBasicType TPtr, 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 "dynamic" __dynamic_C_SourceCallbackFuncsUnrefFieldCallback :: FunPtr C_SourceCallbackFuncsUnrefFieldCallback -> C_SourceCallbackFuncsUnrefFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_SourceCallbackFuncsUnrefFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_SourceCallbackFuncsUnrefFieldCallback-    -> Ptr ()-    -> m ()-dynamic_SourceCallbackFuncsUnrefFieldCallback __funPtr cbData = liftIO $ do-    (__dynamic_C_SourceCallbackFuncsUnrefFieldCallback __funPtr) cbData-    return ()---- | Generate a function pointer callable from C code, from a `C_SourceCallbackFuncsUnrefFieldCallback`.-foreign import ccall "wrapper"-    mk_SourceCallbackFuncsUnrefFieldCallback :: C_SourceCallbackFuncsUnrefFieldCallback -> IO (FunPtr C_SourceCallbackFuncsUnrefFieldCallback)--{- |-/No description available in the introspection data./--}-type SourceCallbackFuncsUnrefFieldCallback =-    Ptr ()-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `SourceCallbackFuncsUnrefFieldCallback`@.-noSourceCallbackFuncsUnrefFieldCallback :: Maybe SourceCallbackFuncsUnrefFieldCallback-noSourceCallbackFuncsUnrefFieldCallback = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_SourceCallbackFuncsUnrefFieldCallback :: MonadIO m => SourceCallbackFuncsUnrefFieldCallback -> m (GClosure C_SourceCallbackFuncsUnrefFieldCallback)-genClosure_SourceCallbackFuncsUnrefFieldCallback cb = liftIO $ do-    let cb' = wrap_SourceCallbackFuncsUnrefFieldCallback Nothing cb-    mk_SourceCallbackFuncsUnrefFieldCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `SourceCallbackFuncsUnrefFieldCallback` into a `C_SourceCallbackFuncsUnrefFieldCallback`.-wrap_SourceCallbackFuncsUnrefFieldCallback ::-    Maybe (Ptr (FunPtr C_SourceCallbackFuncsUnrefFieldCallback)) ->-    SourceCallbackFuncsUnrefFieldCallback ->-    C_SourceCallbackFuncsUnrefFieldCallback-wrap_SourceCallbackFuncsUnrefFieldCallback funptrptr _cb cbData = do-    _cb  cbData-    maybeReleaseFunPtr funptrptr----- callback SourceCallbackFuncsRefFieldCallback---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "cb_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_SourceCallbackFuncsRefFieldCallback =-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "cb_data", argType = TBasicType TPtr, 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 "dynamic" __dynamic_C_SourceCallbackFuncsRefFieldCallback :: FunPtr C_SourceCallbackFuncsRefFieldCallback -> C_SourceCallbackFuncsRefFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_SourceCallbackFuncsRefFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_SourceCallbackFuncsRefFieldCallback-    -> Ptr ()-    -> m ()-dynamic_SourceCallbackFuncsRefFieldCallback __funPtr cbData = liftIO $ do-    (__dynamic_C_SourceCallbackFuncsRefFieldCallback __funPtr) cbData-    return ()---- | Generate a function pointer callable from C code, from a `C_SourceCallbackFuncsRefFieldCallback`.-foreign import ccall "wrapper"-    mk_SourceCallbackFuncsRefFieldCallback :: C_SourceCallbackFuncsRefFieldCallback -> IO (FunPtr C_SourceCallbackFuncsRefFieldCallback)--{- |-/No description available in the introspection data./--}-type SourceCallbackFuncsRefFieldCallback =-    Ptr ()-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `SourceCallbackFuncsRefFieldCallback`@.-noSourceCallbackFuncsRefFieldCallback :: Maybe SourceCallbackFuncsRefFieldCallback-noSourceCallbackFuncsRefFieldCallback = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_SourceCallbackFuncsRefFieldCallback :: MonadIO m => SourceCallbackFuncsRefFieldCallback -> m (GClosure C_SourceCallbackFuncsRefFieldCallback)-genClosure_SourceCallbackFuncsRefFieldCallback cb = liftIO $ do-    let cb' = wrap_SourceCallbackFuncsRefFieldCallback Nothing cb-    mk_SourceCallbackFuncsRefFieldCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `SourceCallbackFuncsRefFieldCallback` into a `C_SourceCallbackFuncsRefFieldCallback`.-wrap_SourceCallbackFuncsRefFieldCallback ::-    Maybe (Ptr (FunPtr C_SourceCallbackFuncsRefFieldCallback)) ->-    SourceCallbackFuncsRefFieldCallback ->-    C_SourceCallbackFuncsRefFieldCallback-wrap_SourceCallbackFuncsRefFieldCallback funptrptr _cb cbData = do-    _cb  cbData-    maybeReleaseFunPtr funptrptr----- callback SequenceIterCompareFunc---          -> Callable {returnType = Just (TBasicType TInt), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "zero if the iterators are equal, a negative value if @a\n    comes before @b, and a positive value if @b comes before @a.", sinceVersion = Nothing}, args = [Arg {argCName = "a", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A #GSequenceIterCompareFunc is a function used to compare iterators.\nIt must return zero if the iterators compare equal, a negative value\nif @a comes before @b, and a positive value if @b comes before @a.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_SequenceIterCompareFunc =-    Ptr GLib.SequenceIter.SequenceIter ->-    Ptr GLib.SequenceIter.SequenceIter ->-    Ptr () ->-    IO Int32---- Args : [Arg {argCName = "a", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", 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 "dynamic" __dynamic_C_SequenceIterCompareFunc :: FunPtr C_SequenceIterCompareFunc -> C_SequenceIterCompareFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_SequenceIterCompareFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_SequenceIterCompareFunc-    -> GLib.SequenceIter.SequenceIter-    {- ^ /@a@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> GLib.SequenceIter.SequenceIter-    {- ^ /@b@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> Ptr ()-    {- ^ /@data@/: user data -}-    -> m Int32-    {- ^ __Returns:__ zero if the iterators are equal, a negative value if /@a@/-    comes before /@b@/, and a positive value if /@b@/ comes before /@a@/. -}-dynamic_SequenceIterCompareFunc __funPtr a b data_ = liftIO $ do-    a' <- unsafeManagedPtrGetPtr a-    b' <- unsafeManagedPtrGetPtr b-    result <- (__dynamic_C_SequenceIterCompareFunc __funPtr) a' b' data_-    touchManagedPtr a-    touchManagedPtr b-    return result---- | Generate a function pointer callable from C code, from a `C_SequenceIterCompareFunc`.-foreign import ccall "wrapper"-    mk_SequenceIterCompareFunc :: C_SequenceIterCompareFunc -> IO (FunPtr C_SequenceIterCompareFunc)--{- |-A 'GI.GLib.Callbacks.SequenceIterCompareFunc' is a function used to compare iterators.-It must return zero if the iterators compare equal, a negative value-if /@a@/ comes before /@b@/, and a positive value if /@b@/ comes before /@a@/.--}-type SequenceIterCompareFunc =-    GLib.SequenceIter.SequenceIter-    {- ^ /@a@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> GLib.SequenceIter.SequenceIter-    {- ^ /@b@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> Ptr ()-    {- ^ /@data@/: user data -}-    -> IO Int32-    {- ^ __Returns:__ zero if the iterators are equal, a negative value if /@a@/-    comes before /@b@/, and a positive value if /@b@/ comes before /@a@/. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `SequenceIterCompareFunc`@.-noSequenceIterCompareFunc :: Maybe SequenceIterCompareFunc-noSequenceIterCompareFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_SequenceIterCompareFunc :: MonadIO m => SequenceIterCompareFunc -> m (GClosure C_SequenceIterCompareFunc)-genClosure_SequenceIterCompareFunc cb = liftIO $ do-    let cb' = wrap_SequenceIterCompareFunc Nothing cb-    mk_SequenceIterCompareFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `SequenceIterCompareFunc` into a `C_SequenceIterCompareFunc`.-wrap_SequenceIterCompareFunc ::-    Maybe (Ptr (FunPtr C_SequenceIterCompareFunc)) ->-    SequenceIterCompareFunc ->-    C_SequenceIterCompareFunc-wrap_SequenceIterCompareFunc funptrptr _cb a b data_ = do-    a' <- (newPtr GLib.SequenceIter.SequenceIter) a-    b' <- (newPtr GLib.SequenceIter.SequenceIter) b-    result <- _cb  a' b' data_-    maybeReleaseFunPtr funptrptr-    return result----- callback ScannerMsgFunc---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GScanner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "error", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the message signals an error,\n    %FALSE if it signals a warning.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of the message handler function.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_ScannerMsgFunc =-    Ptr GLib.Scanner.Scanner ->-    CString ->-    CInt ->-    IO ()---- Args : [Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GScanner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "error", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the message signals an error,\n    %FALSE if it signals a warning.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_ScannerMsgFunc :: FunPtr C_ScannerMsgFunc -> C_ScannerMsgFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_ScannerMsgFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_ScannerMsgFunc-    -> GLib.Scanner.Scanner-    {- ^ /@scanner@/: a 'GI.GLib.Structs.Scanner.Scanner' -}-    -> T.Text-    {- ^ /@message@/: the message -}-    -> Bool-    {- ^ /@error@/: 'True' if the message signals an error,-    'False' if it signals a warning. -}-    -> m ()-dynamic_ScannerMsgFunc __funPtr scanner message error_ = liftIO $ do-    scanner' <- unsafeManagedPtrGetPtr scanner-    message' <- textToCString message-    let error_' = (fromIntegral . fromEnum) error_-    (__dynamic_C_ScannerMsgFunc __funPtr) scanner' message' error_'-    touchManagedPtr scanner-    freeMem message'-    return ()---- | Generate a function pointer callable from C code, from a `C_ScannerMsgFunc`.-foreign import ccall "wrapper"-    mk_ScannerMsgFunc :: C_ScannerMsgFunc -> IO (FunPtr C_ScannerMsgFunc)--{- |-Specifies the type of the message handler function.--}-type ScannerMsgFunc =-    GLib.Scanner.Scanner-    {- ^ /@scanner@/: a 'GI.GLib.Structs.Scanner.Scanner' -}-    -> T.Text-    {- ^ /@message@/: the message -}-    -> Bool-    {- ^ /@error@/: 'True' if the message signals an error,-    'False' if it signals a warning. -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `ScannerMsgFunc`@.-noScannerMsgFunc :: Maybe ScannerMsgFunc-noScannerMsgFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_ScannerMsgFunc :: MonadIO m => ScannerMsgFunc -> m (GClosure C_ScannerMsgFunc)-genClosure_ScannerMsgFunc cb = liftIO $ do-    let cb' = wrap_ScannerMsgFunc Nothing cb-    mk_ScannerMsgFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `ScannerMsgFunc` into a `C_ScannerMsgFunc`.-wrap_ScannerMsgFunc ::-    Maybe (Ptr (FunPtr C_ScannerMsgFunc)) ->-    ScannerMsgFunc ->-    C_ScannerMsgFunc-wrap_ScannerMsgFunc funptrptr _cb scanner message error_ = do-    scanner' <- (newPtr GLib.Scanner.Scanner) scanner-    message' <- cstringToText message-    let error_' = (/= 0) error_-    _cb  scanner' message' error_'-    maybeReleaseFunPtr funptrptr----- callback RegexEvalCallback---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%FALSE to continue the replacement process, %TRUE to stop it", sinceVersion = Nothing}, args = [Arg {argCName = "match_info", argType = TInterface (Name {namespace = "GLib", name = "MatchInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GMatchInfo generated by the match.\n    Use g_match_info_get_regex() and g_match_info_get_string() if you\n    need the #GRegex or the matched string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString containing the new string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_regex_replace_eval()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of the function passed to g_regex_replace_eval().\nIt is called for each occurrence of the pattern in the string passed\nto g_regex_replace_eval(), and it should append the replacement to\n@result.", sinceVersion = Just "2.14"}}--- | Type for the callback on the (unwrapped) C side.-type C_RegexEvalCallback =-    Ptr GLib.MatchInfo.MatchInfo ->-    Ptr GLib.String.String ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "match_info", argType = TInterface (Name {namespace = "GLib", name = "MatchInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GMatchInfo generated by the match.\n    Use g_match_info_get_regex() and g_match_info_get_string() if you\n    need the #GRegex or the matched string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString containing the new string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_regex_replace_eval()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_RegexEvalCallback :: FunPtr C_RegexEvalCallback -> C_RegexEvalCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_RegexEvalCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_RegexEvalCallback-    -> GLib.MatchInfo.MatchInfo-    {- ^ /@matchInfo@/: the 'GI.GLib.Structs.MatchInfo.MatchInfo' generated by the match.-    Use 'GI.GLib.Structs.MatchInfo.matchInfoGetRegex' and 'GI.GLib.Structs.MatchInfo.matchInfoGetString' if you-    need the 'GI.GLib.Structs.Regex.Regex' or the matched string. -}-    -> GLib.String.String-    {- ^ /@result@/: a 'GI.GLib.Structs.String.String' containing the new string -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to @/g_regex_replace_eval()/@ -}-    -> m Bool-    {- ^ __Returns:__ 'False' to continue the replacement process, 'True' to stop it -}-dynamic_RegexEvalCallback __funPtr matchInfo result_ userData = liftIO $ do-    matchInfo' <- unsafeManagedPtrGetPtr matchInfo-    result_' <- unsafeManagedPtrGetPtr result_-    result <- (__dynamic_C_RegexEvalCallback __funPtr) matchInfo' result_' userData-    let result' = (/= 0) result-    touchManagedPtr matchInfo-    touchManagedPtr result_-    return result'---- | Generate a function pointer callable from C code, from a `C_RegexEvalCallback`.-foreign import ccall "wrapper"-    mk_RegexEvalCallback :: C_RegexEvalCallback -> IO (FunPtr C_RegexEvalCallback)--{- |-Specifies the type of the function passed to @/g_regex_replace_eval()/@.-It is called for each occurrence of the pattern in the string passed-to @/g_regex_replace_eval()/@, and it should append the replacement to-/@result@/.--/Since: 2.14/--}-type RegexEvalCallback =-    GLib.MatchInfo.MatchInfo-    {- ^ /@matchInfo@/: the 'GI.GLib.Structs.MatchInfo.MatchInfo' generated by the match.-    Use 'GI.GLib.Structs.MatchInfo.matchInfoGetRegex' and 'GI.GLib.Structs.MatchInfo.matchInfoGetString' if you-    need the 'GI.GLib.Structs.Regex.Regex' or the matched string. -}-    -> GLib.String.String-    {- ^ /@result@/: a 'GI.GLib.Structs.String.String' containing the new string -}-    -> IO Bool-    {- ^ __Returns:__ 'False' to continue the replacement process, 'True' to stop it -}---- | A convenience synonym for @`Nothing` :: `Maybe` `RegexEvalCallback`@.-noRegexEvalCallback :: Maybe RegexEvalCallback-noRegexEvalCallback = Nothing--{- |-Specifies the type of the function passed to @/g_regex_replace_eval()/@.-It is called for each occurrence of the pattern in the string passed-to @/g_regex_replace_eval()/@, and it should append the replacement to-/@result@/.--/Since: 2.14/--}-type RegexEvalCallback_WithClosures =-    GLib.MatchInfo.MatchInfo-    {- ^ /@matchInfo@/: the 'GI.GLib.Structs.MatchInfo.MatchInfo' generated by the match.-    Use 'GI.GLib.Structs.MatchInfo.matchInfoGetRegex' and 'GI.GLib.Structs.MatchInfo.matchInfoGetString' if you-    need the 'GI.GLib.Structs.Regex.Regex' or the matched string. -}-    -> GLib.String.String-    {- ^ /@result@/: a 'GI.GLib.Structs.String.String' containing the new string -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to @/g_regex_replace_eval()/@ -}-    -> IO Bool-    {- ^ __Returns:__ 'False' to continue the replacement process, 'True' to stop it -}---- | A convenience synonym for @`Nothing` :: `Maybe` `RegexEvalCallback_WithClosures`@.-noRegexEvalCallback_WithClosures :: Maybe RegexEvalCallback_WithClosures-noRegexEvalCallback_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_RegexEvalCallback :: RegexEvalCallback -> RegexEvalCallback_WithClosures-drop_closures_RegexEvalCallback _f matchInfo result_ _ = _f matchInfo result_---- | Wrap the callback into a `GClosure`.-genClosure_RegexEvalCallback :: MonadIO m => RegexEvalCallback -> m (GClosure C_RegexEvalCallback)-genClosure_RegexEvalCallback cb = liftIO $ do-    let cb' = drop_closures_RegexEvalCallback cb-    let cb'' = wrap_RegexEvalCallback Nothing cb'-    mk_RegexEvalCallback cb'' >>= B.GClosure.newGClosure----- | Wrap a `RegexEvalCallback` into a `C_RegexEvalCallback`.-wrap_RegexEvalCallback ::-    Maybe (Ptr (FunPtr C_RegexEvalCallback)) ->-    RegexEvalCallback_WithClosures ->-    C_RegexEvalCallback-wrap_RegexEvalCallback funptrptr _cb matchInfo result_ userData = do-    B.ManagedPtr.withTransient GLib.MatchInfo.MatchInfo matchInfo $ \matchInfo' -> do-        B.ManagedPtr.withTransient GLib.String.String result_ $ \result_' -> do-            result <- _cb  matchInfo' result_' userData-            maybeReleaseFunPtr funptrptr-            let result' = (fromIntegral . fromEnum) result-            return result'----- callback PrintFunc---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the message to output", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of the print handler functions.\nThese are called with the complete formatted string to output.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_PrintFunc =-    CString ->-    IO ()---- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the message to output", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_PrintFunc :: FunPtr C_PrintFunc -> C_PrintFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_PrintFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_PrintFunc-    -> T.Text-    {- ^ /@string@/: the message to output -}-    -> m ()-dynamic_PrintFunc __funPtr string = liftIO $ do-    string' <- textToCString string-    (__dynamic_C_PrintFunc __funPtr) string'-    freeMem string'-    return ()---- | Generate a function pointer callable from C code, from a `C_PrintFunc`.-foreign import ccall "wrapper"-    mk_PrintFunc :: C_PrintFunc -> IO (FunPtr C_PrintFunc)--{- |-Specifies the type of the print handler functions.-These are called with the complete formatted string to output.--}-type PrintFunc =-    T.Text-    {- ^ /@string@/: the message to output -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `PrintFunc`@.-noPrintFunc :: Maybe PrintFunc-noPrintFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_PrintFunc :: MonadIO m => PrintFunc -> m (GClosure C_PrintFunc)-genClosure_PrintFunc cb = liftIO $ do-    let cb' = wrap_PrintFunc Nothing cb-    mk_PrintFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `PrintFunc` into a `C_PrintFunc`.-wrap_PrintFunc ::-    Maybe (Ptr (FunPtr C_PrintFunc)) ->-    PrintFunc ->-    C_PrintFunc-wrap_PrintFunc funptrptr _cb string = do-    string' <- cstringToText string-    _cb  string'-    maybeReleaseFunPtr funptrptr----- callback PollFunc---          -> Callable {returnType = Just (TBasicType TInt), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "the number of #GPollFD elements which have events or errors\n    reported, or -1 if an error occurred.", sinceVersion = Nothing}, args = [Arg {argCName = "ufds", argType = TInterface (Name {namespace = "GLib", name = "PollFD"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of #GPollFD elements", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nfsd", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of elements in @ufds", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timeout_", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum time to wait for an event of the file descriptors.\n    A negative value indicates an infinite timeout.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of function passed to g_main_context_set_poll_func().\nThe semantics of the function should match those of the poll() system call.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_PollFunc =-    Ptr GLib.PollFD.PollFD ->-    Word32 ->-    Int32 ->-    IO Int32---- Args : [Arg {argCName = "ufds", argType = TInterface (Name {namespace = "GLib", name = "PollFD"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of #GPollFD elements", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nfsd", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of elements in @ufds", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timeout_", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum time to wait for an event of the file descriptors.\n    A negative value indicates an infinite timeout.", 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 "dynamic" __dynamic_C_PollFunc :: FunPtr C_PollFunc -> C_PollFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_PollFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_PollFunc-    -> GLib.PollFD.PollFD-    {- ^ /@ufds@/: an array of 'GI.GLib.Structs.PollFD.PollFD' elements -}-    -> Word32-    {- ^ /@nfsd@/: the number of elements in /@ufds@/ -}-    -> Int32-    {- ^ /@timeout_@/: the maximum time to wait for an event of the file descriptors.-    A negative value indicates an infinite timeout. -}-    -> m Int32-    {- ^ __Returns:__ the number of 'GI.GLib.Structs.PollFD.PollFD' elements which have events or errors-    reported, or -1 if an error occurred. -}-dynamic_PollFunc __funPtr ufds nfsd timeout_ = liftIO $ do-    ufds' <- unsafeManagedPtrGetPtr ufds-    result <- (__dynamic_C_PollFunc __funPtr) ufds' nfsd timeout_-    touchManagedPtr ufds-    return result---- | Generate a function pointer callable from C code, from a `C_PollFunc`.-foreign import ccall "wrapper"-    mk_PollFunc :: C_PollFunc -> IO (FunPtr C_PollFunc)--{- |-Specifies the type of function passed to @/g_main_context_set_poll_func()/@.-The semantics of the function should match those of the @/poll()/@ system call.--}-type PollFunc =-    GLib.PollFD.PollFD-    {- ^ /@ufds@/: an array of 'GI.GLib.Structs.PollFD.PollFD' elements -}-    -> Word32-    {- ^ /@nfsd@/: the number of elements in /@ufds@/ -}-    -> Int32-    {- ^ /@timeout_@/: the maximum time to wait for an event of the file descriptors.-    A negative value indicates an infinite timeout. -}-    -> IO Int32-    {- ^ __Returns:__ the number of 'GI.GLib.Structs.PollFD.PollFD' elements which have events or errors-    reported, or -1 if an error occurred. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `PollFunc`@.-noPollFunc :: Maybe PollFunc-noPollFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_PollFunc :: MonadIO m => PollFunc -> m (GClosure C_PollFunc)-genClosure_PollFunc cb = liftIO $ do-    let cb' = wrap_PollFunc Nothing cb-    mk_PollFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `PollFunc` into a `C_PollFunc`.-wrap_PollFunc ::-    Maybe (Ptr (FunPtr C_PollFunc)) ->-    PollFunc ->-    C_PollFunc-wrap_PollFunc funptrptr _cb ufds nfsd timeout_ = do-    B.ManagedPtr.withTransient GLib.PollFD.PollFD ufds $ \ufds' -> do-        result <- _cb  ufds' nfsd timeout_-        maybeReleaseFunPtr funptrptr-        return result----- callback OptionParseFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the function completed successfully, %FALSE if an error\n occurred, in which case @error should be set with g_set_error()", sinceVersion = Nothing}, args = [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The active #GOptionContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TInterface (Name {namespace = "GLib", name = "OptionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The group to which the function belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "User data added to the #GOptionGroup containing the option when it\n was created with g_option_group_new()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = True, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type of function that can be called before and after parsing.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_OptionParseFunc =-    Ptr GLib.OptionContext.OptionContext ->-    Ptr GLib.OptionGroup.OptionGroup ->-    Ptr () ->-    Ptr (Ptr GError) ->-    IO CInt---- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The active #GOptionContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TInterface (Name {namespace = "GLib", name = "OptionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The group to which the function belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "User data added to the #GOptionGroup containing the option when it\n was created with g_option_group_new()", 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 "dynamic" __dynamic_C_OptionParseFunc :: FunPtr C_OptionParseFunc -> C_OptionParseFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_OptionParseFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_OptionParseFunc-    -> GLib.OptionContext.OptionContext-    {- ^ /@context@/: The active 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> GLib.OptionGroup.OptionGroup-    {- ^ /@group@/: The group to which the function belongs -}-    -> Ptr ()-    {- ^ /@data@/: User data added to the 'GI.GLib.Structs.OptionGroup.OptionGroup' containing the option when it- was created with 'GI.GLib.Structs.OptionGroup.optionGroupNew' -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-dynamic_OptionParseFunc __funPtr context group data_ = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    group' <- unsafeManagedPtrGetPtr group-    onException (do-        _ <- propagateGError $ (__dynamic_C_OptionParseFunc __funPtr) context' group' data_-        touchManagedPtr context-        touchManagedPtr group-        return ()-     ) (do-        return ()-     )---- | Generate a function pointer callable from C code, from a `C_OptionParseFunc`.-foreign import ccall "wrapper"-    mk_OptionParseFunc :: C_OptionParseFunc -> IO (FunPtr C_OptionParseFunc)--{- |-The type of function that can be called before and after parsing.--}-type OptionParseFunc =-    GLib.OptionContext.OptionContext-    {- ^ /@context@/: The active 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> GLib.OptionGroup.OptionGroup-    {- ^ /@group@/: The group to which the function belongs -}-    -> Ptr ()-    {- ^ /@data@/: User data added to the 'GI.GLib.Structs.OptionGroup.OptionGroup' containing the option when it- was created with 'GI.GLib.Structs.OptionGroup.optionGroupNew' -}-    -> IO ()-    {- ^ __Returns:__ 'True' if the function completed successfully, 'False' if an error- occurred, in which case /@error@/ should be set with @/g_set_error()/@ /(Can throw 'Data.GI.Base.GError.GError')/ -}---- | A convenience synonym for @`Nothing` :: `Maybe` `OptionParseFunc`@.-noOptionParseFunc :: Maybe OptionParseFunc-noOptionParseFunc = Nothing---- No Haskell->C wrapper generated since the function throws.---- callback OptionErrorFunc---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The active #GOptionContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TInterface (Name {namespace = "GLib", name = "OptionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The group to which the function belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "User data added to the #GOptionGroup containing the option when it\n was created with g_option_group_new()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = True, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type of function to be used as callback when a parse error occurs.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_OptionErrorFunc =-    Ptr GLib.OptionContext.OptionContext ->-    Ptr GLib.OptionGroup.OptionGroup ->-    Ptr () ->-    Ptr (Ptr GError) ->-    IO ()---- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The active #GOptionContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TInterface (Name {namespace = "GLib", name = "OptionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The group to which the function belongs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "User data added to the #GOptionGroup containing the option when it\n was created with g_option_group_new()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : True--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_OptionErrorFunc :: FunPtr C_OptionErrorFunc -> C_OptionErrorFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_OptionErrorFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_OptionErrorFunc-    -> GLib.OptionContext.OptionContext-    {- ^ /@context@/: The active 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> GLib.OptionGroup.OptionGroup-    {- ^ /@group@/: The group to which the function belongs -}-    -> Ptr ()-    {- ^ /@data@/: User data added to the 'GI.GLib.Structs.OptionGroup.OptionGroup' containing the option when it- was created with 'GI.GLib.Structs.OptionGroup.optionGroupNew' -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-dynamic_OptionErrorFunc __funPtr context group data_ = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    group' <- unsafeManagedPtrGetPtr group-    onException (do-        propagateGError $ (__dynamic_C_OptionErrorFunc __funPtr) context' group' data_-        touchManagedPtr context-        touchManagedPtr group-        return ()-     ) (do-        return ()-     )---- | Generate a function pointer callable from C code, from a `C_OptionErrorFunc`.-foreign import ccall "wrapper"-    mk_OptionErrorFunc :: C_OptionErrorFunc -> IO (FunPtr C_OptionErrorFunc)--{- |-The type of function to be used as callback when a parse error occurs.--}-type OptionErrorFunc =-    GLib.OptionContext.OptionContext-    {- ^ /@context@/: The active 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> GLib.OptionGroup.OptionGroup-    {- ^ /@group@/: The group to which the function belongs -}-    -> Ptr ()-    {- ^ /@data@/: User data added to the 'GI.GLib.Structs.OptionGroup.OptionGroup' containing the option when it- was created with 'GI.GLib.Structs.OptionGroup.optionGroupNew' -}-    -> IO ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}---- | A convenience synonym for @`Nothing` :: `Maybe` `OptionErrorFunc`@.-noOptionErrorFunc :: Maybe OptionErrorFunc-noOptionErrorFunc = Nothing---- No Haskell->C wrapper generated since the function throws.---- callback OptionArgFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the option was successfully parsed, %FALSE if an error\n occurred, in which case @error should be set with g_set_error()", sinceVersion = Nothing}, args = [Arg {argCName = "option_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The name of the option being parsed. This will be either a\n single dash followed by a single letter (for a short name) or two dashes\n followed by a long option name.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The value to be parsed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "User data added to the #GOptionGroup containing the option when it\n was created with g_option_group_new()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = True, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type of function to be passed as callback for %G_OPTION_ARG_CALLBACK\noptions.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_OptionArgFunc =-    CString ->-    CString ->-    Ptr () ->-    Ptr (Ptr GError) ->-    IO CInt---- Args : [Arg {argCName = "option_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The name of the option being parsed. This will be either a\n single dash followed by a single letter (for a short name) or two dashes\n followed by a long option name.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The value to be parsed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "User data added to the #GOptionGroup containing the option when it\n was created with g_option_group_new()", 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 "dynamic" __dynamic_C_OptionArgFunc :: FunPtr C_OptionArgFunc -> C_OptionArgFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_OptionArgFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_OptionArgFunc-    -> T.Text-    {- ^ /@optionName@/: The name of the option being parsed. This will be either a- single dash followed by a single letter (for a short name) or two dashes- followed by a long option name. -}-    -> T.Text-    {- ^ /@value@/: The value to be parsed. -}-    -> Ptr ()-    {- ^ /@data@/: User data added to the 'GI.GLib.Structs.OptionGroup.OptionGroup' containing the option when it- was created with 'GI.GLib.Structs.OptionGroup.optionGroupNew' -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-dynamic_OptionArgFunc __funPtr optionName value data_ = liftIO $ do-    optionName' <- textToCString optionName-    value' <- textToCString value-    onException (do-        _ <- propagateGError $ (__dynamic_C_OptionArgFunc __funPtr) optionName' value' data_-        freeMem optionName'-        freeMem value'-        return ()-     ) (do-        freeMem optionName'-        freeMem value'-     )---- | Generate a function pointer callable from C code, from a `C_OptionArgFunc`.-foreign import ccall "wrapper"-    mk_OptionArgFunc :: C_OptionArgFunc -> IO (FunPtr C_OptionArgFunc)--{- |-The type of function to be passed as callback for 'GI.GLib.Enums.OptionArgCallback'-options.--}-type OptionArgFunc =-    T.Text-    {- ^ /@optionName@/: The name of the option being parsed. This will be either a- single dash followed by a single letter (for a short name) or two dashes- followed by a long option name. -}-    -> T.Text-    {- ^ /@value@/: The value to be parsed. -}-    -> Ptr ()-    {- ^ /@data@/: User data added to the 'GI.GLib.Structs.OptionGroup.OptionGroup' containing the option when it- was created with 'GI.GLib.Structs.OptionGroup.optionGroupNew' -}-    -> IO ()-    {- ^ __Returns:__ 'True' if the option was successfully parsed, 'False' if an error- occurred, in which case /@error@/ should be set with @/g_set_error()/@ /(Can throw 'Data.GI.Base.GError.GError')/ -}---- | A convenience synonym for @`Nothing` :: `Maybe` `OptionArgFunc`@.-noOptionArgFunc :: Maybe OptionArgFunc-noOptionArgFunc = Nothing---- No Haskell->C wrapper generated since the function throws.---- callback NodeTraverseFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE to stop the traversal.", sinceVersion = Nothing}, args = [Arg {argCName = "node", argType = TInterface (Name {namespace = "GLib", name = "Node"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GNode.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_node_traverse().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of function passed to g_node_traverse(). The\nfunction is called with each of the nodes visited, together with the\nuser data passed to g_node_traverse(). If the function returns\n%TRUE, then the traversal is stopped.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_NodeTraverseFunc =-    Ptr GLib.Node.Node ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "node", argType = TInterface (Name {namespace = "GLib", name = "Node"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GNode.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_node_traverse().", 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 "dynamic" __dynamic_C_NodeTraverseFunc :: FunPtr C_NodeTraverseFunc -> C_NodeTraverseFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_NodeTraverseFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_NodeTraverseFunc-    -> GLib.Node.Node-    {- ^ /@node@/: a 'GI.GLib.Structs.Node.Node'. -}-    -> Ptr ()-    {- ^ /@data@/: user data passed to @/g_node_traverse()/@. -}-    -> m Bool-    {- ^ __Returns:__ 'True' to stop the traversal. -}-dynamic_NodeTraverseFunc __funPtr node data_ = liftIO $ do-    node' <- unsafeManagedPtrGetPtr node-    result <- (__dynamic_C_NodeTraverseFunc __funPtr) node' data_-    let result' = (/= 0) result-    touchManagedPtr node-    return result'---- | Generate a function pointer callable from C code, from a `C_NodeTraverseFunc`.-foreign import ccall "wrapper"-    mk_NodeTraverseFunc :: C_NodeTraverseFunc -> IO (FunPtr C_NodeTraverseFunc)--{- |-Specifies the type of function passed to @/g_node_traverse()/@. The-function is called with each of the nodes visited, together with the-user data passed to @/g_node_traverse()/@. If the function returns-'True', then the traversal is stopped.--}-type NodeTraverseFunc =-    GLib.Node.Node-    {- ^ /@node@/: a 'GI.GLib.Structs.Node.Node'. -}-    -> Ptr ()-    {- ^ /@data@/: user data passed to @/g_node_traverse()/@. -}-    -> IO Bool-    {- ^ __Returns:__ 'True' to stop the traversal. -}---- | A convenience synonym for @`Nothing` :: `Maybe` `NodeTraverseFunc`@.-noNodeTraverseFunc :: Maybe NodeTraverseFunc-noNodeTraverseFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_NodeTraverseFunc :: MonadIO m => NodeTraverseFunc -> m (GClosure C_NodeTraverseFunc)-genClosure_NodeTraverseFunc cb = liftIO $ do-    let cb' = wrap_NodeTraverseFunc Nothing cb-    mk_NodeTraverseFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `NodeTraverseFunc` into a `C_NodeTraverseFunc`.-wrap_NodeTraverseFunc ::-    Maybe (Ptr (FunPtr C_NodeTraverseFunc)) ->-    NodeTraverseFunc ->-    C_NodeTraverseFunc-wrap_NodeTraverseFunc funptrptr _cb node data_ = do-    node' <- (newPtr GLib.Node.Node) node-    result <- _cb  node' data_-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback NodeForeachFunc---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "node", argType = TInterface (Name {namespace = "GLib", name = "Node"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GNode.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_node_children_foreach().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of function passed to g_node_children_foreach().\nThe function is called with each child node, together with the user\ndata passed to g_node_children_foreach().", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_NodeForeachFunc =-    Ptr GLib.Node.Node ->-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "node", argType = TInterface (Name {namespace = "GLib", name = "Node"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GNode.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_node_children_foreach().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_NodeForeachFunc :: FunPtr C_NodeForeachFunc -> C_NodeForeachFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_NodeForeachFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_NodeForeachFunc-    -> GLib.Node.Node-    {- ^ /@node@/: a 'GI.GLib.Structs.Node.Node'. -}-    -> Ptr ()-    {- ^ /@data@/: user data passed to @/g_node_children_foreach()/@. -}-    -> m ()-dynamic_NodeForeachFunc __funPtr node data_ = liftIO $ do-    node' <- unsafeManagedPtrGetPtr node-    (__dynamic_C_NodeForeachFunc __funPtr) node' data_-    touchManagedPtr node-    return ()---- | Generate a function pointer callable from C code, from a `C_NodeForeachFunc`.-foreign import ccall "wrapper"-    mk_NodeForeachFunc :: C_NodeForeachFunc -> IO (FunPtr C_NodeForeachFunc)--{- |-Specifies the type of function passed to @/g_node_children_foreach()/@.-The function is called with each child node, together with the user-data passed to @/g_node_children_foreach()/@.--}-type NodeForeachFunc =-    GLib.Node.Node-    {- ^ /@node@/: a 'GI.GLib.Structs.Node.Node'. -}-    -> Ptr ()-    {- ^ /@data@/: user data passed to @/g_node_children_foreach()/@. -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `NodeForeachFunc`@.-noNodeForeachFunc :: Maybe NodeForeachFunc-noNodeForeachFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_NodeForeachFunc :: MonadIO m => NodeForeachFunc -> m (GClosure C_NodeForeachFunc)-genClosure_NodeForeachFunc cb = liftIO $ do-    let cb' = wrap_NodeForeachFunc Nothing cb-    mk_NodeForeachFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `NodeForeachFunc` into a `C_NodeForeachFunc`.-wrap_NodeForeachFunc ::-    Maybe (Ptr (FunPtr C_NodeForeachFunc)) ->-    NodeForeachFunc ->-    C_NodeForeachFunc-wrap_NodeForeachFunc funptrptr _cb node data_ = do-    node' <- (newPtr GLib.Node.Node) node-    _cb  node' data_-    maybeReleaseFunPtr funptrptr----- callback MemVTableTryReallocFieldCallback---          -> Callable {returnType = Just (TBasicType TPtr), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "mem", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_bytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MemVTableTryReallocFieldCallback =-    Ptr () ->-    Word64 ->-    IO (Ptr ())---- Args : [Arg {argCName = "mem", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_bytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_MemVTableTryReallocFieldCallback :: FunPtr C_MemVTableTryReallocFieldCallback -> C_MemVTableTryReallocFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MemVTableTryReallocFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MemVTableTryReallocFieldCallback-    -> Ptr ()-    -> Word64-    -> m (Ptr ())-dynamic_MemVTableTryReallocFieldCallback __funPtr mem nBytes = liftIO $ do-    result <- (__dynamic_C_MemVTableTryReallocFieldCallback __funPtr) mem nBytes-    return result---- | Generate a function pointer callable from C code, from a `C_MemVTableTryReallocFieldCallback`.-foreign import ccall "wrapper"-    mk_MemVTableTryReallocFieldCallback :: C_MemVTableTryReallocFieldCallback -> IO (FunPtr C_MemVTableTryReallocFieldCallback)--{- |-/No description available in the introspection data./--}-type MemVTableTryReallocFieldCallback =-    Ptr ()-    -> Word64-    -> IO (Ptr ())---- | A convenience synonym for @`Nothing` :: `Maybe` `MemVTableTryReallocFieldCallback`@.-noMemVTableTryReallocFieldCallback :: Maybe MemVTableTryReallocFieldCallback-noMemVTableTryReallocFieldCallback = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_MemVTableTryReallocFieldCallback :: MonadIO m => MemVTableTryReallocFieldCallback -> m (GClosure C_MemVTableTryReallocFieldCallback)-genClosure_MemVTableTryReallocFieldCallback cb = liftIO $ do-    let cb' = wrap_MemVTableTryReallocFieldCallback Nothing cb-    mk_MemVTableTryReallocFieldCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `MemVTableTryReallocFieldCallback` into a `C_MemVTableTryReallocFieldCallback`.-wrap_MemVTableTryReallocFieldCallback ::-    Maybe (Ptr (FunPtr C_MemVTableTryReallocFieldCallback)) ->-    MemVTableTryReallocFieldCallback ->-    C_MemVTableTryReallocFieldCallback-wrap_MemVTableTryReallocFieldCallback funptrptr _cb mem nBytes = do-    result <- _cb  mem nBytes-    maybeReleaseFunPtr funptrptr-    return result----- callback MemVTableTryMallocFieldCallback---          -> Callable {returnType = Just (TBasicType TPtr), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "n_bytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MemVTableTryMallocFieldCallback =-    Word64 ->-    IO (Ptr ())---- Args : [Arg {argCName = "n_bytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_MemVTableTryMallocFieldCallback :: FunPtr C_MemVTableTryMallocFieldCallback -> C_MemVTableTryMallocFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MemVTableTryMallocFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MemVTableTryMallocFieldCallback-    -> Word64-    -> m (Ptr ())-dynamic_MemVTableTryMallocFieldCallback __funPtr nBytes = liftIO $ do-    result <- (__dynamic_C_MemVTableTryMallocFieldCallback __funPtr) nBytes-    return result---- | Generate a function pointer callable from C code, from a `C_MemVTableTryMallocFieldCallback`.-foreign import ccall "wrapper"-    mk_MemVTableTryMallocFieldCallback :: C_MemVTableTryMallocFieldCallback -> IO (FunPtr C_MemVTableTryMallocFieldCallback)--{- |-/No description available in the introspection data./--}-type MemVTableTryMallocFieldCallback =-    Word64-    -> IO (Ptr ())---- | A convenience synonym for @`Nothing` :: `Maybe` `MemVTableTryMallocFieldCallback`@.-noMemVTableTryMallocFieldCallback :: Maybe MemVTableTryMallocFieldCallback-noMemVTableTryMallocFieldCallback = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_MemVTableTryMallocFieldCallback :: MonadIO m => MemVTableTryMallocFieldCallback -> m (GClosure C_MemVTableTryMallocFieldCallback)-genClosure_MemVTableTryMallocFieldCallback cb = liftIO $ do-    let cb' = wrap_MemVTableTryMallocFieldCallback Nothing cb-    mk_MemVTableTryMallocFieldCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `MemVTableTryMallocFieldCallback` into a `C_MemVTableTryMallocFieldCallback`.-wrap_MemVTableTryMallocFieldCallback ::-    Maybe (Ptr (FunPtr C_MemVTableTryMallocFieldCallback)) ->-    MemVTableTryMallocFieldCallback ->-    C_MemVTableTryMallocFieldCallback-wrap_MemVTableTryMallocFieldCallback funptrptr _cb nBytes = do-    result <- _cb  nBytes-    maybeReleaseFunPtr funptrptr-    return result----- callback MemVTableReallocFieldCallback---          -> Callable {returnType = Just (TBasicType TPtr), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "mem", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_bytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MemVTableReallocFieldCallback =-    Ptr () ->-    Word64 ->-    IO (Ptr ())---- Args : [Arg {argCName = "mem", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_bytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_MemVTableReallocFieldCallback :: FunPtr C_MemVTableReallocFieldCallback -> C_MemVTableReallocFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MemVTableReallocFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MemVTableReallocFieldCallback-    -> Ptr ()-    -> Word64-    -> m (Ptr ())-dynamic_MemVTableReallocFieldCallback __funPtr mem nBytes = liftIO $ do-    result <- (__dynamic_C_MemVTableReallocFieldCallback __funPtr) mem nBytes-    return result---- | Generate a function pointer callable from C code, from a `C_MemVTableReallocFieldCallback`.-foreign import ccall "wrapper"-    mk_MemVTableReallocFieldCallback :: C_MemVTableReallocFieldCallback -> IO (FunPtr C_MemVTableReallocFieldCallback)--{- |-/No description available in the introspection data./--}-type MemVTableReallocFieldCallback =-    Ptr ()-    -> Word64-    -> IO (Ptr ())---- | A convenience synonym for @`Nothing` :: `Maybe` `MemVTableReallocFieldCallback`@.-noMemVTableReallocFieldCallback :: Maybe MemVTableReallocFieldCallback-noMemVTableReallocFieldCallback = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_MemVTableReallocFieldCallback :: MonadIO m => MemVTableReallocFieldCallback -> m (GClosure C_MemVTableReallocFieldCallback)-genClosure_MemVTableReallocFieldCallback cb = liftIO $ do-    let cb' = wrap_MemVTableReallocFieldCallback Nothing cb-    mk_MemVTableReallocFieldCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `MemVTableReallocFieldCallback` into a `C_MemVTableReallocFieldCallback`.-wrap_MemVTableReallocFieldCallback ::-    Maybe (Ptr (FunPtr C_MemVTableReallocFieldCallback)) ->-    MemVTableReallocFieldCallback ->-    C_MemVTableReallocFieldCallback-wrap_MemVTableReallocFieldCallback funptrptr _cb mem nBytes = do-    result <- _cb  mem nBytes-    maybeReleaseFunPtr funptrptr-    return result----- callback MemVTableMallocFieldCallback---          -> Callable {returnType = Just (TBasicType TPtr), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "n_bytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MemVTableMallocFieldCallback =-    Word64 ->-    IO (Ptr ())---- Args : [Arg {argCName = "n_bytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_MemVTableMallocFieldCallback :: FunPtr C_MemVTableMallocFieldCallback -> C_MemVTableMallocFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MemVTableMallocFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MemVTableMallocFieldCallback-    -> Word64-    -> m (Ptr ())-dynamic_MemVTableMallocFieldCallback __funPtr nBytes = liftIO $ do-    result <- (__dynamic_C_MemVTableMallocFieldCallback __funPtr) nBytes-    return result---- | Generate a function pointer callable from C code, from a `C_MemVTableMallocFieldCallback`.-foreign import ccall "wrapper"-    mk_MemVTableMallocFieldCallback :: C_MemVTableMallocFieldCallback -> IO (FunPtr C_MemVTableMallocFieldCallback)--{- |-/No description available in the introspection data./--}-type MemVTableMallocFieldCallback =-    Word64-    -> IO (Ptr ())---- | A convenience synonym for @`Nothing` :: `Maybe` `MemVTableMallocFieldCallback`@.-noMemVTableMallocFieldCallback :: Maybe MemVTableMallocFieldCallback-noMemVTableMallocFieldCallback = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_MemVTableMallocFieldCallback :: MonadIO m => MemVTableMallocFieldCallback -> m (GClosure C_MemVTableMallocFieldCallback)-genClosure_MemVTableMallocFieldCallback cb = liftIO $ do-    let cb' = wrap_MemVTableMallocFieldCallback Nothing cb-    mk_MemVTableMallocFieldCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `MemVTableMallocFieldCallback` into a `C_MemVTableMallocFieldCallback`.-wrap_MemVTableMallocFieldCallback ::-    Maybe (Ptr (FunPtr C_MemVTableMallocFieldCallback)) ->-    MemVTableMallocFieldCallback ->-    C_MemVTableMallocFieldCallback-wrap_MemVTableMallocFieldCallback funptrptr _cb nBytes = do-    result <- _cb  nBytes-    maybeReleaseFunPtr funptrptr-    return result----- callback MemVTableFreeFieldCallback---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "mem", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MemVTableFreeFieldCallback =-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "mem", argType = TBasicType TPtr, 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 "dynamic" __dynamic_C_MemVTableFreeFieldCallback :: FunPtr C_MemVTableFreeFieldCallback -> C_MemVTableFreeFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MemVTableFreeFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MemVTableFreeFieldCallback-    -> Ptr ()-    -> m ()-dynamic_MemVTableFreeFieldCallback __funPtr mem = liftIO $ do-    (__dynamic_C_MemVTableFreeFieldCallback __funPtr) mem-    return ()---- | Generate a function pointer callable from C code, from a `C_MemVTableFreeFieldCallback`.-foreign import ccall "wrapper"-    mk_MemVTableFreeFieldCallback :: C_MemVTableFreeFieldCallback -> IO (FunPtr C_MemVTableFreeFieldCallback)--{- |-/No description available in the introspection data./--}-type MemVTableFreeFieldCallback =-    Ptr ()-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `MemVTableFreeFieldCallback`@.-noMemVTableFreeFieldCallback :: Maybe MemVTableFreeFieldCallback-noMemVTableFreeFieldCallback = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_MemVTableFreeFieldCallback :: MonadIO m => MemVTableFreeFieldCallback -> m (GClosure C_MemVTableFreeFieldCallback)-genClosure_MemVTableFreeFieldCallback cb = liftIO $ do-    let cb' = wrap_MemVTableFreeFieldCallback Nothing cb-    mk_MemVTableFreeFieldCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `MemVTableFreeFieldCallback` into a `C_MemVTableFreeFieldCallback`.-wrap_MemVTableFreeFieldCallback ::-    Maybe (Ptr (FunPtr C_MemVTableFreeFieldCallback)) ->-    MemVTableFreeFieldCallback ->-    C_MemVTableFreeFieldCallback-wrap_MemVTableFreeFieldCallback funptrptr _cb mem = do-    _cb  mem-    maybeReleaseFunPtr funptrptr----- callback MemVTableCallocFieldCallback---          -> Callable {returnType = Just (TBasicType TPtr), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "n_blocks", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_block_bytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MemVTableCallocFieldCallback =-    Word64 ->-    Word64 ->-    IO (Ptr ())---- Args : [Arg {argCName = "n_blocks", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_block_bytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_MemVTableCallocFieldCallback :: FunPtr C_MemVTableCallocFieldCallback -> C_MemVTableCallocFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MemVTableCallocFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MemVTableCallocFieldCallback-    -> Word64-    -> Word64-    -> m (Ptr ())-dynamic_MemVTableCallocFieldCallback __funPtr nBlocks nBlockBytes = liftIO $ do-    result <- (__dynamic_C_MemVTableCallocFieldCallback __funPtr) nBlocks nBlockBytes-    return result---- | Generate a function pointer callable from C code, from a `C_MemVTableCallocFieldCallback`.-foreign import ccall "wrapper"-    mk_MemVTableCallocFieldCallback :: C_MemVTableCallocFieldCallback -> IO (FunPtr C_MemVTableCallocFieldCallback)--{- |-/No description available in the introspection data./--}-type MemVTableCallocFieldCallback =-    Word64-    -> Word64-    -> IO (Ptr ())---- | A convenience synonym for @`Nothing` :: `Maybe` `MemVTableCallocFieldCallback`@.-noMemVTableCallocFieldCallback :: Maybe MemVTableCallocFieldCallback-noMemVTableCallocFieldCallback = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_MemVTableCallocFieldCallback :: MonadIO m => MemVTableCallocFieldCallback -> m (GClosure C_MemVTableCallocFieldCallback)-genClosure_MemVTableCallocFieldCallback cb = liftIO $ do-    let cb' = wrap_MemVTableCallocFieldCallback Nothing cb-    mk_MemVTableCallocFieldCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `MemVTableCallocFieldCallback` into a `C_MemVTableCallocFieldCallback`.-wrap_MemVTableCallocFieldCallback ::-    Maybe (Ptr (FunPtr C_MemVTableCallocFieldCallback)) ->-    MemVTableCallocFieldCallback ->-    C_MemVTableCallocFieldCallback-wrap_MemVTableCallocFieldCallback funptrptr _cb nBlocks nBlockBytes = do-    result <- _cb  nBlocks nBlockBytes-    maybeReleaseFunPtr funptrptr-    return result----- callback MarkupParserTextFieldCallback---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MarkupParseContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", 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 = "text_len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = True, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MarkupParserTextFieldCallback =-    Ptr GLib.MarkupParseContext.MarkupParseContext ->-    CString ->-    Word64 ->-    Ptr () ->-    Ptr (Ptr GError) ->-    IO ()---- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MarkupParseContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", 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 = "text_len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : True--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_MarkupParserTextFieldCallback :: FunPtr C_MarkupParserTextFieldCallback -> C_MarkupParserTextFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MarkupParserTextFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MarkupParserTextFieldCallback-    -> GLib.MarkupParseContext.MarkupParseContext-    -> T.Text-    -> Word64-    -> Ptr ()-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-dynamic_MarkupParserTextFieldCallback __funPtr context text textLen userData = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    text' <- textToCString text-    onException (do-        propagateGError $ (__dynamic_C_MarkupParserTextFieldCallback __funPtr) context' text' textLen userData-        touchManagedPtr context-        freeMem text'-        return ()-     ) (do-        freeMem text'-     )---- | Generate a function pointer callable from C code, from a `C_MarkupParserTextFieldCallback`.-foreign import ccall "wrapper"-    mk_MarkupParserTextFieldCallback :: C_MarkupParserTextFieldCallback -> IO (FunPtr C_MarkupParserTextFieldCallback)--{- |-/No description available in the introspection data./--}-type MarkupParserTextFieldCallback =-    GLib.MarkupParseContext.MarkupParseContext-    -> T.Text-    -> Word64-    -> IO ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}---- | A convenience synonym for @`Nothing` :: `Maybe` `MarkupParserTextFieldCallback`@.-noMarkupParserTextFieldCallback :: Maybe MarkupParserTextFieldCallback-noMarkupParserTextFieldCallback = Nothing--{- |-/No description available in the introspection data./--}-type MarkupParserTextFieldCallback_WithClosures =-    GLib.MarkupParseContext.MarkupParseContext-    -> T.Text-    -> Word64-    -> Ptr ()-    -> IO ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}---- | A convenience synonym for @`Nothing` :: `Maybe` `MarkupParserTextFieldCallback_WithClosures`@.-noMarkupParserTextFieldCallback_WithClosures :: Maybe MarkupParserTextFieldCallback_WithClosures-noMarkupParserTextFieldCallback_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_MarkupParserTextFieldCallback :: MarkupParserTextFieldCallback -> MarkupParserTextFieldCallback_WithClosures-drop_closures_MarkupParserTextFieldCallback _f context text textLen _ = _f context text textLen---- No Haskell->C wrapper generated since the function throws.---- callback MarkupParserStartElementFieldCallback---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MarkupParseContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "element_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 = "attribute_names", 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 = "attribute_values", 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 = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = True, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MarkupParserStartElementFieldCallback =-    Ptr GLib.MarkupParseContext.MarkupParseContext ->-    CString ->-    CString ->-    CString ->-    Ptr () ->-    Ptr (Ptr GError) ->-    IO ()---- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MarkupParseContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "element_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 = "attribute_names", 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 = "attribute_values", 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 = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 4, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : True--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_MarkupParserStartElementFieldCallback :: FunPtr C_MarkupParserStartElementFieldCallback -> C_MarkupParserStartElementFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MarkupParserStartElementFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MarkupParserStartElementFieldCallback-    -> GLib.MarkupParseContext.MarkupParseContext-    -> T.Text-    -> T.Text-    -> T.Text-    -> Ptr ()-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-dynamic_MarkupParserStartElementFieldCallback __funPtr context elementName attributeNames attributeValues userData = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    elementName' <- textToCString elementName-    attributeNames' <- textToCString attributeNames-    attributeValues' <- textToCString attributeValues-    onException (do-        propagateGError $ (__dynamic_C_MarkupParserStartElementFieldCallback __funPtr) context' elementName' attributeNames' attributeValues' userData-        touchManagedPtr context-        freeMem elementName'-        freeMem attributeNames'-        freeMem attributeValues'-        return ()-     ) (do-        freeMem elementName'-        freeMem attributeNames'-        freeMem attributeValues'-     )---- | Generate a function pointer callable from C code, from a `C_MarkupParserStartElementFieldCallback`.-foreign import ccall "wrapper"-    mk_MarkupParserStartElementFieldCallback :: C_MarkupParserStartElementFieldCallback -> IO (FunPtr C_MarkupParserStartElementFieldCallback)--{- |-/No description available in the introspection data./--}-type MarkupParserStartElementFieldCallback =-    GLib.MarkupParseContext.MarkupParseContext-    -> T.Text-    -> T.Text-    -> T.Text-    -> IO ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}---- | A convenience synonym for @`Nothing` :: `Maybe` `MarkupParserStartElementFieldCallback`@.-noMarkupParserStartElementFieldCallback :: Maybe MarkupParserStartElementFieldCallback-noMarkupParserStartElementFieldCallback = Nothing--{- |-/No description available in the introspection data./--}-type MarkupParserStartElementFieldCallback_WithClosures =-    GLib.MarkupParseContext.MarkupParseContext-    -> T.Text-    -> T.Text-    -> T.Text-    -> Ptr ()-    -> IO ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}---- | A convenience synonym for @`Nothing` :: `Maybe` `MarkupParserStartElementFieldCallback_WithClosures`@.-noMarkupParserStartElementFieldCallback_WithClosures :: Maybe MarkupParserStartElementFieldCallback_WithClosures-noMarkupParserStartElementFieldCallback_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_MarkupParserStartElementFieldCallback :: MarkupParserStartElementFieldCallback -> MarkupParserStartElementFieldCallback_WithClosures-drop_closures_MarkupParserStartElementFieldCallback _f context elementName attributeNames attributeValues _ = _f context elementName attributeNames attributeValues---- No Haskell->C wrapper generated since the function throws.---- callback MarkupParserPassthroughFieldCallback---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MarkupParseContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "passthrough_text", 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 = "text_len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = True, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MarkupParserPassthroughFieldCallback =-    Ptr GLib.MarkupParseContext.MarkupParseContext ->-    CString ->-    Word64 ->-    Ptr () ->-    Ptr (Ptr GError) ->-    IO ()---- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MarkupParseContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "passthrough_text", 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 = "text_len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : True--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_MarkupParserPassthroughFieldCallback :: FunPtr C_MarkupParserPassthroughFieldCallback -> C_MarkupParserPassthroughFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MarkupParserPassthroughFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MarkupParserPassthroughFieldCallback-    -> GLib.MarkupParseContext.MarkupParseContext-    -> T.Text-    -> Word64-    -> Ptr ()-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-dynamic_MarkupParserPassthroughFieldCallback __funPtr context passthroughText textLen userData = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    passthroughText' <- textToCString passthroughText-    onException (do-        propagateGError $ (__dynamic_C_MarkupParserPassthroughFieldCallback __funPtr) context' passthroughText' textLen userData-        touchManagedPtr context-        freeMem passthroughText'-        return ()-     ) (do-        freeMem passthroughText'-     )---- | Generate a function pointer callable from C code, from a `C_MarkupParserPassthroughFieldCallback`.-foreign import ccall "wrapper"-    mk_MarkupParserPassthroughFieldCallback :: C_MarkupParserPassthroughFieldCallback -> IO (FunPtr C_MarkupParserPassthroughFieldCallback)--{- |-/No description available in the introspection data./--}-type MarkupParserPassthroughFieldCallback =-    GLib.MarkupParseContext.MarkupParseContext-    -> T.Text-    -> Word64-    -> IO ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}---- | A convenience synonym for @`Nothing` :: `Maybe` `MarkupParserPassthroughFieldCallback`@.-noMarkupParserPassthroughFieldCallback :: Maybe MarkupParserPassthroughFieldCallback-noMarkupParserPassthroughFieldCallback = Nothing--{- |-/No description available in the introspection data./--}-type MarkupParserPassthroughFieldCallback_WithClosures =-    GLib.MarkupParseContext.MarkupParseContext-    -> T.Text-    -> Word64-    -> Ptr ()-    -> IO ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}---- | A convenience synonym for @`Nothing` :: `Maybe` `MarkupParserPassthroughFieldCallback_WithClosures`@.-noMarkupParserPassthroughFieldCallback_WithClosures :: Maybe MarkupParserPassthroughFieldCallback_WithClosures-noMarkupParserPassthroughFieldCallback_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_MarkupParserPassthroughFieldCallback :: MarkupParserPassthroughFieldCallback -> MarkupParserPassthroughFieldCallback_WithClosures-drop_closures_MarkupParserPassthroughFieldCallback _f context passthroughText textLen _ = _f context passthroughText textLen---- No Haskell->C wrapper generated since the function throws.---- callback MarkupParserErrorFieldCallback---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MarkupParseContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "error", argType = TError, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MarkupParserErrorFieldCallback =-    Ptr GLib.MarkupParseContext.MarkupParseContext ->-    Ptr GError ->-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MarkupParseContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "error", argType = TError, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_MarkupParserErrorFieldCallback :: FunPtr C_MarkupParserErrorFieldCallback -> C_MarkupParserErrorFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MarkupParserErrorFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MarkupParserErrorFieldCallback-    -> GLib.MarkupParseContext.MarkupParseContext-    -> GError-    -> Ptr ()-    -> m ()-dynamic_MarkupParserErrorFieldCallback __funPtr context error_ userData = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    error_' <- unsafeManagedPtrGetPtr error_-    (__dynamic_C_MarkupParserErrorFieldCallback __funPtr) context' error_' userData-    touchManagedPtr context-    touchManagedPtr error_-    return ()---- | Generate a function pointer callable from C code, from a `C_MarkupParserErrorFieldCallback`.-foreign import ccall "wrapper"-    mk_MarkupParserErrorFieldCallback :: C_MarkupParserErrorFieldCallback -> IO (FunPtr C_MarkupParserErrorFieldCallback)--{- |-/No description available in the introspection data./--}-type MarkupParserErrorFieldCallback =-    GLib.MarkupParseContext.MarkupParseContext-    -> GError-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `MarkupParserErrorFieldCallback`@.-noMarkupParserErrorFieldCallback :: Maybe MarkupParserErrorFieldCallback-noMarkupParserErrorFieldCallback = Nothing--{- |-/No description available in the introspection data./--}-type MarkupParserErrorFieldCallback_WithClosures =-    GLib.MarkupParseContext.MarkupParseContext-    -> GError-    -> Ptr ()-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `MarkupParserErrorFieldCallback_WithClosures`@.-noMarkupParserErrorFieldCallback_WithClosures :: Maybe MarkupParserErrorFieldCallback_WithClosures-noMarkupParserErrorFieldCallback_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_MarkupParserErrorFieldCallback :: MarkupParserErrorFieldCallback -> MarkupParserErrorFieldCallback_WithClosures-drop_closures_MarkupParserErrorFieldCallback _f context error_ _ = _f context error_---- | Wrap the callback into a `GClosure`.-genClosure_MarkupParserErrorFieldCallback :: MonadIO m => MarkupParserErrorFieldCallback -> m (GClosure C_MarkupParserErrorFieldCallback)-genClosure_MarkupParserErrorFieldCallback cb = liftIO $ do-    let cb' = drop_closures_MarkupParserErrorFieldCallback cb-    let cb'' = wrap_MarkupParserErrorFieldCallback Nothing cb'-    mk_MarkupParserErrorFieldCallback cb'' >>= B.GClosure.newGClosure----- | Wrap a `MarkupParserErrorFieldCallback` into a `C_MarkupParserErrorFieldCallback`.-wrap_MarkupParserErrorFieldCallback ::-    Maybe (Ptr (FunPtr C_MarkupParserErrorFieldCallback)) ->-    MarkupParserErrorFieldCallback_WithClosures ->-    C_MarkupParserErrorFieldCallback-wrap_MarkupParserErrorFieldCallback funptrptr _cb context error_ userData = do-    B.ManagedPtr.withTransient GLib.MarkupParseContext.MarkupParseContext context $ \context' -> do-        error_' <- (newBoxed GError) error_-        _cb  context' error_' userData-        maybeReleaseFunPtr funptrptr----- callback MarkupParserEndElementFieldCallback---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MarkupParseContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "element_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 = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = True, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_MarkupParserEndElementFieldCallback =-    Ptr GLib.MarkupParseContext.MarkupParseContext ->-    CString ->-    Ptr () ->-    Ptr (Ptr GError) ->-    IO ()---- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MarkupParseContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "element_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 = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : True--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_MarkupParserEndElementFieldCallback :: FunPtr C_MarkupParserEndElementFieldCallback -> C_MarkupParserEndElementFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_MarkupParserEndElementFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_MarkupParserEndElementFieldCallback-    -> GLib.MarkupParseContext.MarkupParseContext-    -> T.Text-    -> Ptr ()-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-dynamic_MarkupParserEndElementFieldCallback __funPtr context elementName userData = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    elementName' <- textToCString elementName-    onException (do-        propagateGError $ (__dynamic_C_MarkupParserEndElementFieldCallback __funPtr) context' elementName' userData-        touchManagedPtr context-        freeMem elementName'-        return ()-     ) (do-        freeMem elementName'-     )---- | Generate a function pointer callable from C code, from a `C_MarkupParserEndElementFieldCallback`.-foreign import ccall "wrapper"-    mk_MarkupParserEndElementFieldCallback :: C_MarkupParserEndElementFieldCallback -> IO (FunPtr C_MarkupParserEndElementFieldCallback)--{- |-/No description available in the introspection data./--}-type MarkupParserEndElementFieldCallback =-    GLib.MarkupParseContext.MarkupParseContext-    -> T.Text-    -> IO ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}---- | A convenience synonym for @`Nothing` :: `Maybe` `MarkupParserEndElementFieldCallback`@.-noMarkupParserEndElementFieldCallback :: Maybe MarkupParserEndElementFieldCallback-noMarkupParserEndElementFieldCallback = Nothing--{- |-/No description available in the introspection data./--}-type MarkupParserEndElementFieldCallback_WithClosures =-    GLib.MarkupParseContext.MarkupParseContext-    -> T.Text-    -> Ptr ()-    -> IO ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}---- | A convenience synonym for @`Nothing` :: `Maybe` `MarkupParserEndElementFieldCallback_WithClosures`@.-noMarkupParserEndElementFieldCallback_WithClosures :: Maybe MarkupParserEndElementFieldCallback_WithClosures-noMarkupParserEndElementFieldCallback_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_MarkupParserEndElementFieldCallback :: MarkupParserEndElementFieldCallback -> MarkupParserEndElementFieldCallback_WithClosures-drop_closures_MarkupParserEndElementFieldCallback _f context elementName _ = _f context elementName---- No Haskell->C wrapper generated since the function throws.---- callback LogWriterFunc---          -> Callable {returnType = Just (TInterface (Name {namespace = "GLib", name = "LogWriterOutput"})), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%G_LOG_WRITER_HANDLED if the log entry was handled successfully;\n   %G_LOG_WRITER_UNHANDLED otherwise", sinceVersion = Nothing}, args = [Arg {argCName = "log_level", argType = TInterface (Name {namespace = "GLib", name = "LogLevelFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "log level of the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fields", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "GLib", name = "LogField"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "fields forming the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_fields", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of @fields", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_log_set_writer_func()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Writer function for log entries. A log entry is a collection of one or more\n#GLogFields, using the standard [field names from journal\nspecification](https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html).\nSee g_log_structured() for more information.\n\nWriter functions must ignore fields which they do not recognise, unless they\ncan write arbitrary binary output, as field values may be arbitrary binary.\n\n@log_level is guaranteed to be included in @fields as the `PRIORITY` field,\nbut is provided separately for convenience of deciding whether or where to\noutput the log entry.\n\nWriter functions should return %G_LOG_WRITER_HANDLED if they handled the log\nmessage successfully or if they deliberately ignored it. If there was an\nerror handling the message (for example, if the writer function is meant to\nsend messages to a remote logging server and there is a network error), it\nshould return %G_LOG_WRITER_UNHANDLED. This allows writer functions to be\nchained and fall back to simpler handlers in case of failure.", sinceVersion = Just "2.50"}}--- | Type for the callback on the (unwrapped) C side.-type C_LogWriterFunc =-    CInt ->-    Ptr GLib.LogField.LogField ->-    Word64 ->-    Ptr () ->-    IO CUInt---- Args : [Arg {argCName = "log_level", argType = TInterface (Name {namespace = "GLib", name = "LogLevelFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "log level of the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fields", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "GLib", name = "LogField"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "fields forming the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_fields", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of @fields", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_log_set_writer_func()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "n_fields", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of @fields", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TInterface (Name {namespace = "GLib", name = "LogWriterOutput"}))--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_LogWriterFunc :: FunPtr C_LogWriterFunc -> C_LogWriterFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_LogWriterFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_LogWriterFunc-    -> [GLib.Flags.LogLevelFlags]-    {- ^ /@logLevel@/: log level of the message -}-    -> [GLib.LogField.LogField]-    {- ^ /@fields@/: fields forming the message -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to 'GI.GLib.Functions.logSetWriterFunc' -}-    -> m GLib.Enums.LogWriterOutput-    {- ^ __Returns:__ 'GI.GLib.Enums.LogWriterOutputHandled' if the log entry was handled successfully;-   'GI.GLib.Enums.LogWriterOutputUnhandled' otherwise -}-dynamic_LogWriterFunc __funPtr logLevel fields userData = liftIO $ do-    let nFields = fromIntegral $ length fields-    let logLevel' = gflagsToWord logLevel-    fields' <- mapM unsafeManagedPtrGetPtr fields-    fields'' <- packBlockArray 24 fields'-    result <- (__dynamic_C_LogWriterFunc __funPtr) logLevel' fields'' nFields userData-    let result' = (toEnum . fromIntegral) result-    mapM_ touchManagedPtr fields-    freeMem fields''-    return result'---- | Generate a function pointer callable from C code, from a `C_LogWriterFunc`.-foreign import ccall "wrapper"-    mk_LogWriterFunc :: C_LogWriterFunc -> IO (FunPtr C_LogWriterFunc)--{- |-Writer function for log entries. A log entry is a collection of one or more-@/GLogFields/@, using the standard <https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html field names from journal-specification>.-See @/g_log_structured()/@ for more information.--Writer functions must ignore fields which they do not recognise, unless they-can write arbitrary binary output, as field values may be arbitrary binary.--/@logLevel@/ is guaranteed to be included in /@fields@/ as the @PRIORITY@ field,-but is provided separately for convenience of deciding whether or where to-output the log entry.--Writer functions should return 'GI.GLib.Enums.LogWriterOutputHandled' if they handled the log-message successfully or if they deliberately ignored it. If there was an-error handling the message (for example, if the writer function is meant to-send messages to a remote logging server and there is a network error), it-should return 'GI.GLib.Enums.LogWriterOutputUnhandled'. This allows writer functions to be-chained and fall back to simpler handlers in case of failure.--/Since: 2.50/--}-type LogWriterFunc =-    [GLib.Flags.LogLevelFlags]-    {- ^ /@logLevel@/: log level of the message -}-    -> [GLib.LogField.LogField]-    {- ^ /@fields@/: fields forming the message -}-    -> IO GLib.Enums.LogWriterOutput-    {- ^ __Returns:__ 'GI.GLib.Enums.LogWriterOutputHandled' if the log entry was handled successfully;-   'GI.GLib.Enums.LogWriterOutputUnhandled' otherwise -}---- | A convenience synonym for @`Nothing` :: `Maybe` `LogWriterFunc`@.-noLogWriterFunc :: Maybe LogWriterFunc-noLogWriterFunc = Nothing--{- |-Writer function for log entries. A log entry is a collection of one or more-@/GLogFields/@, using the standard <https://www.freedesktop.org/software/systemd/man/systemd.journal-fields.html field names from journal-specification>.-See @/g_log_structured()/@ for more information.--Writer functions must ignore fields which they do not recognise, unless they-can write arbitrary binary output, as field values may be arbitrary binary.--/@logLevel@/ is guaranteed to be included in /@fields@/ as the @PRIORITY@ field,-but is provided separately for convenience of deciding whether or where to-output the log entry.--Writer functions should return 'GI.GLib.Enums.LogWriterOutputHandled' if they handled the log-message successfully or if they deliberately ignored it. If there was an-error handling the message (for example, if the writer function is meant to-send messages to a remote logging server and there is a network error), it-should return 'GI.GLib.Enums.LogWriterOutputUnhandled'. This allows writer functions to be-chained and fall back to simpler handlers in case of failure.--/Since: 2.50/--}-type LogWriterFunc_WithClosures =-    [GLib.Flags.LogLevelFlags]-    {- ^ /@logLevel@/: log level of the message -}-    -> [GLib.LogField.LogField]-    {- ^ /@fields@/: fields forming the message -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to 'GI.GLib.Functions.logSetWriterFunc' -}-    -> IO GLib.Enums.LogWriterOutput-    {- ^ __Returns:__ 'GI.GLib.Enums.LogWriterOutputHandled' if the log entry was handled successfully;-   'GI.GLib.Enums.LogWriterOutputUnhandled' otherwise -}---- | A convenience synonym for @`Nothing` :: `Maybe` `LogWriterFunc_WithClosures`@.-noLogWriterFunc_WithClosures :: Maybe LogWriterFunc_WithClosures-noLogWriterFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_LogWriterFunc :: LogWriterFunc -> LogWriterFunc_WithClosures-drop_closures_LogWriterFunc _f logLevel fields _ = _f logLevel fields---- | Wrap the callback into a `GClosure`.-genClosure_LogWriterFunc :: MonadIO m => LogWriterFunc -> m (GClosure C_LogWriterFunc)-genClosure_LogWriterFunc cb = liftIO $ do-    let cb' = drop_closures_LogWriterFunc cb-    let cb'' = wrap_LogWriterFunc Nothing cb'-    mk_LogWriterFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `LogWriterFunc` into a `C_LogWriterFunc`.-wrap_LogWriterFunc ::-    Maybe (Ptr (FunPtr C_LogWriterFunc)) ->-    LogWriterFunc_WithClosures ->-    C_LogWriterFunc-wrap_LogWriterFunc funptrptr _cb logLevel fields nFields userData = do-    let logLevel' = wordToGFlags logLevel-    fields' <- (unpackBlockArrayWithLength 24 nFields) fields-    fields'' <- mapM (newPtr GLib.LogField.LogField) fields'-    result <- _cb  logLevel' fields'' userData-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback LogFunc---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "log_domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the log domain of the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "log_level", argType = TInterface (Name {namespace = "GLib", name = "LogLevelFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the log level of the message (including the\n    fatal and recursion flags)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the message to process", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data, set in g_log_set_handler()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the prototype of log handler functions.\n\nThe default log handler, g_log_default_handler(), automatically appends a\nnew-line character to @message when printing it. It is advised that any\ncustom log handler functions behave similarly, so that logging calls in user\ncode do not need modifying to add a new-line character to the message if the\nlog handler is changed.\n\nThis is not used if structured logging is enabled; see\n[Using Structured Logging][using-structured-logging].", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_LogFunc =-    CString ->-    CInt ->-    CString ->-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "log_domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the log domain of the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "log_level", argType = TInterface (Name {namespace = "GLib", name = "LogLevelFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the log level of the message (including the\n    fatal and recursion flags)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the message to process", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data, set in g_log_set_handler()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_LogFunc :: FunPtr C_LogFunc -> C_LogFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_LogFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_LogFunc-    -> T.Text-    {- ^ /@logDomain@/: the log domain of the message -}-    -> [GLib.Flags.LogLevelFlags]-    {- ^ /@logLevel@/: the log level of the message (including the-    fatal and recursion flags) -}-    -> T.Text-    {- ^ /@message@/: the message to process -}-    -> Ptr ()-    {- ^ /@userData@/: user data, set in @/g_log_set_handler()/@ -}-    -> m ()-dynamic_LogFunc __funPtr logDomain logLevel message userData = liftIO $ do-    logDomain' <- textToCString logDomain-    let logLevel' = gflagsToWord logLevel-    message' <- textToCString message-    (__dynamic_C_LogFunc __funPtr) logDomain' logLevel' message' userData-    freeMem logDomain'-    freeMem message'-    return ()---- | Generate a function pointer callable from C code, from a `C_LogFunc`.-foreign import ccall "wrapper"-    mk_LogFunc :: C_LogFunc -> IO (FunPtr C_LogFunc)--{- |-Specifies the prototype of log handler functions.--The default log handler, 'GI.GLib.Functions.logDefaultHandler', automatically appends a-new-line character to /@message@/ when printing it. It is advised that any-custom log handler functions behave similarly, so that logging calls in user-code do not need modifying to add a new-line character to the message if the-log handler is changed.--This is not used if structured logging is enabled; see-[Using Structured Logging][using-structured-logging].--}-type LogFunc =-    T.Text-    {- ^ /@logDomain@/: the log domain of the message -}-    -> [GLib.Flags.LogLevelFlags]-    {- ^ /@logLevel@/: the log level of the message (including the-    fatal and recursion flags) -}-    -> T.Text-    {- ^ /@message@/: the message to process -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `LogFunc`@.-noLogFunc :: Maybe LogFunc-noLogFunc = Nothing--{- |-Specifies the prototype of log handler functions.--The default log handler, 'GI.GLib.Functions.logDefaultHandler', automatically appends a-new-line character to /@message@/ when printing it. It is advised that any-custom log handler functions behave similarly, so that logging calls in user-code do not need modifying to add a new-line character to the message if the-log handler is changed.--This is not used if structured logging is enabled; see-[Using Structured Logging][using-structured-logging].--}-type LogFunc_WithClosures =-    T.Text-    {- ^ /@logDomain@/: the log domain of the message -}-    -> [GLib.Flags.LogLevelFlags]-    {- ^ /@logLevel@/: the log level of the message (including the-    fatal and recursion flags) -}-    -> T.Text-    {- ^ /@message@/: the message to process -}-    -> Ptr ()-    {- ^ /@userData@/: user data, set in @/g_log_set_handler()/@ -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `LogFunc_WithClosures`@.-noLogFunc_WithClosures :: Maybe LogFunc_WithClosures-noLogFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_LogFunc :: LogFunc -> LogFunc_WithClosures-drop_closures_LogFunc _f logDomain logLevel message _ = _f logDomain logLevel message---- | Wrap the callback into a `GClosure`.-genClosure_LogFunc :: MonadIO m => LogFunc -> m (GClosure C_LogFunc)-genClosure_LogFunc cb = liftIO $ do-    let cb' = drop_closures_LogFunc cb-    let cb'' = wrap_LogFunc Nothing cb'-    mk_LogFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `LogFunc` into a `C_LogFunc`.-wrap_LogFunc ::-    Maybe (Ptr (FunPtr C_LogFunc)) ->-    LogFunc_WithClosures ->-    C_LogFunc-wrap_LogFunc funptrptr _cb logDomain logLevel message userData = do-    logDomain' <- cstringToText logDomain-    let logLevel' = wordToGFlags logLevel-    message' <- cstringToText message-    _cb  logDomain' logLevel' message' userData-    maybeReleaseFunPtr funptrptr----- callback IOFuncsIoWriteFieldCallback---          -> Callable {returnType = Just (TInterface (Name {namespace = "GLib", name = "IOStatus"})), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buf", 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 = "count", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bytes_written", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = True, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_IOFuncsIoWriteFieldCallback =-    Ptr GLib.IOChannel.IOChannel ->-    CString ->-    Word64 ->-    Word64 ->-    Ptr (Ptr GError) ->-    IO CUInt---- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buf", 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 = "count", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bytes_written", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOStatus"}))--- throws : True--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_IOFuncsIoWriteFieldCallback :: FunPtr C_IOFuncsIoWriteFieldCallback -> C_IOFuncsIoWriteFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_IOFuncsIoWriteFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_IOFuncsIoWriteFieldCallback-    -> GLib.IOChannel.IOChannel-    -> T.Text-    -> Word64-    -> Word64-    -> m GLib.Enums.IOStatus-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-dynamic_IOFuncsIoWriteFieldCallback __funPtr channel buf count bytesWritten = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    buf' <- textToCString buf-    onException (do-        result <- propagateGError $ (__dynamic_C_IOFuncsIoWriteFieldCallback __funPtr) channel' buf' count bytesWritten-        let result' = (toEnum . fromIntegral) result-        touchManagedPtr channel-        freeMem buf'-        return result'-     ) (do-        freeMem buf'-     )---- | Generate a function pointer callable from C code, from a `C_IOFuncsIoWriteFieldCallback`.-foreign import ccall "wrapper"-    mk_IOFuncsIoWriteFieldCallback :: C_IOFuncsIoWriteFieldCallback -> IO (FunPtr C_IOFuncsIoWriteFieldCallback)--{- |-/No description available in the introspection data./--}-type IOFuncsIoWriteFieldCallback =-    GLib.IOChannel.IOChannel-    -> T.Text-    -> Word64-    -> Word64-    -> IO GLib.Enums.IOStatus-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}---- | A convenience synonym for @`Nothing` :: `Maybe` `IOFuncsIoWriteFieldCallback`@.-noIOFuncsIoWriteFieldCallback :: Maybe IOFuncsIoWriteFieldCallback-noIOFuncsIoWriteFieldCallback = Nothing---- No Haskell->C wrapper generated since the function throws.---- callback IOFuncsIoSetFlagsFieldCallback---          -> Callable {returnType = Just (TInterface (Name {namespace = "GLib", name = "IOStatus"})), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GLib", name = "IOFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = True, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_IOFuncsIoSetFlagsFieldCallback =-    Ptr GLib.IOChannel.IOChannel ->-    CUInt ->-    Ptr (Ptr GError) ->-    IO CUInt---- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GLib", name = "IOFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOStatus"}))--- throws : True--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_IOFuncsIoSetFlagsFieldCallback :: FunPtr C_IOFuncsIoSetFlagsFieldCallback -> C_IOFuncsIoSetFlagsFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_IOFuncsIoSetFlagsFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_IOFuncsIoSetFlagsFieldCallback-    -> GLib.IOChannel.IOChannel-    -> [GLib.Flags.IOFlags]-    -> m GLib.Enums.IOStatus-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-dynamic_IOFuncsIoSetFlagsFieldCallback __funPtr channel flags = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    let flags' = gflagsToWord flags-    onException (do-        result <- propagateGError $ (__dynamic_C_IOFuncsIoSetFlagsFieldCallback __funPtr) channel' flags'-        let result' = (toEnum . fromIntegral) result-        touchManagedPtr channel-        return result'-     ) (do-        return ()-     )---- | Generate a function pointer callable from C code, from a `C_IOFuncsIoSetFlagsFieldCallback`.-foreign import ccall "wrapper"-    mk_IOFuncsIoSetFlagsFieldCallback :: C_IOFuncsIoSetFlagsFieldCallback -> IO (FunPtr C_IOFuncsIoSetFlagsFieldCallback)--{- |-/No description available in the introspection data./--}-type IOFuncsIoSetFlagsFieldCallback =-    GLib.IOChannel.IOChannel-    -> [GLib.Flags.IOFlags]-    -> IO GLib.Enums.IOStatus-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}---- | A convenience synonym for @`Nothing` :: `Maybe` `IOFuncsIoSetFlagsFieldCallback`@.-noIOFuncsIoSetFlagsFieldCallback :: Maybe IOFuncsIoSetFlagsFieldCallback-noIOFuncsIoSetFlagsFieldCallback = Nothing---- No Haskell->C wrapper generated since the function throws.---- callback IOFuncsIoSeekFieldCallback---          -> Callable {returnType = Just (TInterface (Name {namespace = "GLib", name = "IOStatus"})), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "SeekType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = True, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_IOFuncsIoSeekFieldCallback =-    Ptr GLib.IOChannel.IOChannel ->-    Int64 ->-    CUInt ->-    Ptr (Ptr GError) ->-    IO CUInt---- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "SeekType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOStatus"}))--- throws : True--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_IOFuncsIoSeekFieldCallback :: FunPtr C_IOFuncsIoSeekFieldCallback -> C_IOFuncsIoSeekFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_IOFuncsIoSeekFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_IOFuncsIoSeekFieldCallback-    -> GLib.IOChannel.IOChannel-    -> Int64-    -> GLib.Enums.SeekType-    -> m GLib.Enums.IOStatus-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-dynamic_IOFuncsIoSeekFieldCallback __funPtr channel offset type_ = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    let type_' = (fromIntegral . fromEnum) type_-    onException (do-        result <- propagateGError $ (__dynamic_C_IOFuncsIoSeekFieldCallback __funPtr) channel' offset type_'-        let result' = (toEnum . fromIntegral) result-        touchManagedPtr channel-        return result'-     ) (do-        return ()-     )---- | Generate a function pointer callable from C code, from a `C_IOFuncsIoSeekFieldCallback`.-foreign import ccall "wrapper"-    mk_IOFuncsIoSeekFieldCallback :: C_IOFuncsIoSeekFieldCallback -> IO (FunPtr C_IOFuncsIoSeekFieldCallback)--{- |-/No description available in the introspection data./--}-type IOFuncsIoSeekFieldCallback =-    GLib.IOChannel.IOChannel-    -> Int64-    -> GLib.Enums.SeekType-    -> IO GLib.Enums.IOStatus-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}---- | A convenience synonym for @`Nothing` :: `Maybe` `IOFuncsIoSeekFieldCallback`@.-noIOFuncsIoSeekFieldCallback :: Maybe IOFuncsIoSeekFieldCallback-noIOFuncsIoSeekFieldCallback = Nothing---- No Haskell->C wrapper generated since the function throws.---- callback IOFuncsIoReadFieldCallback---          -> Callable {returnType = Just (TInterface (Name {namespace = "GLib", name = "IOStatus"})), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buf", 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 = "count", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bytes_read", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = True, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_IOFuncsIoReadFieldCallback =-    Ptr GLib.IOChannel.IOChannel ->-    CString ->-    Word64 ->-    Word64 ->-    Ptr (Ptr GError) ->-    IO CUInt---- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buf", 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 = "count", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bytes_read", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOStatus"}))--- throws : True--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_IOFuncsIoReadFieldCallback :: FunPtr C_IOFuncsIoReadFieldCallback -> C_IOFuncsIoReadFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_IOFuncsIoReadFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_IOFuncsIoReadFieldCallback-    -> GLib.IOChannel.IOChannel-    -> T.Text-    -> Word64-    -> Word64-    -> m GLib.Enums.IOStatus-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-dynamic_IOFuncsIoReadFieldCallback __funPtr channel buf count bytesRead = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    buf' <- textToCString buf-    onException (do-        result <- propagateGError $ (__dynamic_C_IOFuncsIoReadFieldCallback __funPtr) channel' buf' count bytesRead-        let result' = (toEnum . fromIntegral) result-        touchManagedPtr channel-        freeMem buf'-        return result'-     ) (do-        freeMem buf'-     )---- | Generate a function pointer callable from C code, from a `C_IOFuncsIoReadFieldCallback`.-foreign import ccall "wrapper"-    mk_IOFuncsIoReadFieldCallback :: C_IOFuncsIoReadFieldCallback -> IO (FunPtr C_IOFuncsIoReadFieldCallback)--{- |-/No description available in the introspection data./--}-type IOFuncsIoReadFieldCallback =-    GLib.IOChannel.IOChannel-    -> T.Text-    -> Word64-    -> Word64-    -> IO GLib.Enums.IOStatus-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}---- | A convenience synonym for @`Nothing` :: `Maybe` `IOFuncsIoReadFieldCallback`@.-noIOFuncsIoReadFieldCallback :: Maybe IOFuncsIoReadFieldCallback-noIOFuncsIoReadFieldCallback = Nothing---- No Haskell->C wrapper generated since the function throws.---- callback IOFuncsIoGetFlagsFieldCallback---          -> Callable {returnType = Just (TInterface (Name {namespace = "GLib", name = "IOFlags"})), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_IOFuncsIoGetFlagsFieldCallback =-    Ptr GLib.IOChannel.IOChannel ->-    IO CUInt---- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOFlags"}))--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_IOFuncsIoGetFlagsFieldCallback :: FunPtr C_IOFuncsIoGetFlagsFieldCallback -> C_IOFuncsIoGetFlagsFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_IOFuncsIoGetFlagsFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_IOFuncsIoGetFlagsFieldCallback-    -> GLib.IOChannel.IOChannel-    -> m [GLib.Flags.IOFlags]-dynamic_IOFuncsIoGetFlagsFieldCallback __funPtr channel = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    result <- (__dynamic_C_IOFuncsIoGetFlagsFieldCallback __funPtr) channel'-    let result' = wordToGFlags result-    touchManagedPtr channel-    return result'---- | Generate a function pointer callable from C code, from a `C_IOFuncsIoGetFlagsFieldCallback`.-foreign import ccall "wrapper"-    mk_IOFuncsIoGetFlagsFieldCallback :: C_IOFuncsIoGetFlagsFieldCallback -> IO (FunPtr C_IOFuncsIoGetFlagsFieldCallback)--{- |-/No description available in the introspection data./--}-type IOFuncsIoGetFlagsFieldCallback =-    GLib.IOChannel.IOChannel-    -> IO [GLib.Flags.IOFlags]---- | A convenience synonym for @`Nothing` :: `Maybe` `IOFuncsIoGetFlagsFieldCallback`@.-noIOFuncsIoGetFlagsFieldCallback :: Maybe IOFuncsIoGetFlagsFieldCallback-noIOFuncsIoGetFlagsFieldCallback = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_IOFuncsIoGetFlagsFieldCallback :: MonadIO m => IOFuncsIoGetFlagsFieldCallback -> m (GClosure C_IOFuncsIoGetFlagsFieldCallback)-genClosure_IOFuncsIoGetFlagsFieldCallback cb = liftIO $ do-    let cb' = wrap_IOFuncsIoGetFlagsFieldCallback Nothing cb-    mk_IOFuncsIoGetFlagsFieldCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `IOFuncsIoGetFlagsFieldCallback` into a `C_IOFuncsIoGetFlagsFieldCallback`.-wrap_IOFuncsIoGetFlagsFieldCallback ::-    Maybe (Ptr (FunPtr C_IOFuncsIoGetFlagsFieldCallback)) ->-    IOFuncsIoGetFlagsFieldCallback ->-    C_IOFuncsIoGetFlagsFieldCallback-wrap_IOFuncsIoGetFlagsFieldCallback funptrptr _cb channel = do-    B.ManagedPtr.withTransient GLib.IOChannel.IOChannel channel $ \channel' -> do-        result <- _cb  channel'-        maybeReleaseFunPtr funptrptr-        let result' = gflagsToWord result-        return result'----- callback IOFuncsIoFreeFieldCallback---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_IOFuncsIoFreeFieldCallback =-    Ptr GLib.IOChannel.IOChannel ->-    IO ()---- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), 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 "dynamic" __dynamic_C_IOFuncsIoFreeFieldCallback :: FunPtr C_IOFuncsIoFreeFieldCallback -> C_IOFuncsIoFreeFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_IOFuncsIoFreeFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_IOFuncsIoFreeFieldCallback-    -> GLib.IOChannel.IOChannel-    -> m ()-dynamic_IOFuncsIoFreeFieldCallback __funPtr channel = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    (__dynamic_C_IOFuncsIoFreeFieldCallback __funPtr) channel'-    touchManagedPtr channel-    return ()---- | Generate a function pointer callable from C code, from a `C_IOFuncsIoFreeFieldCallback`.-foreign import ccall "wrapper"-    mk_IOFuncsIoFreeFieldCallback :: C_IOFuncsIoFreeFieldCallback -> IO (FunPtr C_IOFuncsIoFreeFieldCallback)--{- |-/No description available in the introspection data./--}-type IOFuncsIoFreeFieldCallback =-    GLib.IOChannel.IOChannel-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `IOFuncsIoFreeFieldCallback`@.-noIOFuncsIoFreeFieldCallback :: Maybe IOFuncsIoFreeFieldCallback-noIOFuncsIoFreeFieldCallback = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_IOFuncsIoFreeFieldCallback :: MonadIO m => IOFuncsIoFreeFieldCallback -> m (GClosure C_IOFuncsIoFreeFieldCallback)-genClosure_IOFuncsIoFreeFieldCallback cb = liftIO $ do-    let cb' = wrap_IOFuncsIoFreeFieldCallback Nothing cb-    mk_IOFuncsIoFreeFieldCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `IOFuncsIoFreeFieldCallback` into a `C_IOFuncsIoFreeFieldCallback`.-wrap_IOFuncsIoFreeFieldCallback ::-    Maybe (Ptr (FunPtr C_IOFuncsIoFreeFieldCallback)) ->-    IOFuncsIoFreeFieldCallback ->-    C_IOFuncsIoFreeFieldCallback-wrap_IOFuncsIoFreeFieldCallback funptrptr _cb channel = do-    B.ManagedPtr.withTransient GLib.IOChannel.IOChannel channel $ \channel' -> do-        _cb  channel'-        maybeReleaseFunPtr funptrptr----- callback IOFuncsIoCreateWatchFieldCallback---          -> Callable {returnType = Just (TInterface (Name {namespace = "GLib", name = "Source"})), returnMayBeNull = False, returnTransfer = TransferEverything, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "condition", argType = TInterface (Name {namespace = "GLib", name = "IOCondition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_IOFuncsIoCreateWatchFieldCallback =-    Ptr GLib.IOChannel.IOChannel ->-    CUInt ->-    IO (Ptr GLib.Source.Source)---- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "condition", argType = TInterface (Name {namespace = "GLib", name = "IOCondition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Source"}))--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_IOFuncsIoCreateWatchFieldCallback :: FunPtr C_IOFuncsIoCreateWatchFieldCallback -> C_IOFuncsIoCreateWatchFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_IOFuncsIoCreateWatchFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_IOFuncsIoCreateWatchFieldCallback-    -> GLib.IOChannel.IOChannel-    -> [GLib.Flags.IOCondition]-    -> m GLib.Source.Source-dynamic_IOFuncsIoCreateWatchFieldCallback __funPtr channel condition = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    let condition' = gflagsToWord condition-    result <- (__dynamic_C_IOFuncsIoCreateWatchFieldCallback __funPtr) channel' condition'-    checkUnexpectedReturnNULL "iOFuncsIoCreateWatchFieldCallback" result-    result' <- (wrapBoxed GLib.Source.Source) result-    touchManagedPtr channel-    return result'---- | Generate a function pointer callable from C code, from a `C_IOFuncsIoCreateWatchFieldCallback`.-foreign import ccall "wrapper"-    mk_IOFuncsIoCreateWatchFieldCallback :: C_IOFuncsIoCreateWatchFieldCallback -> IO (FunPtr C_IOFuncsIoCreateWatchFieldCallback)--{- |-/No description available in the introspection data./--}-type IOFuncsIoCreateWatchFieldCallback =-    GLib.IOChannel.IOChannel-    -> [GLib.Flags.IOCondition]-    -> IO GLib.Source.Source---- | A convenience synonym for @`Nothing` :: `Maybe` `IOFuncsIoCreateWatchFieldCallback`@.-noIOFuncsIoCreateWatchFieldCallback :: Maybe IOFuncsIoCreateWatchFieldCallback-noIOFuncsIoCreateWatchFieldCallback = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_IOFuncsIoCreateWatchFieldCallback :: MonadIO m => IOFuncsIoCreateWatchFieldCallback -> m (GClosure C_IOFuncsIoCreateWatchFieldCallback)-genClosure_IOFuncsIoCreateWatchFieldCallback cb = liftIO $ do-    let cb' = wrap_IOFuncsIoCreateWatchFieldCallback Nothing cb-    mk_IOFuncsIoCreateWatchFieldCallback cb' >>= B.GClosure.newGClosure----- | Wrap a `IOFuncsIoCreateWatchFieldCallback` into a `C_IOFuncsIoCreateWatchFieldCallback`.-wrap_IOFuncsIoCreateWatchFieldCallback ::-    Maybe (Ptr (FunPtr C_IOFuncsIoCreateWatchFieldCallback)) ->-    IOFuncsIoCreateWatchFieldCallback ->-    C_IOFuncsIoCreateWatchFieldCallback-wrap_IOFuncsIoCreateWatchFieldCallback funptrptr _cb channel condition = do-    B.ManagedPtr.withTransient GLib.IOChannel.IOChannel channel $ \channel' -> do-        let condition' = wordToGFlags condition-        result <- _cb  channel' condition'-        maybeReleaseFunPtr funptrptr-        result' <- B.ManagedPtr.disownBoxed result-        return result'----- callback IOFuncsIoCloseFieldCallback---          -> Callable {returnType = Just (TInterface (Name {namespace = "GLib", name = "IOStatus"})), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = True, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_IOFuncsIoCloseFieldCallback =-    Ptr GLib.IOChannel.IOChannel ->-    Ptr (Ptr GError) ->-    IO CUInt---- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOStatus"}))--- throws : True--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_IOFuncsIoCloseFieldCallback :: FunPtr C_IOFuncsIoCloseFieldCallback -> C_IOFuncsIoCloseFieldCallback---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_IOFuncsIoCloseFieldCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_IOFuncsIoCloseFieldCallback-    -> GLib.IOChannel.IOChannel-    -> m GLib.Enums.IOStatus-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-dynamic_IOFuncsIoCloseFieldCallback __funPtr channel = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    onException (do-        result <- propagateGError $ (__dynamic_C_IOFuncsIoCloseFieldCallback __funPtr) channel'-        let result' = (toEnum . fromIntegral) result-        touchManagedPtr channel-        return result'-     ) (do-        return ()-     )---- | Generate a function pointer callable from C code, from a `C_IOFuncsIoCloseFieldCallback`.-foreign import ccall "wrapper"-    mk_IOFuncsIoCloseFieldCallback :: C_IOFuncsIoCloseFieldCallback -> IO (FunPtr C_IOFuncsIoCloseFieldCallback)--{- |-/No description available in the introspection data./--}-type IOFuncsIoCloseFieldCallback =-    GLib.IOChannel.IOChannel-    -> IO GLib.Enums.IOStatus-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}---- | A convenience synonym for @`Nothing` :: `Maybe` `IOFuncsIoCloseFieldCallback`@.-noIOFuncsIoCloseFieldCallback :: Maybe IOFuncsIoCloseFieldCallback-noIOFuncsIoCloseFieldCallback = Nothing---- No Haskell->C wrapper generated since the function throws.---- callback IOFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "the function should return %FALSE if the event source\n         should be removed", sinceVersion = Nothing}, args = [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GIOChannel event source", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "condition", argType = TInterface (Name {namespace = "GLib", name = "IOCondition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the condition which has been satisfied", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data set in g_io_add_watch() or g_io_add_watch_full()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of function passed to g_io_add_watch() or\ng_io_add_watch_full(), which is called when the requested condition\non a #GIOChannel is satisfied.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_IOFunc =-    Ptr GLib.IOChannel.IOChannel ->-    CUInt ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GIOChannel event source", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "condition", argType = TInterface (Name {namespace = "GLib", name = "IOCondition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the condition which has been satisfied", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data set in g_io_add_watch() or g_io_add_watch_full()", 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 "dynamic" __dynamic_C_IOFunc :: FunPtr C_IOFunc -> C_IOFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_IOFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_IOFunc-    -> GLib.IOChannel.IOChannel-    {- ^ /@source@/: the 'GI.GLib.Structs.IOChannel.IOChannel' event source -}-    -> [GLib.Flags.IOCondition]-    {- ^ /@condition@/: the condition which has been satisfied -}-    -> Ptr ()-    {- ^ /@data@/: user data set in @/g_io_add_watch()/@ or 'GI.GLib.Functions.ioAddWatch' -}-    -> m Bool-    {- ^ __Returns:__ the function should return 'False' if the event source-         should be removed -}-dynamic_IOFunc __funPtr source condition data_ = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    let condition' = gflagsToWord condition-    result <- (__dynamic_C_IOFunc __funPtr) source' condition' data_-    let result' = (/= 0) result-    touchManagedPtr source-    return result'---- | Generate a function pointer callable from C code, from a `C_IOFunc`.-foreign import ccall "wrapper"-    mk_IOFunc :: C_IOFunc -> IO (FunPtr C_IOFunc)--{- |-Specifies the type of function passed to @/g_io_add_watch()/@ or-'GI.GLib.Functions.ioAddWatch', which is called when the requested condition-on a 'GI.GLib.Structs.IOChannel.IOChannel' is satisfied.--}-type IOFunc =-    GLib.IOChannel.IOChannel-    {- ^ /@source@/: the 'GI.GLib.Structs.IOChannel.IOChannel' event source -}-    -> [GLib.Flags.IOCondition]-    {- ^ /@condition@/: the condition which has been satisfied -}-    -> Ptr ()-    {- ^ /@data@/: user data set in @/g_io_add_watch()/@ or 'GI.GLib.Functions.ioAddWatch' -}-    -> IO Bool-    {- ^ __Returns:__ the function should return 'False' if the event source-         should be removed -}---- | A convenience synonym for @`Nothing` :: `Maybe` `IOFunc`@.-noIOFunc :: Maybe IOFunc-noIOFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_IOFunc :: MonadIO m => IOFunc -> m (GClosure C_IOFunc)-genClosure_IOFunc cb = liftIO $ do-    let cb' = wrap_IOFunc Nothing cb-    mk_IOFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `IOFunc` into a `C_IOFunc`.-wrap_IOFunc ::-    Maybe (Ptr (FunPtr C_IOFunc)) ->-    IOFunc ->-    C_IOFunc-wrap_IOFunc funptrptr _cb source condition data_ = do-    B.ManagedPtr.withTransient GLib.IOChannel.IOChannel source $ \source' -> do-        let condition' = wordToGFlags condition-        result <- _cb  source' condition' data_-        maybeReleaseFunPtr funptrptr-        let result' = (fromIntegral . fromEnum) result-        return result'----- callback HookMarshaller---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "hook", argType = TInterface (Name {namespace = "GLib", name = "Hook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHook", 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 = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Defines the type of function used by g_hook_list_marshal().", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_HookMarshaller =-    Ptr GLib.Hook.Hook ->-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "hook", argType = TInterface (Name {namespace = "GLib", name = "Hook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHook", 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 = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_HookMarshaller :: FunPtr C_HookMarshaller -> C_HookMarshaller---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_HookMarshaller ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_HookMarshaller-    -> GLib.Hook.Hook-    {- ^ /@hook@/: a 'GI.GLib.Structs.Hook.Hook' -}-    -> Ptr ()-    {- ^ /@marshalData@/: user data -}-    -> m ()-dynamic_HookMarshaller __funPtr hook marshalData = liftIO $ do-    hook' <- unsafeManagedPtrGetPtr hook-    (__dynamic_C_HookMarshaller __funPtr) hook' marshalData-    touchManagedPtr hook-    return ()---- | Generate a function pointer callable from C code, from a `C_HookMarshaller`.-foreign import ccall "wrapper"-    mk_HookMarshaller :: C_HookMarshaller -> IO (FunPtr C_HookMarshaller)--{- |-Defines the type of function used by @/g_hook_list_marshal()/@.--}-type HookMarshaller =-    GLib.Hook.Hook-    {- ^ /@hook@/: a 'GI.GLib.Structs.Hook.Hook' -}-    -> Ptr ()-    {- ^ /@marshalData@/: user data -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `HookMarshaller`@.-noHookMarshaller :: Maybe HookMarshaller-noHookMarshaller = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_HookMarshaller :: MonadIO m => HookMarshaller -> m (GClosure C_HookMarshaller)-genClosure_HookMarshaller cb = liftIO $ do-    let cb' = wrap_HookMarshaller Nothing cb-    mk_HookMarshaller cb' >>= B.GClosure.newGClosure----- | Wrap a `HookMarshaller` into a `C_HookMarshaller`.-wrap_HookMarshaller ::-    Maybe (Ptr (FunPtr C_HookMarshaller)) ->-    HookMarshaller ->-    C_HookMarshaller-wrap_HookMarshaller funptrptr _cb hook marshalData = do-    hook' <- (newPtr GLib.Hook.Hook) hook-    _cb  hook' marshalData-    maybeReleaseFunPtr funptrptr----- callback HookFunc---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data field of the #GHook is passed to the hook function here", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Defines the type of a hook function that can be invoked\nby g_hook_list_invoke().", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_HookFunc =-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data field of the #GHook is passed to the hook function here", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_HookFunc :: FunPtr C_HookFunc -> C_HookFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_HookFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_HookFunc-    -> Ptr ()-    {- ^ /@data@/: the data field of the 'GI.GLib.Structs.Hook.Hook' is passed to the hook function here -}-    -> m ()-dynamic_HookFunc __funPtr data_ = liftIO $ do-    (__dynamic_C_HookFunc __funPtr) data_-    return ()---- | Generate a function pointer callable from C code, from a `C_HookFunc`.-foreign import ccall "wrapper"-    mk_HookFunc :: C_HookFunc -> IO (FunPtr C_HookFunc)--{- |-Defines the type of a hook function that can be invoked-by 'GI.GLib.Structs.HookList.hookListInvoke'.--}-type HookFunc =-    Ptr ()-    {- ^ /@data@/: the data field of the 'GI.GLib.Structs.Hook.Hook' is passed to the hook function here -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `HookFunc`@.-noHookFunc :: Maybe HookFunc-noHookFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_HookFunc :: MonadIO m => HookFunc -> m (GClosure C_HookFunc)-genClosure_HookFunc cb = liftIO $ do-    let cb' = wrap_HookFunc Nothing cb-    mk_HookFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `HookFunc` into a `C_HookFunc`.-wrap_HookFunc ::-    Maybe (Ptr (FunPtr C_HookFunc)) ->-    HookFunc ->-    C_HookFunc-wrap_HookFunc funptrptr _cb data_ = do-    _cb  data_-    maybeReleaseFunPtr funptrptr----- callback HookFindFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the required #GHook has been found", sinceVersion = Nothing}, args = [Arg {argCName = "hook", argType = TInterface (Name {namespace = "GLib", name = "Hook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_hook_find_func()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Defines the type of the function passed to g_hook_find().", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_HookFindFunc =-    Ptr GLib.Hook.Hook ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "hook", argType = TInterface (Name {namespace = "GLib", name = "Hook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_hook_find_func()", 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 "dynamic" __dynamic_C_HookFindFunc :: FunPtr C_HookFindFunc -> C_HookFindFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_HookFindFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_HookFindFunc-    -> GLib.Hook.Hook-    {- ^ /@hook@/: a 'GI.GLib.Structs.Hook.Hook' -}-    -> Ptr ()-    {- ^ /@data@/: user data passed to @/g_hook_find_func()/@ -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the required 'GI.GLib.Structs.Hook.Hook' has been found -}-dynamic_HookFindFunc __funPtr hook data_ = liftIO $ do-    hook' <- unsafeManagedPtrGetPtr hook-    result <- (__dynamic_C_HookFindFunc __funPtr) hook' data_-    let result' = (/= 0) result-    touchManagedPtr hook-    return result'---- | Generate a function pointer callable from C code, from a `C_HookFindFunc`.-foreign import ccall "wrapper"-    mk_HookFindFunc :: C_HookFindFunc -> IO (FunPtr C_HookFindFunc)--{- |-Defines the type of the function passed to @/g_hook_find()/@.--}-type HookFindFunc =-    GLib.Hook.Hook-    {- ^ /@hook@/: a 'GI.GLib.Structs.Hook.Hook' -}-    -> Ptr ()-    {- ^ /@data@/: user data passed to @/g_hook_find_func()/@ -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the required 'GI.GLib.Structs.Hook.Hook' has been found -}---- | A convenience synonym for @`Nothing` :: `Maybe` `HookFindFunc`@.-noHookFindFunc :: Maybe HookFindFunc-noHookFindFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_HookFindFunc :: MonadIO m => HookFindFunc -> m (GClosure C_HookFindFunc)-genClosure_HookFindFunc cb = liftIO $ do-    let cb' = wrap_HookFindFunc Nothing cb-    mk_HookFindFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `HookFindFunc` into a `C_HookFindFunc`.-wrap_HookFindFunc ::-    Maybe (Ptr (FunPtr C_HookFindFunc)) ->-    HookFindFunc ->-    C_HookFindFunc-wrap_HookFindFunc funptrptr _cb hook data_ = do-    hook' <- (newPtr GLib.Hook.Hook) hook-    result <- _cb  hook' data_-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback HookFinalizeFunc---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "hook_list", argType = TInterface (Name {namespace = "GLib", name = "HookList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHookList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hook", argType = TInterface (Name {namespace = "GLib", name = "Hook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the hook in @hook_list that gets finalized", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Defines the type of function to be called when a hook in a\nlist of hooks gets finalized.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_HookFinalizeFunc =-    Ptr GLib.HookList.HookList ->-    Ptr GLib.Hook.Hook ->-    IO ()---- Args : [Arg {argCName = "hook_list", argType = TInterface (Name {namespace = "GLib", name = "HookList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHookList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hook", argType = TInterface (Name {namespace = "GLib", name = "Hook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the hook in @hook_list that gets finalized", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_HookFinalizeFunc :: FunPtr C_HookFinalizeFunc -> C_HookFinalizeFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_HookFinalizeFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_HookFinalizeFunc-    -> GLib.HookList.HookList-    {- ^ /@hookList@/: a 'GI.GLib.Structs.HookList.HookList' -}-    -> GLib.Hook.Hook-    {- ^ /@hook@/: the hook in /@hookList@/ that gets finalized -}-    -> m ()-dynamic_HookFinalizeFunc __funPtr hookList hook = liftIO $ do-    hookList' <- unsafeManagedPtrGetPtr hookList-    hook' <- unsafeManagedPtrGetPtr hook-    (__dynamic_C_HookFinalizeFunc __funPtr) hookList' hook'-    touchManagedPtr hookList-    touchManagedPtr hook-    return ()---- | Generate a function pointer callable from C code, from a `C_HookFinalizeFunc`.-foreign import ccall "wrapper"-    mk_HookFinalizeFunc :: C_HookFinalizeFunc -> IO (FunPtr C_HookFinalizeFunc)--{- |-Defines the type of function to be called when a hook in a-list of hooks gets finalized.--}-type HookFinalizeFunc =-    GLib.HookList.HookList-    {- ^ /@hookList@/: a 'GI.GLib.Structs.HookList.HookList' -}-    -> GLib.Hook.Hook-    {- ^ /@hook@/: the hook in /@hookList@/ that gets finalized -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `HookFinalizeFunc`@.-noHookFinalizeFunc :: Maybe HookFinalizeFunc-noHookFinalizeFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_HookFinalizeFunc :: MonadIO m => HookFinalizeFunc -> m (GClosure C_HookFinalizeFunc)-genClosure_HookFinalizeFunc cb = liftIO $ do-    let cb' = wrap_HookFinalizeFunc Nothing cb-    mk_HookFinalizeFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `HookFinalizeFunc` into a `C_HookFinalizeFunc`.-wrap_HookFinalizeFunc ::-    Maybe (Ptr (FunPtr C_HookFinalizeFunc)) ->-    HookFinalizeFunc ->-    C_HookFinalizeFunc-wrap_HookFinalizeFunc funptrptr _cb hookList hook = do-    hookList' <- (newPtr GLib.HookList.HookList) hookList-    hook' <- (newPtr GLib.Hook.Hook) hook-    _cb  hookList' hook'-    maybeReleaseFunPtr funptrptr----- callback HookCompareFunc---          -> Callable {returnType = Just (TBasicType TInt), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "a value <= 0 if @new_hook should be before @sibling", sinceVersion = Nothing}, args = [Arg {argCName = "new_hook", argType = TInterface (Name {namespace = "GLib", name = "Hook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GHook being inserted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sibling", argType = TInterface (Name {namespace = "GLib", name = "Hook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GHook to compare with @new_hook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Defines the type of function used to compare #GHook elements in\ng_hook_insert_sorted().", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_HookCompareFunc =-    Ptr GLib.Hook.Hook ->-    Ptr GLib.Hook.Hook ->-    IO Int32---- Args : [Arg {argCName = "new_hook", argType = TInterface (Name {namespace = "GLib", name = "Hook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GHook being inserted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sibling", argType = TInterface (Name {namespace = "GLib", name = "Hook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GHook to compare with @new_hook", 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 "dynamic" __dynamic_C_HookCompareFunc :: FunPtr C_HookCompareFunc -> C_HookCompareFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_HookCompareFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_HookCompareFunc-    -> GLib.Hook.Hook-    {- ^ /@newHook@/: the 'GI.GLib.Structs.Hook.Hook' being inserted -}-    -> GLib.Hook.Hook-    {- ^ /@sibling@/: the 'GI.GLib.Structs.Hook.Hook' to compare with /@newHook@/ -}-    -> m Int32-    {- ^ __Returns:__ a value \<= 0 if /@newHook@/ should be before /@sibling@/ -}-dynamic_HookCompareFunc __funPtr newHook sibling = liftIO $ do-    newHook' <- unsafeManagedPtrGetPtr newHook-    sibling' <- unsafeManagedPtrGetPtr sibling-    result <- (__dynamic_C_HookCompareFunc __funPtr) newHook' sibling'-    touchManagedPtr newHook-    touchManagedPtr sibling-    return result---- | Generate a function pointer callable from C code, from a `C_HookCompareFunc`.-foreign import ccall "wrapper"-    mk_HookCompareFunc :: C_HookCompareFunc -> IO (FunPtr C_HookCompareFunc)--{- |-Defines the type of function used to compare 'GI.GLib.Structs.Hook.Hook' elements in-@/g_hook_insert_sorted()/@.--}-type HookCompareFunc =-    GLib.Hook.Hook-    {- ^ /@newHook@/: the 'GI.GLib.Structs.Hook.Hook' being inserted -}-    -> GLib.Hook.Hook-    {- ^ /@sibling@/: the 'GI.GLib.Structs.Hook.Hook' to compare with /@newHook@/ -}-    -> IO Int32-    {- ^ __Returns:__ a value \<= 0 if /@newHook@/ should be before /@sibling@/ -}---- | A convenience synonym for @`Nothing` :: `Maybe` `HookCompareFunc`@.-noHookCompareFunc :: Maybe HookCompareFunc-noHookCompareFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_HookCompareFunc :: MonadIO m => HookCompareFunc -> m (GClosure C_HookCompareFunc)-genClosure_HookCompareFunc cb = liftIO $ do-    let cb' = wrap_HookCompareFunc Nothing cb-    mk_HookCompareFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `HookCompareFunc` into a `C_HookCompareFunc`.-wrap_HookCompareFunc ::-    Maybe (Ptr (FunPtr C_HookCompareFunc)) ->-    HookCompareFunc ->-    C_HookCompareFunc-wrap_HookCompareFunc funptrptr _cb newHook sibling = do-    newHook' <- (newPtr GLib.Hook.Hook) newHook-    sibling' <- (newPtr GLib.Hook.Hook) sibling-    result <- _cb  newHook' sibling'-    maybeReleaseFunPtr funptrptr-    return result----- callback HookCheckMarshaller---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%FALSE if @hook should be destroyed", sinceVersion = Nothing}, args = [Arg {argCName = "hook", argType = TInterface (Name {namespace = "GLib", name = "Hook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHook", 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 = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Defines the type of function used by g_hook_list_marshal_check().", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_HookCheckMarshaller =-    Ptr GLib.Hook.Hook ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "hook", argType = TInterface (Name {namespace = "GLib", name = "Hook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHook", 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 = Just "user data", 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 "dynamic" __dynamic_C_HookCheckMarshaller :: FunPtr C_HookCheckMarshaller -> C_HookCheckMarshaller---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_HookCheckMarshaller ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_HookCheckMarshaller-    -> GLib.Hook.Hook-    {- ^ /@hook@/: a 'GI.GLib.Structs.Hook.Hook' -}-    -> Ptr ()-    {- ^ /@marshalData@/: user data -}-    -> m Bool-    {- ^ __Returns:__ 'False' if /@hook@/ should be destroyed -}-dynamic_HookCheckMarshaller __funPtr hook marshalData = liftIO $ do-    hook' <- unsafeManagedPtrGetPtr hook-    result <- (__dynamic_C_HookCheckMarshaller __funPtr) hook' marshalData-    let result' = (/= 0) result-    touchManagedPtr hook-    return result'---- | Generate a function pointer callable from C code, from a `C_HookCheckMarshaller`.-foreign import ccall "wrapper"-    mk_HookCheckMarshaller :: C_HookCheckMarshaller -> IO (FunPtr C_HookCheckMarshaller)--{- |-Defines the type of function used by @/g_hook_list_marshal_check()/@.--}-type HookCheckMarshaller =-    GLib.Hook.Hook-    {- ^ /@hook@/: a 'GI.GLib.Structs.Hook.Hook' -}-    -> Ptr ()-    {- ^ /@marshalData@/: user data -}-    -> IO Bool-    {- ^ __Returns:__ 'False' if /@hook@/ should be destroyed -}---- | A convenience synonym for @`Nothing` :: `Maybe` `HookCheckMarshaller`@.-noHookCheckMarshaller :: Maybe HookCheckMarshaller-noHookCheckMarshaller = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_HookCheckMarshaller :: MonadIO m => HookCheckMarshaller -> m (GClosure C_HookCheckMarshaller)-genClosure_HookCheckMarshaller cb = liftIO $ do-    let cb' = wrap_HookCheckMarshaller Nothing cb-    mk_HookCheckMarshaller cb' >>= B.GClosure.newGClosure----- | Wrap a `HookCheckMarshaller` into a `C_HookCheckMarshaller`.-wrap_HookCheckMarshaller ::-    Maybe (Ptr (FunPtr C_HookCheckMarshaller)) ->-    HookCheckMarshaller ->-    C_HookCheckMarshaller-wrap_HookCheckMarshaller funptrptr _cb hook marshalData = do-    hook' <- (newPtr GLib.Hook.Hook) hook-    result <- _cb  hook' marshalData-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback HookCheckFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%FALSE if the #GHook should be destroyed", sinceVersion = Nothing}, args = [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data field of the #GHook is passed to the hook function here", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Defines the type of a hook function that can be invoked\nby g_hook_list_invoke_check().", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_HookCheckFunc =-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data field of the #GHook is passed to the hook function here", 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 "dynamic" __dynamic_C_HookCheckFunc :: FunPtr C_HookCheckFunc -> C_HookCheckFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_HookCheckFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_HookCheckFunc-    -> Ptr ()-    {- ^ /@data@/: the data field of the 'GI.GLib.Structs.Hook.Hook' is passed to the hook function here -}-    -> m Bool-    {- ^ __Returns:__ 'False' if the 'GI.GLib.Structs.Hook.Hook' should be destroyed -}-dynamic_HookCheckFunc __funPtr data_ = liftIO $ do-    result <- (__dynamic_C_HookCheckFunc __funPtr) data_-    let result' = (/= 0) result-    return result'---- | Generate a function pointer callable from C code, from a `C_HookCheckFunc`.-foreign import ccall "wrapper"-    mk_HookCheckFunc :: C_HookCheckFunc -> IO (FunPtr C_HookCheckFunc)--{- |-Defines the type of a hook function that can be invoked-by 'GI.GLib.Structs.HookList.hookListInvokeCheck'.--}-type HookCheckFunc =-    Ptr ()-    {- ^ /@data@/: the data field of the 'GI.GLib.Structs.Hook.Hook' is passed to the hook function here -}-    -> IO Bool-    {- ^ __Returns:__ 'False' if the 'GI.GLib.Structs.Hook.Hook' should be destroyed -}---- | A convenience synonym for @`Nothing` :: `Maybe` `HookCheckFunc`@.-noHookCheckFunc :: Maybe HookCheckFunc-noHookCheckFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_HookCheckFunc :: MonadIO m => HookCheckFunc -> m (GClosure C_HookCheckFunc)-genClosure_HookCheckFunc cb = liftIO $ do-    let cb' = wrap_HookCheckFunc Nothing cb-    mk_HookCheckFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `HookCheckFunc` into a `C_HookCheckFunc`.-wrap_HookCheckFunc ::-    Maybe (Ptr (FunPtr C_HookCheckFunc)) ->-    HookCheckFunc ->-    C_HookCheckFunc-wrap_HookCheckFunc funptrptr _cb data_ = do-    result <- _cb  data_-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback HashFunc---          -> Callable {returnType = Just (TBasicType TUInt), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "the hash value corresponding to the key", sinceVersion = Nothing}, args = [Arg {argCName = "key", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of the hash function which is passed to\ng_hash_table_new() when a #GHashTable is created.\n\nThe function is passed a key and should return a #guint hash value.\nThe functions g_direct_hash(), g_int_hash() and g_str_hash() provide\nhash functions which can be used when the key is a #gpointer, #gint*,\nand #gchar* respectively.\n\ng_direct_hash() is also the appropriate hash function for keys\nof the form `GINT_TO_POINTER (n)` (or similar macros).\n\nA good hash functions should produce\nhash values that are evenly distributed over a fairly large range.\nThe modulus is taken with the hash table size (a prime number) to\nfind the 'bucket' to place each key into. The function should also\nbe very fast, since it is called for each key lookup.\n\nNote that the hash functions provided by GLib have these qualities,\nbut are not particularly robust against manufactured keys that\ncause hash collisions. Therefore, you should consider choosing\na more secure hash function when using a GHashTable with keys\nthat originate in untrusted data (such as HTTP requests).\nUsing g_str_hash() in that situation might make your application\nvulerable to\n[Algorithmic Complexity Attacks](https://lwn.net/Articles/474912/).\n\nThe key to choosing a good hash is unpredictability.  Even\ncryptographic hashes are very easy to find collisions for when the\nremainder is taken modulo a somewhat predictable prime number.  There\nmust be an element of randomness that an attacker is unable to guess.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_HashFunc =-    Ptr () ->-    IO Word32---- Args : [Arg {argCName = "key", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_HashFunc :: FunPtr C_HashFunc -> C_HashFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_HashFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_HashFunc-    -> Ptr ()-    {- ^ /@key@/: a key -}-    -> m Word32-    {- ^ __Returns:__ the hash value corresponding to the key -}-dynamic_HashFunc __funPtr key = liftIO $ do-    result <- (__dynamic_C_HashFunc __funPtr) key-    return result---- | Generate a function pointer callable from C code, from a `C_HashFunc`.-foreign import ccall "wrapper"-    mk_HashFunc :: C_HashFunc -> IO (FunPtr C_HashFunc)--{- |-Specifies the type of the hash function which is passed to-@/g_hash_table_new()/@ when a 'GI.GLib.Structs.HashTable.HashTable' is created.--The function is passed a key and should return a @/guint/@ hash value.-The functions 'GI.GLib.Functions.directHash', 'GI.GLib.Functions.intHash' and 'GI.GLib.Functions.strHash' provide-hash functions which can be used when the key is a @/gpointer/@, @/gint/@*,-and @/gchar/@* respectively.--'GI.GLib.Functions.directHash' is also the appropriate hash function for keys-of the form @GINT_TO_POINTER (n)@ (or similar macros).--A good hash functions should produce-hash values that are evenly distributed over a fairly large range.-The modulus is taken with the hash table size (a prime number) to-find the \'bucket\' to place each key into. The function should also-be very fast, since it is called for each key lookup.--Note that the hash functions provided by GLib have these qualities,-but are not particularly robust against manufactured keys that-cause hash collisions. Therefore, you should consider choosing-a more secure hash function when using a GHashTable with keys-that originate in untrusted data (such as HTTP requests).-Using 'GI.GLib.Functions.strHash' in that situation might make your application-vulerable to-<https://lwn.net/Articles/474912/ Algorithmic Complexity Attacks>.--The key to choosing a good hash is unpredictability.  Even-cryptographic hashes are very easy to find collisions for when the-remainder is taken modulo a somewhat predictable prime number.  There-must be an element of randomness that an attacker is unable to guess.--}-type HashFunc =-    Ptr ()-    {- ^ /@key@/: a key -}-    -> IO Word32-    {- ^ __Returns:__ the hash value corresponding to the key -}---- | A convenience synonym for @`Nothing` :: `Maybe` `HashFunc`@.-noHashFunc :: Maybe HashFunc-noHashFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_HashFunc :: MonadIO m => HashFunc -> m (GClosure C_HashFunc)-genClosure_HashFunc cb = liftIO $ do-    let cb' = wrap_HashFunc Nothing cb-    mk_HashFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `HashFunc` into a `C_HashFunc`.-wrap_HashFunc ::-    Maybe (Ptr (FunPtr C_HashFunc)) ->-    HashFunc ->-    C_HashFunc-wrap_HashFunc funptrptr _cb key = do-    result <- _cb  key-    maybeReleaseFunPtr funptrptr-    return result----- callback HRFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if the key/value pair should be removed from the\n    #GHashTable", sinceVersion = Nothing}, args = [Arg {argCName = "key", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the value associated with the key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_hash_table_remove()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of the function passed to\ng_hash_table_foreach_remove(). It is called with each key/value\npair, together with the @user_data parameter passed to\ng_hash_table_foreach_remove(). It should return %TRUE if the\nkey/value pair should be removed from the #GHashTable.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_HRFunc =-    Ptr () ->-    Ptr () ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "key", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the value associated with the key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_hash_table_remove()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_HRFunc :: FunPtr C_HRFunc -> C_HRFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_HRFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_HRFunc-    -> Ptr ()-    {- ^ /@key@/: a key -}-    -> Ptr ()-    {- ^ /@value@/: the value associated with the key -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to 'GI.GLib.Functions.hashTableRemove' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the key\/value pair should be removed from the-    'GI.GLib.Structs.HashTable.HashTable' -}-dynamic_HRFunc __funPtr key value userData = liftIO $ do-    result <- (__dynamic_C_HRFunc __funPtr) key value userData-    let result' = (/= 0) result-    return result'---- | Generate a function pointer callable from C code, from a `C_HRFunc`.-foreign import ccall "wrapper"-    mk_HRFunc :: C_HRFunc -> IO (FunPtr C_HRFunc)--{- |-Specifies the type of the function passed to-@/g_hash_table_foreach_remove()/@. It is called with each key\/value-pair, together with the /@userData@/ parameter passed to-@/g_hash_table_foreach_remove()/@. It should return 'True' if the-key\/value pair should be removed from the 'GI.GLib.Structs.HashTable.HashTable'.--}-type HRFunc =-    Ptr ()-    {- ^ /@key@/: a key -}-    -> Ptr ()-    {- ^ /@value@/: the value associated with the key -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the key\/value pair should be removed from the-    'GI.GLib.Structs.HashTable.HashTable' -}---- | A convenience synonym for @`Nothing` :: `Maybe` `HRFunc`@.-noHRFunc :: Maybe HRFunc-noHRFunc = Nothing--{- |-Specifies the type of the function passed to-@/g_hash_table_foreach_remove()/@. It is called with each key\/value-pair, together with the /@userData@/ parameter passed to-@/g_hash_table_foreach_remove()/@. It should return 'True' if the-key\/value pair should be removed from the 'GI.GLib.Structs.HashTable.HashTable'.--}-type HRFunc_WithClosures =-    Ptr ()-    {- ^ /@key@/: a key -}-    -> Ptr ()-    {- ^ /@value@/: the value associated with the key -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to 'GI.GLib.Functions.hashTableRemove' -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if the key\/value pair should be removed from the-    'GI.GLib.Structs.HashTable.HashTable' -}---- | A convenience synonym for @`Nothing` :: `Maybe` `HRFunc_WithClosures`@.-noHRFunc_WithClosures :: Maybe HRFunc_WithClosures-noHRFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_HRFunc :: HRFunc -> HRFunc_WithClosures-drop_closures_HRFunc _f key value _ = _f key value---- | Wrap the callback into a `GClosure`.-genClosure_HRFunc :: MonadIO m => HRFunc -> m (GClosure C_HRFunc)-genClosure_HRFunc cb = liftIO $ do-    let cb' = drop_closures_HRFunc cb-    let cb'' = wrap_HRFunc Nothing cb'-    mk_HRFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `HRFunc` into a `C_HRFunc`.-wrap_HRFunc ::-    Maybe (Ptr (FunPtr C_HRFunc)) ->-    HRFunc_WithClosures ->-    C_HRFunc-wrap_HRFunc funptrptr _cb key value userData = do-    result <- _cb  key value userData-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback HFunc---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "key", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the value corresponding to the key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_hash_table_foreach()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of the function passed to g_hash_table_foreach().\nIt is called with each key/value pair, together with the @user_data\nparameter which is passed to g_hash_table_foreach().", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_HFunc =-    Ptr () ->-    Ptr () ->-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "key", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the value corresponding to the key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_hash_table_foreach()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_HFunc :: FunPtr C_HFunc -> C_HFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_HFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_HFunc-    -> Ptr ()-    {- ^ /@key@/: a key -}-    -> Ptr ()-    {- ^ /@value@/: the value corresponding to the key -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to @/g_hash_table_foreach()/@ -}-    -> m ()-dynamic_HFunc __funPtr key value userData = liftIO $ do-    (__dynamic_C_HFunc __funPtr) key value userData-    return ()---- | Generate a function pointer callable from C code, from a `C_HFunc`.-foreign import ccall "wrapper"-    mk_HFunc :: C_HFunc -> IO (FunPtr C_HFunc)--{- |-Specifies the type of the function passed to @/g_hash_table_foreach()/@.-It is called with each key\/value pair, together with the /@userData@/-parameter which is passed to @/g_hash_table_foreach()/@.--}-type HFunc =-    Ptr ()-    {- ^ /@key@/: a key -}-    -> Ptr ()-    {- ^ /@value@/: the value corresponding to the key -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `HFunc`@.-noHFunc :: Maybe HFunc-noHFunc = Nothing--{- |-Specifies the type of the function passed to @/g_hash_table_foreach()/@.-It is called with each key\/value pair, together with the /@userData@/-parameter which is passed to @/g_hash_table_foreach()/@.--}-type HFunc_WithClosures =-    Ptr ()-    {- ^ /@key@/: a key -}-    -> Ptr ()-    {- ^ /@value@/: the value corresponding to the key -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to @/g_hash_table_foreach()/@ -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `HFunc_WithClosures`@.-noHFunc_WithClosures :: Maybe HFunc_WithClosures-noHFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_HFunc :: HFunc -> HFunc_WithClosures-drop_closures_HFunc _f key value _ = _f key value---- | Wrap the callback into a `GClosure`.-genClosure_HFunc :: MonadIO m => HFunc -> m (GClosure C_HFunc)-genClosure_HFunc cb = liftIO $ do-    let cb' = drop_closures_HFunc cb-    let cb'' = wrap_HFunc Nothing cb'-    mk_HFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `HFunc` into a `C_HFunc`.-wrap_HFunc ::-    Maybe (Ptr (FunPtr C_HFunc)) ->-    HFunc_WithClosures ->-    C_HFunc-wrap_HFunc funptrptr _cb key value userData = do-    _cb  key value userData-    maybeReleaseFunPtr funptrptr----- callback Func---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the element's data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_list_foreach() or g_slist_foreach()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of functions passed to g_list_foreach() and\ng_slist_foreach().", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_Func =-    Ptr () ->-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the element's data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_list_foreach() or g_slist_foreach()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_Func :: FunPtr C_Func -> C_Func---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_Func ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_Func-    -> Ptr ()-    {- ^ /@data@/: the element\'s data -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to @/g_list_foreach()/@ or @/g_slist_foreach()/@ -}-    -> m ()-dynamic_Func __funPtr data_ userData = liftIO $ do-    (__dynamic_C_Func __funPtr) data_ userData-    return ()---- | Generate a function pointer callable from C code, from a `C_Func`.-foreign import ccall "wrapper"-    mk_Func :: C_Func -> IO (FunPtr C_Func)--{- |-Specifies the type of functions passed to @/g_list_foreach()/@ and-@/g_slist_foreach()/@.--}-type Func =-    Ptr ()-    {- ^ /@data@/: the element\'s data -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `Func`@.-noFunc :: Maybe Func-noFunc = Nothing--{- |-Specifies the type of functions passed to @/g_list_foreach()/@ and-@/g_slist_foreach()/@.--}-type Func_WithClosures =-    Ptr ()-    {- ^ /@data@/: the element\'s data -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to @/g_list_foreach()/@ or @/g_slist_foreach()/@ -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `Func_WithClosures`@.-noFunc_WithClosures :: Maybe Func_WithClosures-noFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_Func :: Func -> Func_WithClosures-drop_closures_Func _f data_ _ = _f data_---- | Wrap the callback into a `GClosure`.-genClosure_Func :: MonadIO m => Func -> m (GClosure C_Func)-genClosure_Func cb = liftIO $ do-    let cb' = drop_closures_Func cb-    let cb'' = wrap_Func Nothing cb'-    mk_Func cb'' >>= B.GClosure.newGClosure----- | Wrap a `Func` into a `C_Func`.-wrap_Func ::-    Maybe (Ptr (FunPtr C_Func)) ->-    Func_WithClosures ->-    C_Func-wrap_Func funptrptr _cb data_ userData = do-    _cb  data_ userData-    maybeReleaseFunPtr funptrptr----- callback FreeFunc---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a data pointer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Declares a type of function which takes an arbitrary\ndata pointer argument and has no return value. It is\nnot currently used in GLib or GTK+.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_FreeFunc =-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a data pointer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_FreeFunc :: FunPtr C_FreeFunc -> C_FreeFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_FreeFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_FreeFunc-    -> Ptr ()-    {- ^ /@data@/: a data pointer -}-    -> m ()-dynamic_FreeFunc __funPtr data_ = liftIO $ do-    (__dynamic_C_FreeFunc __funPtr) data_-    return ()---- | Generate a function pointer callable from C code, from a `C_FreeFunc`.-foreign import ccall "wrapper"-    mk_FreeFunc :: C_FreeFunc -> IO (FunPtr C_FreeFunc)--{- |-Declares a type of function which takes an arbitrary-data pointer argument and has no return value. It is-not currently used in GLib or GTK+.--}-type FreeFunc =-    Ptr ()-    {- ^ /@data@/: a data pointer -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `FreeFunc`@.-noFreeFunc :: Maybe FreeFunc-noFreeFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_FreeFunc :: MonadIO m => FreeFunc -> m (GClosure C_FreeFunc)-genClosure_FreeFunc cb = liftIO $ do-    let cb' = wrap_FreeFunc Nothing cb-    mk_FreeFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `FreeFunc` into a `C_FreeFunc`.-wrap_FreeFunc ::-    Maybe (Ptr (FunPtr C_FreeFunc)) ->-    FreeFunc ->-    C_FreeFunc-wrap_FreeFunc funptrptr _cb data_ = do-    _cb  data_-    maybeReleaseFunPtr funptrptr----- callback EqualFunc---          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "%TRUE if @a = @b; %FALSE otherwise", sinceVersion = Nothing}, args = [Arg {argCName = "a", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a value to compare with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of a function used to test two values for\nequality. The function should return %TRUE if both values are equal\nand %FALSE otherwise.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_EqualFunc =-    Ptr () ->-    Ptr () ->-    IO CInt---- Args : [Arg {argCName = "a", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a value to compare with", 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 "dynamic" __dynamic_C_EqualFunc :: FunPtr C_EqualFunc -> C_EqualFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_EqualFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_EqualFunc-    -> Ptr ()-    {- ^ /@a@/: a value -}-    -> Ptr ()-    {- ^ /@b@/: a value to compare with -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@a@/ = /@b@/; 'False' otherwise -}-dynamic_EqualFunc __funPtr a b = liftIO $ do-    result <- (__dynamic_C_EqualFunc __funPtr) a b-    let result' = (/= 0) result-    return result'---- | Generate a function pointer callable from C code, from a `C_EqualFunc`.-foreign import ccall "wrapper"-    mk_EqualFunc :: C_EqualFunc -> IO (FunPtr C_EqualFunc)--{- |-Specifies the type of a function used to test two values for-equality. The function should return 'True' if both values are equal-and 'False' otherwise.--}-type EqualFunc =-    Ptr ()-    {- ^ /@a@/: a value -}-    -> Ptr ()-    {- ^ /@b@/: a value to compare with -}-    -> IO Bool-    {- ^ __Returns:__ 'True' if /@a@/ = /@b@/; 'False' otherwise -}---- | A convenience synonym for @`Nothing` :: `Maybe` `EqualFunc`@.-noEqualFunc :: Maybe EqualFunc-noEqualFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_EqualFunc :: MonadIO m => EqualFunc -> m (GClosure C_EqualFunc)-genClosure_EqualFunc cb = liftIO $ do-    let cb' = wrap_EqualFunc Nothing cb-    mk_EqualFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `EqualFunc` into a `C_EqualFunc`.-wrap_EqualFunc ::-    Maybe (Ptr (FunPtr C_EqualFunc)) ->-    EqualFunc ->-    C_EqualFunc-wrap_EqualFunc funptrptr _cb a b = do-    result <- _cb  a b-    maybeReleaseFunPtr funptrptr-    let result' = (fromIntegral . fromEnum) result-    return result'----- callback DuplicateFunc---          -> Callable {returnType = Just (TBasicType TPtr), returnMayBeNull = True, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "a duplicate of data", sinceVersion = Nothing}, args = [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data to duplicate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data that was specified in\n            g_datalist_id_dup_data()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "The type of functions that are used to 'duplicate' an object.\nWhat this means depends on the context, it could just be\nincrementing the reference count, if @data is a ref-counted\nobject.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_DuplicateFunc =-    Ptr () ->-    Ptr () ->-    IO (Ptr ())---- Args : [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data to duplicate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data that was specified in\n            g_datalist_id_dup_data()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_DuplicateFunc :: FunPtr C_DuplicateFunc -> C_DuplicateFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_DuplicateFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_DuplicateFunc-    -> Ptr ()-    {- ^ /@data@/: the data to duplicate -}-    -> Ptr ()-    {- ^ /@userData@/: user data that was specified in-            @/g_datalist_id_dup_data()/@ -}-    -> m (Ptr ())-    {- ^ __Returns:__ a duplicate of data -}-dynamic_DuplicateFunc __funPtr data_ userData = liftIO $ do-    result <- (__dynamic_C_DuplicateFunc __funPtr) data_ userData-    return result---- | Generate a function pointer callable from C code, from a `C_DuplicateFunc`.-foreign import ccall "wrapper"-    mk_DuplicateFunc :: C_DuplicateFunc -> IO (FunPtr C_DuplicateFunc)--{- |-The type of functions that are used to \'duplicate\' an object.-What this means depends on the context, it could just be-incrementing the reference count, if /@data@/ is a ref-counted-object.--}-type DuplicateFunc =-    Ptr ()-    {- ^ /@data@/: the data to duplicate -}-    -> IO (Ptr ())-    {- ^ __Returns:__ a duplicate of data -}---- | A convenience synonym for @`Nothing` :: `Maybe` `DuplicateFunc`@.-noDuplicateFunc :: Maybe DuplicateFunc-noDuplicateFunc = Nothing--{- |-The type of functions that are used to \'duplicate\' an object.-What this means depends on the context, it could just be-incrementing the reference count, if /@data@/ is a ref-counted-object.--}-type DuplicateFunc_WithClosures =-    Ptr ()-    {- ^ /@data@/: the data to duplicate -}-    -> Ptr ()-    {- ^ /@userData@/: user data that was specified in-            @/g_datalist_id_dup_data()/@ -}-    -> IO (Ptr ())-    {- ^ __Returns:__ a duplicate of data -}---- | A convenience synonym for @`Nothing` :: `Maybe` `DuplicateFunc_WithClosures`@.-noDuplicateFunc_WithClosures :: Maybe DuplicateFunc_WithClosures-noDuplicateFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_DuplicateFunc :: DuplicateFunc -> DuplicateFunc_WithClosures-drop_closures_DuplicateFunc _f data_ _ = _f data_---- | Wrap the callback into a `GClosure`.-genClosure_DuplicateFunc :: MonadIO m => DuplicateFunc -> m (GClosure C_DuplicateFunc)-genClosure_DuplicateFunc cb = liftIO $ do-    let cb' = drop_closures_DuplicateFunc cb-    let cb'' = wrap_DuplicateFunc Nothing cb'-    mk_DuplicateFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `DuplicateFunc` into a `C_DuplicateFunc`.-wrap_DuplicateFunc ::-    Maybe (Ptr (FunPtr C_DuplicateFunc)) ->-    DuplicateFunc_WithClosures ->-    C_DuplicateFunc-wrap_DuplicateFunc funptrptr _cb data_ userData = do-    result <- _cb  data_ userData-    maybeReleaseFunPtr funptrptr-    return result----- callback DestroyNotify---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data element.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of function which is called when a data element\nis destroyed. It is passed the pointer to the data element and\nshould free any memory and resources allocated for it.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_DestroyNotify =-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data element.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_DestroyNotify :: FunPtr C_DestroyNotify -> C_DestroyNotify---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_DestroyNotify ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_DestroyNotify-    -> Ptr ()-    {- ^ /@data@/: the data element. -}-    -> m ()-dynamic_DestroyNotify __funPtr data_ = liftIO $ do-    (__dynamic_C_DestroyNotify __funPtr) data_-    return ()---- | Generate a function pointer callable from C code, from a `C_DestroyNotify`.-foreign import ccall "wrapper"-    mk_DestroyNotify :: C_DestroyNotify -> IO (FunPtr C_DestroyNotify)--{- |-Specifies the type of function which is called when a data element-is destroyed. It is passed the pointer to the data element and-should free any memory and resources allocated for it.--}-type DestroyNotify =-    Ptr ()-    {- ^ /@data@/: the data element. -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `DestroyNotify`@.-noDestroyNotify :: Maybe DestroyNotify-noDestroyNotify = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_DestroyNotify :: MonadIO m => DestroyNotify -> m (GClosure C_DestroyNotify)-genClosure_DestroyNotify cb = liftIO $ do-    let cb' = wrap_DestroyNotify Nothing cb-    mk_DestroyNotify cb' >>= B.GClosure.newGClosure----- | Wrap a `DestroyNotify` into a `C_DestroyNotify`.-wrap_DestroyNotify ::-    Maybe (Ptr (FunPtr C_DestroyNotify)) ->-    DestroyNotify ->-    C_DestroyNotify-wrap_DestroyNotify funptrptr _cb data_ = do-    _cb  data_-    maybeReleaseFunPtr funptrptr----- callback DataForeachFunc---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "key_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GQuark id to identifying the data element.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data element.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_dataset_foreach().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of function passed to g_dataset_foreach(). It is\ncalled with each #GQuark id and associated data element, together\nwith the @user_data parameter supplied to g_dataset_foreach().", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_DataForeachFunc =-    Word32 ->-    Ptr () ->-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "key_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GQuark id to identifying the data element.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data element.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_dataset_foreach().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_DataForeachFunc :: FunPtr C_DataForeachFunc -> C_DataForeachFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_DataForeachFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_DataForeachFunc-    -> Word32-    {- ^ /@keyId@/: the @/GQuark/@ id to identifying the data element. -}-    -> Ptr ()-    {- ^ /@data@/: the data element. -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to 'GI.GLib.Functions.datasetForeach'. -}-    -> m ()-dynamic_DataForeachFunc __funPtr keyId data_ userData = liftIO $ do-    (__dynamic_C_DataForeachFunc __funPtr) keyId data_ userData-    return ()---- | Generate a function pointer callable from C code, from a `C_DataForeachFunc`.-foreign import ccall "wrapper"-    mk_DataForeachFunc :: C_DataForeachFunc -> IO (FunPtr C_DataForeachFunc)--{- |-Specifies the type of function passed to 'GI.GLib.Functions.datasetForeach'. It is-called with each @/GQuark/@ id and associated data element, together-with the /@userData@/ parameter supplied to 'GI.GLib.Functions.datasetForeach'.--}-type DataForeachFunc =-    Word32-    {- ^ /@keyId@/: the @/GQuark/@ id to identifying the data element. -}-    -> Ptr ()-    {- ^ /@data@/: the data element. -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `DataForeachFunc`@.-noDataForeachFunc :: Maybe DataForeachFunc-noDataForeachFunc = Nothing--{- |-Specifies the type of function passed to 'GI.GLib.Functions.datasetForeach'. It is-called with each @/GQuark/@ id and associated data element, together-with the /@userData@/ parameter supplied to 'GI.GLib.Functions.datasetForeach'.--}-type DataForeachFunc_WithClosures =-    Word32-    {- ^ /@keyId@/: the @/GQuark/@ id to identifying the data element. -}-    -> Ptr ()-    {- ^ /@data@/: the data element. -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to 'GI.GLib.Functions.datasetForeach'. -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `DataForeachFunc_WithClosures`@.-noDataForeachFunc_WithClosures :: Maybe DataForeachFunc_WithClosures-noDataForeachFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_DataForeachFunc :: DataForeachFunc -> DataForeachFunc_WithClosures-drop_closures_DataForeachFunc _f keyId data_ _ = _f keyId data_---- | Wrap the callback into a `GClosure`.-genClosure_DataForeachFunc :: MonadIO m => DataForeachFunc -> m (GClosure C_DataForeachFunc)-genClosure_DataForeachFunc cb = liftIO $ do-    let cb' = drop_closures_DataForeachFunc cb-    let cb'' = wrap_DataForeachFunc Nothing cb'-    mk_DataForeachFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `DataForeachFunc` into a `C_DataForeachFunc`.-wrap_DataForeachFunc ::-    Maybe (Ptr (FunPtr C_DataForeachFunc)) ->-    DataForeachFunc_WithClosures ->-    C_DataForeachFunc-wrap_DataForeachFunc funptrptr _cb keyId data_ userData = do-    _cb  keyId data_ userData-    maybeReleaseFunPtr funptrptr----- callback CopyFunc---          -> Callable {returnType = Just (TBasicType TPtr), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "A pointer to the copy", sinceVersion = Nothing}, args = [Arg {argCName = "src", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to the data which should be copied", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Additional data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "A function of this signature is used to copy the node data\nwhen doing a deep-copy of a tree.", sinceVersion = Just "2.4"}}--- | Type for the callback on the (unwrapped) C side.-type C_CopyFunc =-    Ptr () ->-    Ptr () ->-    IO (Ptr ())---- Args : [Arg {argCName = "src", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A pointer to the data which should be copied", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Additional data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_CopyFunc :: FunPtr C_CopyFunc -> C_CopyFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_CopyFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_CopyFunc-    -> Ptr ()-    {- ^ /@src@/: A pointer to the data which should be copied -}-    -> Ptr ()-    {- ^ /@data@/: Additional data -}-    -> m (Ptr ())-    {- ^ __Returns:__ A pointer to the copy -}-dynamic_CopyFunc __funPtr src data_ = liftIO $ do-    result <- (__dynamic_C_CopyFunc __funPtr) src data_-    return result---- | Generate a function pointer callable from C code, from a `C_CopyFunc`.-foreign import ccall "wrapper"-    mk_CopyFunc :: C_CopyFunc -> IO (FunPtr C_CopyFunc)--{- |-A function of this signature is used to copy the node data-when doing a deep-copy of a tree.--/Since: 2.4/--}-type CopyFunc =-    Ptr ()-    {- ^ /@src@/: A pointer to the data which should be copied -}-    -> Ptr ()-    {- ^ /@data@/: Additional data -}-    -> IO (Ptr ())-    {- ^ __Returns:__ A pointer to the copy -}---- | A convenience synonym for @`Nothing` :: `Maybe` `CopyFunc`@.-noCopyFunc :: Maybe CopyFunc-noCopyFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_CopyFunc :: MonadIO m => CopyFunc -> m (GClosure C_CopyFunc)-genClosure_CopyFunc cb = liftIO $ do-    let cb' = wrap_CopyFunc Nothing cb-    mk_CopyFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `CopyFunc` into a `C_CopyFunc`.-wrap_CopyFunc ::-    Maybe (Ptr (FunPtr C_CopyFunc)) ->-    CopyFunc ->-    C_CopyFunc-wrap_CopyFunc funptrptr _cb src data_ = do-    result <- _cb  src data_-    maybeReleaseFunPtr funptrptr-    return result----- callback CompareFunc---          -> Callable {returnType = Just (TBasicType TInt), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "negative value if @a < @b; zero if @a = @b; positive\n         value if @a > @b", sinceVersion = Nothing}, args = [Arg {argCName = "a", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a value to compare with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of a comparison function used to compare two\nvalues.  The function should return a negative integer if the first\nvalue comes before the second, 0 if they are equal, or a positive\ninteger if the first value comes after the second.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_CompareFunc =-    Ptr () ->-    Ptr () ->-    IO Int32---- Args : [Arg {argCName = "a", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a value to compare with", 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 "dynamic" __dynamic_C_CompareFunc :: FunPtr C_CompareFunc -> C_CompareFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_CompareFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_CompareFunc-    -> Ptr ()-    {- ^ /@a@/: a value -}-    -> Ptr ()-    {- ^ /@b@/: a value to compare with -}-    -> m Int32-    {- ^ __Returns:__ negative value if /@a@/ \< /@b@/; zero if /@a@/ = /@b@/; positive-         value if /@a@/ > /@b@/ -}-dynamic_CompareFunc __funPtr a b = liftIO $ do-    result <- (__dynamic_C_CompareFunc __funPtr) a b-    return result---- | Generate a function pointer callable from C code, from a `C_CompareFunc`.-foreign import ccall "wrapper"-    mk_CompareFunc :: C_CompareFunc -> IO (FunPtr C_CompareFunc)--{- |-Specifies the type of a comparison function used to compare two-values.  The function should return a negative integer if the first-value comes before the second, 0 if they are equal, or a positive-integer if the first value comes after the second.--}-type CompareFunc =-    Ptr ()-    {- ^ /@a@/: a value -}-    -> Ptr ()-    {- ^ /@b@/: a value to compare with -}-    -> IO Int32-    {- ^ __Returns:__ negative value if /@a@/ \< /@b@/; zero if /@a@/ = /@b@/; positive-         value if /@a@/ > /@b@/ -}---- | A convenience synonym for @`Nothing` :: `Maybe` `CompareFunc`@.-noCompareFunc :: Maybe CompareFunc-noCompareFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_CompareFunc :: MonadIO m => CompareFunc -> m (GClosure C_CompareFunc)-genClosure_CompareFunc cb = liftIO $ do-    let cb' = wrap_CompareFunc Nothing cb-    mk_CompareFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `CompareFunc` into a `C_CompareFunc`.-wrap_CompareFunc ::-    Maybe (Ptr (FunPtr C_CompareFunc)) ->-    CompareFunc ->-    C_CompareFunc-wrap_CompareFunc funptrptr _cb a b = do-    result <- _cb  a b-    maybeReleaseFunPtr funptrptr-    return result----- callback CompareDataFunc---          -> Callable {returnType = Just (TBasicType TInt), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "negative value if @a < @b; zero if @a = @b; positive\n         value if @a > @b", sinceVersion = Nothing}, args = [Arg {argCName = "a", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a value to compare with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of a comparison function used to compare two\nvalues.  The function should return a negative integer if the first\nvalue comes before the second, 0 if they are equal, or a positive\ninteger if the first value comes after the second.", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_CompareDataFunc =-    Ptr () ->-    Ptr () ->-    Ptr () ->-    IO Int32---- Args : [Arg {argCName = "a", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a value to compare with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_CompareDataFunc :: FunPtr C_CompareDataFunc -> C_CompareDataFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_CompareDataFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_CompareDataFunc-    -> Ptr ()-    {- ^ /@a@/: a value -}-    -> Ptr ()-    {- ^ /@b@/: a value to compare with -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> m Int32-    {- ^ __Returns:__ negative value if /@a@/ \< /@b@/; zero if /@a@/ = /@b@/; positive-         value if /@a@/ > /@b@/ -}-dynamic_CompareDataFunc __funPtr a b userData = liftIO $ do-    result <- (__dynamic_C_CompareDataFunc __funPtr) a b userData-    return result---- | Generate a function pointer callable from C code, from a `C_CompareDataFunc`.-foreign import ccall "wrapper"-    mk_CompareDataFunc :: C_CompareDataFunc -> IO (FunPtr C_CompareDataFunc)--{- |-Specifies the type of a comparison function used to compare two-values.  The function should return a negative integer if the first-value comes before the second, 0 if they are equal, or a positive-integer if the first value comes after the second.--}-type CompareDataFunc =-    Ptr ()-    {- ^ /@a@/: a value -}-    -> Ptr ()-    {- ^ /@b@/: a value to compare with -}-    -> IO Int32-    {- ^ __Returns:__ negative value if /@a@/ \< /@b@/; zero if /@a@/ = /@b@/; positive-         value if /@a@/ > /@b@/ -}---- | A convenience synonym for @`Nothing` :: `Maybe` `CompareDataFunc`@.-noCompareDataFunc :: Maybe CompareDataFunc-noCompareDataFunc = Nothing--{- |-Specifies the type of a comparison function used to compare two-values.  The function should return a negative integer if the first-value comes before the second, 0 if they are equal, or a positive-integer if the first value comes after the second.--}-type CompareDataFunc_WithClosures =-    Ptr ()-    {- ^ /@a@/: a value -}-    -> Ptr ()-    {- ^ /@b@/: a value to compare with -}-    -> Ptr ()-    {- ^ /@userData@/: user data -}-    -> IO Int32-    {- ^ __Returns:__ negative value if /@a@/ \< /@b@/; zero if /@a@/ = /@b@/; positive-         value if /@a@/ > /@b@/ -}---- | A convenience synonym for @`Nothing` :: `Maybe` `CompareDataFunc_WithClosures`@.-noCompareDataFunc_WithClosures :: Maybe CompareDataFunc_WithClosures-noCompareDataFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_CompareDataFunc :: CompareDataFunc -> CompareDataFunc_WithClosures-drop_closures_CompareDataFunc _f a b _ = _f a b---- | Wrap the callback into a `GClosure`.-genClosure_CompareDataFunc :: MonadIO m => CompareDataFunc -> m (GClosure C_CompareDataFunc)-genClosure_CompareDataFunc cb = liftIO $ do-    let cb' = drop_closures_CompareDataFunc cb-    let cb'' = wrap_CompareDataFunc Nothing cb'-    mk_CompareDataFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `CompareDataFunc` into a `C_CompareDataFunc`.-wrap_CompareDataFunc ::-    Maybe (Ptr (FunPtr C_CompareDataFunc)) ->-    CompareDataFunc_WithClosures ->-    C_CompareDataFunc-wrap_CompareDataFunc funptrptr _cb a b userData = do-    result <- _cb  a b userData-    maybeReleaseFunPtr funptrptr-    return result----- callback ClearHandleFunc---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "handle_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the handle ID to clear", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Specifies the type of function passed to g_clear_handle_id().\nThe implementation is expected to free the resource identified\nby @handle_id; for instance, if @handle_id is a #GSource ID,\ng_source_remove() can be used.", sinceVersion = Just "2.56"}}--- | Type for the callback on the (unwrapped) C side.-type C_ClearHandleFunc =-    Word32 ->-    IO ()---- Args : [Arg {argCName = "handle_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the handle ID to clear", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_ClearHandleFunc :: FunPtr C_ClearHandleFunc -> C_ClearHandleFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_ClearHandleFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_ClearHandleFunc-    -> Word32-    {- ^ /@handleId@/: the handle ID to clear -}-    -> m ()-dynamic_ClearHandleFunc __funPtr handleId = liftIO $ do-    (__dynamic_C_ClearHandleFunc __funPtr) handleId-    return ()---- | Generate a function pointer callable from C code, from a `C_ClearHandleFunc`.-foreign import ccall "wrapper"-    mk_ClearHandleFunc :: C_ClearHandleFunc -> IO (FunPtr C_ClearHandleFunc)--{- |-Specifies the type of function passed to @/g_clear_handle_id()/@.-The implementation is expected to free the resource identified-by /@handleId@/; for instance, if /@handleId@/ is a 'GI.GLib.Structs.Source.Source' ID,-'GI.GLib.Functions.sourceRemove' can be used.--/Since: 2.56/--}-type ClearHandleFunc =-    Word32-    {- ^ /@handleId@/: the handle ID to clear -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `ClearHandleFunc`@.-noClearHandleFunc :: Maybe ClearHandleFunc-noClearHandleFunc = Nothing---- | Wrap the callback into a `GClosure`.-genClosure_ClearHandleFunc :: MonadIO m => ClearHandleFunc -> m (GClosure C_ClearHandleFunc)-genClosure_ClearHandleFunc cb = liftIO $ do-    let cb' = wrap_ClearHandleFunc Nothing cb-    mk_ClearHandleFunc cb' >>= B.GClosure.newGClosure----- | Wrap a `ClearHandleFunc` into a `C_ClearHandleFunc`.-wrap_ClearHandleFunc ::-    Maybe (Ptr (FunPtr C_ClearHandleFunc)) ->-    ClearHandleFunc ->-    C_ClearHandleFunc-wrap_ClearHandleFunc funptrptr _cb handleId = do-    _cb  handleId-    maybeReleaseFunPtr funptrptr----- callback ChildWatchFunc---          -> Callable {returnType = Nothing, returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "pid", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the process id of the child process", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "status", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Status information about the child process, encoded\n    in a platform-specific manner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_child_watch_add()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Prototype of a #GChildWatchSource callback, called when a child\nprocess has exited.  To interpret @status, see the documentation\nfor g_spawn_check_exit_status().", sinceVersion = Nothing}}--- | Type for the callback on the (unwrapped) C side.-type C_ChildWatchFunc =-    Int32 ->-    Int32 ->-    Ptr () ->-    IO ()---- Args : [Arg {argCName = "pid", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the process id of the child process", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "status", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Status information about the child process, encoded\n    in a platform-specific manner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_child_watch_add()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "dynamic" __dynamic_C_ChildWatchFunc :: FunPtr C_ChildWatchFunc -> C_ChildWatchFunc---- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.-dynamic_ChildWatchFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    FunPtr C_ChildWatchFunc-    -> Int32-    {- ^ /@pid@/: the process id of the child process -}-    -> Int32-    {- ^ /@status@/: Status information about the child process, encoded-    in a platform-specific manner -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to @/g_child_watch_add()/@ -}-    -> m ()-dynamic_ChildWatchFunc __funPtr pid status userData = liftIO $ do-    (__dynamic_C_ChildWatchFunc __funPtr) pid status userData-    return ()---- | Generate a function pointer callable from C code, from a `C_ChildWatchFunc`.-foreign import ccall "wrapper"-    mk_ChildWatchFunc :: C_ChildWatchFunc -> IO (FunPtr C_ChildWatchFunc)--{- |-Prototype of a @/GChildWatchSource/@ callback, called when a child-process has exited.  To interpret /@status@/, see the documentation-for 'GI.GLib.Functions.spawnCheckExitStatus'.--}-type ChildWatchFunc =-    Int32-    {- ^ /@pid@/: the process id of the child process -}-    -> Int32-    {- ^ /@status@/: Status information about the child process, encoded-    in a platform-specific manner -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `ChildWatchFunc`@.-noChildWatchFunc :: Maybe ChildWatchFunc-noChildWatchFunc = Nothing--{- |-Prototype of a @/GChildWatchSource/@ callback, called when a child-process has exited.  To interpret /@status@/, see the documentation-for 'GI.GLib.Functions.spawnCheckExitStatus'.--}-type ChildWatchFunc_WithClosures =-    Int32-    {- ^ /@pid@/: the process id of the child process -}-    -> Int32-    {- ^ /@status@/: Status information about the child process, encoded-    in a platform-specific manner -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to @/g_child_watch_add()/@ -}-    -> IO ()---- | A convenience synonym for @`Nothing` :: `Maybe` `ChildWatchFunc_WithClosures`@.-noChildWatchFunc_WithClosures :: Maybe ChildWatchFunc_WithClosures-noChildWatchFunc_WithClosures = Nothing---- | A simple wrapper that ignores the closure arguments.-drop_closures_ChildWatchFunc :: ChildWatchFunc -> ChildWatchFunc_WithClosures-drop_closures_ChildWatchFunc _f pid status _ = _f pid status---- | Wrap the callback into a `GClosure`.-genClosure_ChildWatchFunc :: MonadIO m => ChildWatchFunc -> m (GClosure C_ChildWatchFunc)-genClosure_ChildWatchFunc cb = liftIO $ do-    let cb' = drop_closures_ChildWatchFunc cb-    let cb'' = wrap_ChildWatchFunc Nothing cb'-    mk_ChildWatchFunc cb'' >>= B.GClosure.newGClosure----- | Wrap a `ChildWatchFunc` into a `C_ChildWatchFunc`.-wrap_ChildWatchFunc ::-    Maybe (Ptr (FunPtr C_ChildWatchFunc)) ->-    ChildWatchFunc_WithClosures ->-    C_ChildWatchFunc-wrap_ChildWatchFunc funptrptr _cb pid status userData = do-    _cb  pid status userData-    maybeReleaseFunPtr funptrptr---
− GI/GLib/Constants.hs
@@ -1,1160 +0,0 @@-{-# 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.GLib.Constants-    ( -    pattern WIN32_MSG_HANDLE                ,-    pattern VERSION_MIN_REQUIRED            ,-    pattern VA_COPY_AS_ARRAY                ,-    pattern USEC_PER_SEC                    ,-    pattern URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS,-    pattern URI_RESERVED_CHARS_GENERIC_DELIMITERS,-    pattern UNICHAR_MAX_DECOMPOSITION_LENGTH,-    pattern TIME_SPAN_SECOND                ,-    pattern TIME_SPAN_MINUTE                ,-    pattern TIME_SPAN_MILLISECOND           ,-    pattern TIME_SPAN_HOUR                  ,-    pattern TIME_SPAN_DAY                   ,-    pattern TEST_OPTION_ISOLATE_DIRS        ,-    pattern SYSDEF_MSG_PEEK                 ,-    pattern SYSDEF_MSG_OOB                  ,-    pattern SYSDEF_MSG_DONTROUTE            ,-    pattern SYSDEF_AF_UNIX                  ,-    pattern SYSDEF_AF_INET6                 ,-    pattern SYSDEF_AF_INET                  ,-    pattern STR_DELIMITERS                  ,-    pattern SQRT2                           ,-    pattern SOURCE_REMOVE                   ,-    pattern SOURCE_CONTINUE                 ,-    pattern SIZEOF_VOID_P                   ,-    pattern SIZEOF_SSIZE_T                  ,-    pattern SIZEOF_SIZE_T                   ,-    pattern SIZEOF_LONG                     ,-    pattern SEARCHPATH_SEPARATOR_S          ,-    pattern SEARCHPATH_SEPARATOR            ,-    pattern PRIORITY_LOW                    ,-    pattern PRIORITY_HIGH_IDLE              ,-    pattern PRIORITY_HIGH                   ,-    pattern PRIORITY_DEFAULT_IDLE           ,-    pattern PRIORITY_DEFAULT                ,-    pattern POLLFD_FORMAT                   ,-    pattern PI_4                            ,-    pattern PI_2                            ,-    pattern PID_FORMAT                      ,-    pattern PI                              ,-    pattern PDP_ENDIAN                      ,-    pattern OPTION_REMAINING                ,-    pattern MODULE_SUFFIX                   ,-    pattern MINOR_VERSION                   ,-    pattern MININT8                         ,-    pattern MININT64                        ,-    pattern MININT32                        ,-    pattern MININT16                        ,-    pattern MICRO_VERSION                   ,-    pattern MAXUINT8                        ,-    pattern MAXUINT64                       ,-    pattern MAXUINT32                       ,-    pattern MAXUINT16                       ,-    pattern MAXINT8                         ,-    pattern MAXINT64                        ,-    pattern MAXINT32                        ,-    pattern MAXINT16                        ,-    pattern MAJOR_VERSION                   ,-    pattern LOG_LEVEL_USER_SHIFT            ,-    pattern LOG_FATAL_MASK                  ,-    pattern LOG_DOMAIN                      ,-    pattern LOG_2_BASE_10                   ,-    pattern LN2                             ,-    pattern LN10                            ,-    pattern LITTLE_ENDIAN                   ,-    pattern KEY_FILE_DESKTOP_TYPE_LINK      ,-    pattern KEY_FILE_DESKTOP_TYPE_DIRECTORY ,-    pattern KEY_FILE_DESKTOP_TYPE_APPLICATION,-    pattern KEY_FILE_DESKTOP_KEY_VERSION    ,-    pattern KEY_FILE_DESKTOP_KEY_URL        ,-    pattern KEY_FILE_DESKTOP_KEY_TYPE       ,-    pattern KEY_FILE_DESKTOP_KEY_TRY_EXEC   ,-    pattern KEY_FILE_DESKTOP_KEY_TERMINAL   ,-    pattern KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS,-    pattern KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY,-    pattern KEY_FILE_DESKTOP_KEY_PATH       ,-    pattern KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN,-    pattern KEY_FILE_DESKTOP_KEY_NO_DISPLAY ,-    pattern KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN,-    pattern KEY_FILE_DESKTOP_KEY_NAME       ,-    pattern KEY_FILE_DESKTOP_KEY_MIME_TYPE  ,-    pattern KEY_FILE_DESKTOP_KEY_ICON       ,-    pattern KEY_FILE_DESKTOP_KEY_HIDDEN     ,-    pattern KEY_FILE_DESKTOP_KEY_GENERIC_NAME,-    pattern KEY_FILE_DESKTOP_KEY_EXEC       ,-    pattern KEY_FILE_DESKTOP_KEY_DBUS_ACTIVATABLE,-    pattern KEY_FILE_DESKTOP_KEY_COMMENT    ,-    pattern KEY_FILE_DESKTOP_KEY_CATEGORIES ,-    pattern KEY_FILE_DESKTOP_KEY_ACTIONS    ,-    pattern KEY_FILE_DESKTOP_GROUP          ,-    pattern IEEE754_FLOAT_BIAS              ,-    pattern IEEE754_DOUBLE_BIAS             ,-    pattern HOOK_FLAG_USER_SHIFT            ,-    pattern HAVE_ISO_VARARGS                ,-    pattern HAVE_GROWING_STACK              ,-    pattern HAVE_GNUC_VISIBILITY            ,-    pattern HAVE_GNUC_VARARGS               ,-    pattern HAVE_GINT64                     ,-    pattern GUINTPTR_FORMAT                 ,-    pattern GUINT64_FORMAT                  ,-    pattern GUINT32_FORMAT                  ,-    pattern GUINT16_FORMAT                  ,-    pattern GSSIZE_MODIFIER                 ,-    pattern GSSIZE_FORMAT                   ,-    pattern GSIZE_MODIFIER                  ,-    pattern GSIZE_FORMAT                    ,-    pattern GNUC_PRETTY_FUNCTION            ,-    pattern GNUC_FUNCTION                   ,-    pattern GINTPTR_MODIFIER                ,-    pattern GINTPTR_FORMAT                  ,-    pattern GINT64_MODIFIER                 ,-    pattern GINT64_FORMAT                   ,-    pattern GINT32_MODIFIER                 ,-    pattern GINT32_FORMAT                   ,-    pattern GINT16_MODIFIER                 ,-    pattern GINT16_FORMAT                   ,-    pattern E                               ,-    pattern DIR_SEPARATOR_S                 ,-    pattern DIR_SEPARATOR                   ,-    pattern DATE_BAD_YEAR                   ,-    pattern DATE_BAD_JULIAN                 ,-    pattern DATE_BAD_DAY                    ,-    pattern DATALIST_FLAGS_MASK             ,-    pattern CSET_a_2_z                      ,-    pattern CSET_DIGITS                     ,-    pattern CSET_A_2_Z                      ,-    pattern BIG_ENDIAN                      ,-    pattern ASCII_DTOSTR_BUF_SIZE           ,-    pattern ANALYZER_ANALYZING              ,--    ) 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---{- |-/No description available in the introspection data./--}-pattern WIN32_MSG_HANDLE = 19981206 :: Int32--{- |-A macro that should be defined by the user prior to including-the glib.h header.-The definition should be one of the predefined GLib version-macros: @/GLIB_VERSION_2_26/@, @/GLIB_VERSION_2_28/@,...--This macro defines the earliest version of GLib that the package is-required to be able to compile against.--If the compiler is configured to warn about the use of deprecated-functions, then using functions that were deprecated in version-'GI.GLib.Constants.VERSION_MIN_REQUIRED' or earlier will cause warnings (but-using functions deprecated in later releases will not).--/Since: 2.32/--}-pattern VERSION_MIN_REQUIRED = 2 :: Int32--{- |-/No description available in the introspection data./--}-pattern VA_COPY_AS_ARRAY = 1 :: Int32--{- |-Number of microseconds in one second (1 million).-This macro is provided for code readability.--}-pattern USEC_PER_SEC = 1000000 :: Int32--{- |-Subcomponent delimiter characters as defined in RFC 3986. Includes \"!$&\'()*+,;=\".--}-pattern URI_RESERVED_CHARS_SUBCOMPONENT_DELIMITERS = "!$&'()*+,;=" :: T.Text--{- |-Generic delimiters characters as defined in RFC 3986. Includes \":\/?#[]\@\".--}-pattern URI_RESERVED_CHARS_GENERIC_DELIMITERS = ":/?#[]@" :: T.Text--{- |-The maximum length (in codepoints) of a compatibility or canonical-decomposition of a single Unicode character.--This is as defined by Unicode 6.1.--/Since: 2.32/--}-pattern UNICHAR_MAX_DECOMPOSITION_LENGTH = 18 :: Int32--{- |-Evaluates to a time span of one second.--/Since: 2.26/--}-pattern TIME_SPAN_SECOND = 1000000 :: Int64--{- |-Evaluates to a time span of one minute.--/Since: 2.26/--}-pattern TIME_SPAN_MINUTE = 60000000 :: Int64--{- |-Evaluates to a time span of one millisecond.--/Since: 2.26/--}-pattern TIME_SPAN_MILLISECOND = 1000 :: Int64--{- |-Evaluates to a time span of one hour.--/Since: 2.26/--}-pattern TIME_SPAN_HOUR = 3600000000 :: Int64--{- |-Evaluates to a time span of one day.--/Since: 2.26/--}-pattern TIME_SPAN_DAY = 86400000000 :: Int64--{- |-Creates a unique temporary directory for each unit test and uses-@/g_set_user_dirs()/@ to set XDG directories to point into subdirectories of it-for the duration of the unit test. The directory tree is cleaned up after the-test finishes successfully. Note that this doesn’t take effect until-'GI.GLib.Functions.testRun' is called, so calls to (for example) @/g_get_user_home_dir()/@ will-return the system-wide value when made in a test program’s @/main()/@ function.--The following functions will return subdirectories of the temporary directory-when this option is used. The specific subdirectory paths in use are not-guaranteed to be stable API — always use a getter function to retrieve them.-- - 'GI.GLib.Functions.getHomeDir'- - 'GI.GLib.Functions.getUserCacheDir'- - 'GI.GLib.Functions.getSystemConfigDirs'- - 'GI.GLib.Functions.getUserConfigDir'- - 'GI.GLib.Functions.getSystemDataDirs'- - 'GI.GLib.Functions.getUserDataDir'- - 'GI.GLib.Functions.getUserRuntimeDir'--The subdirectories may not be created by the test harness; as with normal-calls to functions like 'GI.GLib.Functions.getUserCacheDir', the caller must be prepared-to create the directory if it doesn’t exist.--/Since: 2.60/--}-pattern TEST_OPTION_ISOLATE_DIRS = "isolate_dirs" :: T.Text--{- |-/No description available in the introspection data./--}-pattern SYSDEF_MSG_PEEK = 2 :: Int32--{- |-/No description available in the introspection data./--}-pattern SYSDEF_MSG_OOB = 1 :: Int32--{- |-/No description available in the introspection data./--}-pattern SYSDEF_MSG_DONTROUTE = 4 :: Int32--{- |-/No description available in the introspection data./--}-pattern SYSDEF_AF_UNIX = 1 :: Int32--{- |-/No description available in the introspection data./--}-pattern SYSDEF_AF_INET6 = 10 :: Int32--{- |-/No description available in the introspection data./--}-pattern SYSDEF_AF_INET = 2 :: Int32--{- |-The standard delimiters, used in 'GI.GLib.Functions.strdelimit'.--}-pattern STR_DELIMITERS = "_-|> <." :: T.Text--{- |-The square root of two.--}-pattern SQRT2 = 1.414214 :: Double--{- |-Use this macro as the return value of a 'GI.GLib.Callbacks.SourceFunc' to remove-the 'GI.GLib.Structs.Source.Source' from the main loop.--/Since: 2.32/--}-pattern SOURCE_REMOVE = False :: Bool--{- |-Use this macro as the return value of a 'GI.GLib.Callbacks.SourceFunc' to leave-the 'GI.GLib.Structs.Source.Source' in the main loop.--/Since: 2.32/--}-pattern SOURCE_CONTINUE = True :: Bool--{- |-/No description available in the introspection data./--}-pattern SIZEOF_VOID_P = 8 :: Int32--{- |-/No description available in the introspection data./--}-pattern SIZEOF_SSIZE_T = 8 :: Int32--{- |-/No description available in the introspection data./--}-pattern SIZEOF_SIZE_T = 8 :: Int32--{- |-/No description available in the introspection data./--}-pattern SIZEOF_LONG = 8 :: Int32--{- |-The search path separator as a string.-This is \":\" on UNIX machines and \";\" under Windows.--}-pattern SEARCHPATH_SEPARATOR_S = ":" :: T.Text--{- |-The search path separator character.-This is \':\' on UNIX machines and \';\' under Windows.--}-pattern SEARCHPATH_SEPARATOR = 58 :: Int32--{- |-Use this for very low priority background tasks.--It is not used within GLib or GTK+.--}-pattern PRIORITY_LOW = 300 :: Int32--{- |-Use this for high priority idle functions.--GTK+ uses 'GI.GLib.Constants.PRIORITY_HIGH_IDLE' + 10 for resizing operations,-and 'GI.GLib.Constants.PRIORITY_HIGH_IDLE' + 20 for redrawing operations. (This is-done to ensure that any pending resizes are processed before any-pending redraws, so that widgets are not redrawn twice unnecessarily.)--}-pattern PRIORITY_HIGH_IDLE = 100 :: Int32--{- |-Use this for high priority event sources.--It is not used within GLib or GTK+.--}-pattern PRIORITY_HIGH = -100 :: Int32--{- |-Use this for default priority idle functions.--In GLib this priority is used when adding idle functions with-@/g_idle_add()/@.--}-pattern PRIORITY_DEFAULT_IDLE = 200 :: Int32--{- |-Use this for default priority event sources.--In GLib this priority is used when adding timeout functions-with @/g_timeout_add()/@. In GDK this priority is used for events-from the X server.--}-pattern PRIORITY_DEFAULT = 0 :: Int32--{- |-A format specifier that can be used in @/printf()/@-style format strings-when printing the /@fd@/ member of a 'GI.GLib.Structs.PollFD.PollFD'.--}-pattern POLLFD_FORMAT = "%d" :: T.Text--{- |-Pi divided by 4.--}-pattern PI_4 = 0.785398 :: Double--{- |-Pi divided by 2.--}-pattern PI_2 = 1.570796 :: Double--{- |-A format specifier that can be used in @/printf()/@-style format strings-when printing a @/GPid/@.--/Since: 2.50/--}-pattern PID_FORMAT = "i" :: T.Text--{- |-The value of pi (ratio of circle\'s circumference to its diameter).--}-pattern PI = 3.141593 :: Double--{- |-Specifies one of the possible types of byte order-(currently unused). See @/G_BYTE_ORDER/@.--}-pattern PDP_ENDIAN = 3412 :: Int32--{- |-If a long option in the main group has this name, it is not treated as a-regular option. Instead it collects all non-option arguments which would-otherwise be left in @argv@. The option must be of type-'GI.GLib.Enums.OptionArgCallback', 'GI.GLib.Enums.OptionArgStringArray'-or 'GI.GLib.Enums.OptionArgFilenameArray'.---Using 'GI.GLib.Constants.OPTION_REMAINING' instead of simply scanning @argv@-for leftover arguments has the advantage that GOption takes care of-necessary encoding conversions for strings or filenames.--/Since: 2.6/--}-pattern OPTION_REMAINING = "" :: T.Text--{- |-/No description available in the introspection data./--}-pattern MODULE_SUFFIX = "so" :: T.Text--{- |-The minor version number of the GLib library.--Like @/gtk_minor_version/@, but from the headers used at-application compile time, rather than from the library-linked against at application run time.--}-pattern MINOR_VERSION = 60 :: Int32--{- |-The minimum value which can be held in a @/gint8/@.--/Since: 2.4/--}-pattern MININT8 = -128 :: Int8--{- |-The minimum value which can be held in a @/gint64/@.--}-pattern MININT64 = -9223372036854775808 :: Int64--{- |-The minimum value which can be held in a @/gint32/@.--/Since: 2.4/--}-pattern MININT32 = -2147483648 :: Int32--{- |-The minimum value which can be held in a @/gint16/@.--/Since: 2.4/--}-pattern MININT16 = -32768 :: Int16--{- |-The micro version number of the GLib library.--Like @/gtk_micro_version/@, but from the headers used at-application compile time, rather than from the library-linked against at application run time.--}-pattern MICRO_VERSION = 1 :: Int32--{- |-The maximum value which can be held in a @/guint8/@.--/Since: 2.4/--}-pattern MAXUINT8 = 255 :: Word8--{- |-The maximum value which can be held in a @/guint64/@.--}-pattern MAXUINT64 = 18446744073709551615 :: Word64--{- |-The maximum value which can be held in a @/guint32/@.--/Since: 2.4/--}-pattern MAXUINT32 = 4294967295 :: Word32--{- |-The maximum value which can be held in a @/guint16/@.--/Since: 2.4/--}-pattern MAXUINT16 = 65535 :: Word16--{- |-The maximum value which can be held in a @/gint8/@.--/Since: 2.4/--}-pattern MAXINT8 = 127 :: Int8--{- |-The maximum value which can be held in a @/gint64/@.--}-pattern MAXINT64 = 9223372036854775807 :: Int64--{- |-The maximum value which can be held in a @/gint32/@.--/Since: 2.4/--}-pattern MAXINT32 = 2147483647 :: Int32--{- |-The maximum value which can be held in a @/gint16/@.--/Since: 2.4/--}-pattern MAXINT16 = 32767 :: Int16--{- |-The major version number of the GLib library.--Like @/glib_major_version/@, but from the headers used at-application compile time, rather than from the library-linked against at application run time.--}-pattern MAJOR_VERSION = 2 :: Int32--{- |-Log levels below 1\<\<G_LOG_LEVEL_USER_SHIFT are used by GLib.-Higher bits can be used for user-defined log levels.--}-pattern LOG_LEVEL_USER_SHIFT = 8 :: Int32--{- |-GLib log levels that are considered fatal by default.--This is not used if structured logging is enabled; see-[Using Structured Logging][using-structured-logging].--}-pattern LOG_FATAL_MASK = 5 :: Int32--{- |-Defines the log domain. See <http://developer.gnome.org/glib/stable/#log-domains Log Domains>.--Libraries should define this so that any messages-which they log can be differentiated from messages from other-libraries and application code. But be careful not to define-it in any public header files.--Log domains must be unique, and it is recommended that they are the-application or library name, optionally followed by a hyphen and a sub-domain-name. For example, @bloatpad@ or @bloatpad-io@.--If undefined, it defaults to the default 'Nothing' (or @\"\"@) log domain; this is-not advisable, as it cannot be filtered against using the @G_MESSAGES_DEBUG@-environment variable.--For example, GTK+ uses this in its @Makefile.am@:->->AM_CPPFLAGS = -DG_LOG_DOMAIN=\"Gtk\"---Applications can choose to leave it as the default 'Nothing' (or @\"\"@)-domain. However, defining the domain offers the same advantages as-above.--}-pattern LOG_DOMAIN = 0 :: Int8--{- |-Multiplying the base 2 exponent by this number yields the base 10 exponent.--}-pattern LOG_2_BASE_10 = 0.301030 :: Double--{- |-The natural logarithm of 2.--}-pattern LN2 = 0.693147 :: Double--{- |-The natural logarithm of 10.--}-pattern LN10 = 2.302585 :: Double--{- |-Specifies one of the possible types of byte order.-See @/G_BYTE_ORDER/@.--}-pattern LITTLE_ENDIAN = 1234 :: Int32--{- |-The value of the 'GI.GLib.Constants.KEY_FILE_DESKTOP_KEY_TYPE', key for desktop-entries representing links to documents.--/Since: 2.14/--}-pattern KEY_FILE_DESKTOP_TYPE_LINK = "Link" :: T.Text--{- |-The value of the 'GI.GLib.Constants.KEY_FILE_DESKTOP_KEY_TYPE', key for desktop-entries representing directories.--/Since: 2.14/--}-pattern KEY_FILE_DESKTOP_TYPE_DIRECTORY = "Directory" :: T.Text--{- |-The value of the 'GI.GLib.Constants.KEY_FILE_DESKTOP_KEY_TYPE', key for desktop-entries representing applications.--/Since: 2.14/--}-pattern KEY_FILE_DESKTOP_TYPE_APPLICATION = "Application" :: T.Text--{- |-A key under 'GI.GLib.Constants.KEY_FILE_DESKTOP_GROUP', whose value is a string-giving the version of the Desktop Entry Specification used for-the desktop entry file.--/Since: 2.14/--}-pattern KEY_FILE_DESKTOP_KEY_VERSION = "Version" :: T.Text--{- |-A key under 'GI.GLib.Constants.KEY_FILE_DESKTOP_GROUP', whose value is a string-giving the URL to access. It is only valid for desktop entries-with the @Link@ type.--/Since: 2.14/--}-pattern KEY_FILE_DESKTOP_KEY_URL = "URL" :: T.Text--{- |-A key under 'GI.GLib.Constants.KEY_FILE_DESKTOP_GROUP', whose value is a string-giving the type of the desktop entry. Usually-'GI.GLib.Constants.KEY_FILE_DESKTOP_TYPE_APPLICATION',-'GI.GLib.Constants.KEY_FILE_DESKTOP_TYPE_LINK', or-'GI.GLib.Constants.KEY_FILE_DESKTOP_TYPE_DIRECTORY'.--/Since: 2.14/--}-pattern KEY_FILE_DESKTOP_KEY_TYPE = "Type" :: T.Text--{- |-A key under 'GI.GLib.Constants.KEY_FILE_DESKTOP_GROUP', whose value is a string-giving the file name of a binary on disk used to determine if the-program is actually installed. It is only valid for desktop entries-with the @Application@ type.--/Since: 2.14/--}-pattern KEY_FILE_DESKTOP_KEY_TRY_EXEC = "TryExec" :: T.Text--{- |-A key under 'GI.GLib.Constants.KEY_FILE_DESKTOP_GROUP', whose value is a boolean-stating whether the program should be run in a terminal window.-It is only valid for desktop entries with the-@Application@ type.--/Since: 2.14/--}-pattern KEY_FILE_DESKTOP_KEY_TERMINAL = "Terminal" :: T.Text--{- |-A key under 'GI.GLib.Constants.KEY_FILE_DESKTOP_GROUP', whose value is string-identifying the WM class or name hint of a window that the application-will create, which can be used to emulate Startup Notification with-older applications.--/Since: 2.14/--}-pattern KEY_FILE_DESKTOP_KEY_STARTUP_WM_CLASS = "StartupWMClass" :: T.Text--{- |-A key under 'GI.GLib.Constants.KEY_FILE_DESKTOP_GROUP', whose value is a boolean-stating whether the application supports the-<http://www.freedesktop.org/Standards/startup-notification-spec Startup Notification Protocol Specification>.--/Since: 2.14/--}-pattern KEY_FILE_DESKTOP_KEY_STARTUP_NOTIFY = "StartupNotify" :: T.Text--{- |-A key under 'GI.GLib.Constants.KEY_FILE_DESKTOP_GROUP', whose value is a string-containing the working directory to run the program in. It is only-valid for desktop entries with the @Application@ type.--/Since: 2.14/--}-pattern KEY_FILE_DESKTOP_KEY_PATH = "Path" :: T.Text--{- |-A key under 'GI.GLib.Constants.KEY_FILE_DESKTOP_GROUP', whose value is a list of-strings identifying the environments that should display the-desktop entry.--/Since: 2.14/--}-pattern KEY_FILE_DESKTOP_KEY_ONLY_SHOW_IN = "OnlyShowIn" :: T.Text--{- |-A key under 'GI.GLib.Constants.KEY_FILE_DESKTOP_GROUP', whose value is a boolean-stating whether the desktop entry should be shown in menus.--/Since: 2.14/--}-pattern KEY_FILE_DESKTOP_KEY_NO_DISPLAY = "NoDisplay" :: T.Text--{- |-A key under 'GI.GLib.Constants.KEY_FILE_DESKTOP_GROUP', whose value is a list of-strings identifying the environments that should not display the-desktop entry.--/Since: 2.14/--}-pattern KEY_FILE_DESKTOP_KEY_NOT_SHOW_IN = "NotShowIn" :: T.Text--{- |-A key under 'GI.GLib.Constants.KEY_FILE_DESKTOP_GROUP', whose value is a localized-string giving the specific name of the desktop entry.--/Since: 2.14/--}-pattern KEY_FILE_DESKTOP_KEY_NAME = "Name" :: T.Text--{- |-A key under 'GI.GLib.Constants.KEY_FILE_DESKTOP_GROUP', whose value is a list-of strings giving the MIME types supported by this desktop entry.--/Since: 2.14/--}-pattern KEY_FILE_DESKTOP_KEY_MIME_TYPE = "MimeType" :: T.Text--{- |-A key under 'GI.GLib.Constants.KEY_FILE_DESKTOP_GROUP', whose value is a localized-string giving the name of the icon to be displayed for the desktop-entry.--/Since: 2.14/--}-pattern KEY_FILE_DESKTOP_KEY_ICON = "Icon" :: T.Text--{- |-A key under 'GI.GLib.Constants.KEY_FILE_DESKTOP_GROUP', whose value is a boolean-stating whether the desktop entry has been deleted by the user.--/Since: 2.14/--}-pattern KEY_FILE_DESKTOP_KEY_HIDDEN = "Hidden" :: T.Text--{- |-A key under 'GI.GLib.Constants.KEY_FILE_DESKTOP_GROUP', whose value is a localized-string giving the generic name of the desktop entry.--/Since: 2.14/--}-pattern KEY_FILE_DESKTOP_KEY_GENERIC_NAME = "GenericName" :: T.Text--{- |-A key under 'GI.GLib.Constants.KEY_FILE_DESKTOP_GROUP', whose value is a string-giving the command line to execute. It is only valid for desktop-entries with the @Application@ type.--/Since: 2.14/--}-pattern KEY_FILE_DESKTOP_KEY_EXEC = "Exec" :: T.Text--{- |-A key under 'GI.GLib.Constants.KEY_FILE_DESKTOP_GROUP', whose value is a boolean set to true-if the application is D-Bus activatable.--/Since: 2.38/--}-pattern KEY_FILE_DESKTOP_KEY_DBUS_ACTIVATABLE = "DBusActivatable" :: T.Text--{- |-A key under 'GI.GLib.Constants.KEY_FILE_DESKTOP_GROUP', whose value is a localized-string giving the tooltip for the desktop entry.--/Since: 2.14/--}-pattern KEY_FILE_DESKTOP_KEY_COMMENT = "Comment" :: T.Text--{- |-A key under 'GI.GLib.Constants.KEY_FILE_DESKTOP_GROUP', whose value is a list-of strings giving the categories in which the desktop entry-should be shown in a menu.--/Since: 2.14/--}-pattern KEY_FILE_DESKTOP_KEY_CATEGORIES = "Categories" :: T.Text--{- |-A key under 'GI.GLib.Constants.KEY_FILE_DESKTOP_GROUP', whose value is a string list-giving the available application actions.--/Since: 2.38/--}-pattern KEY_FILE_DESKTOP_KEY_ACTIONS = "Actions" :: T.Text--{- |-The name of the main group of a desktop entry file, as defined in the-<http://freedesktop.org/Standards/desktop-entry-spec Desktop Entry Specification>.-Consult the specification for more-details about the meanings of the keys below.--/Since: 2.14/--}-pattern KEY_FILE_DESKTOP_GROUP = "Desktop Entry" :: T.Text--{- |-The bias by which exponents in single-precision floats are offset.--}-pattern IEEE754_FLOAT_BIAS = 127 :: Int32--{- |-The bias by which exponents in double-precision floats are offset.--}-pattern IEEE754_DOUBLE_BIAS = 1023 :: Int32--{- |-The position of the first bit which is not reserved for internal-use be the 'GI.GLib.Structs.Hook.Hook' implementation, i.e.-@1 \<\< G_HOOK_FLAG_USER_SHIFT@ is the first-bit which can be used for application-defined flags.--}-pattern HOOK_FLAG_USER_SHIFT = 4 :: Int32--{- |-/No description available in the introspection data./--}-pattern HAVE_ISO_VARARGS = 1 :: Int32--{- |-/No description available in the introspection data./--}-pattern HAVE_GROWING_STACK = 0 :: Int32--{- |-Defined to 1 if gcc-style visibility handling is supported.--}-pattern HAVE_GNUC_VISIBILITY = 1 :: Int32--{- |-/No description available in the introspection data./--}-pattern HAVE_GNUC_VARARGS = 1 :: Int32--{- |-/No description available in the introspection data./--}-pattern HAVE_GINT64 = 1 :: Int32--{- |-This is the platform dependent conversion specifier-for scanning and printing values of type @/guintptr/@.--/Since: 2.22/--}-pattern GUINTPTR_FORMAT = "lu" :: T.Text--{- |-This is the platform dependent conversion specifier for scanning-and printing values of type @/guint64/@. See also 'GI.GLib.Constants.GINT16_FORMAT'.--Some platforms do not support scanning and printing 64-bit integers,-even though the types are supported. On such platforms 'GI.GLib.Constants.GUINT64_FORMAT'-is not defined.  Note that @/scanf()/@ may not support 64-bit integers, even-if 'GI.GLib.Constants.GINT64_FORMAT' is defined. Due to its weak error handling, @/scanf()/@-is not recommended for parsing anyway; consider using 'GI.GLib.Functions.asciiStrtoull'-instead.--}-pattern GUINT64_FORMAT = "lu" :: T.Text--{- |-This is the platform dependent conversion specifier for scanning-and printing values of type @/guint32/@. See also 'GI.GLib.Constants.GINT16_FORMAT'.--}-pattern GUINT32_FORMAT = "u" :: T.Text--{- |-This is the platform dependent conversion specifier for scanning-and printing values of type @/guint16/@. See also 'GI.GLib.Constants.GINT16_FORMAT'--}-pattern GUINT16_FORMAT = "hu" :: T.Text--{- |-The platform dependent length modifier for conversion specifiers-for scanning and printing values of type @/gssize/@. It-is a string literal.--/Since: 2.6/--}-pattern GSSIZE_MODIFIER = "l" :: T.Text--{- |-This is the platform dependent conversion specifier for scanning-and printing values of type @/gssize/@. See also 'GI.GLib.Constants.GINT16_FORMAT'.--/Since: 2.6/--}-pattern GSSIZE_FORMAT = "li" :: T.Text--{- |-The platform dependent length modifier for conversion specifiers-for scanning and printing values of type @/gsize/@. It-is a string literal.--/Since: 2.6/--}-pattern GSIZE_MODIFIER = "l" :: T.Text--{- |-This is the platform dependent conversion specifier for scanning-and printing values of type @/gsize/@. See also 'GI.GLib.Constants.GINT16_FORMAT'.--/Since: 2.6/--}-pattern GSIZE_FORMAT = "lu" :: T.Text--{-# DEPRECATED GNUC_PRETTY_FUNCTION ["(Since version 2.16)","Use @/G_STRFUNC()/@ instead"] #-}-{- |-Expands to \"\" on all modern compilers, and to __PRETTY_FUNCTION__-on gcc version 2.x. Don\'t use it.--}-pattern GNUC_PRETTY_FUNCTION = "" :: T.Text--{-# DEPRECATED GNUC_FUNCTION ["(Since version 2.16)","Use @/G_STRFUNC()/@ instead"] #-}-{- |-Expands to \"\" on all modern compilers, and to  __FUNCTION__ on gcc-version 2.x. Don\'t use it.--}-pattern GNUC_FUNCTION = "" :: T.Text--{- |-The platform dependent length modifier for conversion specifiers-for scanning and printing values of type @/gintptr/@ or @/guintptr/@.-It is a string literal.--/Since: 2.22/--}-pattern GINTPTR_MODIFIER = "l" :: T.Text--{- |-This is the platform dependent conversion specifier for scanning-and printing values of type @/gintptr/@.--/Since: 2.22/--}-pattern GINTPTR_FORMAT = "li" :: T.Text--{- |-The platform dependent length modifier for conversion specifiers-for scanning and printing values of type @/gint64/@ or @/guint64/@.-It is a string literal.--Some platforms do not support printing 64-bit integers, even-though the types are supported. On such platforms 'GI.GLib.Constants.GINT64_MODIFIER'-is not defined.--/Since: 2.4/--}-pattern GINT64_MODIFIER = "l" :: T.Text--{- |-This is the platform dependent conversion specifier for scanning-and printing values of type @/gint64/@. See also 'GI.GLib.Constants.GINT16_FORMAT'.--Some platforms do not support scanning and printing 64-bit integers,-even though the types are supported. On such platforms 'GI.GLib.Constants.GINT64_FORMAT'-is not defined. Note that @/scanf()/@ may not support 64-bit integers, even-if 'GI.GLib.Constants.GINT64_FORMAT' is defined. Due to its weak error handling, @/scanf()/@-is not recommended for parsing anyway; consider using 'GI.GLib.Functions.asciiStrtoull'-instead.--}-pattern GINT64_FORMAT = "li" :: T.Text--{- |-The platform dependent length modifier for conversion specifiers-for scanning and printing values of type @/gint32/@ or @/guint32/@. It-is a string literal. See also 'GI.GLib.Constants.GINT16_MODIFIER'.--/Since: 2.4/--}-pattern GINT32_MODIFIER = "" :: T.Text--{- |-This is the platform dependent conversion specifier for scanning-and printing values of type @/gint32/@. See also 'GI.GLib.Constants.GINT16_FORMAT'.--}-pattern GINT32_FORMAT = "i" :: T.Text--{- |-The platform dependent length modifier for conversion specifiers-for scanning and printing values of type @/gint16/@ or @/guint16/@. It-is a string literal, but doesn\'t include the percent-sign, such-that you can add precision and length modifiers between percent-sign-and conversion specifier and append a conversion specifier.--The following example prints \"0x7b\";--=== /C code/->->gint16 value = 123;->g_print ("%#" G_GINT16_MODIFIER "x", value);---/Since: 2.4/--}-pattern GINT16_MODIFIER = "h" :: T.Text--{- |-This is the platform dependent conversion specifier for scanning and-printing values of type @/gint16/@. It is a string literal, but doesn\'t-include the percent-sign, such that you can add precision and length-modifiers between percent-sign and conversion specifier.---=== /C code/->->gint16 in;->gint32 out;->sscanf ("42", "%" G_GINT16_FORMAT, &in)->out = in * 1000;->g_print ("%" G_GINT32_FORMAT, out);--}-pattern GINT16_FORMAT = "hi" :: T.Text--{- |-The base of natural logarithms.--}-pattern E = 2.718282 :: Double--{- |-The directory separator as a string.-This is \"\/\" on UNIX machines and \"\\\" under Windows.--}-pattern DIR_SEPARATOR_S = "/" :: T.Text--{- |-The directory separator character.-This is \'\/\' on UNIX machines and \'\\\' under Windows.--}-pattern DIR_SEPARATOR = 47 :: Int32--{- |-Represents an invalid year.--}-pattern DATE_BAD_YEAR = 0 :: Int32--{- |-Represents an invalid Julian day number.--}-pattern DATE_BAD_JULIAN = 0 :: Int32--{- |-Represents an invalid @/GDateDay/@.--}-pattern DATE_BAD_DAY = 0 :: Int32--{- |-A bitmask that restricts the possible flags passed to-'GI.GLib.Functions.datalistSetFlags'. Passing a flags value where-flags & ~G_DATALIST_FLAGS_MASK != 0 is an error.--}-pattern DATALIST_FLAGS_MASK = 3 :: Int32--{- |-The set of lowercase ASCII alphabet characters.-Used for specifying valid identifier characters-in 'GI.GLib.Structs.ScannerConfig.ScannerConfig'.--}-pattern CSET_a_2_z = "abcdefghijklmnopqrstuvwxyz" :: T.Text--{- |-The set of ASCII digits.-Used for specifying valid identifier characters-in 'GI.GLib.Structs.ScannerConfig.ScannerConfig'.--}-pattern CSET_DIGITS = "0123456789" :: T.Text--{- |-The set of uppercase ASCII alphabet characters.-Used for specifying valid identifier characters-in 'GI.GLib.Structs.ScannerConfig.ScannerConfig'.--}-pattern CSET_A_2_Z = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" :: T.Text--{- |-Specifies one of the possible types of byte order.-See @/G_BYTE_ORDER/@.--}-pattern BIG_ENDIAN = 4321 :: Int32--{- |-A good size for a buffer to be passed into 'GI.GLib.Functions.asciiDtostr'.-It is guaranteed to be enough for all output of that function-on systems with 64bit IEEE-compatible doubles.--The typical usage would be something like:--=== /C code/->->  char buf[G_ASCII_DTOSTR_BUF_SIZE];->->  fprintf (out, "value=%s\n", g_ascii_dtostr (buf, sizeof (buf), value));--}-pattern ASCII_DTOSTR_BUF_SIZE = 39 :: Int32--{- |-/No description available in the introspection data./--}-pattern ANALYZER_ANALYZING = 1 :: Int32--
− GI/GLib/Enums.hs
@@ -1,4585 +0,0 @@---{- |-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.GLib.Enums-    ( -- -- * Enumerations--- ** BookmarkFileError #enum:BookmarkFileError#--    BookmarkFileError(..)                   ,-    catchBookmarkFileError                  ,-    handleBookmarkFileError                 ,----- ** ChecksumType #enum:ChecksumType#--    ChecksumType(..)                        ,----- ** ConvertError #enum:ConvertError#--    ConvertError(..)                        ,-    catchConvertError                       ,-    handleConvertError                      ,----- ** DateDMY #enum:DateDMY#--    DateDMY(..)                             ,----- ** DateMonth #enum:DateMonth#--    DateMonth(..)                           ,----- ** DateWeekday #enum:DateWeekday#--    DateWeekday(..)                         ,----- ** ErrorType #enum:ErrorType#--    ErrorType(..)                           ,----- ** FileError #enum:FileError#--    FileError(..)                           ,-    catchFileError                          ,-    handleFileError                         ,----- ** IOChannelError #enum:IOChannelError#--    IOChannelError(..)                      ,-    catchIOChannelError                     ,-    handleIOChannelError                    ,----- ** IOError #enum:IOError#--    IOError(..)                             ,----- ** IOStatus #enum:IOStatus#--    IOStatus(..)                            ,----- ** KeyFileError #enum:KeyFileError#--    KeyFileError(..)                        ,-    catchKeyFileError                       ,-    handleKeyFileError                      ,----- ** LogWriterOutput #enum:LogWriterOutput#--    LogWriterOutput(..)                     ,----- ** MarkupError #enum:MarkupError#--    MarkupError(..)                         ,-    catchMarkupError                        ,-    handleMarkupError                       ,----- ** NormalizeMode #enum:NormalizeMode#--    NormalizeMode(..)                       ,----- ** NumberParserError #enum:NumberParserError#--    NumberParserError(..)                   ,-    catchNumberParserError                  ,-    handleNumberParserError                 ,----- ** OnceStatus #enum:OnceStatus#--    OnceStatus(..)                          ,----- ** OptionArg #enum:OptionArg#--    OptionArg(..)                           ,----- ** OptionError #enum:OptionError#--    OptionError(..)                         ,-    catchOptionError                        ,-    handleOptionError                       ,----- ** RegexError #enum:RegexError#--    RegexError(..)                          ,-    catchRegexError                         ,-    handleRegexError                        ,----- ** SeekType #enum:SeekType#--    SeekType(..)                            ,----- ** ShellError #enum:ShellError#--    ShellError(..)                          ,-    catchShellError                         ,-    handleShellError                        ,----- ** SliceConfig #enum:SliceConfig#--    SliceConfig(..)                         ,----- ** SpawnError #enum:SpawnError#--    SpawnError(..)                          ,-    catchSpawnError                         ,-    handleSpawnError                        ,----- ** TestFileType #enum:TestFileType#--    TestFileType(..)                        ,----- ** TestLogType #enum:TestLogType#--    TestLogType(..)                         ,----- ** TestResult #enum:TestResult#--    TestResult(..)                          ,----- ** ThreadError #enum:ThreadError#--    ThreadError(..)                         ,-    catchThreadError                        ,-    handleThreadError                       ,----- ** TimeType #enum:TimeType#--    TimeType(..)                            ,----- ** TokenType #enum:TokenType#--    TokenType(..)                           ,----- ** TraverseType #enum:TraverseType#--    TraverseType(..)                        ,----- ** UnicodeBreakType #enum:UnicodeBreakType#--    UnicodeBreakType(..)                    ,----- ** UnicodeScript #enum:UnicodeScript#--    UnicodeScript(..)                       ,----- ** UnicodeType #enum:UnicodeType#--    UnicodeType(..)                         ,----- ** UserDirectory #enum:UserDirectory#--    UserDirectory(..)                       ,----- ** VariantClass #enum:VariantClass#--    VariantClass(..)                        ,----- ** VariantParseError #enum:VariantParseError#--    VariantParseError(..)                   ,-    catchVariantParseError                  ,-    handleVariantParseError                 ,-----    ) 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 VariantParseError-{- |-Error codes returned by parsing text-format GVariants.--}-data VariantParseError = -      VariantParseErrorFailed-    {- ^-    generic error (unused)-    -}-    | VariantParseErrorBasicTypeExpected-    {- ^-    a non-basic 'GI.GLib.Structs.VariantType.VariantType' was given where a basic type was expected-    -}-    | VariantParseErrorCannotInferType-    {- ^-    cannot infer the 'GI.GLib.Structs.VariantType.VariantType'-    -}-    | VariantParseErrorDefiniteTypeExpected-    {- ^-    an indefinite 'GI.GLib.Structs.VariantType.VariantType' was given where a definite type was expected-    -}-    | VariantParseErrorInputNotAtEnd-    {- ^-    extra data after parsing finished-    -}-    | VariantParseErrorInvalidCharacter-    {- ^-    invalid character in number or unicode escape-    -}-    | VariantParseErrorInvalidFormatString-    {- ^-    not a valid 'GVariant' format string-    -}-    | VariantParseErrorInvalidObjectPath-    {- ^-    not a valid object path-    -}-    | VariantParseErrorInvalidSignature-    {- ^-    not a valid type signature-    -}-    | VariantParseErrorInvalidTypeString-    {- ^-    not a valid 'GVariant' type string-    -}-    | VariantParseErrorNoCommonType-    {- ^-    could not find a common type for array entries-    -}-    | VariantParseErrorNumberOutOfRange-    {- ^-    the numerical value is out of range of the given type-    -}-    | VariantParseErrorNumberTooBig-    {- ^-    the numerical value is out of range for any type-    -}-    | VariantParseErrorTypeError-    {- ^-    cannot parse as variant of the specified type-    -}-    | VariantParseErrorUnexpectedToken-    {- ^-    an unexpected token was encountered-    -}-    | VariantParseErrorUnknownKeyword-    {- ^-    an unknown keyword was encountered-    -}-    | VariantParseErrorUnterminatedStringConstant-    {- ^-    unterminated string constant-    -}-    | VariantParseErrorValueExpected-    {- ^-    no value given-    -}-    | AnotherVariantParseError Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum VariantParseError where-    fromEnum VariantParseErrorFailed = 0-    fromEnum VariantParseErrorBasicTypeExpected = 1-    fromEnum VariantParseErrorCannotInferType = 2-    fromEnum VariantParseErrorDefiniteTypeExpected = 3-    fromEnum VariantParseErrorInputNotAtEnd = 4-    fromEnum VariantParseErrorInvalidCharacter = 5-    fromEnum VariantParseErrorInvalidFormatString = 6-    fromEnum VariantParseErrorInvalidObjectPath = 7-    fromEnum VariantParseErrorInvalidSignature = 8-    fromEnum VariantParseErrorInvalidTypeString = 9-    fromEnum VariantParseErrorNoCommonType = 10-    fromEnum VariantParseErrorNumberOutOfRange = 11-    fromEnum VariantParseErrorNumberTooBig = 12-    fromEnum VariantParseErrorTypeError = 13-    fromEnum VariantParseErrorUnexpectedToken = 14-    fromEnum VariantParseErrorUnknownKeyword = 15-    fromEnum VariantParseErrorUnterminatedStringConstant = 16-    fromEnum VariantParseErrorValueExpected = 17-    fromEnum (AnotherVariantParseError k) = k--    toEnum 0 = VariantParseErrorFailed-    toEnum 1 = VariantParseErrorBasicTypeExpected-    toEnum 2 = VariantParseErrorCannotInferType-    toEnum 3 = VariantParseErrorDefiniteTypeExpected-    toEnum 4 = VariantParseErrorInputNotAtEnd-    toEnum 5 = VariantParseErrorInvalidCharacter-    toEnum 6 = VariantParseErrorInvalidFormatString-    toEnum 7 = VariantParseErrorInvalidObjectPath-    toEnum 8 = VariantParseErrorInvalidSignature-    toEnum 9 = VariantParseErrorInvalidTypeString-    toEnum 10 = VariantParseErrorNoCommonType-    toEnum 11 = VariantParseErrorNumberOutOfRange-    toEnum 12 = VariantParseErrorNumberTooBig-    toEnum 13 = VariantParseErrorTypeError-    toEnum 14 = VariantParseErrorUnexpectedToken-    toEnum 15 = VariantParseErrorUnknownKeyword-    toEnum 16 = VariantParseErrorUnterminatedStringConstant-    toEnum 17 = VariantParseErrorValueExpected-    toEnum k = AnotherVariantParseError k--instance P.Ord VariantParseError where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance GErrorClass VariantParseError where-    gerrorClassDomain _ = "g-variant-parse-error-quark"---- | Catch exceptions of type `VariantParseError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.-catchVariantParseError ::-    IO a ->-    (VariantParseError -> GErrorMessage -> IO a) ->-    IO a-catchVariantParseError = catchGErrorJustDomain---- | Handle exceptions of type `VariantParseError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.-handleVariantParseError ::-    (VariantParseError -> GErrorMessage -> IO a) ->-    IO a ->-    IO a-handleVariantParseError = handleGErrorJustDomain---- Enum VariantClass-{- |-The range of possible top-level types of 'GVariant' instances.--/Since: 2.24/--}-data VariantClass = -      VariantClassBoolean-    {- ^-    The 'GVariant' is a boolean.-    -}-    | VariantClassByte-    {- ^-    The 'GVariant' is a byte.-    -}-    | VariantClassInt16-    {- ^-    The 'GVariant' is a signed 16 bit integer.-    -}-    | VariantClassUint16-    {- ^-    The 'GVariant' is an unsigned 16 bit integer.-    -}-    | VariantClassInt32-    {- ^-    The 'GVariant' is a signed 32 bit integer.-    -}-    | VariantClassUint32-    {- ^-    The 'GVariant' is an unsigned 32 bit integer.-    -}-    | VariantClassInt64-    {- ^-    The 'GVariant' is a signed 64 bit integer.-    -}-    | VariantClassUint64-    {- ^-    The 'GVariant' is an unsigned 64 bit integer.-    -}-    | VariantClassHandle-    {- ^-    The 'GVariant' is a file handle index.-    -}-    | VariantClassDouble-    {- ^-    The 'GVariant' is a double precision floating-                             point value.-    -}-    | VariantClassString-    {- ^-    The 'GVariant' is a normal string.-    -}-    | VariantClassObjectPath-    {- ^-    The 'GVariant' is a D-Bus object path-                                  string.-    -}-    | VariantClassSignature-    {- ^-    The 'GVariant' is a D-Bus signature string.-    -}-    | VariantClassVariant-    {- ^-    The 'GVariant' is a variant.-    -}-    | VariantClassMaybe-    {- ^-    The 'GVariant' is a maybe-typed value.-    -}-    | VariantClassArray-    {- ^-    The 'GVariant' is an array.-    -}-    | VariantClassTuple-    {- ^-    The 'GVariant' is a tuple.-    -}-    | VariantClassDictEntry-    {- ^-    The 'GVariant' is a dictionary entry.-    -}-    | AnotherVariantClass Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum VariantClass where-    fromEnum VariantClassBoolean = 98-    fromEnum VariantClassByte = 121-    fromEnum VariantClassInt16 = 110-    fromEnum VariantClassUint16 = 113-    fromEnum VariantClassInt32 = 105-    fromEnum VariantClassUint32 = 117-    fromEnum VariantClassInt64 = 120-    fromEnum VariantClassUint64 = 116-    fromEnum VariantClassHandle = 104-    fromEnum VariantClassDouble = 100-    fromEnum VariantClassString = 115-    fromEnum VariantClassObjectPath = 111-    fromEnum VariantClassSignature = 103-    fromEnum VariantClassVariant = 118-    fromEnum VariantClassMaybe = 109-    fromEnum VariantClassArray = 97-    fromEnum VariantClassTuple = 40-    fromEnum VariantClassDictEntry = 123-    fromEnum (AnotherVariantClass k) = k--    toEnum 98 = VariantClassBoolean-    toEnum 121 = VariantClassByte-    toEnum 110 = VariantClassInt16-    toEnum 113 = VariantClassUint16-    toEnum 105 = VariantClassInt32-    toEnum 117 = VariantClassUint32-    toEnum 120 = VariantClassInt64-    toEnum 116 = VariantClassUint64-    toEnum 104 = VariantClassHandle-    toEnum 100 = VariantClassDouble-    toEnum 115 = VariantClassString-    toEnum 111 = VariantClassObjectPath-    toEnum 103 = VariantClassSignature-    toEnum 118 = VariantClassVariant-    toEnum 109 = VariantClassMaybe-    toEnum 97 = VariantClassArray-    toEnum 40 = VariantClassTuple-    toEnum 123 = VariantClassDictEntry-    toEnum k = AnotherVariantClass k--instance P.Ord VariantClass where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum UserDirectory-{- |-These are logical ids for special directories which are defined-depending on the platform used. You should use 'GI.GLib.Functions.getUserSpecialDir'-to retrieve the full path associated to the logical id.--The 'GI.GLib.Enums.UserDirectory' enumeration can be extended at later date. Not-every platform has a directory for every logical id in this-enumeration.--/Since: 2.14/--}-data UserDirectory = -      UserDirectoryDirectoryDesktop-    {- ^-    the user\'s Desktop directory-    -}-    | UserDirectoryDirectoryDocuments-    {- ^-    the user\'s Documents directory-    -}-    | UserDirectoryDirectoryDownload-    {- ^-    the user\'s Downloads directory-    -}-    | UserDirectoryDirectoryMusic-    {- ^-    the user\'s Music directory-    -}-    | UserDirectoryDirectoryPictures-    {- ^-    the user\'s Pictures directory-    -}-    | UserDirectoryDirectoryPublicShare-    {- ^-    the user\'s shared directory-    -}-    | UserDirectoryDirectoryTemplates-    {- ^-    the user\'s Templates directory-    -}-    | UserDirectoryDirectoryVideos-    {- ^-    the user\'s Movies directory-    -}-    | UserDirectoryNDirectories-    {- ^-    the number of enum values-    -}-    | AnotherUserDirectory Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum UserDirectory where-    fromEnum UserDirectoryDirectoryDesktop = 0-    fromEnum UserDirectoryDirectoryDocuments = 1-    fromEnum UserDirectoryDirectoryDownload = 2-    fromEnum UserDirectoryDirectoryMusic = 3-    fromEnum UserDirectoryDirectoryPictures = 4-    fromEnum UserDirectoryDirectoryPublicShare = 5-    fromEnum UserDirectoryDirectoryTemplates = 6-    fromEnum UserDirectoryDirectoryVideos = 7-    fromEnum UserDirectoryNDirectories = 8-    fromEnum (AnotherUserDirectory k) = k--    toEnum 0 = UserDirectoryDirectoryDesktop-    toEnum 1 = UserDirectoryDirectoryDocuments-    toEnum 2 = UserDirectoryDirectoryDownload-    toEnum 3 = UserDirectoryDirectoryMusic-    toEnum 4 = UserDirectoryDirectoryPictures-    toEnum 5 = UserDirectoryDirectoryPublicShare-    toEnum 6 = UserDirectoryDirectoryTemplates-    toEnum 7 = UserDirectoryDirectoryVideos-    toEnum 8 = UserDirectoryNDirectories-    toEnum k = AnotherUserDirectory k--instance P.Ord UserDirectory where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum UnicodeType-{- |-These are the possible character classifications from the-Unicode specification.-See <http://www.unicode.org/reports/tr44/#General_Category_Values Unicode Character Database>.--}-data UnicodeType = -      UnicodeTypeControl-    {- ^-    General category \"Other, Control\" (Cc)-    -}-    | UnicodeTypeFormat-    {- ^-    General category \"Other, Format\" (Cf)-    -}-    | UnicodeTypeUnassigned-    {- ^-    General category \"Other, Not Assigned\" (Cn)-    -}-    | UnicodeTypePrivateUse-    {- ^-    General category \"Other, Private Use\" (Co)-    -}-    | UnicodeTypeSurrogate-    {- ^-    General category \"Other, Surrogate\" (Cs)-    -}-    | UnicodeTypeLowercaseLetter-    {- ^-    General category \"Letter, Lowercase\" (Ll)-    -}-    | UnicodeTypeModifierLetter-    {- ^-    General category \"Letter, Modifier\" (Lm)-    -}-    | UnicodeTypeOtherLetter-    {- ^-    General category \"Letter, Other\" (Lo)-    -}-    | UnicodeTypeTitlecaseLetter-    {- ^-    General category \"Letter, Titlecase\" (Lt)-    -}-    | UnicodeTypeUppercaseLetter-    {- ^-    General category \"Letter, Uppercase\" (Lu)-    -}-    | UnicodeTypeSpacingMark-    {- ^-    General category \"Mark, Spacing\" (Mc)-    -}-    | UnicodeTypeEnclosingMark-    {- ^-    General category \"Mark, Enclosing\" (Me)-    -}-    | UnicodeTypeNonSpacingMark-    {- ^-    General category \"Mark, Nonspacing\" (Mn)-    -}-    | UnicodeTypeDecimalNumber-    {- ^-    General category \"Number, Decimal Digit\" (Nd)-    -}-    | UnicodeTypeLetterNumber-    {- ^-    General category \"Number, Letter\" (Nl)-    -}-    | UnicodeTypeOtherNumber-    {- ^-    General category \"Number, Other\" (No)-    -}-    | UnicodeTypeConnectPunctuation-    {- ^-    General category \"Punctuation, Connector\" (Pc)-    -}-    | UnicodeTypeDashPunctuation-    {- ^-    General category \"Punctuation, Dash\" (Pd)-    -}-    | UnicodeTypeClosePunctuation-    {- ^-    General category \"Punctuation, Close\" (Pe)-    -}-    | UnicodeTypeFinalPunctuation-    {- ^-    General category \"Punctuation, Final quote\" (Pf)-    -}-    | UnicodeTypeInitialPunctuation-    {- ^-    General category \"Punctuation, Initial quote\" (Pi)-    -}-    | UnicodeTypeOtherPunctuation-    {- ^-    General category \"Punctuation, Other\" (Po)-    -}-    | UnicodeTypeOpenPunctuation-    {- ^-    General category \"Punctuation, Open\" (Ps)-    -}-    | UnicodeTypeCurrencySymbol-    {- ^-    General category \"Symbol, Currency\" (Sc)-    -}-    | UnicodeTypeModifierSymbol-    {- ^-    General category \"Symbol, Modifier\" (Sk)-    -}-    | UnicodeTypeMathSymbol-    {- ^-    General category \"Symbol, Math\" (Sm)-    -}-    | UnicodeTypeOtherSymbol-    {- ^-    General category \"Symbol, Other\" (So)-    -}-    | UnicodeTypeLineSeparator-    {- ^-    General category \"Separator, Line\" (Zl)-    -}-    | UnicodeTypeParagraphSeparator-    {- ^-    General category \"Separator, Paragraph\" (Zp)-    -}-    | UnicodeTypeSpaceSeparator-    {- ^-    General category \"Separator, Space\" (Zs)-    -}-    | AnotherUnicodeType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum UnicodeType where-    fromEnum UnicodeTypeControl = 0-    fromEnum UnicodeTypeFormat = 1-    fromEnum UnicodeTypeUnassigned = 2-    fromEnum UnicodeTypePrivateUse = 3-    fromEnum UnicodeTypeSurrogate = 4-    fromEnum UnicodeTypeLowercaseLetter = 5-    fromEnum UnicodeTypeModifierLetter = 6-    fromEnum UnicodeTypeOtherLetter = 7-    fromEnum UnicodeTypeTitlecaseLetter = 8-    fromEnum UnicodeTypeUppercaseLetter = 9-    fromEnum UnicodeTypeSpacingMark = 10-    fromEnum UnicodeTypeEnclosingMark = 11-    fromEnum UnicodeTypeNonSpacingMark = 12-    fromEnum UnicodeTypeDecimalNumber = 13-    fromEnum UnicodeTypeLetterNumber = 14-    fromEnum UnicodeTypeOtherNumber = 15-    fromEnum UnicodeTypeConnectPunctuation = 16-    fromEnum UnicodeTypeDashPunctuation = 17-    fromEnum UnicodeTypeClosePunctuation = 18-    fromEnum UnicodeTypeFinalPunctuation = 19-    fromEnum UnicodeTypeInitialPunctuation = 20-    fromEnum UnicodeTypeOtherPunctuation = 21-    fromEnum UnicodeTypeOpenPunctuation = 22-    fromEnum UnicodeTypeCurrencySymbol = 23-    fromEnum UnicodeTypeModifierSymbol = 24-    fromEnum UnicodeTypeMathSymbol = 25-    fromEnum UnicodeTypeOtherSymbol = 26-    fromEnum UnicodeTypeLineSeparator = 27-    fromEnum UnicodeTypeParagraphSeparator = 28-    fromEnum UnicodeTypeSpaceSeparator = 29-    fromEnum (AnotherUnicodeType k) = k--    toEnum 0 = UnicodeTypeControl-    toEnum 1 = UnicodeTypeFormat-    toEnum 2 = UnicodeTypeUnassigned-    toEnum 3 = UnicodeTypePrivateUse-    toEnum 4 = UnicodeTypeSurrogate-    toEnum 5 = UnicodeTypeLowercaseLetter-    toEnum 6 = UnicodeTypeModifierLetter-    toEnum 7 = UnicodeTypeOtherLetter-    toEnum 8 = UnicodeTypeTitlecaseLetter-    toEnum 9 = UnicodeTypeUppercaseLetter-    toEnum 10 = UnicodeTypeSpacingMark-    toEnum 11 = UnicodeTypeEnclosingMark-    toEnum 12 = UnicodeTypeNonSpacingMark-    toEnum 13 = UnicodeTypeDecimalNumber-    toEnum 14 = UnicodeTypeLetterNumber-    toEnum 15 = UnicodeTypeOtherNumber-    toEnum 16 = UnicodeTypeConnectPunctuation-    toEnum 17 = UnicodeTypeDashPunctuation-    toEnum 18 = UnicodeTypeClosePunctuation-    toEnum 19 = UnicodeTypeFinalPunctuation-    toEnum 20 = UnicodeTypeInitialPunctuation-    toEnum 21 = UnicodeTypeOtherPunctuation-    toEnum 22 = UnicodeTypeOpenPunctuation-    toEnum 23 = UnicodeTypeCurrencySymbol-    toEnum 24 = UnicodeTypeModifierSymbol-    toEnum 25 = UnicodeTypeMathSymbol-    toEnum 26 = UnicodeTypeOtherSymbol-    toEnum 27 = UnicodeTypeLineSeparator-    toEnum 28 = UnicodeTypeParagraphSeparator-    toEnum 29 = UnicodeTypeSpaceSeparator-    toEnum k = AnotherUnicodeType k--instance P.Ord UnicodeType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum UnicodeScript-{- |-The 'GI.GLib.Enums.UnicodeScript' enumeration identifies different writing-systems. The values correspond to the names as defined in the-Unicode standard. The enumeration has been added in GLib 2.14,-and is interchangeable with @/PangoScript/@.--Note that new types may be added in the future. Applications-should be ready to handle unknown values.-See <http://www.unicode.org/reports/tr24/ Unicode Standard Annex #24: Script names>.--}-data UnicodeScript = -      UnicodeScriptInvalidCode-    {- ^-    a value never returned from 'GI.GLib.Functions.unicharGetScript'-    -}-    | UnicodeScriptCommon-    {- ^-    a character used by multiple different scripts-    -}-    | UnicodeScriptInherited-    {- ^-    a mark glyph that takes its script from the-                                  base glyph to which it is attached-    -}-    | UnicodeScriptArabic-    {- ^-    Arabic-    -}-    | UnicodeScriptArmenian-    {- ^-    Armenian-    -}-    | UnicodeScriptBengali-    {- ^-    Bengali-    -}-    | UnicodeScriptBopomofo-    {- ^-    Bopomofo-    -}-    | UnicodeScriptCherokee-    {- ^-    Cherokee-    -}-    | UnicodeScriptCoptic-    {- ^-    Coptic-    -}-    | UnicodeScriptCyrillic-    {- ^-    Cyrillic-    -}-    | UnicodeScriptDeseret-    {- ^-    Deseret-    -}-    | UnicodeScriptDevanagari-    {- ^-    Devanagari-    -}-    | UnicodeScriptEthiopic-    {- ^-    Ethiopic-    -}-    | UnicodeScriptGeorgian-    {- ^-    Georgian-    -}-    | UnicodeScriptGothic-    {- ^-    Gothic-    -}-    | UnicodeScriptGreek-    {- ^-    Greek-    -}-    | UnicodeScriptGujarati-    {- ^-    Gujarati-    -}-    | UnicodeScriptGurmukhi-    {- ^-    Gurmukhi-    -}-    | UnicodeScriptHan-    {- ^-    Han-    -}-    | UnicodeScriptHangul-    {- ^-    Hangul-    -}-    | UnicodeScriptHebrew-    {- ^-    Hebrew-    -}-    | UnicodeScriptHiragana-    {- ^-    Hiragana-    -}-    | UnicodeScriptKannada-    {- ^-    Kannada-    -}-    | UnicodeScriptKatakana-    {- ^-    Katakana-    -}-    | UnicodeScriptKhmer-    {- ^-    Khmer-    -}-    | UnicodeScriptLao-    {- ^-    Lao-    -}-    | UnicodeScriptLatin-    {- ^-    Latin-    -}-    | UnicodeScriptMalayalam-    {- ^-    Malayalam-    -}-    | UnicodeScriptMongolian-    {- ^-    Mongolian-    -}-    | UnicodeScriptMyanmar-    {- ^-    Myanmar-    -}-    | UnicodeScriptOgham-    {- ^-    Ogham-    -}-    | UnicodeScriptOldItalic-    {- ^-    Old Italic-    -}-    | UnicodeScriptOriya-    {- ^-    Oriya-    -}-    | UnicodeScriptRunic-    {- ^-    Runic-    -}-    | UnicodeScriptSinhala-    {- ^-    Sinhala-    -}-    | UnicodeScriptSyriac-    {- ^-    Syriac-    -}-    | UnicodeScriptTamil-    {- ^-    Tamil-    -}-    | UnicodeScriptTelugu-    {- ^-    Telugu-    -}-    | UnicodeScriptThaana-    {- ^-    Thaana-    -}-    | UnicodeScriptThai-    {- ^-    Thai-    -}-    | UnicodeScriptTibetan-    {- ^-    Tibetan-    -}-    | UnicodeScriptCanadianAboriginal-    {- ^-    Canadian Aboriginal-    -}-    | UnicodeScriptYi-    {- ^-    Yi-    -}-    | UnicodeScriptTagalog-    {- ^-    Tagalog-    -}-    | UnicodeScriptHanunoo-    {- ^-    Hanunoo-    -}-    | UnicodeScriptBuhid-    {- ^-    Buhid-    -}-    | UnicodeScriptTagbanwa-    {- ^-    Tagbanwa-    -}-    | UnicodeScriptBraille-    {- ^-    Braille-    -}-    | UnicodeScriptCypriot-    {- ^-    Cypriot-    -}-    | UnicodeScriptLimbu-    {- ^-    Limbu-    -}-    | UnicodeScriptOsmanya-    {- ^-    Osmanya-    -}-    | UnicodeScriptShavian-    {- ^-    Shavian-    -}-    | UnicodeScriptLinearB-    {- ^-    Linear B-    -}-    | UnicodeScriptTaiLe-    {- ^-    Tai Le-    -}-    | UnicodeScriptUgaritic-    {- ^-    Ugaritic-    -}-    | UnicodeScriptNewTaiLue-    {- ^-    New Tai Lue-    -}-    | UnicodeScriptBuginese-    {- ^-    Buginese-    -}-    | UnicodeScriptGlagolitic-    {- ^-    Glagolitic-    -}-    | UnicodeScriptTifinagh-    {- ^-    Tifinagh-    -}-    | UnicodeScriptSylotiNagri-    {- ^-    Syloti Nagri-    -}-    | UnicodeScriptOldPersian-    {- ^-    Old Persian-    -}-    | UnicodeScriptKharoshthi-    {- ^-    Kharoshthi-    -}-    | UnicodeScriptUnknown-    {- ^-    an unassigned code point-    -}-    | UnicodeScriptBalinese-    {- ^-    Balinese-    -}-    | UnicodeScriptCuneiform-    {- ^-    Cuneiform-    -}-    | UnicodeScriptPhoenician-    {- ^-    Phoenician-    -}-    | UnicodeScriptPhagsPa-    {- ^-    Phags-pa-    -}-    | UnicodeScriptNko-    {- ^-    N\'Ko-    -}-    | UnicodeScriptKayahLi-    {- ^-    Kayah Li. Since 2.16.3-    -}-    | UnicodeScriptLepcha-    {- ^-    Lepcha. Since 2.16.3-    -}-    | UnicodeScriptRejang-    {- ^-    Rejang. Since 2.16.3-    -}-    | UnicodeScriptSundanese-    {- ^-    Sundanese. Since 2.16.3-    -}-    | UnicodeScriptSaurashtra-    {- ^-    Saurashtra. Since 2.16.3-    -}-    | UnicodeScriptCham-    {- ^-    Cham. Since 2.16.3-    -}-    | UnicodeScriptOlChiki-    {- ^-    Ol Chiki. Since 2.16.3-    -}-    | UnicodeScriptVai-    {- ^-    Vai. Since 2.16.3-    -}-    | UnicodeScriptCarian-    {- ^-    Carian. Since 2.16.3-    -}-    | UnicodeScriptLycian-    {- ^-    Lycian. Since 2.16.3-    -}-    | UnicodeScriptLydian-    {- ^-    Lydian. Since 2.16.3-    -}-    | UnicodeScriptAvestan-    {- ^-    Avestan. Since 2.26-    -}-    | UnicodeScriptBamum-    {- ^-    Bamum. Since 2.26-    -}-    | UnicodeScriptEgyptianHieroglyphs-    {- ^-    Egyptian Hieroglpyhs. Since 2.26-    -}-    | UnicodeScriptImperialAramaic-    {- ^-    Imperial Aramaic. Since 2.26-    -}-    | UnicodeScriptInscriptionalPahlavi-    {- ^-    Inscriptional Pahlavi. Since 2.26-    -}-    | UnicodeScriptInscriptionalParthian-    {- ^-    Inscriptional Parthian. Since 2.26-    -}-    | UnicodeScriptJavanese-    {- ^-    Javanese. Since 2.26-    -}-    | UnicodeScriptKaithi-    {- ^-    Kaithi. Since 2.26-    -}-    | UnicodeScriptLisu-    {- ^-    Lisu. Since 2.26-    -}-    | UnicodeScriptMeeteiMayek-    {- ^-    Meetei Mayek. Since 2.26-    -}-    | UnicodeScriptOldSouthArabian-    {- ^-    Old South Arabian. Since 2.26-    -}-    | UnicodeScriptOldTurkic-    {- ^-    Old Turkic. Since 2.28-    -}-    | UnicodeScriptSamaritan-    {- ^-    Samaritan. Since 2.26-    -}-    | UnicodeScriptTaiTham-    {- ^-    Tai Tham. Since 2.26-    -}-    | UnicodeScriptTaiViet-    {- ^-    Tai Viet. Since 2.26-    -}-    | UnicodeScriptBatak-    {- ^-    Batak. Since 2.28-    -}-    | UnicodeScriptBrahmi-    {- ^-    Brahmi. Since 2.28-    -}-    | UnicodeScriptMandaic-    {- ^-    Mandaic. Since 2.28-    -}-    | UnicodeScriptChakma-    {- ^-    Chakma. Since: 2.32-    -}-    | UnicodeScriptMeroiticCursive-    {- ^-    Meroitic Cursive. Since: 2.32-    -}-    | UnicodeScriptMeroiticHieroglyphs-    {- ^-    Meroitic Hieroglyphs. Since: 2.32-    -}-    | UnicodeScriptMiao-    {- ^-    Miao. Since: 2.32-    -}-    | UnicodeScriptSharada-    {- ^-    Sharada. Since: 2.32-    -}-    | UnicodeScriptSoraSompeng-    {- ^-    Sora Sompeng. Since: 2.32-    -}-    | UnicodeScriptTakri-    {- ^-    Takri. Since: 2.32-    -}-    | UnicodeScriptBassaVah-    {- ^-    Bassa. Since: 2.42-    -}-    | UnicodeScriptCaucasianAlbanian-    {- ^-    Caucasian Albanian. Since: 2.42-    -}-    | UnicodeScriptDuployan-    {- ^-    Duployan. Since: 2.42-    -}-    | UnicodeScriptElbasan-    {- ^-    Elbasan. Since: 2.42-    -}-    | UnicodeScriptGrantha-    {- ^-    Grantha. Since: 2.42-    -}-    | UnicodeScriptKhojki-    {- ^-    Kjohki. Since: 2.42-    -}-    | UnicodeScriptKhudawadi-    {- ^-    Khudawadi, Sindhi. Since: 2.42-    -}-    | UnicodeScriptLinearA-    {- ^-    Linear A. Since: 2.42-    -}-    | UnicodeScriptMahajani-    {- ^-    Mahajani. Since: 2.42-    -}-    | UnicodeScriptManichaean-    {- ^-    Manichaean. Since: 2.42-    -}-    | UnicodeScriptMendeKikakui-    {- ^-    Mende Kikakui. Since: 2.42-    -}-    | UnicodeScriptModi-    {- ^-    Modi. Since: 2.42-    -}-    | UnicodeScriptMro-    {- ^-    Mro. Since: 2.42-    -}-    | UnicodeScriptNabataean-    {- ^-    Nabataean. Since: 2.42-    -}-    | UnicodeScriptOldNorthArabian-    {- ^-    Old North Arabian. Since: 2.42-    -}-    | UnicodeScriptOldPermic-    {- ^-    Old Permic. Since: 2.42-    -}-    | UnicodeScriptPahawhHmong-    {- ^-    Pahawh Hmong. Since: 2.42-    -}-    | UnicodeScriptPalmyrene-    {- ^-    Palmyrene. Since: 2.42-    -}-    | UnicodeScriptPauCinHau-    {- ^-    Pau Cin Hau. Since: 2.42-    -}-    | UnicodeScriptPsalterPahlavi-    {- ^-    Psalter Pahlavi. Since: 2.42-    -}-    | UnicodeScriptSiddham-    {- ^-    Siddham. Since: 2.42-    -}-    | UnicodeScriptTirhuta-    {- ^-    Tirhuta. Since: 2.42-    -}-    | UnicodeScriptWarangCiti-    {- ^-    Warang Citi. Since: 2.42-    -}-    | UnicodeScriptAhom-    {- ^-    Ahom. Since: 2.48-    -}-    | UnicodeScriptAnatolianHieroglyphs-    {- ^-    Anatolian Hieroglyphs. Since: 2.48-    -}-    | UnicodeScriptHatran-    {- ^-    Hatran. Since: 2.48-    -}-    | UnicodeScriptMultani-    {- ^-    Multani. Since: 2.48-    -}-    | UnicodeScriptOldHungarian-    {- ^-    Old Hungarian. Since: 2.48-    -}-    | UnicodeScriptSignwriting-    {- ^-    Signwriting. Since: 2.48-    -}-    | UnicodeScriptAdlam-    {- ^-    Adlam. Since: 2.50-    -}-    | UnicodeScriptBhaiksuki-    {- ^-    Bhaiksuki. Since: 2.50-    -}-    | UnicodeScriptMarchen-    {- ^-    Marchen. Since: 2.50-    -}-    | UnicodeScriptNewa-    {- ^-    Newa. Since: 2.50-    -}-    | UnicodeScriptOsage-    {- ^-    Osage. Since: 2.50-    -}-    | UnicodeScriptTangut-    {- ^-    Tangut. Since: 2.50-    -}-    | UnicodeScriptMasaramGondi-    {- ^-    Masaram Gondi. Since: 2.54-    -}-    | UnicodeScriptNushu-    {- ^-    Nushu. Since: 2.54-    -}-    | UnicodeScriptSoyombo-    {- ^-    Soyombo. Since: 2.54-    -}-    | UnicodeScriptZanabazarSquare-    {- ^-    Zanabazar Square. Since: 2.54-    -}-    | UnicodeScriptDogra-    {- ^-    Dogra. Since: 2.58-    -}-    | UnicodeScriptGunjalaGondi-    {- ^-    Gunjala Gondi. Since: 2.58-    -}-    | UnicodeScriptHanifiRohingya-    {- ^-    Hanifi Rohingya. Since: 2.58-    -}-    | UnicodeScriptMakasar-    {- ^-    Makasar. Since: 2.58-    -}-    | UnicodeScriptMedefaidrin-    {- ^-    Medefaidrin. Since: 2.58-    -}-    | UnicodeScriptOldSogdian-    {- ^-    Old Sogdian. Since: 2.58-    -}-    | UnicodeScriptSogdian-    {- ^-    Sogdian. Since: 2.58-    -}-    | AnotherUnicodeScript Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum UnicodeScript where-    fromEnum UnicodeScriptInvalidCode = -1-    fromEnum UnicodeScriptCommon = 0-    fromEnum UnicodeScriptInherited = 1-    fromEnum UnicodeScriptArabic = 2-    fromEnum UnicodeScriptArmenian = 3-    fromEnum UnicodeScriptBengali = 4-    fromEnum UnicodeScriptBopomofo = 5-    fromEnum UnicodeScriptCherokee = 6-    fromEnum UnicodeScriptCoptic = 7-    fromEnum UnicodeScriptCyrillic = 8-    fromEnum UnicodeScriptDeseret = 9-    fromEnum UnicodeScriptDevanagari = 10-    fromEnum UnicodeScriptEthiopic = 11-    fromEnum UnicodeScriptGeorgian = 12-    fromEnum UnicodeScriptGothic = 13-    fromEnum UnicodeScriptGreek = 14-    fromEnum UnicodeScriptGujarati = 15-    fromEnum UnicodeScriptGurmukhi = 16-    fromEnum UnicodeScriptHan = 17-    fromEnum UnicodeScriptHangul = 18-    fromEnum UnicodeScriptHebrew = 19-    fromEnum UnicodeScriptHiragana = 20-    fromEnum UnicodeScriptKannada = 21-    fromEnum UnicodeScriptKatakana = 22-    fromEnum UnicodeScriptKhmer = 23-    fromEnum UnicodeScriptLao = 24-    fromEnum UnicodeScriptLatin = 25-    fromEnum UnicodeScriptMalayalam = 26-    fromEnum UnicodeScriptMongolian = 27-    fromEnum UnicodeScriptMyanmar = 28-    fromEnum UnicodeScriptOgham = 29-    fromEnum UnicodeScriptOldItalic = 30-    fromEnum UnicodeScriptOriya = 31-    fromEnum UnicodeScriptRunic = 32-    fromEnum UnicodeScriptSinhala = 33-    fromEnum UnicodeScriptSyriac = 34-    fromEnum UnicodeScriptTamil = 35-    fromEnum UnicodeScriptTelugu = 36-    fromEnum UnicodeScriptThaana = 37-    fromEnum UnicodeScriptThai = 38-    fromEnum UnicodeScriptTibetan = 39-    fromEnum UnicodeScriptCanadianAboriginal = 40-    fromEnum UnicodeScriptYi = 41-    fromEnum UnicodeScriptTagalog = 42-    fromEnum UnicodeScriptHanunoo = 43-    fromEnum UnicodeScriptBuhid = 44-    fromEnum UnicodeScriptTagbanwa = 45-    fromEnum UnicodeScriptBraille = 46-    fromEnum UnicodeScriptCypriot = 47-    fromEnum UnicodeScriptLimbu = 48-    fromEnum UnicodeScriptOsmanya = 49-    fromEnum UnicodeScriptShavian = 50-    fromEnum UnicodeScriptLinearB = 51-    fromEnum UnicodeScriptTaiLe = 52-    fromEnum UnicodeScriptUgaritic = 53-    fromEnum UnicodeScriptNewTaiLue = 54-    fromEnum UnicodeScriptBuginese = 55-    fromEnum UnicodeScriptGlagolitic = 56-    fromEnum UnicodeScriptTifinagh = 57-    fromEnum UnicodeScriptSylotiNagri = 58-    fromEnum UnicodeScriptOldPersian = 59-    fromEnum UnicodeScriptKharoshthi = 60-    fromEnum UnicodeScriptUnknown = 61-    fromEnum UnicodeScriptBalinese = 62-    fromEnum UnicodeScriptCuneiform = 63-    fromEnum UnicodeScriptPhoenician = 64-    fromEnum UnicodeScriptPhagsPa = 65-    fromEnum UnicodeScriptNko = 66-    fromEnum UnicodeScriptKayahLi = 67-    fromEnum UnicodeScriptLepcha = 68-    fromEnum UnicodeScriptRejang = 69-    fromEnum UnicodeScriptSundanese = 70-    fromEnum UnicodeScriptSaurashtra = 71-    fromEnum UnicodeScriptCham = 72-    fromEnum UnicodeScriptOlChiki = 73-    fromEnum UnicodeScriptVai = 74-    fromEnum UnicodeScriptCarian = 75-    fromEnum UnicodeScriptLycian = 76-    fromEnum UnicodeScriptLydian = 77-    fromEnum UnicodeScriptAvestan = 78-    fromEnum UnicodeScriptBamum = 79-    fromEnum UnicodeScriptEgyptianHieroglyphs = 80-    fromEnum UnicodeScriptImperialAramaic = 81-    fromEnum UnicodeScriptInscriptionalPahlavi = 82-    fromEnum UnicodeScriptInscriptionalParthian = 83-    fromEnum UnicodeScriptJavanese = 84-    fromEnum UnicodeScriptKaithi = 85-    fromEnum UnicodeScriptLisu = 86-    fromEnum UnicodeScriptMeeteiMayek = 87-    fromEnum UnicodeScriptOldSouthArabian = 88-    fromEnum UnicodeScriptOldTurkic = 89-    fromEnum UnicodeScriptSamaritan = 90-    fromEnum UnicodeScriptTaiTham = 91-    fromEnum UnicodeScriptTaiViet = 92-    fromEnum UnicodeScriptBatak = 93-    fromEnum UnicodeScriptBrahmi = 94-    fromEnum UnicodeScriptMandaic = 95-    fromEnum UnicodeScriptChakma = 96-    fromEnum UnicodeScriptMeroiticCursive = 97-    fromEnum UnicodeScriptMeroiticHieroglyphs = 98-    fromEnum UnicodeScriptMiao = 99-    fromEnum UnicodeScriptSharada = 100-    fromEnum UnicodeScriptSoraSompeng = 101-    fromEnum UnicodeScriptTakri = 102-    fromEnum UnicodeScriptBassaVah = 103-    fromEnum UnicodeScriptCaucasianAlbanian = 104-    fromEnum UnicodeScriptDuployan = 105-    fromEnum UnicodeScriptElbasan = 106-    fromEnum UnicodeScriptGrantha = 107-    fromEnum UnicodeScriptKhojki = 108-    fromEnum UnicodeScriptKhudawadi = 109-    fromEnum UnicodeScriptLinearA = 110-    fromEnum UnicodeScriptMahajani = 111-    fromEnum UnicodeScriptManichaean = 112-    fromEnum UnicodeScriptMendeKikakui = 113-    fromEnum UnicodeScriptModi = 114-    fromEnum UnicodeScriptMro = 115-    fromEnum UnicodeScriptNabataean = 116-    fromEnum UnicodeScriptOldNorthArabian = 117-    fromEnum UnicodeScriptOldPermic = 118-    fromEnum UnicodeScriptPahawhHmong = 119-    fromEnum UnicodeScriptPalmyrene = 120-    fromEnum UnicodeScriptPauCinHau = 121-    fromEnum UnicodeScriptPsalterPahlavi = 122-    fromEnum UnicodeScriptSiddham = 123-    fromEnum UnicodeScriptTirhuta = 124-    fromEnum UnicodeScriptWarangCiti = 125-    fromEnum UnicodeScriptAhom = 126-    fromEnum UnicodeScriptAnatolianHieroglyphs = 127-    fromEnum UnicodeScriptHatran = 128-    fromEnum UnicodeScriptMultani = 129-    fromEnum UnicodeScriptOldHungarian = 130-    fromEnum UnicodeScriptSignwriting = 131-    fromEnum UnicodeScriptAdlam = 132-    fromEnum UnicodeScriptBhaiksuki = 133-    fromEnum UnicodeScriptMarchen = 134-    fromEnum UnicodeScriptNewa = 135-    fromEnum UnicodeScriptOsage = 136-    fromEnum UnicodeScriptTangut = 137-    fromEnum UnicodeScriptMasaramGondi = 138-    fromEnum UnicodeScriptNushu = 139-    fromEnum UnicodeScriptSoyombo = 140-    fromEnum UnicodeScriptZanabazarSquare = 141-    fromEnum UnicodeScriptDogra = 142-    fromEnum UnicodeScriptGunjalaGondi = 143-    fromEnum UnicodeScriptHanifiRohingya = 144-    fromEnum UnicodeScriptMakasar = 145-    fromEnum UnicodeScriptMedefaidrin = 146-    fromEnum UnicodeScriptOldSogdian = 147-    fromEnum UnicodeScriptSogdian = 148-    fromEnum (AnotherUnicodeScript k) = k--    toEnum -1 = UnicodeScriptInvalidCode-    toEnum 0 = UnicodeScriptCommon-    toEnum 1 = UnicodeScriptInherited-    toEnum 2 = UnicodeScriptArabic-    toEnum 3 = UnicodeScriptArmenian-    toEnum 4 = UnicodeScriptBengali-    toEnum 5 = UnicodeScriptBopomofo-    toEnum 6 = UnicodeScriptCherokee-    toEnum 7 = UnicodeScriptCoptic-    toEnum 8 = UnicodeScriptCyrillic-    toEnum 9 = UnicodeScriptDeseret-    toEnum 10 = UnicodeScriptDevanagari-    toEnum 11 = UnicodeScriptEthiopic-    toEnum 12 = UnicodeScriptGeorgian-    toEnum 13 = UnicodeScriptGothic-    toEnum 14 = UnicodeScriptGreek-    toEnum 15 = UnicodeScriptGujarati-    toEnum 16 = UnicodeScriptGurmukhi-    toEnum 17 = UnicodeScriptHan-    toEnum 18 = UnicodeScriptHangul-    toEnum 19 = UnicodeScriptHebrew-    toEnum 20 = UnicodeScriptHiragana-    toEnum 21 = UnicodeScriptKannada-    toEnum 22 = UnicodeScriptKatakana-    toEnum 23 = UnicodeScriptKhmer-    toEnum 24 = UnicodeScriptLao-    toEnum 25 = UnicodeScriptLatin-    toEnum 26 = UnicodeScriptMalayalam-    toEnum 27 = UnicodeScriptMongolian-    toEnum 28 = UnicodeScriptMyanmar-    toEnum 29 = UnicodeScriptOgham-    toEnum 30 = UnicodeScriptOldItalic-    toEnum 31 = UnicodeScriptOriya-    toEnum 32 = UnicodeScriptRunic-    toEnum 33 = UnicodeScriptSinhala-    toEnum 34 = UnicodeScriptSyriac-    toEnum 35 = UnicodeScriptTamil-    toEnum 36 = UnicodeScriptTelugu-    toEnum 37 = UnicodeScriptThaana-    toEnum 38 = UnicodeScriptThai-    toEnum 39 = UnicodeScriptTibetan-    toEnum 40 = UnicodeScriptCanadianAboriginal-    toEnum 41 = UnicodeScriptYi-    toEnum 42 = UnicodeScriptTagalog-    toEnum 43 = UnicodeScriptHanunoo-    toEnum 44 = UnicodeScriptBuhid-    toEnum 45 = UnicodeScriptTagbanwa-    toEnum 46 = UnicodeScriptBraille-    toEnum 47 = UnicodeScriptCypriot-    toEnum 48 = UnicodeScriptLimbu-    toEnum 49 = UnicodeScriptOsmanya-    toEnum 50 = UnicodeScriptShavian-    toEnum 51 = UnicodeScriptLinearB-    toEnum 52 = UnicodeScriptTaiLe-    toEnum 53 = UnicodeScriptUgaritic-    toEnum 54 = UnicodeScriptNewTaiLue-    toEnum 55 = UnicodeScriptBuginese-    toEnum 56 = UnicodeScriptGlagolitic-    toEnum 57 = UnicodeScriptTifinagh-    toEnum 58 = UnicodeScriptSylotiNagri-    toEnum 59 = UnicodeScriptOldPersian-    toEnum 60 = UnicodeScriptKharoshthi-    toEnum 61 = UnicodeScriptUnknown-    toEnum 62 = UnicodeScriptBalinese-    toEnum 63 = UnicodeScriptCuneiform-    toEnum 64 = UnicodeScriptPhoenician-    toEnum 65 = UnicodeScriptPhagsPa-    toEnum 66 = UnicodeScriptNko-    toEnum 67 = UnicodeScriptKayahLi-    toEnum 68 = UnicodeScriptLepcha-    toEnum 69 = UnicodeScriptRejang-    toEnum 70 = UnicodeScriptSundanese-    toEnum 71 = UnicodeScriptSaurashtra-    toEnum 72 = UnicodeScriptCham-    toEnum 73 = UnicodeScriptOlChiki-    toEnum 74 = UnicodeScriptVai-    toEnum 75 = UnicodeScriptCarian-    toEnum 76 = UnicodeScriptLycian-    toEnum 77 = UnicodeScriptLydian-    toEnum 78 = UnicodeScriptAvestan-    toEnum 79 = UnicodeScriptBamum-    toEnum 80 = UnicodeScriptEgyptianHieroglyphs-    toEnum 81 = UnicodeScriptImperialAramaic-    toEnum 82 = UnicodeScriptInscriptionalPahlavi-    toEnum 83 = UnicodeScriptInscriptionalParthian-    toEnum 84 = UnicodeScriptJavanese-    toEnum 85 = UnicodeScriptKaithi-    toEnum 86 = UnicodeScriptLisu-    toEnum 87 = UnicodeScriptMeeteiMayek-    toEnum 88 = UnicodeScriptOldSouthArabian-    toEnum 89 = UnicodeScriptOldTurkic-    toEnum 90 = UnicodeScriptSamaritan-    toEnum 91 = UnicodeScriptTaiTham-    toEnum 92 = UnicodeScriptTaiViet-    toEnum 93 = UnicodeScriptBatak-    toEnum 94 = UnicodeScriptBrahmi-    toEnum 95 = UnicodeScriptMandaic-    toEnum 96 = UnicodeScriptChakma-    toEnum 97 = UnicodeScriptMeroiticCursive-    toEnum 98 = UnicodeScriptMeroiticHieroglyphs-    toEnum 99 = UnicodeScriptMiao-    toEnum 100 = UnicodeScriptSharada-    toEnum 101 = UnicodeScriptSoraSompeng-    toEnum 102 = UnicodeScriptTakri-    toEnum 103 = UnicodeScriptBassaVah-    toEnum 104 = UnicodeScriptCaucasianAlbanian-    toEnum 105 = UnicodeScriptDuployan-    toEnum 106 = UnicodeScriptElbasan-    toEnum 107 = UnicodeScriptGrantha-    toEnum 108 = UnicodeScriptKhojki-    toEnum 109 = UnicodeScriptKhudawadi-    toEnum 110 = UnicodeScriptLinearA-    toEnum 111 = UnicodeScriptMahajani-    toEnum 112 = UnicodeScriptManichaean-    toEnum 113 = UnicodeScriptMendeKikakui-    toEnum 114 = UnicodeScriptModi-    toEnum 115 = UnicodeScriptMro-    toEnum 116 = UnicodeScriptNabataean-    toEnum 117 = UnicodeScriptOldNorthArabian-    toEnum 118 = UnicodeScriptOldPermic-    toEnum 119 = UnicodeScriptPahawhHmong-    toEnum 120 = UnicodeScriptPalmyrene-    toEnum 121 = UnicodeScriptPauCinHau-    toEnum 122 = UnicodeScriptPsalterPahlavi-    toEnum 123 = UnicodeScriptSiddham-    toEnum 124 = UnicodeScriptTirhuta-    toEnum 125 = UnicodeScriptWarangCiti-    toEnum 126 = UnicodeScriptAhom-    toEnum 127 = UnicodeScriptAnatolianHieroglyphs-    toEnum 128 = UnicodeScriptHatran-    toEnum 129 = UnicodeScriptMultani-    toEnum 130 = UnicodeScriptOldHungarian-    toEnum 131 = UnicodeScriptSignwriting-    toEnum 132 = UnicodeScriptAdlam-    toEnum 133 = UnicodeScriptBhaiksuki-    toEnum 134 = UnicodeScriptMarchen-    toEnum 135 = UnicodeScriptNewa-    toEnum 136 = UnicodeScriptOsage-    toEnum 137 = UnicodeScriptTangut-    toEnum 138 = UnicodeScriptMasaramGondi-    toEnum 139 = UnicodeScriptNushu-    toEnum 140 = UnicodeScriptSoyombo-    toEnum 141 = UnicodeScriptZanabazarSquare-    toEnum 142 = UnicodeScriptDogra-    toEnum 143 = UnicodeScriptGunjalaGondi-    toEnum 144 = UnicodeScriptHanifiRohingya-    toEnum 145 = UnicodeScriptMakasar-    toEnum 146 = UnicodeScriptMedefaidrin-    toEnum 147 = UnicodeScriptOldSogdian-    toEnum 148 = UnicodeScriptSogdian-    toEnum k = AnotherUnicodeScript k--instance P.Ord UnicodeScript where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum UnicodeBreakType-{- |-These are the possible line break classifications.--Since new unicode versions may add new types here, applications should be ready-to handle unknown values. They may be regarded as 'GI.GLib.Enums.UnicodeBreakTypeUnknown'.--See <http://www.unicode.org/unicode/reports/tr14/ Unicode Line Breaking Algorithm>.--}-data UnicodeBreakType = -      UnicodeBreakTypeMandatory-    {- ^-    Mandatory Break (BK)-    -}-    | UnicodeBreakTypeCarriageReturn-    {- ^-    Carriage Return (CR)-    -}-    | UnicodeBreakTypeLineFeed-    {- ^-    Line Feed (LF)-    -}-    | UnicodeBreakTypeCombiningMark-    {- ^-    Attached Characters and Combining Marks (CM)-    -}-    | UnicodeBreakTypeSurrogate-    {- ^-    Surrogates (SG)-    -}-    | UnicodeBreakTypeZeroWidthSpace-    {- ^-    Zero Width Space (ZW)-    -}-    | UnicodeBreakTypeInseparable-    {- ^-    Inseparable (IN)-    -}-    | UnicodeBreakTypeNonBreakingGlue-    {- ^-    Non-breaking (\"Glue\") (GL)-    -}-    | UnicodeBreakTypeContingent-    {- ^-    Contingent Break Opportunity (CB)-    -}-    | UnicodeBreakTypeSpace-    {- ^-    Space (SP)-    -}-    | UnicodeBreakTypeAfter-    {- ^-    Break Opportunity After (BA)-    -}-    | UnicodeBreakTypeBefore-    {- ^-    Break Opportunity Before (BB)-    -}-    | UnicodeBreakTypeBeforeAndAfter-    {- ^-    Break Opportunity Before and After (B2)-    -}-    | UnicodeBreakTypeHyphen-    {- ^-    Hyphen (HY)-    -}-    | UnicodeBreakTypeNonStarter-    {- ^-    Nonstarter (NS)-    -}-    | UnicodeBreakTypeOpenPunctuation-    {- ^-    Opening Punctuation (OP)-    -}-    | UnicodeBreakTypeClosePunctuation-    {- ^-    Closing Punctuation (CL)-    -}-    | UnicodeBreakTypeQuotation-    {- ^-    Ambiguous Quotation (QU)-    -}-    | UnicodeBreakTypeExclamation-    {- ^-    Exclamation\/Interrogation (EX)-    -}-    | UnicodeBreakTypeIdeographic-    {- ^-    Ideographic (ID)-    -}-    | UnicodeBreakTypeNumeric-    {- ^-    Numeric (NU)-    -}-    | UnicodeBreakTypeInfixSeparator-    {- ^-    Infix Separator (Numeric) (IS)-    -}-    | UnicodeBreakTypeSymbol-    {- ^-    Symbols Allowing Break After (SY)-    -}-    | UnicodeBreakTypeAlphabetic-    {- ^-    Ordinary Alphabetic and Symbol Characters (AL)-    -}-    | UnicodeBreakTypePrefix-    {- ^-    Prefix (Numeric) (PR)-    -}-    | UnicodeBreakTypePostfix-    {- ^-    Postfix (Numeric) (PO)-    -}-    | UnicodeBreakTypeComplexContext-    {- ^-    Complex Content Dependent (South East Asian) (SA)-    -}-    | UnicodeBreakTypeAmbiguous-    {- ^-    Ambiguous (Alphabetic or Ideographic) (AI)-    -}-    | UnicodeBreakTypeUnknown-    {- ^-    Unknown (XX)-    -}-    | UnicodeBreakTypeNextLine-    {- ^-    Next Line (NL)-    -}-    | UnicodeBreakTypeWordJoiner-    {- ^-    Word Joiner (WJ)-    -}-    | UnicodeBreakTypeHangulLJamo-    {- ^-    Hangul L Jamo (JL)-    -}-    | UnicodeBreakTypeHangulVJamo-    {- ^-    Hangul V Jamo (JV)-    -}-    | UnicodeBreakTypeHangulTJamo-    {- ^-    Hangul T Jamo (JT)-    -}-    | UnicodeBreakTypeHangulLvSyllable-    {- ^-    Hangul LV Syllable (H2)-    -}-    | UnicodeBreakTypeHangulLvtSyllable-    {- ^-    Hangul LVT Syllable (H3)-    -}-    | UnicodeBreakTypeCloseParanthesis-    {- ^-    Closing Parenthesis (CP). Since 2.28-    -}-    | UnicodeBreakTypeConditionalJapaneseStarter-    {- ^-    Conditional Japanese Starter (CJ). Since: 2.32-    -}-    | UnicodeBreakTypeHebrewLetter-    {- ^-    Hebrew Letter (HL). Since: 2.32-    -}-    | UnicodeBreakTypeRegionalIndicator-    {- ^-    Regional Indicator (RI). Since: 2.36-    -}-    | UnicodeBreakTypeEmojiBase-    {- ^-    Emoji Base (EB). Since: 2.50-    -}-    | UnicodeBreakTypeEmojiModifier-    {- ^-    Emoji Modifier (EM). Since: 2.50-    -}-    | UnicodeBreakTypeZeroWidthJoiner-    {- ^-    Zero Width Joiner (ZWJ). Since: 2.50-    -}-    | AnotherUnicodeBreakType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum UnicodeBreakType where-    fromEnum UnicodeBreakTypeMandatory = 0-    fromEnum UnicodeBreakTypeCarriageReturn = 1-    fromEnum UnicodeBreakTypeLineFeed = 2-    fromEnum UnicodeBreakTypeCombiningMark = 3-    fromEnum UnicodeBreakTypeSurrogate = 4-    fromEnum UnicodeBreakTypeZeroWidthSpace = 5-    fromEnum UnicodeBreakTypeInseparable = 6-    fromEnum UnicodeBreakTypeNonBreakingGlue = 7-    fromEnum UnicodeBreakTypeContingent = 8-    fromEnum UnicodeBreakTypeSpace = 9-    fromEnum UnicodeBreakTypeAfter = 10-    fromEnum UnicodeBreakTypeBefore = 11-    fromEnum UnicodeBreakTypeBeforeAndAfter = 12-    fromEnum UnicodeBreakTypeHyphen = 13-    fromEnum UnicodeBreakTypeNonStarter = 14-    fromEnum UnicodeBreakTypeOpenPunctuation = 15-    fromEnum UnicodeBreakTypeClosePunctuation = 16-    fromEnum UnicodeBreakTypeQuotation = 17-    fromEnum UnicodeBreakTypeExclamation = 18-    fromEnum UnicodeBreakTypeIdeographic = 19-    fromEnum UnicodeBreakTypeNumeric = 20-    fromEnum UnicodeBreakTypeInfixSeparator = 21-    fromEnum UnicodeBreakTypeSymbol = 22-    fromEnum UnicodeBreakTypeAlphabetic = 23-    fromEnum UnicodeBreakTypePrefix = 24-    fromEnum UnicodeBreakTypePostfix = 25-    fromEnum UnicodeBreakTypeComplexContext = 26-    fromEnum UnicodeBreakTypeAmbiguous = 27-    fromEnum UnicodeBreakTypeUnknown = 28-    fromEnum UnicodeBreakTypeNextLine = 29-    fromEnum UnicodeBreakTypeWordJoiner = 30-    fromEnum UnicodeBreakTypeHangulLJamo = 31-    fromEnum UnicodeBreakTypeHangulVJamo = 32-    fromEnum UnicodeBreakTypeHangulTJamo = 33-    fromEnum UnicodeBreakTypeHangulLvSyllable = 34-    fromEnum UnicodeBreakTypeHangulLvtSyllable = 35-    fromEnum UnicodeBreakTypeCloseParanthesis = 36-    fromEnum UnicodeBreakTypeConditionalJapaneseStarter = 37-    fromEnum UnicodeBreakTypeHebrewLetter = 38-    fromEnum UnicodeBreakTypeRegionalIndicator = 39-    fromEnum UnicodeBreakTypeEmojiBase = 40-    fromEnum UnicodeBreakTypeEmojiModifier = 41-    fromEnum UnicodeBreakTypeZeroWidthJoiner = 42-    fromEnum (AnotherUnicodeBreakType k) = k--    toEnum 0 = UnicodeBreakTypeMandatory-    toEnum 1 = UnicodeBreakTypeCarriageReturn-    toEnum 2 = UnicodeBreakTypeLineFeed-    toEnum 3 = UnicodeBreakTypeCombiningMark-    toEnum 4 = UnicodeBreakTypeSurrogate-    toEnum 5 = UnicodeBreakTypeZeroWidthSpace-    toEnum 6 = UnicodeBreakTypeInseparable-    toEnum 7 = UnicodeBreakTypeNonBreakingGlue-    toEnum 8 = UnicodeBreakTypeContingent-    toEnum 9 = UnicodeBreakTypeSpace-    toEnum 10 = UnicodeBreakTypeAfter-    toEnum 11 = UnicodeBreakTypeBefore-    toEnum 12 = UnicodeBreakTypeBeforeAndAfter-    toEnum 13 = UnicodeBreakTypeHyphen-    toEnum 14 = UnicodeBreakTypeNonStarter-    toEnum 15 = UnicodeBreakTypeOpenPunctuation-    toEnum 16 = UnicodeBreakTypeClosePunctuation-    toEnum 17 = UnicodeBreakTypeQuotation-    toEnum 18 = UnicodeBreakTypeExclamation-    toEnum 19 = UnicodeBreakTypeIdeographic-    toEnum 20 = UnicodeBreakTypeNumeric-    toEnum 21 = UnicodeBreakTypeInfixSeparator-    toEnum 22 = UnicodeBreakTypeSymbol-    toEnum 23 = UnicodeBreakTypeAlphabetic-    toEnum 24 = UnicodeBreakTypePrefix-    toEnum 25 = UnicodeBreakTypePostfix-    toEnum 26 = UnicodeBreakTypeComplexContext-    toEnum 27 = UnicodeBreakTypeAmbiguous-    toEnum 28 = UnicodeBreakTypeUnknown-    toEnum 29 = UnicodeBreakTypeNextLine-    toEnum 30 = UnicodeBreakTypeWordJoiner-    toEnum 31 = UnicodeBreakTypeHangulLJamo-    toEnum 32 = UnicodeBreakTypeHangulVJamo-    toEnum 33 = UnicodeBreakTypeHangulTJamo-    toEnum 34 = UnicodeBreakTypeHangulLvSyllable-    toEnum 35 = UnicodeBreakTypeHangulLvtSyllable-    toEnum 36 = UnicodeBreakTypeCloseParanthesis-    toEnum 37 = UnicodeBreakTypeConditionalJapaneseStarter-    toEnum 38 = UnicodeBreakTypeHebrewLetter-    toEnum 39 = UnicodeBreakTypeRegionalIndicator-    toEnum 40 = UnicodeBreakTypeEmojiBase-    toEnum 41 = UnicodeBreakTypeEmojiModifier-    toEnum 42 = UnicodeBreakTypeZeroWidthJoiner-    toEnum k = AnotherUnicodeBreakType k--instance P.Ord UnicodeBreakType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum TraverseType-{- |-Specifies the type of traveral performed by @/g_tree_traverse()/@,-@/g_node_traverse()/@ and @/g_node_find()/@. The different orders are-illustrated here:--* In order: A, B, C, D, E, F, G, H, I-<<http://developer.gnome.org/glib/stable/Sorted_binary_tree_inorder.svg>>-* Pre order: F, B, A, D, C, E, G, I, H-<<http://developer.gnome.org/glib/stable/Sorted_binary_tree_preorder.svg>>-* Post order: A, C, E, D, B, H, I, G, F-<<http://developer.gnome.org/glib/stable/Sorted_binary_tree_postorder.svg>>-* Level order: F, B, G, A, D, I, C, E, H-<<http://developer.gnome.org/glib/stable/Sorted_binary_tree_breadth-first_traversal.svg>>--}-data TraverseType = -      TraverseTypeInOrder-    {- ^-    vists a node\'s left child first, then the node itself,-                 then its right child. This is the one to use if you-                 want the output sorted according to the compare-                 function.-    -}-    | TraverseTypePreOrder-    {- ^-    visits a node, then its children.-    -}-    | TraverseTypePostOrder-    {- ^-    visits the node\'s children, then the node itself.-    -}-    | TraverseTypeLevelOrder-    {- ^-    is not implemented for-                 [balanced binary trees][glib-Balanced-Binary-Trees].-                 For [n-ary trees][glib-N-ary-Trees], it-                 vists the root node first, then its children, then-                 its grandchildren, and so on. Note that this is less-                 efficient than the other orders.-    -}-    | AnotherTraverseType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum TraverseType where-    fromEnum TraverseTypeInOrder = 0-    fromEnum TraverseTypePreOrder = 1-    fromEnum TraverseTypePostOrder = 2-    fromEnum TraverseTypeLevelOrder = 3-    fromEnum (AnotherTraverseType k) = k--    toEnum 0 = TraverseTypeInOrder-    toEnum 1 = TraverseTypePreOrder-    toEnum 2 = TraverseTypePostOrder-    toEnum 3 = TraverseTypeLevelOrder-    toEnum k = AnotherTraverseType k--instance P.Ord TraverseType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum TokenType-{- |-The possible types of token returned from each-'GI.GLib.Structs.Scanner.scannerGetNextToken' call.--}-data TokenType = -      TokenTypeEof-    {- ^-    the end of the file-    -}-    | TokenTypeLeftParen-    {- ^-    a \'(\' character-    -}-    | TokenTypeRightParen-    {- ^-    a \')\' character-    -}-    | TokenTypeLeftCurly-    {- ^-    a \'{\' character-    -}-    | TokenTypeRightCurly-    {- ^-    a \'}\' character-    -}-    | TokenTypeLeftBrace-    {- ^-    a \'[\' character-    -}-    | TokenTypeRightBrace-    {- ^-    a \']\' character-    -}-    | TokenTypeEqualSign-    {- ^-    a \'=\' character-    -}-    | TokenTypeComma-    {- ^-    a \',\' character-    -}-    | TokenTypeNone-    {- ^-    not a token-    -}-    | TokenTypeError-    {- ^-    an error occurred-    -}-    | TokenTypeChar-    {- ^-    a character-    -}-    | TokenTypeBinary-    {- ^-    a binary integer-    -}-    | TokenTypeOctal-    {- ^-    an octal integer-    -}-    | TokenTypeInt-    {- ^-    an integer-    -}-    | TokenTypeHex-    {- ^-    a hex integer-    -}-    | TokenTypeFloat-    {- ^-    a floating point number-    -}-    | TokenTypeString-    {- ^-    a string-    -}-    | TokenTypeSymbol-    {- ^-    a symbol-    -}-    | TokenTypeIdentifier-    {- ^-    an identifier-    -}-    | TokenTypeIdentifierNull-    {- ^-    a null identifier-    -}-    | TokenTypeCommentSingle-    {- ^-    one line comment-    -}-    | TokenTypeCommentMulti-    {- ^-    multi line comment-    -}-    | AnotherTokenType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum TokenType where-    fromEnum TokenTypeEof = 0-    fromEnum TokenTypeLeftParen = 40-    fromEnum TokenTypeRightParen = 41-    fromEnum TokenTypeLeftCurly = 123-    fromEnum TokenTypeRightCurly = 125-    fromEnum TokenTypeLeftBrace = 91-    fromEnum TokenTypeRightBrace = 93-    fromEnum TokenTypeEqualSign = 61-    fromEnum TokenTypeComma = 44-    fromEnum TokenTypeNone = 256-    fromEnum TokenTypeError = 257-    fromEnum TokenTypeChar = 258-    fromEnum TokenTypeBinary = 259-    fromEnum TokenTypeOctal = 260-    fromEnum TokenTypeInt = 261-    fromEnum TokenTypeHex = 262-    fromEnum TokenTypeFloat = 263-    fromEnum TokenTypeString = 264-    fromEnum TokenTypeSymbol = 265-    fromEnum TokenTypeIdentifier = 266-    fromEnum TokenTypeIdentifierNull = 267-    fromEnum TokenTypeCommentSingle = 268-    fromEnum TokenTypeCommentMulti = 269-    fromEnum (AnotherTokenType k) = k--    toEnum 0 = TokenTypeEof-    toEnum 40 = TokenTypeLeftParen-    toEnum 41 = TokenTypeRightParen-    toEnum 123 = TokenTypeLeftCurly-    toEnum 125 = TokenTypeRightCurly-    toEnum 91 = TokenTypeLeftBrace-    toEnum 93 = TokenTypeRightBrace-    toEnum 61 = TokenTypeEqualSign-    toEnum 44 = TokenTypeComma-    toEnum 256 = TokenTypeNone-    toEnum 257 = TokenTypeError-    toEnum 258 = TokenTypeChar-    toEnum 259 = TokenTypeBinary-    toEnum 260 = TokenTypeOctal-    toEnum 261 = TokenTypeInt-    toEnum 262 = TokenTypeHex-    toEnum 263 = TokenTypeFloat-    toEnum 264 = TokenTypeString-    toEnum 265 = TokenTypeSymbol-    toEnum 266 = TokenTypeIdentifier-    toEnum 267 = TokenTypeIdentifierNull-    toEnum 268 = TokenTypeCommentSingle-    toEnum 269 = TokenTypeCommentMulti-    toEnum k = AnotherTokenType k--instance P.Ord TokenType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum TimeType-{- |-Disambiguates a given time in two ways.--First, specifies if the given time is in universal or local time.--Second, if the time is in local time, specifies if it is local-standard time or local daylight time.  This is important for the case-where the same local time occurs twice (during daylight savings time-transitions, for example).--}-data TimeType = -      TimeTypeStandard-    {- ^-    the time is in local standard time-    -}-    | TimeTypeDaylight-    {- ^-    the time is in local daylight time-    -}-    | TimeTypeUniversal-    {- ^-    the time is in UTC-    -}-    | AnotherTimeType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum TimeType where-    fromEnum TimeTypeStandard = 0-    fromEnum TimeTypeDaylight = 1-    fromEnum TimeTypeUniversal = 2-    fromEnum (AnotherTimeType k) = k--    toEnum 0 = TimeTypeStandard-    toEnum 1 = TimeTypeDaylight-    toEnum 2 = TimeTypeUniversal-    toEnum k = AnotherTimeType k--instance P.Ord TimeType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum ThreadError-{- |-Possible errors of thread related functions.--}-data ThreadError = -      ThreadErrorThreadErrorAgain-    {- ^-    a thread couldn\'t be created due to resource-                           shortage. Try again later.-    -}-    | AnotherThreadError Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum ThreadError where-    fromEnum ThreadErrorThreadErrorAgain = 0-    fromEnum (AnotherThreadError k) = k--    toEnum 0 = ThreadErrorThreadErrorAgain-    toEnum k = AnotherThreadError k--instance P.Ord ThreadError where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance GErrorClass ThreadError where-    gerrorClassDomain _ = "g_thread_error"---- | Catch exceptions of type `ThreadError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.-catchThreadError ::-    IO a ->-    (ThreadError -> GErrorMessage -> IO a) ->-    IO a-catchThreadError = catchGErrorJustDomain---- | Handle exceptions of type `ThreadError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.-handleThreadError ::-    (ThreadError -> GErrorMessage -> IO a) ->-    IO a ->-    IO a-handleThreadError = handleGErrorJustDomain---- Enum TestResult-{- |-/No description available in the introspection data./--}-data TestResult = -      TestResultSuccess-    {- ^-    /No description available in the introspection data./-    -}-    | TestResultSkipped-    {- ^-    /No description available in the introspection data./-    -}-    | TestResultFailure-    {- ^-    /No description available in the introspection data./-    -}-    | TestResultIncomplete-    {- ^-    /No description available in the introspection data./-    -}-    | AnotherTestResult Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum TestResult where-    fromEnum TestResultSuccess = 0-    fromEnum TestResultSkipped = 1-    fromEnum TestResultFailure = 2-    fromEnum TestResultIncomplete = 3-    fromEnum (AnotherTestResult k) = k--    toEnum 0 = TestResultSuccess-    toEnum 1 = TestResultSkipped-    toEnum 2 = TestResultFailure-    toEnum 3 = TestResultIncomplete-    toEnum k = AnotherTestResult k--instance P.Ord TestResult where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum TestLogType-{- |-/No description available in the introspection data./--}-data TestLogType = -      TestLogTypeNone-    {- ^-    /No description available in the introspection data./-    -}-    | TestLogTypeError-    {- ^-    /No description available in the introspection data./-    -}-    | TestLogTypeStartBinary-    {- ^-    /No description available in the introspection data./-    -}-    | TestLogTypeListCase-    {- ^-    /No description available in the introspection data./-    -}-    | TestLogTypeSkipCase-    {- ^-    /No description available in the introspection data./-    -}-    | TestLogTypeStartCase-    {- ^-    /No description available in the introspection data./-    -}-    | TestLogTypeStopCase-    {- ^-    /No description available in the introspection data./-    -}-    | TestLogTypeMinResult-    {- ^-    /No description available in the introspection data./-    -}-    | TestLogTypeMaxResult-    {- ^-    /No description available in the introspection data./-    -}-    | TestLogTypeMessage-    {- ^-    /No description available in the introspection data./-    -}-    | TestLogTypeStartSuite-    {- ^-    /No description available in the introspection data./-    -}-    | TestLogTypeStopSuite-    {- ^-    /No description available in the introspection data./-    -}-    | AnotherTestLogType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum TestLogType where-    fromEnum TestLogTypeNone = 0-    fromEnum TestLogTypeError = 1-    fromEnum TestLogTypeStartBinary = 2-    fromEnum TestLogTypeListCase = 3-    fromEnum TestLogTypeSkipCase = 4-    fromEnum TestLogTypeStartCase = 5-    fromEnum TestLogTypeStopCase = 6-    fromEnum TestLogTypeMinResult = 7-    fromEnum TestLogTypeMaxResult = 8-    fromEnum TestLogTypeMessage = 9-    fromEnum TestLogTypeStartSuite = 10-    fromEnum TestLogTypeStopSuite = 11-    fromEnum (AnotherTestLogType k) = k--    toEnum 0 = TestLogTypeNone-    toEnum 1 = TestLogTypeError-    toEnum 2 = TestLogTypeStartBinary-    toEnum 3 = TestLogTypeListCase-    toEnum 4 = TestLogTypeSkipCase-    toEnum 5 = TestLogTypeStartCase-    toEnum 6 = TestLogTypeStopCase-    toEnum 7 = TestLogTypeMinResult-    toEnum 8 = TestLogTypeMaxResult-    toEnum 9 = TestLogTypeMessage-    toEnum 10 = TestLogTypeStartSuite-    toEnum 11 = TestLogTypeStopSuite-    toEnum k = AnotherTestLogType k--instance P.Ord TestLogType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum TestFileType-{- |-The type of file to return the filename for, when used with-@/g_test_build_filename()/@.--These two options correspond rather directly to the \'dist\' and-\'built\' terminology that automake uses and are explicitly used to-distinguish between the \'srcdir\' and \'builddir\' being separate.  All-files in your project should either be dist (in the-@EXTRA_DIST@ or @dist_schema_DATA@-sense, in which case they will always be in the srcdir) or built (in-the @BUILT_SOURCES@ sense, in which case they will-always be in the builddir).--Note: as a general rule of automake, files that are generated only as-part of the build-from-git process (but then are distributed with the-tarball) always go in srcdir (even if doing a srcdir != builddir-build from git) and are considered as distributed files.--/Since: 2.38/--}-data TestFileType = -      TestFileTypeDist-    {- ^-    a file that was included in the distribution tarball-    -}-    | TestFileTypeBuilt-    {- ^-    a file that was built on the compiling machine-    -}-    | AnotherTestFileType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum TestFileType where-    fromEnum TestFileTypeDist = 0-    fromEnum TestFileTypeBuilt = 1-    fromEnum (AnotherTestFileType k) = k--    toEnum 0 = TestFileTypeDist-    toEnum 1 = TestFileTypeBuilt-    toEnum k = AnotherTestFileType k--instance P.Ord TestFileType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum SpawnError-{- |-Error codes returned by spawning processes.--}-data SpawnError = -      SpawnErrorFork-    {- ^-    Fork failed due to lack of memory.-    -}-    | SpawnErrorRead-    {- ^-    Read or select on pipes failed.-    -}-    | SpawnErrorChdir-    {- ^-    Changing to working directory failed.-    -}-    | SpawnErrorAcces-    {- ^-    @/execv()/@ returned @EACCES@-    -}-    | SpawnErrorPerm-    {- ^-    @/execv()/@ returned @EPERM@-    -}-    | SpawnErrorTooBig-    {- ^-    @/execv()/@ returned @E2BIG@-    -}-    | SpawnError2big-    {- ^-    deprecated alias for 'GI.GLib.Enums.SpawnErrorTooBig'-    -}-    | SpawnErrorNoexec-    {- ^-    @/execv()/@ returned @ENOEXEC@-    -}-    | SpawnErrorNametoolong-    {- ^-    @/execv()/@ returned @ENAMETOOLONG@-    -}-    | SpawnErrorNoent-    {- ^-    @/execv()/@ returned @ENOENT@-    -}-    | SpawnErrorNomem-    {- ^-    @/execv()/@ returned @ENOMEM@-    -}-    | SpawnErrorNotdir-    {- ^-    @/execv()/@ returned @ENOTDIR@-    -}-    | SpawnErrorLoop-    {- ^-    @/execv()/@ returned @ELOOP@-    -}-    | SpawnErrorTxtbusy-    {- ^-    @/execv()/@ returned @ETXTBUSY@-    -}-    | SpawnErrorIo-    {- ^-    @/execv()/@ returned @EIO@-    -}-    | SpawnErrorNfile-    {- ^-    @/execv()/@ returned @ENFILE@-    -}-    | SpawnErrorMfile-    {- ^-    @/execv()/@ returned @EMFILE@-    -}-    | SpawnErrorInval-    {- ^-    @/execv()/@ returned @EINVAL@-    -}-    | SpawnErrorIsdir-    {- ^-    @/execv()/@ returned @EISDIR@-    -}-    | SpawnErrorLibbad-    {- ^-    @/execv()/@ returned @ELIBBAD@-    -}-    | SpawnErrorFailed-    {- ^-    Some other fatal failure,-      @error->message@ should explain.-    -}-    | AnotherSpawnError Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum SpawnError where-    fromEnum SpawnErrorFork = 0-    fromEnum SpawnErrorRead = 1-    fromEnum SpawnErrorChdir = 2-    fromEnum SpawnErrorAcces = 3-    fromEnum SpawnErrorPerm = 4-    fromEnum SpawnErrorTooBig = 5-    fromEnum SpawnError2big = 5-    fromEnum SpawnErrorNoexec = 6-    fromEnum SpawnErrorNametoolong = 7-    fromEnum SpawnErrorNoent = 8-    fromEnum SpawnErrorNomem = 9-    fromEnum SpawnErrorNotdir = 10-    fromEnum SpawnErrorLoop = 11-    fromEnum SpawnErrorTxtbusy = 12-    fromEnum SpawnErrorIo = 13-    fromEnum SpawnErrorNfile = 14-    fromEnum SpawnErrorMfile = 15-    fromEnum SpawnErrorInval = 16-    fromEnum SpawnErrorIsdir = 17-    fromEnum SpawnErrorLibbad = 18-    fromEnum SpawnErrorFailed = 19-    fromEnum (AnotherSpawnError k) = k--    toEnum 0 = SpawnErrorFork-    toEnum 1 = SpawnErrorRead-    toEnum 2 = SpawnErrorChdir-    toEnum 3 = SpawnErrorAcces-    toEnum 4 = SpawnErrorPerm-    toEnum 5 = SpawnErrorTooBig-    toEnum 5 = SpawnError2big-    toEnum 6 = SpawnErrorNoexec-    toEnum 7 = SpawnErrorNametoolong-    toEnum 8 = SpawnErrorNoent-    toEnum 9 = SpawnErrorNomem-    toEnum 10 = SpawnErrorNotdir-    toEnum 11 = SpawnErrorLoop-    toEnum 12 = SpawnErrorTxtbusy-    toEnum 13 = SpawnErrorIo-    toEnum 14 = SpawnErrorNfile-    toEnum 15 = SpawnErrorMfile-    toEnum 16 = SpawnErrorInval-    toEnum 17 = SpawnErrorIsdir-    toEnum 18 = SpawnErrorLibbad-    toEnum 19 = SpawnErrorFailed-    toEnum k = AnotherSpawnError k--instance P.Ord SpawnError where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance GErrorClass SpawnError where-    gerrorClassDomain _ = "g-exec-error-quark"---- | Catch exceptions of type `SpawnError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.-catchSpawnError ::-    IO a ->-    (SpawnError -> GErrorMessage -> IO a) ->-    IO a-catchSpawnError = catchGErrorJustDomain---- | Handle exceptions of type `SpawnError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.-handleSpawnError ::-    (SpawnError -> GErrorMessage -> IO a) ->-    IO a ->-    IO a-handleSpawnError = handleGErrorJustDomain---- Enum SliceConfig-{- |-/No description available in the introspection data./--}-data SliceConfig = -      SliceConfigAlwaysMalloc-    {- ^-    /No description available in the introspection data./-    -}-    | SliceConfigBypassMagazines-    {- ^-    /No description available in the introspection data./-    -}-    | SliceConfigWorkingSetMsecs-    {- ^-    /No description available in the introspection data./-    -}-    | SliceConfigColorIncrement-    {- ^-    /No description available in the introspection data./-    -}-    | SliceConfigChunkSizes-    {- ^-    /No description available in the introspection data./-    -}-    | SliceConfigContentionCounter-    {- ^-    /No description available in the introspection data./-    -}-    | AnotherSliceConfig Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum SliceConfig where-    fromEnum SliceConfigAlwaysMalloc = 1-    fromEnum SliceConfigBypassMagazines = 2-    fromEnum SliceConfigWorkingSetMsecs = 3-    fromEnum SliceConfigColorIncrement = 4-    fromEnum SliceConfigChunkSizes = 5-    fromEnum SliceConfigContentionCounter = 6-    fromEnum (AnotherSliceConfig k) = k--    toEnum 1 = SliceConfigAlwaysMalloc-    toEnum 2 = SliceConfigBypassMagazines-    toEnum 3 = SliceConfigWorkingSetMsecs-    toEnum 4 = SliceConfigColorIncrement-    toEnum 5 = SliceConfigChunkSizes-    toEnum 6 = SliceConfigContentionCounter-    toEnum k = AnotherSliceConfig k--instance P.Ord SliceConfig where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum ShellError-{- |-Error codes returned by shell functions.--}-data ShellError = -      ShellErrorBadQuoting-    {- ^-    Mismatched or otherwise mangled quoting.-    -}-    | ShellErrorEmptyString-    {- ^-    String to be parsed was empty.-    -}-    | ShellErrorFailed-    {- ^-    Some other error.-    -}-    | AnotherShellError Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum ShellError where-    fromEnum ShellErrorBadQuoting = 0-    fromEnum ShellErrorEmptyString = 1-    fromEnum ShellErrorFailed = 2-    fromEnum (AnotherShellError k) = k--    toEnum 0 = ShellErrorBadQuoting-    toEnum 1 = ShellErrorEmptyString-    toEnum 2 = ShellErrorFailed-    toEnum k = AnotherShellError k--instance P.Ord ShellError where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance GErrorClass ShellError where-    gerrorClassDomain _ = "g-shell-error-quark"---- | Catch exceptions of type `ShellError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.-catchShellError ::-    IO a ->-    (ShellError -> GErrorMessage -> IO a) ->-    IO a-catchShellError = catchGErrorJustDomain---- | Handle exceptions of type `ShellError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.-handleShellError ::-    (ShellError -> GErrorMessage -> IO a) ->-    IO a ->-    IO a-handleShellError = handleGErrorJustDomain---- Enum SeekType-{- |-An enumeration specifying the base position for a-'GI.GLib.Structs.IOChannel.iOChannelSeekPosition' operation.--}-data SeekType = -      SeekTypeCur-    {- ^-    the current position in the file.-    -}-    | SeekTypeSet-    {- ^-    the start of the file.-    -}-    | SeekTypeEnd-    {- ^-    the end of the file.-    -}-    | AnotherSeekType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum SeekType where-    fromEnum SeekTypeCur = 0-    fromEnum SeekTypeSet = 1-    fromEnum SeekTypeEnd = 2-    fromEnum (AnotherSeekType k) = k--    toEnum 0 = SeekTypeCur-    toEnum 1 = SeekTypeSet-    toEnum 2 = SeekTypeEnd-    toEnum k = AnotherSeekType k--instance P.Ord SeekType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum RegexError-{- |-Error codes returned by regular expressions functions.--/Since: 2.14/--}-data RegexError = -      RegexErrorCompile-    {- ^-    Compilation of the regular expression failed.-    -}-    | RegexErrorOptimize-    {- ^-    Optimization of the regular expression failed.-    -}-    | RegexErrorReplace-    {- ^-    Replacement failed due to an ill-formed replacement-        string.-    -}-    | RegexErrorMatch-    {- ^-    The match process failed.-    -}-    | RegexErrorInternal-    {- ^-    Internal error of the regular expression engine.-        Since 2.16-    -}-    | RegexErrorStrayBackslash-    {- ^-    \"\\\" at end of pattern. Since 2.16-    -}-    | RegexErrorMissingControlChar-    {- ^-    \"\\c\" at end of pattern. Since 2.16-    -}-    | RegexErrorUnrecognizedEscape-    {- ^-    Unrecognized character follows \"\\\".-        Since 2.16-    -}-    | RegexErrorQuantifiersOutOfOrder-    {- ^-    Numbers out of order in \"{}\"-        quantifier. Since 2.16-    -}-    | RegexErrorQuantifierTooBig-    {- ^-    Number too big in \"{}\" quantifier.-        Since 2.16-    -}-    | RegexErrorUnterminatedCharacterClass-    {- ^-    Missing terminating \"]\" for-        character class. Since 2.16-    -}-    | RegexErrorInvalidEscapeInCharacterClass-    {- ^-    Invalid escape sequence-        in character class. Since 2.16-    -}-    | RegexErrorRangeOutOfOrder-    {- ^-    Range out of order in character class.-        Since 2.16-    -}-    | RegexErrorNothingToRepeat-    {- ^-    Nothing to repeat. Since 2.16-    -}-    | RegexErrorUnrecognizedCharacter-    {- ^-    Unrecognized character after \"(?\",-        \"(?\<\" or \"(?P\". Since 2.16-    -}-    | RegexErrorPosixNamedClassOutsideClass-    {- ^-    POSIX named classes are-        supported only within a class. Since 2.16-    -}-    | RegexErrorUnmatchedParenthesis-    {- ^-    Missing terminating \")\" or \")\"-        without opening \"(\". Since 2.16-    -}-    | RegexErrorInexistentSubpatternReference-    {- ^-    Reference to non-existent-        subpattern. Since 2.16-    -}-    | RegexErrorUnterminatedComment-    {- ^-    Missing terminating \")\" after comment.-        Since 2.16-    -}-    | RegexErrorExpressionTooLarge-    {- ^-    Regular expression too large.-        Since 2.16-    -}-    | RegexErrorMemoryError-    {- ^-    Failed to get memory. Since 2.16-    -}-    | RegexErrorVariableLengthLookbehind-    {- ^-    Lookbehind assertion is not-        fixed length. Since 2.16-    -}-    | RegexErrorMalformedCondition-    {- ^-    Malformed number or name after \"(?(\".-        Since 2.16-    -}-    | RegexErrorTooManyConditionalBranches-    {- ^-    Conditional group contains-        more than two branches. Since 2.16-    -}-    | RegexErrorAssertionExpected-    {- ^-    Assertion expected after \"(?(\".-        Since 2.16-    -}-    | RegexErrorUnknownPosixClassName-    {- ^-    Unknown POSIX class name.-        Since 2.16-    -}-    | RegexErrorPosixCollatingElementsNotSupported-    {- ^-    POSIX collating-        elements are not supported. Since 2.16-    -}-    | RegexErrorHexCodeTooLarge-    {- ^-    Character value in \"\\x{...}\" sequence-        is too large. Since 2.16-    -}-    | RegexErrorInvalidCondition-    {- ^-    Invalid condition \"(?(0)\". Since 2.16-    -}-    | RegexErrorSingleByteMatchInLookbehind-    {- ^-    \\C not allowed in-        lookbehind assertion. Since 2.16-    -}-    | RegexErrorInfiniteLoop-    {- ^-    Recursive call could loop indefinitely.-        Since 2.16-    -}-    | RegexErrorMissingSubpatternNameTerminator-    {- ^-    Missing terminator-        in subpattern name. Since 2.16-    -}-    | RegexErrorDuplicateSubpatternName-    {- ^-    Two named subpatterns have-        the same name. Since 2.16-    -}-    | RegexErrorMalformedProperty-    {- ^-    Malformed \"\\P\" or \"\\p\" sequence.-        Since 2.16-    -}-    | RegexErrorUnknownProperty-    {- ^-    Unknown property name after \"\\P\" or-        \"\\p\". Since 2.16-    -}-    | RegexErrorSubpatternNameTooLong-    {- ^-    Subpattern name is too long-        (maximum 32 characters). Since 2.16-    -}-    | RegexErrorTooManySubpatterns-    {- ^-    Too many named subpatterns (maximum-        10,000). Since 2.16-    -}-    | RegexErrorInvalidOctalValue-    {- ^-    Octal value is greater than \"\\377\".-        Since 2.16-    -}-    | RegexErrorTooManyBranchesInDefine-    {- ^-    \"DEFINE\" group contains more-        than one branch. Since 2.16-    -}-    | RegexErrorDefineRepetion-    {- ^-    Repeating a \"DEFINE\" group is not allowed.-        This error is never raised. Since: 2.16 Deprecated: 2.34-    -}-    | RegexErrorInconsistentNewlineOptions-    {- ^-    Inconsistent newline options.-        Since 2.16-    -}-    | RegexErrorMissingBackReference-    {- ^-    \"\\g\" is not followed by a braced,-         angle-bracketed, or quoted name or number, or by a plain number. Since: 2.16-    -}-    | RegexErrorInvalidRelativeReference-    {- ^-    relative reference must not be zero. Since: 2.34-    -}-    | RegexErrorBacktrackingControlVerbArgumentForbidden-    {- ^-    the backtracing-        control verb used does not allow an argument. Since: 2.34-    -}-    | RegexErrorUnknownBacktrackingControlVerb-    {- ^-    unknown backtracing-        control verb. Since: 2.34-    -}-    | RegexErrorNumberTooBig-    {- ^-    number is too big in escape sequence. Since: 2.34-    -}-    | RegexErrorMissingSubpatternName-    {- ^-    Missing subpattern name. Since: 2.34-    -}-    | RegexErrorMissingDigit-    {- ^-    Missing digit. Since 2.34-    -}-    | RegexErrorInvalidDataCharacter-    {- ^-    In JavaScript compatibility mode,-        \"[\" is an invalid data character. Since: 2.34-    -}-    | RegexErrorExtraSubpatternName-    {- ^-    different names for subpatterns of the-        same number are not allowed. Since: 2.34-    -}-    | RegexErrorBacktrackingControlVerbArgumentRequired-    {- ^-    the backtracing control-        verb requires an argument. Since: 2.34-    -}-    | RegexErrorInvalidControlChar-    {- ^-    \"\\c\" must be followed by an ASCII-        character. Since: 2.34-    -}-    | RegexErrorMissingName-    {- ^-    \"\\k\" is not followed by a braced, angle-bracketed, or-        quoted name. Since: 2.34-    -}-    | RegexErrorNotSupportedInClass-    {- ^-    \"\\N\" is not supported in a class. Since: 2.34-    -}-    | RegexErrorTooManyForwardReferences-    {- ^-    too many forward references. Since: 2.34-    -}-    | RegexErrorNameTooLong-    {- ^-    the name is too long in \"(*MARK)\", \"(*PRUNE)\",-        \"(*SKIP)\", or \"(*THEN)\". Since: 2.34-    -}-    | RegexErrorCharacterValueTooLarge-    {- ^-    the character value in the \\u sequence is-        too large. Since: 2.34-    -}-    | AnotherRegexError Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum RegexError where-    fromEnum RegexErrorCompile = 0-    fromEnum RegexErrorOptimize = 1-    fromEnum RegexErrorReplace = 2-    fromEnum RegexErrorMatch = 3-    fromEnum RegexErrorInternal = 4-    fromEnum RegexErrorStrayBackslash = 101-    fromEnum RegexErrorMissingControlChar = 102-    fromEnum RegexErrorUnrecognizedEscape = 103-    fromEnum RegexErrorQuantifiersOutOfOrder = 104-    fromEnum RegexErrorQuantifierTooBig = 105-    fromEnum RegexErrorUnterminatedCharacterClass = 106-    fromEnum RegexErrorInvalidEscapeInCharacterClass = 107-    fromEnum RegexErrorRangeOutOfOrder = 108-    fromEnum RegexErrorNothingToRepeat = 109-    fromEnum RegexErrorUnrecognizedCharacter = 112-    fromEnum RegexErrorPosixNamedClassOutsideClass = 113-    fromEnum RegexErrorUnmatchedParenthesis = 114-    fromEnum RegexErrorInexistentSubpatternReference = 115-    fromEnum RegexErrorUnterminatedComment = 118-    fromEnum RegexErrorExpressionTooLarge = 120-    fromEnum RegexErrorMemoryError = 121-    fromEnum RegexErrorVariableLengthLookbehind = 125-    fromEnum RegexErrorMalformedCondition = 126-    fromEnum RegexErrorTooManyConditionalBranches = 127-    fromEnum RegexErrorAssertionExpected = 128-    fromEnum RegexErrorUnknownPosixClassName = 130-    fromEnum RegexErrorPosixCollatingElementsNotSupported = 131-    fromEnum RegexErrorHexCodeTooLarge = 134-    fromEnum RegexErrorInvalidCondition = 135-    fromEnum RegexErrorSingleByteMatchInLookbehind = 136-    fromEnum RegexErrorInfiniteLoop = 140-    fromEnum RegexErrorMissingSubpatternNameTerminator = 142-    fromEnum RegexErrorDuplicateSubpatternName = 143-    fromEnum RegexErrorMalformedProperty = 146-    fromEnum RegexErrorUnknownProperty = 147-    fromEnum RegexErrorSubpatternNameTooLong = 148-    fromEnum RegexErrorTooManySubpatterns = 149-    fromEnum RegexErrorInvalidOctalValue = 151-    fromEnum RegexErrorTooManyBranchesInDefine = 154-    fromEnum RegexErrorDefineRepetion = 155-    fromEnum RegexErrorInconsistentNewlineOptions = 156-    fromEnum RegexErrorMissingBackReference = 157-    fromEnum RegexErrorInvalidRelativeReference = 158-    fromEnum RegexErrorBacktrackingControlVerbArgumentForbidden = 159-    fromEnum RegexErrorUnknownBacktrackingControlVerb = 160-    fromEnum RegexErrorNumberTooBig = 161-    fromEnum RegexErrorMissingSubpatternName = 162-    fromEnum RegexErrorMissingDigit = 163-    fromEnum RegexErrorInvalidDataCharacter = 164-    fromEnum RegexErrorExtraSubpatternName = 165-    fromEnum RegexErrorBacktrackingControlVerbArgumentRequired = 166-    fromEnum RegexErrorInvalidControlChar = 168-    fromEnum RegexErrorMissingName = 169-    fromEnum RegexErrorNotSupportedInClass = 171-    fromEnum RegexErrorTooManyForwardReferences = 172-    fromEnum RegexErrorNameTooLong = 175-    fromEnum RegexErrorCharacterValueTooLarge = 176-    fromEnum (AnotherRegexError k) = k--    toEnum 0 = RegexErrorCompile-    toEnum 1 = RegexErrorOptimize-    toEnum 2 = RegexErrorReplace-    toEnum 3 = RegexErrorMatch-    toEnum 4 = RegexErrorInternal-    toEnum 101 = RegexErrorStrayBackslash-    toEnum 102 = RegexErrorMissingControlChar-    toEnum 103 = RegexErrorUnrecognizedEscape-    toEnum 104 = RegexErrorQuantifiersOutOfOrder-    toEnum 105 = RegexErrorQuantifierTooBig-    toEnum 106 = RegexErrorUnterminatedCharacterClass-    toEnum 107 = RegexErrorInvalidEscapeInCharacterClass-    toEnum 108 = RegexErrorRangeOutOfOrder-    toEnum 109 = RegexErrorNothingToRepeat-    toEnum 112 = RegexErrorUnrecognizedCharacter-    toEnum 113 = RegexErrorPosixNamedClassOutsideClass-    toEnum 114 = RegexErrorUnmatchedParenthesis-    toEnum 115 = RegexErrorInexistentSubpatternReference-    toEnum 118 = RegexErrorUnterminatedComment-    toEnum 120 = RegexErrorExpressionTooLarge-    toEnum 121 = RegexErrorMemoryError-    toEnum 125 = RegexErrorVariableLengthLookbehind-    toEnum 126 = RegexErrorMalformedCondition-    toEnum 127 = RegexErrorTooManyConditionalBranches-    toEnum 128 = RegexErrorAssertionExpected-    toEnum 130 = RegexErrorUnknownPosixClassName-    toEnum 131 = RegexErrorPosixCollatingElementsNotSupported-    toEnum 134 = RegexErrorHexCodeTooLarge-    toEnum 135 = RegexErrorInvalidCondition-    toEnum 136 = RegexErrorSingleByteMatchInLookbehind-    toEnum 140 = RegexErrorInfiniteLoop-    toEnum 142 = RegexErrorMissingSubpatternNameTerminator-    toEnum 143 = RegexErrorDuplicateSubpatternName-    toEnum 146 = RegexErrorMalformedProperty-    toEnum 147 = RegexErrorUnknownProperty-    toEnum 148 = RegexErrorSubpatternNameTooLong-    toEnum 149 = RegexErrorTooManySubpatterns-    toEnum 151 = RegexErrorInvalidOctalValue-    toEnum 154 = RegexErrorTooManyBranchesInDefine-    toEnum 155 = RegexErrorDefineRepetion-    toEnum 156 = RegexErrorInconsistentNewlineOptions-    toEnum 157 = RegexErrorMissingBackReference-    toEnum 158 = RegexErrorInvalidRelativeReference-    toEnum 159 = RegexErrorBacktrackingControlVerbArgumentForbidden-    toEnum 160 = RegexErrorUnknownBacktrackingControlVerb-    toEnum 161 = RegexErrorNumberTooBig-    toEnum 162 = RegexErrorMissingSubpatternName-    toEnum 163 = RegexErrorMissingDigit-    toEnum 164 = RegexErrorInvalidDataCharacter-    toEnum 165 = RegexErrorExtraSubpatternName-    toEnum 166 = RegexErrorBacktrackingControlVerbArgumentRequired-    toEnum 168 = RegexErrorInvalidControlChar-    toEnum 169 = RegexErrorMissingName-    toEnum 171 = RegexErrorNotSupportedInClass-    toEnum 172 = RegexErrorTooManyForwardReferences-    toEnum 175 = RegexErrorNameTooLong-    toEnum 176 = RegexErrorCharacterValueTooLarge-    toEnum k = AnotherRegexError k--instance P.Ord RegexError where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance GErrorClass RegexError where-    gerrorClassDomain _ = "g-regex-error-quark"---- | Catch exceptions of type `RegexError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.-catchRegexError ::-    IO a ->-    (RegexError -> GErrorMessage -> IO a) ->-    IO a-catchRegexError = catchGErrorJustDomain---- | Handle exceptions of type `RegexError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.-handleRegexError ::-    (RegexError -> GErrorMessage -> IO a) ->-    IO a ->-    IO a-handleRegexError = handleGErrorJustDomain---- Enum OptionError-{- |-Error codes returned by option parsing.--}-data OptionError = -      OptionErrorUnknownOption-    {- ^-    An option was not known to the parser.-     This error will only be reported, if the parser hasn\'t been instructed-     to ignore unknown options, see 'GI.GLib.Structs.OptionContext.optionContextSetIgnoreUnknownOptions'.-    -}-    | OptionErrorBadValue-    {- ^-    A value couldn\'t be parsed.-    -}-    | OptionErrorFailed-    {- ^-    A 'GI.GLib.Callbacks.OptionArgFunc' callback failed.-    -}-    | AnotherOptionError Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum OptionError where-    fromEnum OptionErrorUnknownOption = 0-    fromEnum OptionErrorBadValue = 1-    fromEnum OptionErrorFailed = 2-    fromEnum (AnotherOptionError k) = k--    toEnum 0 = OptionErrorUnknownOption-    toEnum 1 = OptionErrorBadValue-    toEnum 2 = OptionErrorFailed-    toEnum k = AnotherOptionError k--instance P.Ord OptionError where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance GErrorClass OptionError where-    gerrorClassDomain _ = "g-option-context-error-quark"---- | Catch exceptions of type `OptionError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.-catchOptionError ::-    IO a ->-    (OptionError -> GErrorMessage -> IO a) ->-    IO a-catchOptionError = catchGErrorJustDomain---- | Handle exceptions of type `OptionError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.-handleOptionError ::-    (OptionError -> GErrorMessage -> IO a) ->-    IO a ->-    IO a-handleOptionError = handleGErrorJustDomain---- Enum OptionArg-{- |-The 'GI.GLib.Enums.OptionArg' enum values determine which type of extra argument the-options expect to find. If an option expects an extra argument, it can-be specified in several ways; with a short option: @-x arg@, with a long-option: @--name arg@ or combined in a single argument: @--name=arg@.--}-data OptionArg = -      OptionArgNone-    {- ^-    No extra argument. This is useful for simple flags.-    -}-    | OptionArgString-    {- ^-    The option takes a string argument.-    -}-    | OptionArgInt-    {- ^-    The option takes an integer argument.-    -}-    | OptionArgCallback-    {- ^-    The option provides a callback (of type-        'GI.GLib.Callbacks.OptionArgFunc') to parse the extra argument.-    -}-    | OptionArgFilename-    {- ^-    The option takes a filename as argument.-    -}-    | OptionArgStringArray-    {- ^-    The option takes a string argument, multiple-        uses of the option are collected into an array of strings.-    -}-    | OptionArgFilenameArray-    {- ^-    The option takes a filename as argument,-        multiple uses of the option are collected into an array of strings.-    -}-    | OptionArgDouble-    {- ^-    The option takes a double argument. The argument-        can be formatted either for the user\'s locale or for the \"C\" locale.-        Since 2.12-    -}-    | OptionArgInt64-    {- ^-    The option takes a 64-bit integer. Like-        'GI.GLib.Enums.OptionArgInt' but for larger numbers. The number can be in-        decimal base, or in hexadecimal (when prefixed with @0x@, for-        example, @0xffffffff@). Since 2.12-    -}-    | AnotherOptionArg Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum OptionArg where-    fromEnum OptionArgNone = 0-    fromEnum OptionArgString = 1-    fromEnum OptionArgInt = 2-    fromEnum OptionArgCallback = 3-    fromEnum OptionArgFilename = 4-    fromEnum OptionArgStringArray = 5-    fromEnum OptionArgFilenameArray = 6-    fromEnum OptionArgDouble = 7-    fromEnum OptionArgInt64 = 8-    fromEnum (AnotherOptionArg k) = k--    toEnum 0 = OptionArgNone-    toEnum 1 = OptionArgString-    toEnum 2 = OptionArgInt-    toEnum 3 = OptionArgCallback-    toEnum 4 = OptionArgFilename-    toEnum 5 = OptionArgStringArray-    toEnum 6 = OptionArgFilenameArray-    toEnum 7 = OptionArgDouble-    toEnum 8 = OptionArgInt64-    toEnum k = AnotherOptionArg k--instance P.Ord OptionArg where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum OnceStatus-{- |-The possible statuses of a one-time initialization function-controlled by a 'GI.GLib.Structs.Once.Once' struct.--/Since: 2.4/--}-data OnceStatus = -      OnceStatusNotcalled-    {- ^-    the function has not been called yet.-    -}-    | OnceStatusProgress-    {- ^-    the function call is currently in progress.-    -}-    | OnceStatusReady-    {- ^-    the function has been called.-    -}-    | AnotherOnceStatus Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum OnceStatus where-    fromEnum OnceStatusNotcalled = 0-    fromEnum OnceStatusProgress = 1-    fromEnum OnceStatusReady = 2-    fromEnum (AnotherOnceStatus k) = k--    toEnum 0 = OnceStatusNotcalled-    toEnum 1 = OnceStatusProgress-    toEnum 2 = OnceStatusReady-    toEnum k = AnotherOnceStatus k--instance P.Ord OnceStatus where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum NumberParserError-{- |-Error codes returned by functions converting a string to a number.--/Since: 2.54/--}-data NumberParserError = -      NumberParserErrorInvalid-    {- ^-    String was not a valid number.-    -}-    | NumberParserErrorOutOfBounds-    {- ^-    String was a number, but out of bounds.-    -}-    | AnotherNumberParserError Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum NumberParserError where-    fromEnum NumberParserErrorInvalid = 0-    fromEnum NumberParserErrorOutOfBounds = 1-    fromEnum (AnotherNumberParserError k) = k--    toEnum 0 = NumberParserErrorInvalid-    toEnum 1 = NumberParserErrorOutOfBounds-    toEnum k = AnotherNumberParserError k--instance P.Ord NumberParserError where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance GErrorClass NumberParserError where-    gerrorClassDomain _ = "g-number-parser-error-quark"---- | Catch exceptions of type `NumberParserError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.-catchNumberParserError ::-    IO a ->-    (NumberParserError -> GErrorMessage -> IO a) ->-    IO a-catchNumberParserError = catchGErrorJustDomain---- | Handle exceptions of type `NumberParserError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.-handleNumberParserError ::-    (NumberParserError -> GErrorMessage -> IO a) ->-    IO a ->-    IO a-handleNumberParserError = handleGErrorJustDomain---- Enum NormalizeMode-{- |-Defines how a Unicode string is transformed in a canonical-form, standardizing such issues as whether a character with-an accent is represented as a base character and combining-accent or as a single precomposed character. Unicode strings-should generally be normalized before comparing them.--}-data NormalizeMode = -      NormalizeModeDefault-    {- ^-    standardize differences that do not affect the-        text content, such as the above-mentioned accent representation-    -}-    | NormalizeModeNfd-    {- ^-    another name for 'GI.GLib.Enums.NormalizeModeDefault'-    -}-    | NormalizeModeDefaultCompose-    {- ^-    like 'GI.GLib.Enums.NormalizeModeDefault', but with-        composed forms rather than a maximally decomposed form-    -}-    | NormalizeModeNfc-    {- ^-    another name for 'GI.GLib.Enums.NormalizeModeDefaultCompose'-    -}-    | NormalizeModeAll-    {- ^-    beyond 'GI.GLib.Enums.NormalizeModeDefault' also standardize the-        \"compatibility\" characters in Unicode, such as SUPERSCRIPT THREE-        to the standard forms (in this case DIGIT THREE). Formatting-        information may be lost but for most text operations such-        characters should be considered the same-    -}-    | NormalizeModeNfkd-    {- ^-    another name for 'GI.GLib.Enums.NormalizeModeAll'-    -}-    | NormalizeModeAllCompose-    {- ^-    like 'GI.GLib.Enums.NormalizeModeAll', but with composed-        forms rather than a maximally decomposed form-    -}-    | NormalizeModeNfkc-    {- ^-    another name for 'GI.GLib.Enums.NormalizeModeAllCompose'-    -}-    | AnotherNormalizeMode Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum NormalizeMode where-    fromEnum NormalizeModeDefault = 0-    fromEnum NormalizeModeNfd = 0-    fromEnum NormalizeModeDefaultCompose = 1-    fromEnum NormalizeModeNfc = 1-    fromEnum NormalizeModeAll = 2-    fromEnum NormalizeModeNfkd = 2-    fromEnum NormalizeModeAllCompose = 3-    fromEnum NormalizeModeNfkc = 3-    fromEnum (AnotherNormalizeMode k) = k--    toEnum 0 = NormalizeModeDefault-    toEnum 0 = NormalizeModeNfd-    toEnum 1 = NormalizeModeDefaultCompose-    toEnum 1 = NormalizeModeNfc-    toEnum 2 = NormalizeModeAll-    toEnum 2 = NormalizeModeNfkd-    toEnum 3 = NormalizeModeAllCompose-    toEnum 3 = NormalizeModeNfkc-    toEnum k = AnotherNormalizeMode k--instance P.Ord NormalizeMode where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum MarkupError-{- |-Error codes returned by markup parsing.--}-data MarkupError = -      MarkupErrorBadUtf8-    {- ^-    text being parsed was not valid UTF-8-    -}-    | MarkupErrorEmpty-    {- ^-    document contained nothing, or only whitespace-    -}-    | MarkupErrorParse-    {- ^-    document was ill-formed-    -}-    | MarkupErrorUnknownElement-    {- ^-    error should be set by 'GI.GLib.Structs.MarkupParser.MarkupParser'-        functions; element wasn\'t known-    -}-    | MarkupErrorUnknownAttribute-    {- ^-    error should be set by 'GI.GLib.Structs.MarkupParser.MarkupParser'-        functions; attribute wasn\'t known-    -}-    | MarkupErrorInvalidContent-    {- ^-    error should be set by 'GI.GLib.Structs.MarkupParser.MarkupParser'-        functions; content was invalid-    -}-    | MarkupErrorMissingAttribute-    {- ^-    error should be set by 'GI.GLib.Structs.MarkupParser.MarkupParser'-        functions; a required attribute was missing-    -}-    | AnotherMarkupError Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum MarkupError where-    fromEnum MarkupErrorBadUtf8 = 0-    fromEnum MarkupErrorEmpty = 1-    fromEnum MarkupErrorParse = 2-    fromEnum MarkupErrorUnknownElement = 3-    fromEnum MarkupErrorUnknownAttribute = 4-    fromEnum MarkupErrorInvalidContent = 5-    fromEnum MarkupErrorMissingAttribute = 6-    fromEnum (AnotherMarkupError k) = k--    toEnum 0 = MarkupErrorBadUtf8-    toEnum 1 = MarkupErrorEmpty-    toEnum 2 = MarkupErrorParse-    toEnum 3 = MarkupErrorUnknownElement-    toEnum 4 = MarkupErrorUnknownAttribute-    toEnum 5 = MarkupErrorInvalidContent-    toEnum 6 = MarkupErrorMissingAttribute-    toEnum k = AnotherMarkupError k--instance P.Ord MarkupError where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance GErrorClass MarkupError where-    gerrorClassDomain _ = "g-markup-error-quark"---- | Catch exceptions of type `MarkupError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.-catchMarkupError ::-    IO a ->-    (MarkupError -> GErrorMessage -> IO a) ->-    IO a-catchMarkupError = catchGErrorJustDomain---- | Handle exceptions of type `MarkupError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.-handleMarkupError ::-    (MarkupError -> GErrorMessage -> IO a) ->-    IO a ->-    IO a-handleMarkupError = handleGErrorJustDomain---- Enum LogWriterOutput-{- |-Return values from @/GLogWriterFuncs/@ to indicate whether the given log entry-was successfully handled by the writer, or whether there was an error in-handling it (and hence a fallback writer should be used).--If a 'GI.GLib.Callbacks.LogWriterFunc' ignores a log entry, it should return-'GI.GLib.Enums.LogWriterOutputHandled'.--/Since: 2.50/--}-data LogWriterOutput = -      LogWriterOutputHandled-    {- ^-    Log writer has handled the log entry.-    -}-    | LogWriterOutputUnhandled-    {- ^-    Log writer could not handle the log entry.-    -}-    | AnotherLogWriterOutput Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum LogWriterOutput where-    fromEnum LogWriterOutputHandled = 1-    fromEnum LogWriterOutputUnhandled = 0-    fromEnum (AnotherLogWriterOutput k) = k--    toEnum 1 = LogWriterOutputHandled-    toEnum 0 = LogWriterOutputUnhandled-    toEnum k = AnotherLogWriterOutput k--instance P.Ord LogWriterOutput where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum KeyFileError-{- |-Error codes returned by key file parsing.--}-data KeyFileError = -      KeyFileErrorUnknownEncoding-    {- ^-    the text being parsed was in-        an unknown encoding-    -}-    | KeyFileErrorParse-    {- ^-    document was ill-formed-    -}-    | KeyFileErrorNotFound-    {- ^-    the file was not found-    -}-    | KeyFileErrorKeyNotFound-    {- ^-    a requested key was not found-    -}-    | KeyFileErrorGroupNotFound-    {- ^-    a requested group was not found-    -}-    | KeyFileErrorInvalidValue-    {- ^-    a value could not be parsed-    -}-    | AnotherKeyFileError Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum KeyFileError where-    fromEnum KeyFileErrorUnknownEncoding = 0-    fromEnum KeyFileErrorParse = 1-    fromEnum KeyFileErrorNotFound = 2-    fromEnum KeyFileErrorKeyNotFound = 3-    fromEnum KeyFileErrorGroupNotFound = 4-    fromEnum KeyFileErrorInvalidValue = 5-    fromEnum (AnotherKeyFileError k) = k--    toEnum 0 = KeyFileErrorUnknownEncoding-    toEnum 1 = KeyFileErrorParse-    toEnum 2 = KeyFileErrorNotFound-    toEnum 3 = KeyFileErrorKeyNotFound-    toEnum 4 = KeyFileErrorGroupNotFound-    toEnum 5 = KeyFileErrorInvalidValue-    toEnum k = AnotherKeyFileError k--instance P.Ord KeyFileError where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance GErrorClass KeyFileError where-    gerrorClassDomain _ = "g-key-file-error-quark"---- | Catch exceptions of type `KeyFileError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.-catchKeyFileError ::-    IO a ->-    (KeyFileError -> GErrorMessage -> IO a) ->-    IO a-catchKeyFileError = catchGErrorJustDomain---- | Handle exceptions of type `KeyFileError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.-handleKeyFileError ::-    (KeyFileError -> GErrorMessage -> IO a) ->-    IO a ->-    IO a-handleKeyFileError = handleGErrorJustDomain---- Enum IOStatus-{- |-Stati returned by most of the 'GI.GLib.Structs.IOFuncs.IOFuncs' functions.--}-data IOStatus = -      IOStatusError-    {- ^-    An error occurred.-    -}-    | IOStatusNormal-    {- ^-    Success.-    -}-    | IOStatusEof-    {- ^-    End of file.-    -}-    | IOStatusAgain-    {- ^-    Resource temporarily unavailable.-    -}-    | AnotherIOStatus Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum IOStatus where-    fromEnum IOStatusError = 0-    fromEnum IOStatusNormal = 1-    fromEnum IOStatusEof = 2-    fromEnum IOStatusAgain = 3-    fromEnum (AnotherIOStatus k) = k--    toEnum 0 = IOStatusError-    toEnum 1 = IOStatusNormal-    toEnum 2 = IOStatusEof-    toEnum 3 = IOStatusAgain-    toEnum k = AnotherIOStatus k--instance P.Ord IOStatus where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum IOError-{- |-'GI.GLib.Enums.IOError' is only used by the deprecated functions-'GI.GLib.Structs.IOChannel.iOChannelRead', 'GI.GLib.Structs.IOChannel.iOChannelWrite', and 'GI.GLib.Structs.IOChannel.iOChannelSeek'.--}-data IOError = -      IOErrorNone-    {- ^-    no error-    -}-    | IOErrorAgain-    {- ^-    an EAGAIN error occurred-    -}-    | IOErrorInval-    {- ^-    an EINVAL error occurred-    -}-    | IOErrorUnknown-    {- ^-    another error occurred-    -}-    | AnotherIOError Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum IOError where-    fromEnum IOErrorNone = 0-    fromEnum IOErrorAgain = 1-    fromEnum IOErrorInval = 2-    fromEnum IOErrorUnknown = 3-    fromEnum (AnotherIOError k) = k--    toEnum 0 = IOErrorNone-    toEnum 1 = IOErrorAgain-    toEnum 2 = IOErrorInval-    toEnum 3 = IOErrorUnknown-    toEnum k = AnotherIOError k--instance P.Ord IOError where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum IOChannelError-{- |-Error codes returned by 'GI.GLib.Structs.IOChannel.IOChannel' operations.--}-data IOChannelError = -      IOChannelErrorFbig-    {- ^-    File too large.-    -}-    | IOChannelErrorInval-    {- ^-    Invalid argument.-    -}-    | IOChannelErrorIo-    {- ^-    IO error.-    -}-    | IOChannelErrorIsdir-    {- ^-    File is a directory.-    -}-    | IOChannelErrorNospc-    {- ^-    No space left on device.-    -}-    | IOChannelErrorNxio-    {- ^-    No such device or address.-    -}-    | IOChannelErrorOverflow-    {- ^-    Value too large for defined datatype.-    -}-    | IOChannelErrorPipe-    {- ^-    Broken pipe.-    -}-    | IOChannelErrorFailed-    {- ^-    Some other error.-    -}-    | AnotherIOChannelError Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum IOChannelError where-    fromEnum IOChannelErrorFbig = 0-    fromEnum IOChannelErrorInval = 1-    fromEnum IOChannelErrorIo = 2-    fromEnum IOChannelErrorIsdir = 3-    fromEnum IOChannelErrorNospc = 4-    fromEnum IOChannelErrorNxio = 5-    fromEnum IOChannelErrorOverflow = 6-    fromEnum IOChannelErrorPipe = 7-    fromEnum IOChannelErrorFailed = 8-    fromEnum (AnotherIOChannelError k) = k--    toEnum 0 = IOChannelErrorFbig-    toEnum 1 = IOChannelErrorInval-    toEnum 2 = IOChannelErrorIo-    toEnum 3 = IOChannelErrorIsdir-    toEnum 4 = IOChannelErrorNospc-    toEnum 5 = IOChannelErrorNxio-    toEnum 6 = IOChannelErrorOverflow-    toEnum 7 = IOChannelErrorPipe-    toEnum 8 = IOChannelErrorFailed-    toEnum k = AnotherIOChannelError k--instance P.Ord IOChannelError where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance GErrorClass IOChannelError where-    gerrorClassDomain _ = "g-io-channel-error-quark"---- | Catch exceptions of type `IOChannelError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.-catchIOChannelError ::-    IO a ->-    (IOChannelError -> GErrorMessage -> IO a) ->-    IO a-catchIOChannelError = catchGErrorJustDomain---- | Handle exceptions of type `IOChannelError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.-handleIOChannelError ::-    (IOChannelError -> GErrorMessage -> IO a) ->-    IO a ->-    IO a-handleIOChannelError = handleGErrorJustDomain---- Enum FileError-{- |-Values corresponding to /@errno@/ codes returned from file operations-on UNIX. Unlike /@errno@/ codes, GFileError values are available on-all systems, even Windows. The exact meaning of each code depends-on what sort of file operation you were performing; the UNIX-documentation gives more details. The following error code descriptions-come from the GNU C Library manual, and are under the copyright-of that manual.--It\'s not very portable to make detailed assumptions about exactly-which errors will be returned from a given operation. Some errors-don\'t occur on some systems, etc., sometimes there are subtle-differences in when a system will report a given error, etc.--}-data FileError = -      FileErrorExist-    {- ^-    Operation not permitted; only the owner of-        the file (or other resource) or processes with special privileges-        can perform the operation.-    -}-    | FileErrorIsdir-    {- ^-    File is a directory; you cannot open a directory-        for writing, or create or remove hard links to it.-    -}-    | FileErrorAcces-    {- ^-    Permission denied; the file permissions do not-        allow the attempted operation.-    -}-    | FileErrorNametoolong-    {- ^-    Filename too long.-    -}-    | FileErrorNoent-    {- ^-    No such file or directory. This is a \"file-        doesn\'t exist\" error for ordinary files that are referenced in-        contexts where they are expected to already exist.-    -}-    | FileErrorNotdir-    {- ^-    A file that isn\'t a directory was specified when-        a directory is required.-    -}-    | FileErrorNxio-    {- ^-    No such device or address. The system tried to-        use the device represented by a file you specified, and it-        couldn\'t find the device. This can mean that the device file was-        installed incorrectly, or that the physical device is missing or-        not correctly attached to the computer.-    -}-    | FileErrorNodev-    {- ^-    The underlying file system of the specified file-        does not support memory mapping.-    -}-    | FileErrorRofs-    {- ^-    The directory containing the new link can\'t be-        modified because it\'s on a read-only file system.-    -}-    | FileErrorTxtbsy-    {- ^-    Text file busy.-    -}-    | FileErrorFault-    {- ^-    You passed in a pointer to bad memory.-        (GLib won\'t reliably return this, don\'t pass in pointers to bad-        memory.)-    -}-    | FileErrorLoop-    {- ^-    Too many levels of symbolic links were encountered-        in looking up a file name. This often indicates a cycle of symbolic-        links.-    -}-    | FileErrorNospc-    {- ^-    No space left on device; write operation on a-        file failed because the disk is full.-    -}-    | FileErrorNomem-    {- ^-    No memory available. The system cannot allocate-        more virtual memory because its capacity is full.-    -}-    | FileErrorMfile-    {- ^-    The current process has too many files open and-        can\'t open any more. Duplicate descriptors do count toward this-        limit.-    -}-    | FileErrorNfile-    {- ^-    There are too many distinct file openings in the-        entire system.-    -}-    | FileErrorBadf-    {- ^-    Bad file descriptor; for example, I\/O on a-        descriptor that has been closed or reading from a descriptor open-        only for writing (or vice versa).-    -}-    | FileErrorInval-    {- ^-    Invalid argument. This is used to indicate-        various kinds of problems with passing the wrong argument to a-        library function.-    -}-    | FileErrorPipe-    {- ^-    Broken pipe; there is no process reading from the-        other end of a pipe. Every library function that returns this-        error code also generates a \'SIGPIPE\' signal; this signal-        terminates the program if not handled or blocked. Thus, your-        program will never actually see this code unless it has handled-        or blocked \'SIGPIPE\'.-    -}-    | FileErrorAgain-    {- ^-    Resource temporarily unavailable; the call might-        work if you try again later.-    -}-    | FileErrorIntr-    {- ^-    Interrupted function call; an asynchronous signal-        occurred and prevented completion of the call. When this-        happens, you should try the call again.-    -}-    | FileErrorIo-    {- ^-    Input\/output error; usually used for physical read-       or write errors. i.e. the disk or other physical device hardware-       is returning errors.-    -}-    | FileErrorPerm-    {- ^-    Operation not permitted; only the owner of the-       file (or other resource) or processes with special privileges can-       perform the operation.-    -}-    | FileErrorNosys-    {- ^-    Function not implemented; this indicates that-       the system is missing some functionality.-    -}-    | FileErrorFailed-    {- ^-    Does not correspond to a UNIX error code; this-       is the standard \"failed for unspecified reason\" error code present-       in all 'GError' error code enumerations. Returned if no specific-       code applies.-    -}-    | AnotherFileError Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum FileError where-    fromEnum FileErrorExist = 0-    fromEnum FileErrorIsdir = 1-    fromEnum FileErrorAcces = 2-    fromEnum FileErrorNametoolong = 3-    fromEnum FileErrorNoent = 4-    fromEnum FileErrorNotdir = 5-    fromEnum FileErrorNxio = 6-    fromEnum FileErrorNodev = 7-    fromEnum FileErrorRofs = 8-    fromEnum FileErrorTxtbsy = 9-    fromEnum FileErrorFault = 10-    fromEnum FileErrorLoop = 11-    fromEnum FileErrorNospc = 12-    fromEnum FileErrorNomem = 13-    fromEnum FileErrorMfile = 14-    fromEnum FileErrorNfile = 15-    fromEnum FileErrorBadf = 16-    fromEnum FileErrorInval = 17-    fromEnum FileErrorPipe = 18-    fromEnum FileErrorAgain = 19-    fromEnum FileErrorIntr = 20-    fromEnum FileErrorIo = 21-    fromEnum FileErrorPerm = 22-    fromEnum FileErrorNosys = 23-    fromEnum FileErrorFailed = 24-    fromEnum (AnotherFileError k) = k--    toEnum 0 = FileErrorExist-    toEnum 1 = FileErrorIsdir-    toEnum 2 = FileErrorAcces-    toEnum 3 = FileErrorNametoolong-    toEnum 4 = FileErrorNoent-    toEnum 5 = FileErrorNotdir-    toEnum 6 = FileErrorNxio-    toEnum 7 = FileErrorNodev-    toEnum 8 = FileErrorRofs-    toEnum 9 = FileErrorTxtbsy-    toEnum 10 = FileErrorFault-    toEnum 11 = FileErrorLoop-    toEnum 12 = FileErrorNospc-    toEnum 13 = FileErrorNomem-    toEnum 14 = FileErrorMfile-    toEnum 15 = FileErrorNfile-    toEnum 16 = FileErrorBadf-    toEnum 17 = FileErrorInval-    toEnum 18 = FileErrorPipe-    toEnum 19 = FileErrorAgain-    toEnum 20 = FileErrorIntr-    toEnum 21 = FileErrorIo-    toEnum 22 = FileErrorPerm-    toEnum 23 = FileErrorNosys-    toEnum 24 = FileErrorFailed-    toEnum k = AnotherFileError k--instance P.Ord FileError where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance GErrorClass FileError where-    gerrorClassDomain _ = "g-file-error-quark"---- | Catch exceptions of type `FileError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.-catchFileError ::-    IO a ->-    (FileError -> GErrorMessage -> IO a) ->-    IO a-catchFileError = catchGErrorJustDomain---- | Handle exceptions of type `FileError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.-handleFileError ::-    (FileError -> GErrorMessage -> IO a) ->-    IO a ->-    IO a-handleFileError = handleGErrorJustDomain---- Enum ErrorType-{- |-The possible errors, used in the /@vError@/ field-of 'GI.GLib.Unions.TokenValue.TokenValue', when the token is a 'GI.GLib.Enums.TokenTypeError'.--}-data ErrorType = -      ErrorTypeUnknown-    {- ^-    unknown error-    -}-    | ErrorTypeUnexpEof-    {- ^-    unexpected end of file-    -}-    | ErrorTypeUnexpEofInString-    {- ^-    unterminated string constant-    -}-    | ErrorTypeUnexpEofInComment-    {- ^-    unterminated comment-    -}-    | ErrorTypeNonDigitInConst-    {- ^-    non-digit character in a number-    -}-    | ErrorTypeDigitRadix-    {- ^-    digit beyond radix in a number-    -}-    | ErrorTypeFloatRadix-    {- ^-    non-decimal floating point number-    -}-    | ErrorTypeFloatMalformed-    {- ^-    malformed floating point number-    -}-    | AnotherErrorType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum ErrorType where-    fromEnum ErrorTypeUnknown = 0-    fromEnum ErrorTypeUnexpEof = 1-    fromEnum ErrorTypeUnexpEofInString = 2-    fromEnum ErrorTypeUnexpEofInComment = 3-    fromEnum ErrorTypeNonDigitInConst = 4-    fromEnum ErrorTypeDigitRadix = 5-    fromEnum ErrorTypeFloatRadix = 6-    fromEnum ErrorTypeFloatMalformed = 7-    fromEnum (AnotherErrorType k) = k--    toEnum 0 = ErrorTypeUnknown-    toEnum 1 = ErrorTypeUnexpEof-    toEnum 2 = ErrorTypeUnexpEofInString-    toEnum 3 = ErrorTypeUnexpEofInComment-    toEnum 4 = ErrorTypeNonDigitInConst-    toEnum 5 = ErrorTypeDigitRadix-    toEnum 6 = ErrorTypeFloatRadix-    toEnum 7 = ErrorTypeFloatMalformed-    toEnum k = AnotherErrorType k--instance P.Ord ErrorType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum DateWeekday-{- |-Enumeration representing a day of the week; @/G_DATE_MONDAY/@,-@/G_DATE_TUESDAY/@, etc. @/G_DATE_BAD_WEEKDAY/@ is an invalid weekday.--}-data DateWeekday = -      DateWeekdayBadWeekday-    {- ^-    invalid value-    -}-    | DateWeekdayMonday-    {- ^-    Monday-    -}-    | DateWeekdayTuesday-    {- ^-    Tuesday-    -}-    | DateWeekdayWednesday-    {- ^-    Wednesday-    -}-    | DateWeekdayThursday-    {- ^-    Thursday-    -}-    | DateWeekdayFriday-    {- ^-    Friday-    -}-    | DateWeekdaySaturday-    {- ^-    Saturday-    -}-    | DateWeekdaySunday-    {- ^-    Sunday-    -}-    | AnotherDateWeekday Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum DateWeekday where-    fromEnum DateWeekdayBadWeekday = 0-    fromEnum DateWeekdayMonday = 1-    fromEnum DateWeekdayTuesday = 2-    fromEnum DateWeekdayWednesday = 3-    fromEnum DateWeekdayThursday = 4-    fromEnum DateWeekdayFriday = 5-    fromEnum DateWeekdaySaturday = 6-    fromEnum DateWeekdaySunday = 7-    fromEnum (AnotherDateWeekday k) = k--    toEnum 0 = DateWeekdayBadWeekday-    toEnum 1 = DateWeekdayMonday-    toEnum 2 = DateWeekdayTuesday-    toEnum 3 = DateWeekdayWednesday-    toEnum 4 = DateWeekdayThursday-    toEnum 5 = DateWeekdayFriday-    toEnum 6 = DateWeekdaySaturday-    toEnum 7 = DateWeekdaySunday-    toEnum k = AnotherDateWeekday k--instance P.Ord DateWeekday where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum DateMonth-{- |-Enumeration representing a month; values are @/G_DATE_JANUARY/@,-@/G_DATE_FEBRUARY/@, etc. @/G_DATE_BAD_MONTH/@ is the invalid value.--}-data DateMonth = -      DateMonthBadMonth-    {- ^-    invalid value-    -}-    | DateMonthJanuary-    {- ^-    January-    -}-    | DateMonthFebruary-    {- ^-    February-    -}-    | DateMonthMarch-    {- ^-    March-    -}-    | DateMonthApril-    {- ^-    April-    -}-    | DateMonthMay-    {- ^-    May-    -}-    | DateMonthJune-    {- ^-    June-    -}-    | DateMonthJuly-    {- ^-    July-    -}-    | DateMonthAugust-    {- ^-    August-    -}-    | DateMonthSeptember-    {- ^-    September-    -}-    | DateMonthOctober-    {- ^-    October-    -}-    | DateMonthNovember-    {- ^-    November-    -}-    | DateMonthDecember-    {- ^-    December-    -}-    | AnotherDateMonth Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum DateMonth where-    fromEnum DateMonthBadMonth = 0-    fromEnum DateMonthJanuary = 1-    fromEnum DateMonthFebruary = 2-    fromEnum DateMonthMarch = 3-    fromEnum DateMonthApril = 4-    fromEnum DateMonthMay = 5-    fromEnum DateMonthJune = 6-    fromEnum DateMonthJuly = 7-    fromEnum DateMonthAugust = 8-    fromEnum DateMonthSeptember = 9-    fromEnum DateMonthOctober = 10-    fromEnum DateMonthNovember = 11-    fromEnum DateMonthDecember = 12-    fromEnum (AnotherDateMonth k) = k--    toEnum 0 = DateMonthBadMonth-    toEnum 1 = DateMonthJanuary-    toEnum 2 = DateMonthFebruary-    toEnum 3 = DateMonthMarch-    toEnum 4 = DateMonthApril-    toEnum 5 = DateMonthMay-    toEnum 6 = DateMonthJune-    toEnum 7 = DateMonthJuly-    toEnum 8 = DateMonthAugust-    toEnum 9 = DateMonthSeptember-    toEnum 10 = DateMonthOctober-    toEnum 11 = DateMonthNovember-    toEnum 12 = DateMonthDecember-    toEnum k = AnotherDateMonth k--instance P.Ord DateMonth where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum DateDMY-{- |-This enumeration isn\'t used in the API, but may be useful if you need-to mark a number as a day, month, or year.--}-data DateDMY = -      DateDMYDay-    {- ^-    a day-    -}-    | DateDMYMonth-    {- ^-    a month-    -}-    | DateDMYYear-    {- ^-    a year-    -}-    | AnotherDateDMY Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum DateDMY where-    fromEnum DateDMYDay = 0-    fromEnum DateDMYMonth = 1-    fromEnum DateDMYYear = 2-    fromEnum (AnotherDateDMY k) = k--    toEnum 0 = DateDMYDay-    toEnum 1 = DateDMYMonth-    toEnum 2 = DateDMYYear-    toEnum k = AnotherDateDMY k--instance P.Ord DateDMY where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum ConvertError-{- |-Error codes returned by character set conversion routines.--}-data ConvertError = -      ConvertErrorNoConversion-    {- ^-    Conversion between the requested character-        sets is not supported.-    -}-    | ConvertErrorIllegalSequence-    {- ^-    Invalid byte sequence in conversion input;-       or the character sequence could not be represented in the target-       character set.-    -}-    | ConvertErrorFailed-    {- ^-    Conversion failed for some reason.-    -}-    | ConvertErrorPartialInput-    {- ^-    Partial character sequence at end of input.-    -}-    | ConvertErrorBadUri-    {- ^-    URI is invalid.-    -}-    | ConvertErrorNotAbsolutePath-    {- ^-    Pathname is not an absolute path.-    -}-    | ConvertErrorNoMemory-    {- ^-    No memory available. Since: 2.40-    -}-    | ConvertErrorEmbeddedNul-    {- ^-    An embedded NUL character is present in-        conversion output where a NUL-terminated string is expected.-        Since: 2.56-    -}-    | AnotherConvertError Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum ConvertError where-    fromEnum ConvertErrorNoConversion = 0-    fromEnum ConvertErrorIllegalSequence = 1-    fromEnum ConvertErrorFailed = 2-    fromEnum ConvertErrorPartialInput = 3-    fromEnum ConvertErrorBadUri = 4-    fromEnum ConvertErrorNotAbsolutePath = 5-    fromEnum ConvertErrorNoMemory = 6-    fromEnum ConvertErrorEmbeddedNul = 7-    fromEnum (AnotherConvertError k) = k--    toEnum 0 = ConvertErrorNoConversion-    toEnum 1 = ConvertErrorIllegalSequence-    toEnum 2 = ConvertErrorFailed-    toEnum 3 = ConvertErrorPartialInput-    toEnum 4 = ConvertErrorBadUri-    toEnum 5 = ConvertErrorNotAbsolutePath-    toEnum 6 = ConvertErrorNoMemory-    toEnum 7 = ConvertErrorEmbeddedNul-    toEnum k = AnotherConvertError k--instance P.Ord ConvertError where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance GErrorClass ConvertError where-    gerrorClassDomain _ = "g_convert_error"---- | Catch exceptions of type `ConvertError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.-catchConvertError ::-    IO a ->-    (ConvertError -> GErrorMessage -> IO a) ->-    IO a-catchConvertError = catchGErrorJustDomain---- | Handle exceptions of type `ConvertError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.-handleConvertError ::-    (ConvertError -> GErrorMessage -> IO a) ->-    IO a ->-    IO a-handleConvertError = handleGErrorJustDomain---- Enum ChecksumType-{- |-The hashing algorithm to be used by 'GI.GLib.Structs.Checksum.Checksum' when performing the-digest of some data.--Note that the 'GI.GLib.Enums.ChecksumType' enumeration may be extended at a later-date to include new hashing algorithm types.--/Since: 2.16/--}-data ChecksumType = -      ChecksumTypeMd5-    {- ^-    Use the MD5 hashing algorithm-    -}-    | ChecksumTypeSha1-    {- ^-    Use the SHA-1 hashing algorithm-    -}-    | ChecksumTypeSha256-    {- ^-    Use the SHA-256 hashing algorithm-    -}-    | ChecksumTypeSha512-    {- ^-    Use the SHA-512 hashing algorithm (Since: 2.36)-    -}-    | ChecksumTypeSha384-    {- ^-    Use the SHA-384 hashing algorithm (Since: 2.51)-    -}-    | AnotherChecksumType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum ChecksumType where-    fromEnum ChecksumTypeMd5 = 0-    fromEnum ChecksumTypeSha1 = 1-    fromEnum ChecksumTypeSha256 = 2-    fromEnum ChecksumTypeSha512 = 3-    fromEnum ChecksumTypeSha384 = 4-    fromEnum (AnotherChecksumType k) = k--    toEnum 0 = ChecksumTypeMd5-    toEnum 1 = ChecksumTypeSha1-    toEnum 2 = ChecksumTypeSha256-    toEnum 3 = ChecksumTypeSha512-    toEnum 4 = ChecksumTypeSha384-    toEnum k = AnotherChecksumType k--instance P.Ord ChecksumType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)---- Enum BookmarkFileError-{- |-Error codes returned by bookmark file parsing.--}-data BookmarkFileError = -      BookmarkFileErrorInvalidUri-    {- ^-    URI was ill-formed-    -}-    | BookmarkFileErrorInvalidValue-    {- ^-    a requested field was not found-    -}-    | BookmarkFileErrorAppNotRegistered-    {- ^-    a requested application did-        not register a bookmark-    -}-    | BookmarkFileErrorUriNotFound-    {- ^-    a requested URI was not found-    -}-    | BookmarkFileErrorRead-    {- ^-    document was ill formed-    -}-    | BookmarkFileErrorUnknownEncoding-    {- ^-    the text being parsed was-        in an unknown encoding-    -}-    | BookmarkFileErrorWrite-    {- ^-    an error occurred while writing-    -}-    | BookmarkFileErrorFileNotFound-    {- ^-    requested file was not found-    -}-    | AnotherBookmarkFileError Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum BookmarkFileError where-    fromEnum BookmarkFileErrorInvalidUri = 0-    fromEnum BookmarkFileErrorInvalidValue = 1-    fromEnum BookmarkFileErrorAppNotRegistered = 2-    fromEnum BookmarkFileErrorUriNotFound = 3-    fromEnum BookmarkFileErrorRead = 4-    fromEnum BookmarkFileErrorUnknownEncoding = 5-    fromEnum BookmarkFileErrorWrite = 6-    fromEnum BookmarkFileErrorFileNotFound = 7-    fromEnum (AnotherBookmarkFileError k) = k--    toEnum 0 = BookmarkFileErrorInvalidUri-    toEnum 1 = BookmarkFileErrorInvalidValue-    toEnum 2 = BookmarkFileErrorAppNotRegistered-    toEnum 3 = BookmarkFileErrorUriNotFound-    toEnum 4 = BookmarkFileErrorRead-    toEnum 5 = BookmarkFileErrorUnknownEncoding-    toEnum 6 = BookmarkFileErrorWrite-    toEnum 7 = BookmarkFileErrorFileNotFound-    toEnum k = AnotherBookmarkFileError k--instance P.Ord BookmarkFileError where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance GErrorClass BookmarkFileError where-    gerrorClassDomain _ = "g-bookmark-file-error-quark"---- | Catch exceptions of type `BookmarkFileError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.-catchBookmarkFileError ::-    IO a ->-    (BookmarkFileError -> GErrorMessage -> IO a) ->-    IO a-catchBookmarkFileError = catchGErrorJustDomain---- | Handle exceptions of type `BookmarkFileError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.-handleBookmarkFileError ::-    (BookmarkFileError -> GErrorMessage -> IO a) ->-    IO a ->-    IO a-handleBookmarkFileError = handleGErrorJustDomain--
− GI/GLib/Enums.hs-boot
@@ -1,98 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.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 VariantParseError-instance P.Enum VariantParseError where-data VariantClass-instance P.Enum VariantClass where-data UserDirectory-instance P.Enum UserDirectory where-data UnicodeType-instance P.Enum UnicodeType where-data UnicodeScript-instance P.Enum UnicodeScript where-data UnicodeBreakType-instance P.Enum UnicodeBreakType where-data TraverseType-instance P.Enum TraverseType where-data TokenType-instance P.Enum TokenType where-data TimeType-instance P.Enum TimeType where-data ThreadError-instance P.Enum ThreadError where-data TestResult-instance P.Enum TestResult where-data TestLogType-instance P.Enum TestLogType where-data TestFileType-instance P.Enum TestFileType where-data SpawnError-instance P.Enum SpawnError where-data SliceConfig-instance P.Enum SliceConfig where-data ShellError-instance P.Enum ShellError where-data SeekType-instance P.Enum SeekType where-data RegexError-instance P.Enum RegexError where-data OptionError-instance P.Enum OptionError where-data OptionArg-instance P.Enum OptionArg where-data OnceStatus-instance P.Enum OnceStatus where-data NumberParserError-instance P.Enum NumberParserError where-data NormalizeMode-instance P.Enum NormalizeMode where-data MarkupError-instance P.Enum MarkupError where-data LogWriterOutput-instance P.Enum LogWriterOutput where-data KeyFileError-instance P.Enum KeyFileError where-data IOStatus-instance P.Enum IOStatus where-data IOError-instance P.Enum IOError where-data IOChannelError-instance P.Enum IOChannelError where-data FileError-instance P.Enum FileError where-data ErrorType-instance P.Enum ErrorType where-data DateWeekday-instance P.Enum DateWeekday where-data DateMonth-instance P.Enum DateMonth where-data DateDMY-instance P.Enum DateDMY where-data ConvertError-instance P.Enum ConvertError where-data ChecksumType-instance P.Enum ChecksumType where-data BookmarkFileError-instance P.Enum BookmarkFileError where
− GI/GLib/Flags.hs
@@ -1,1413 +0,0 @@---{- |-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.GLib.Flags-    ( -- -- * Flags--- ** AsciiType #flag:AsciiType#--    AsciiType(..)                           ,----- ** FileTest #flag:FileTest#--    FileTest(..)                            ,----- ** FormatSizeFlags #flag:FormatSizeFlags#--    FormatSizeFlags(..)                     ,----- ** HookFlagMask #flag:HookFlagMask#--    HookFlagMask(..)                        ,----- ** IOCondition #flag:IOCondition#--    IOCondition(..)                         ,----- ** IOFlags #flag:IOFlags#--    IOFlags(..)                             ,----- ** KeyFileFlags #flag:KeyFileFlags#--    KeyFileFlags(..)                        ,----- ** LogLevelFlags #flag:LogLevelFlags#--    LogLevelFlags(..)                       ,----- ** MarkupCollectType #flag:MarkupCollectType#--    MarkupCollectType(..)                   ,----- ** MarkupParseFlags #flag:MarkupParseFlags#--    MarkupParseFlags(..)                    ,----- ** OptionFlags #flag:OptionFlags#--    OptionFlags(..)                         ,----- ** RegexCompileFlags #flag:RegexCompileFlags#--    RegexCompileFlags(..)                   ,----- ** RegexMatchFlags #flag:RegexMatchFlags#--    RegexMatchFlags(..)                     ,----- ** SpawnFlags #flag:SpawnFlags#--    SpawnFlags(..)                          ,----- ** TestSubprocessFlags #flag:TestSubprocessFlags#--    TestSubprocessFlags(..)                 ,----- ** TestTrapFlags #flag:TestTrapFlags#--    TestTrapFlags(..)                       ,----- ** TraverseFlags #flag:TraverseFlags#--    TraverseFlags(..)                       ,-----    ) 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 TraverseFlags-{- |-Specifies which nodes are visited during several of the tree-functions, including @/g_node_traverse()/@ and @/g_node_find()/@.--}-data TraverseFlags = -      TraverseFlagsLeaves-    {- ^-    only leaf nodes should be visited. This name has-                        been introduced in 2.6, for older version use-                        'GI.GLib.Flags.TraverseFlagsLeafs'.-    -}-    | TraverseFlagsNonLeaves-    {- ^-    only non-leaf nodes should be visited. This-                            name has been introduced in 2.6, for older-                            version use 'GI.GLib.Flags.TraverseFlagsNonLeafs'.-    -}-    | TraverseFlagsAll-    {- ^-    all nodes should be visited.-    -}-    | TraverseFlagsMask-    {- ^-    a mask of all traverse flags.-    -}-    | TraverseFlagsLeafs-    {- ^-    identical to 'GI.GLib.Flags.TraverseFlagsLeaves'.-    -}-    | TraverseFlagsNonLeafs-    {- ^-    identical to 'GI.GLib.Flags.TraverseFlagsNonLeaves'.-    -}-    | AnotherTraverseFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum TraverseFlags where-    fromEnum TraverseFlagsLeaves = 1-    fromEnum TraverseFlagsNonLeaves = 2-    fromEnum TraverseFlagsAll = 3-    fromEnum TraverseFlagsMask = 3-    fromEnum TraverseFlagsLeafs = 1-    fromEnum TraverseFlagsNonLeafs = 2-    fromEnum (AnotherTraverseFlags k) = k--    toEnum 1 = TraverseFlagsLeaves-    toEnum 2 = TraverseFlagsNonLeaves-    toEnum 3 = TraverseFlagsAll-    toEnum 3 = TraverseFlagsMask-    toEnum 1 = TraverseFlagsLeafs-    toEnum 2 = TraverseFlagsNonLeafs-    toEnum k = AnotherTraverseFlags k--instance P.Ord TraverseFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance IsGFlag TraverseFlags---- Flags TestTrapFlags-{-# DEPRECATED TestTrapFlags ["'GI.GLib.Flags.TestTrapFlags' is used only with 'GI.GLib.Functions.testTrapFork',","which is deprecated. 'GI.GLib.Functions.testTrapSubprocess' uses","'GI.GLib.Flags.TestSubprocessFlags'."] #-}-{- |-Test traps are guards around forked tests.-These flags determine what traps to set.--}-data TestTrapFlags = -      TestTrapFlagsSilenceStdout-    {- ^-    Redirect stdout of the test child to-        @\/dev\/null@ so it cannot be observed on the console during test-        runs. The actual output is still captured though to allow later-        tests with @/g_test_trap_assert_stdout()/@.-    -}-    | TestTrapFlagsSilenceStderr-    {- ^-    Redirect stderr of the test child to-        @\/dev\/null@ so it cannot be observed on the console during test-        runs. The actual output is still captured though to allow later-        tests with @/g_test_trap_assert_stderr()/@.-    -}-    | TestTrapFlagsInheritStdin-    {- ^-    If this flag is given, stdin of the-        child process is shared with stdin of its parent process.-        It is redirected to @\/dev\/null@ otherwise.-    -}-    | AnotherTestTrapFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum TestTrapFlags where-    fromEnum TestTrapFlagsSilenceStdout = 128-    fromEnum TestTrapFlagsSilenceStderr = 256-    fromEnum TestTrapFlagsInheritStdin = 512-    fromEnum (AnotherTestTrapFlags k) = k--    toEnum 128 = TestTrapFlagsSilenceStdout-    toEnum 256 = TestTrapFlagsSilenceStderr-    toEnum 512 = TestTrapFlagsInheritStdin-    toEnum k = AnotherTestTrapFlags k--instance P.Ord TestTrapFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance IsGFlag TestTrapFlags---- Flags TestSubprocessFlags-{- |-Flags to pass to 'GI.GLib.Functions.testTrapSubprocess' to control input and output.--Note that in contrast with 'GI.GLib.Functions.testTrapFork', the default is to-not show stdout and stderr.--}-data TestSubprocessFlags = -      TestSubprocessFlagsStdin-    {- ^-    If this flag is given, the child-        process will inherit the parent\'s stdin. Otherwise, the child\'s-        stdin is redirected to @\/dev\/null@.-    -}-    | TestSubprocessFlagsStdout-    {- ^-    If this flag is given, the child-        process will inherit the parent\'s stdout. Otherwise, the child\'s-        stdout will not be visible, but it will be captured to allow-        later tests with @/g_test_trap_assert_stdout()/@.-    -}-    | TestSubprocessFlagsStderr-    {- ^-    If this flag is given, the child-        process will inherit the parent\'s stderr. Otherwise, the child\'s-        stderr will not be visible, but it will be captured to allow-        later tests with @/g_test_trap_assert_stderr()/@.-    -}-    | AnotherTestSubprocessFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum TestSubprocessFlags where-    fromEnum TestSubprocessFlagsStdin = 1-    fromEnum TestSubprocessFlagsStdout = 2-    fromEnum TestSubprocessFlagsStderr = 4-    fromEnum (AnotherTestSubprocessFlags k) = k--    toEnum 1 = TestSubprocessFlagsStdin-    toEnum 2 = TestSubprocessFlagsStdout-    toEnum 4 = TestSubprocessFlagsStderr-    toEnum k = AnotherTestSubprocessFlags k--instance P.Ord TestSubprocessFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance IsGFlag TestSubprocessFlags---- Flags SpawnFlags-{- |-Flags passed to 'GI.GLib.Functions.spawnSync', 'GI.GLib.Functions.spawnAsync' and 'GI.GLib.Functions.spawnAsyncWithPipes'.--}-data SpawnFlags = -      SpawnFlagsDefault-    {- ^-    no flags, default behaviour-    -}-    | SpawnFlagsLeaveDescriptorsOpen-    {- ^-    the parent\'s open file descriptors will-        be inherited by the child; otherwise all descriptors except stdin,-        stdout and stderr will be closed before calling @/exec()/@ in the child.-    -}-    | SpawnFlagsDoNotReapChild-    {- ^-    the child will not be automatically reaped;-        you must use @/g_child_watch_add()/@ yourself (or call @/waitpid()/@ or handle-        @SIGCHLD@ yourself), or the child will become a zombie.-    -}-    | SpawnFlagsSearchPath-    {- ^-    @argv[0]@ need not be an absolute path, it will be-        looked for in the user\'s @PATH@.-    -}-    | SpawnFlagsStdoutToDevNull-    {- ^-    the child\'s standard output will be discarded,-        instead of going to the same location as the parent\'s standard output.-    -}-    | SpawnFlagsStderrToDevNull-    {- ^-    the child\'s standard error will be discarded.-    -}-    | SpawnFlagsChildInheritsStdin-    {- ^-    the child will inherit the parent\'s standard-        input (by default, the child\'s standard input is attached to @\/dev\/null@).-    -}-    | SpawnFlagsFileAndArgvZero-    {- ^-    the first element of @argv@ is the file to-        execute, while the remaining elements are the actual argument vector-        to pass to the file. Normally 'GI.GLib.Functions.spawnAsyncWithPipes' uses @argv[0]@-        as the file to execute, and passes all of @argv@ to the child.-    -}-    | SpawnFlagsSearchPathFromEnvp-    {- ^-    if @argv[0]@ is not an abolute path,-        it will be looked for in the @PATH@ from the passed child environment.-        Since: 2.34-    -}-    | SpawnFlagsCloexecPipes-    {- ^-    create all pipes with the @O_CLOEXEC@ flag set.-        Since: 2.40-    -}-    | AnotherSpawnFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum SpawnFlags where-    fromEnum SpawnFlagsDefault = 0-    fromEnum SpawnFlagsLeaveDescriptorsOpen = 1-    fromEnum SpawnFlagsDoNotReapChild = 2-    fromEnum SpawnFlagsSearchPath = 4-    fromEnum SpawnFlagsStdoutToDevNull = 8-    fromEnum SpawnFlagsStderrToDevNull = 16-    fromEnum SpawnFlagsChildInheritsStdin = 32-    fromEnum SpawnFlagsFileAndArgvZero = 64-    fromEnum SpawnFlagsSearchPathFromEnvp = 128-    fromEnum SpawnFlagsCloexecPipes = 256-    fromEnum (AnotherSpawnFlags k) = k--    toEnum 0 = SpawnFlagsDefault-    toEnum 1 = SpawnFlagsLeaveDescriptorsOpen-    toEnum 2 = SpawnFlagsDoNotReapChild-    toEnum 4 = SpawnFlagsSearchPath-    toEnum 8 = SpawnFlagsStdoutToDevNull-    toEnum 16 = SpawnFlagsStderrToDevNull-    toEnum 32 = SpawnFlagsChildInheritsStdin-    toEnum 64 = SpawnFlagsFileAndArgvZero-    toEnum 128 = SpawnFlagsSearchPathFromEnvp-    toEnum 256 = SpawnFlagsCloexecPipes-    toEnum k = AnotherSpawnFlags k--instance P.Ord SpawnFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance IsGFlag SpawnFlags---- Flags RegexMatchFlags-{- |-Flags specifying match-time options.--/Since: 2.14/--}-data RegexMatchFlags = -      RegexMatchFlagsAnchored-    {- ^-    The pattern is forced to be \"anchored\", that is,-        it is constrained to match only at the first matching point in the-        string that is being searched. This effect can also be achieved by-        appropriate constructs in the pattern itself such as the \"^\"-        metacharacter.-    -}-    | RegexMatchFlagsNotbol-    {- ^-    Specifies that first character of the string is-        not the beginning of a line, so the circumflex metacharacter should-        not match before it. Setting this without @/G_REGEX_MULTILINE/@ (at-        compile time) causes circumflex never to match. This option affects-        only the behaviour of the circumflex metacharacter, it does not-        affect \"\\A\".-    -}-    | RegexMatchFlagsNoteol-    {- ^-    Specifies that the end of the subject string is-        not the end of a line, so the dollar metacharacter should not match-        it nor (except in multiline mode) a newline immediately before it.-        Setting this without @/G_REGEX_MULTILINE/@ (at compile time) causes-        dollar never to match. This option affects only the behaviour of-        the dollar metacharacter, it does not affect \"\\Z\" or \"\\z\".-    -}-    | RegexMatchFlagsNotempty-    {- ^-    An empty string is not considered to be a valid-        match if this option is set. If there are alternatives in the pattern,-        they are tried. If all the alternatives match the empty string, the-        entire match fails. For example, if the pattern \"a?b?\" is applied to-        a string not beginning with \"a\" or \"b\", it matches the empty string-        at the start of the string. With this flag set, this match is not-        valid, so GRegex searches further into the string for occurrences-        of \"a\" or \"b\".-    -}-    | RegexMatchFlagsPartial-    {- ^-    Turns on the partial matching feature, for more-        documentation on partial matching see 'GI.GLib.Structs.MatchInfo.matchInfoIsPartialMatch'.-    -}-    | RegexMatchFlagsNewlineCr-    {- ^-    Overrides the newline definition set when-        creating a new 'GI.GLib.Structs.Regex.Regex', setting the \'\\r\' character as line terminator.-    -}-    | RegexMatchFlagsNewlineLf-    {- ^-    Overrides the newline definition set when-        creating a new 'GI.GLib.Structs.Regex.Regex', setting the \'\\n\' character as line terminator.-    -}-    | RegexMatchFlagsNewlineCrlf-    {- ^-    Overrides the newline definition set when-        creating a new 'GI.GLib.Structs.Regex.Regex', setting the \'\\r\\n\' characters sequence as line terminator.-    -}-    | RegexMatchFlagsNewlineAny-    {- ^-    Overrides the newline definition set when-        creating a new 'GI.GLib.Structs.Regex.Regex', any Unicode newline sequence-        is recognised as a newline. These are \'\\r\', \'\\n\' and \'\\rn\', and the-        single characters U+000B LINE TABULATION, U+000C FORM FEED (FF),-        U+0085 NEXT LINE (NEL), U+2028 LINE SEPARATOR and-        U+2029 PARAGRAPH SEPARATOR.-    -}-    | RegexMatchFlagsNewlineAnycrlf-    {- ^-    Overrides the newline definition set when-        creating a new 'GI.GLib.Structs.Regex.Regex'; any \'\\r\', \'\\n\', or \'\\r\\n\' character sequence-        is recognized as a newline. Since: 2.34-    -}-    | RegexMatchFlagsBsrAnycrlf-    {- ^-    Overrides the newline definition for \"\\R\" set when-        creating a new 'GI.GLib.Structs.Regex.Regex'; only \'\\r\', \'\\n\', or \'\\r\\n\' character sequences-        are recognized as a newline by \"\\R\". Since: 2.34-    -}-    | RegexMatchFlagsBsrAny-    {- ^-    Overrides the newline definition for \"\\R\" set when-        creating a new 'GI.GLib.Structs.Regex.Regex'; any Unicode newline character or character sequence-        are recognized as a newline by \"\\R\". These are \'\\r\', \'\\n\' and \'\\rn\', and the-        single characters U+000B LINE TABULATION, U+000C FORM FEED (FF),-        U+0085 NEXT LINE (NEL), U+2028 LINE SEPARATOR and-        U+2029 PARAGRAPH SEPARATOR. Since: 2.34-    -}-    | RegexMatchFlagsPartialSoft-    {- ^-    An alias for @/G_REGEX_MATCH_PARTIAL/@. Since: 2.34-    -}-    | RegexMatchFlagsPartialHard-    {- ^-    Turns on the partial matching feature. In contrast to-        to @/G_REGEX_MATCH_PARTIAL_SOFT/@, this stops matching as soon as a partial match-        is found, without continuing to search for a possible complete match. See-        'GI.GLib.Structs.MatchInfo.matchInfoIsPartialMatch' for more information. Since: 2.34-    -}-    | RegexMatchFlagsNotemptyAtstart-    {- ^-    Like @/G_REGEX_MATCH_NOTEMPTY/@, but only applied to-        the start of the matched string. For anchored-        patterns this can only happen for pattern containing \"\\K\". Since: 2.34-    -}-    | AnotherRegexMatchFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum RegexMatchFlags where-    fromEnum RegexMatchFlagsAnchored = 16-    fromEnum RegexMatchFlagsNotbol = 128-    fromEnum RegexMatchFlagsNoteol = 256-    fromEnum RegexMatchFlagsNotempty = 1024-    fromEnum RegexMatchFlagsPartial = 32768-    fromEnum RegexMatchFlagsNewlineCr = 1048576-    fromEnum RegexMatchFlagsNewlineLf = 2097152-    fromEnum RegexMatchFlagsNewlineCrlf = 3145728-    fromEnum RegexMatchFlagsNewlineAny = 4194304-    fromEnum RegexMatchFlagsNewlineAnycrlf = 5242880-    fromEnum RegexMatchFlagsBsrAnycrlf = 8388608-    fromEnum RegexMatchFlagsBsrAny = 16777216-    fromEnum RegexMatchFlagsPartialSoft = 32768-    fromEnum RegexMatchFlagsPartialHard = 134217728-    fromEnum RegexMatchFlagsNotemptyAtstart = 268435456-    fromEnum (AnotherRegexMatchFlags k) = k--    toEnum 16 = RegexMatchFlagsAnchored-    toEnum 128 = RegexMatchFlagsNotbol-    toEnum 256 = RegexMatchFlagsNoteol-    toEnum 1024 = RegexMatchFlagsNotempty-    toEnum 32768 = RegexMatchFlagsPartial-    toEnum 1048576 = RegexMatchFlagsNewlineCr-    toEnum 2097152 = RegexMatchFlagsNewlineLf-    toEnum 3145728 = RegexMatchFlagsNewlineCrlf-    toEnum 4194304 = RegexMatchFlagsNewlineAny-    toEnum 5242880 = RegexMatchFlagsNewlineAnycrlf-    toEnum 8388608 = RegexMatchFlagsBsrAnycrlf-    toEnum 16777216 = RegexMatchFlagsBsrAny-    toEnum 32768 = RegexMatchFlagsPartialSoft-    toEnum 134217728 = RegexMatchFlagsPartialHard-    toEnum 268435456 = RegexMatchFlagsNotemptyAtstart-    toEnum k = AnotherRegexMatchFlags k--instance P.Ord RegexMatchFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance IsGFlag RegexMatchFlags---- Flags RegexCompileFlags-{- |-Flags specifying compile-time options.--/Since: 2.14/--}-data RegexCompileFlags = -      RegexCompileFlagsCaseless-    {- ^-    Letters in the pattern match both upper- and-        lowercase letters. This option can be changed within a pattern-        by a \"(?i)\" option setting.-    -}-    | RegexCompileFlagsMultiline-    {- ^-    By default, GRegex treats the strings as consisting-        of a single line of characters (even if it actually contains-        newlines). The \"start of line\" metacharacter (\"^\") matches only-        at the start of the string, while the \"end of line\" metacharacter-        (\"$\") matches only at the end of the string, or before a terminating-        newline (unless @/G_REGEX_DOLLAR_ENDONLY/@ is set). When-        @/G_REGEX_MULTILINE/@ is set, the \"start of line\" and \"end of line\"-        constructs match immediately following or immediately before any-        newline in the string, respectively, as well as at the very start-        and end. This can be changed within a pattern by a \"(?m)\" option-        setting.-    -}-    | RegexCompileFlagsDotall-    {- ^-    A dot metacharacter (\".\") in the pattern matches all-        characters, including newlines. Without it, newlines are excluded.-        This option can be changed within a pattern by a (\"?s\") option setting.-    -}-    | RegexCompileFlagsExtended-    {- ^-    Whitespace data characters in the pattern are-        totally ignored except when escaped or inside a character class.-        Whitespace does not include the VT character (code 11). In addition,-        characters between an unescaped \"#\" outside a character class and-        the next newline character, inclusive, are also ignored. This can-        be changed within a pattern by a \"(?x)\" option setting.-    -}-    | RegexCompileFlagsAnchored-    {- ^-    The pattern is forced to be \"anchored\", that is,-        it is constrained to match only at the first matching point in the-        string that is being searched. This effect can also be achieved by-        appropriate constructs in the pattern itself such as the \"^\"-        metacharacter.-    -}-    | RegexCompileFlagsDollarEndonly-    {- ^-    A dollar metacharacter (\"$\") in the pattern-        matches only at the end of the string. Without this option, a-        dollar also matches immediately before the final character if-        it is a newline (but not before any other newlines). This option-        is ignored if @/G_REGEX_MULTILINE/@ is set.-    -}-    | RegexCompileFlagsUngreedy-    {- ^-    Inverts the \"greediness\" of the quantifiers so that-        they are not greedy by default, but become greedy if followed by \"?\".-        It can also be set by a \"(?U)\" option setting within the pattern.-    -}-    | RegexCompileFlagsRaw-    {- ^-    Usually strings must be valid UTF-8 strings, using this-        flag they are considered as a raw sequence of bytes.-    -}-    | RegexCompileFlagsNoAutoCapture-    {- ^-    Disables the use of numbered capturing-        parentheses in the pattern. Any opening parenthesis that is not-        followed by \"?\" behaves as if it were followed by \"?:\" but named-        parentheses can still be used for capturing (and they acquire numbers-        in the usual way).-    -}-    | RegexCompileFlagsOptimize-    {- ^-    Optimize the regular expression. If the pattern will-        be used many times, then it may be worth the effort to optimize it-        to improve the speed of matches.-    -}-    | RegexCompileFlagsFirstline-    {- ^-    Limits an unanchored pattern to match before (or at) the-        first newline. Since: 2.34-    -}-    | RegexCompileFlagsDupnames-    {- ^-    Names used to identify capturing subpatterns need not-        be unique. This can be helpful for certain types of pattern when it-        is known that only one instance of the named subpattern can ever be-        matched.-    -}-    | RegexCompileFlagsNewlineCr-    {- ^-    Usually any newline character or character sequence is-        recognized. If this option is set, the only recognized newline character-        is \'\\r\'.-    -}-    | RegexCompileFlagsNewlineLf-    {- ^-    Usually any newline character or character sequence is-        recognized. If this option is set, the only recognized newline character-        is \'\\n\'.-    -}-    | RegexCompileFlagsNewlineCrlf-    {- ^-    Usually any newline character or character sequence is-        recognized. If this option is set, the only recognized newline character-        sequence is \'\\r\\n\'.-    -}-    | RegexCompileFlagsNewlineAnycrlf-    {- ^-    Usually any newline character or character sequence-        is recognized. If this option is set, the only recognized newline character-        sequences are \'\\r\', \'\\n\', and \'\\r\\n\'. Since: 2.34-    -}-    | RegexCompileFlagsBsrAnycrlf-    {- ^-    Usually any newline character or character sequence-        is recognised. If this option is set, then \"\\R\" only recognizes the newline-       characters \'\\r\', \'\\n\' and \'\\r\\n\'. Since: 2.34-    -}-    | RegexCompileFlagsJavascriptCompat-    {- ^-    Changes behaviour so that it is compatible with-        JavaScript rather than PCRE. Since: 2.34-    -}-    | AnotherRegexCompileFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum RegexCompileFlags where-    fromEnum RegexCompileFlagsCaseless = 1-    fromEnum RegexCompileFlagsMultiline = 2-    fromEnum RegexCompileFlagsDotall = 4-    fromEnum RegexCompileFlagsExtended = 8-    fromEnum RegexCompileFlagsAnchored = 16-    fromEnum RegexCompileFlagsDollarEndonly = 32-    fromEnum RegexCompileFlagsUngreedy = 512-    fromEnum RegexCompileFlagsRaw = 2048-    fromEnum RegexCompileFlagsNoAutoCapture = 4096-    fromEnum RegexCompileFlagsOptimize = 8192-    fromEnum RegexCompileFlagsFirstline = 262144-    fromEnum RegexCompileFlagsDupnames = 524288-    fromEnum RegexCompileFlagsNewlineCr = 1048576-    fromEnum RegexCompileFlagsNewlineLf = 2097152-    fromEnum RegexCompileFlagsNewlineCrlf = 3145728-    fromEnum RegexCompileFlagsNewlineAnycrlf = 5242880-    fromEnum RegexCompileFlagsBsrAnycrlf = 8388608-    fromEnum RegexCompileFlagsJavascriptCompat = 33554432-    fromEnum (AnotherRegexCompileFlags k) = k--    toEnum 1 = RegexCompileFlagsCaseless-    toEnum 2 = RegexCompileFlagsMultiline-    toEnum 4 = RegexCompileFlagsDotall-    toEnum 8 = RegexCompileFlagsExtended-    toEnum 16 = RegexCompileFlagsAnchored-    toEnum 32 = RegexCompileFlagsDollarEndonly-    toEnum 512 = RegexCompileFlagsUngreedy-    toEnum 2048 = RegexCompileFlagsRaw-    toEnum 4096 = RegexCompileFlagsNoAutoCapture-    toEnum 8192 = RegexCompileFlagsOptimize-    toEnum 262144 = RegexCompileFlagsFirstline-    toEnum 524288 = RegexCompileFlagsDupnames-    toEnum 1048576 = RegexCompileFlagsNewlineCr-    toEnum 2097152 = RegexCompileFlagsNewlineLf-    toEnum 3145728 = RegexCompileFlagsNewlineCrlf-    toEnum 5242880 = RegexCompileFlagsNewlineAnycrlf-    toEnum 8388608 = RegexCompileFlagsBsrAnycrlf-    toEnum 33554432 = RegexCompileFlagsJavascriptCompat-    toEnum k = AnotherRegexCompileFlags k--instance P.Ord RegexCompileFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance IsGFlag RegexCompileFlags---- Flags OptionFlags-{- |-Flags which modify individual options.--}-data OptionFlags = -      OptionFlagsNone-    {- ^-    No flags. Since: 2.42.-    -}-    | OptionFlagsHidden-    {- ^-    The option doesn\'t appear in @--help@ output.-    -}-    | OptionFlagsInMain-    {- ^-    The option appears in the main section of the-        @--help@ output, even if it is defined in a group.-    -}-    | OptionFlagsReverse-    {- ^-    For options of the 'GI.GLib.Enums.OptionArgNone' kind, this-        flag indicates that the sense of the option is reversed.-    -}-    | OptionFlagsNoArg-    {- ^-    For options of the 'GI.GLib.Enums.OptionArgCallback' kind,-        this flag indicates that the callback does not take any argument-        (like a 'GI.GLib.Enums.OptionArgNone' option). Since 2.8-    -}-    | OptionFlagsFilename-    {- ^-    For options of the 'GI.GLib.Enums.OptionArgCallback'-        kind, this flag indicates that the argument should be passed to the-        callback in the GLib filename encoding rather than UTF-8. Since 2.8-    -}-    | OptionFlagsOptionalArg-    {- ^-    For options of the 'GI.GLib.Enums.OptionArgCallback'-        kind, this flag indicates that the argument supply is optional.-        If no argument is given then data of @/GOptionParseFunc/@ will be-        set to NULL. Since 2.8-    -}-    | OptionFlagsNoalias-    {- ^-    This flag turns off the automatic conflict-        resolution which prefixes long option names with @groupname-@ if-        there is a conflict. This option should only be used in situations-        where aliasing is necessary to model some legacy commandline interface.-        It is not safe to use this option, unless all option groups are under-        your direct control. Since 2.8.-    -}-    | AnotherOptionFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum OptionFlags where-    fromEnum OptionFlagsNone = 0-    fromEnum OptionFlagsHidden = 1-    fromEnum OptionFlagsInMain = 2-    fromEnum OptionFlagsReverse = 4-    fromEnum OptionFlagsNoArg = 8-    fromEnum OptionFlagsFilename = 16-    fromEnum OptionFlagsOptionalArg = 32-    fromEnum OptionFlagsNoalias = 64-    fromEnum (AnotherOptionFlags k) = k--    toEnum 0 = OptionFlagsNone-    toEnum 1 = OptionFlagsHidden-    toEnum 2 = OptionFlagsInMain-    toEnum 4 = OptionFlagsReverse-    toEnum 8 = OptionFlagsNoArg-    toEnum 16 = OptionFlagsFilename-    toEnum 32 = OptionFlagsOptionalArg-    toEnum 64 = OptionFlagsNoalias-    toEnum k = AnotherOptionFlags k--instance P.Ord OptionFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance IsGFlag OptionFlags---- Flags MarkupParseFlags-{- |-Flags that affect the behaviour of the parser.--}-data MarkupParseFlags = -      MarkupParseFlagsDoNotUseThisUnsupportedFlag-    {- ^-    flag you should not use-    -}-    | MarkupParseFlagsTreatCdataAsText-    {- ^-    When this flag is set, CDATA marked-        sections are not passed literally to the /@passthrough@/ function of-        the parser. Instead, the content of the section (without the-        @\<![CDATA[@ and @]]>@) is-        passed to the /@text@/ function. This flag was added in GLib 2.12-    -}-    | MarkupParseFlagsPrefixErrorPosition-    {- ^-    Normally errors caught by GMarkup-        itself have line\/column information prefixed to them to let the-        caller know the location of the error. When this flag is set the-        location information is also prefixed to errors generated by the-        'GI.GLib.Structs.MarkupParser.MarkupParser' implementation functions-    -}-    | MarkupParseFlagsIgnoreQualified-    {- ^-    Ignore (don\'t report) qualified-        attributes and tags, along with their contents.  A qualified-        attribute or tag is one that contains \':\' in its name (ie: is in-        another namespace).  Since: 2.40.-    -}-    | AnotherMarkupParseFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum MarkupParseFlags where-    fromEnum MarkupParseFlagsDoNotUseThisUnsupportedFlag = 1-    fromEnum MarkupParseFlagsTreatCdataAsText = 2-    fromEnum MarkupParseFlagsPrefixErrorPosition = 4-    fromEnum MarkupParseFlagsIgnoreQualified = 8-    fromEnum (AnotherMarkupParseFlags k) = k--    toEnum 1 = MarkupParseFlagsDoNotUseThisUnsupportedFlag-    toEnum 2 = MarkupParseFlagsTreatCdataAsText-    toEnum 4 = MarkupParseFlagsPrefixErrorPosition-    toEnum 8 = MarkupParseFlagsIgnoreQualified-    toEnum k = AnotherMarkupParseFlags k--instance P.Ord MarkupParseFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance IsGFlag MarkupParseFlags---- Flags MarkupCollectType-{- |-A mixed enumerated type and flags field. You must specify one type-(string, strdup, boolean, tristate).  Additionally, you may  optionally-bitwise OR the type with the flag 'GI.GLib.Flags.MarkupCollectTypeOptional'.--It is likely that this enum will be extended in the future to-support other types.--}-data MarkupCollectType = -      MarkupCollectTypeInvalid-    {- ^-    used to terminate the list of attributes-        to collect-    -}-    | MarkupCollectTypeString-    {- ^-    collect the string pointer directly from-        the attribute_values[] array. Expects a parameter of type (const-        char **). If 'GI.GLib.Flags.MarkupCollectTypeOptional' is specified and the-        attribute isn\'t present then the pointer will be set to 'Nothing'-    -}-    | MarkupCollectTypeStrdup-    {- ^-    as with 'GI.GLib.Flags.MarkupCollectTypeString', but-        expects a parameter of type (char **) and 'GI.GLib.Functions.strdup's the-        returned pointer. The pointer must be freed with 'GI.GLib.Functions.free'-    -}-    | MarkupCollectTypeBoolean-    {- ^-    expects a parameter of type (gboolean *)-        and parses the attribute value as a boolean. Sets 'False' if the-        attribute isn\'t present. Valid boolean values consist of-        (case-insensitive) \"false\", \"f\", \"no\", \"n\", \"0\" and \"true\", \"t\",-        \"yes\", \"y\", \"1\"-    -}-    | MarkupCollectTypeTristate-    {- ^-    as with 'GI.GLib.Flags.MarkupCollectTypeBoolean', but-        in the case of a missing attribute a value is set that compares-        equal to neither 'False' nor 'True' G_MARKUP_COLLECT_OPTIONAL is-        implied-    -}-    | MarkupCollectTypeOptional-    {- ^-    can be bitwise ORed with the other fields.-        If present, allows the attribute not to appear. A default value-        is set depending on what value type is used-    -}-    | AnotherMarkupCollectType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum MarkupCollectType where-    fromEnum MarkupCollectTypeInvalid = 0-    fromEnum MarkupCollectTypeString = 1-    fromEnum MarkupCollectTypeStrdup = 2-    fromEnum MarkupCollectTypeBoolean = 3-    fromEnum MarkupCollectTypeTristate = 4-    fromEnum MarkupCollectTypeOptional = 65536-    fromEnum (AnotherMarkupCollectType k) = k--    toEnum 0 = MarkupCollectTypeInvalid-    toEnum 1 = MarkupCollectTypeString-    toEnum 2 = MarkupCollectTypeStrdup-    toEnum 3 = MarkupCollectTypeBoolean-    toEnum 4 = MarkupCollectTypeTristate-    toEnum 65536 = MarkupCollectTypeOptional-    toEnum k = AnotherMarkupCollectType k--instance P.Ord MarkupCollectType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance IsGFlag MarkupCollectType---- Flags LogLevelFlags-{- |-Flags specifying the level of log messages.--It is possible to change how GLib treats messages of the various-levels using @/g_log_set_handler()/@ and 'GI.GLib.Functions.logSetFatalMask'.--}-data LogLevelFlags = -      LogLevelFlagsFlagRecursion-    {- ^-    internal flag-    -}-    | LogLevelFlagsFlagFatal-    {- ^-    internal flag-    -}-    | LogLevelFlagsLevelError-    {- ^-    log level for errors, see @/g_error()/@.-        This level is also used for messages produced by @/g_assert()/@.-    -}-    | LogLevelFlagsLevelCritical-    {- ^-    log level for critical warning messages, see-        @/g_critical()/@.-        This level is also used for messages produced by @/g_return_if_fail()/@-        and @/g_return_val_if_fail()/@.-    -}-    | LogLevelFlagsLevelWarning-    {- ^-    log level for warnings, see @/g_warning()/@-    -}-    | LogLevelFlagsLevelMessage-    {- ^-    log level for messages, see @/g_message()/@-    -}-    | LogLevelFlagsLevelInfo-    {- ^-    log level for informational messages, see @/g_info()/@-    -}-    | LogLevelFlagsLevelDebug-    {- ^-    log level for debug messages, see @/g_debug()/@-    -}-    | LogLevelFlagsLevelMask-    {- ^-    a mask including all log levels-    -}-    | AnotherLogLevelFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum LogLevelFlags where-    fromEnum LogLevelFlagsFlagRecursion = 1-    fromEnum LogLevelFlagsFlagFatal = 2-    fromEnum LogLevelFlagsLevelError = 4-    fromEnum LogLevelFlagsLevelCritical = 8-    fromEnum LogLevelFlagsLevelWarning = 16-    fromEnum LogLevelFlagsLevelMessage = 32-    fromEnum LogLevelFlagsLevelInfo = 64-    fromEnum LogLevelFlagsLevelDebug = 128-    fromEnum LogLevelFlagsLevelMask = -4-    fromEnum (AnotherLogLevelFlags k) = k--    toEnum 1 = LogLevelFlagsFlagRecursion-    toEnum 2 = LogLevelFlagsFlagFatal-    toEnum 4 = LogLevelFlagsLevelError-    toEnum 8 = LogLevelFlagsLevelCritical-    toEnum 16 = LogLevelFlagsLevelWarning-    toEnum 32 = LogLevelFlagsLevelMessage-    toEnum 64 = LogLevelFlagsLevelInfo-    toEnum 128 = LogLevelFlagsLevelDebug-    toEnum -4 = LogLevelFlagsLevelMask-    toEnum k = AnotherLogLevelFlags k--instance P.Ord LogLevelFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance IsGFlag LogLevelFlags---- Flags KeyFileFlags-{- |-Flags which influence the parsing.--}-data KeyFileFlags = -      KeyFileFlagsNone-    {- ^-    No flags, default behaviour-    -}-    | KeyFileFlagsKeepComments-    {- ^-    Use this flag if you plan to write the-        (possibly modified) contents of the key file back to a file;-        otherwise all comments will be lost when the key file is-        written back.-    -}-    | KeyFileFlagsKeepTranslations-    {- ^-    Use this flag if you plan to write the-        (possibly modified) contents of the key file back to a file;-        otherwise only the translations for the current language will be-        written back.-    -}-    | AnotherKeyFileFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum KeyFileFlags where-    fromEnum KeyFileFlagsNone = 0-    fromEnum KeyFileFlagsKeepComments = 1-    fromEnum KeyFileFlagsKeepTranslations = 2-    fromEnum (AnotherKeyFileFlags k) = k--    toEnum 0 = KeyFileFlagsNone-    toEnum 1 = KeyFileFlagsKeepComments-    toEnum 2 = KeyFileFlagsKeepTranslations-    toEnum k = AnotherKeyFileFlags k--instance P.Ord KeyFileFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance IsGFlag KeyFileFlags---- Flags IOFlags-{- |-Specifies properties of a 'GI.GLib.Structs.IOChannel.IOChannel'. Some of the flags can only be-read with 'GI.GLib.Structs.IOChannel.iOChannelGetFlags', but not changed with-'GI.GLib.Structs.IOChannel.iOChannelSetFlags'.--}-data IOFlags = -      IOFlagsAppend-    {- ^-    turns on append mode, corresponds to @/O_APPEND/@-        (see the documentation of the UNIX @/open()/@ syscall)-    -}-    | IOFlagsNonblock-    {- ^-    turns on nonblocking mode, corresponds to-        @/O_NONBLOCK/@\/@/O_NDELAY/@ (see the documentation of the UNIX @/open()/@-        syscall)-    -}-    | IOFlagsIsReadable-    {- ^-    indicates that the io channel is readable.-        This flag cannot be changed.-    -}-    | IOFlagsIsWritable-    {- ^-    indicates that the io channel is writable.-        This flag cannot be changed.-    -}-    | IOFlagsIsWriteable-    {- ^-    a misspelled version of /@gIOFLAGISWRITABLE@/-        that existed before the spelling was fixed in GLib 2.30. It is kept-        here for compatibility reasons. Deprecated since 2.30-    -}-    | IOFlagsIsSeekable-    {- ^-    indicates that the io channel is seekable,-        i.e. that 'GI.GLib.Structs.IOChannel.iOChannelSeekPosition' can be used on it.-        This flag cannot be changed.-    -}-    | IOFlagsMask-    {- ^-    the mask that specifies all the valid flags.-    -}-    | IOFlagsGetMask-    {- ^-    the mask of the flags that are returned from-        'GI.GLib.Structs.IOChannel.iOChannelGetFlags'-    -}-    | IOFlagsSetMask-    {- ^-    the mask of the flags that the user can modify-        with 'GI.GLib.Structs.IOChannel.iOChannelSetFlags'-    -}-    | AnotherIOFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum IOFlags where-    fromEnum IOFlagsAppend = 1-    fromEnum IOFlagsNonblock = 2-    fromEnum IOFlagsIsReadable = 4-    fromEnum IOFlagsIsWritable = 8-    fromEnum IOFlagsIsWriteable = 8-    fromEnum IOFlagsIsSeekable = 16-    fromEnum IOFlagsMask = 31-    fromEnum IOFlagsGetMask = 31-    fromEnum IOFlagsSetMask = 3-    fromEnum (AnotherIOFlags k) = k--    toEnum 1 = IOFlagsAppend-    toEnum 2 = IOFlagsNonblock-    toEnum 4 = IOFlagsIsReadable-    toEnum 8 = IOFlagsIsWritable-    toEnum 8 = IOFlagsIsWriteable-    toEnum 16 = IOFlagsIsSeekable-    toEnum 31 = IOFlagsMask-    toEnum 31 = IOFlagsGetMask-    toEnum 3 = IOFlagsSetMask-    toEnum k = AnotherIOFlags k--instance P.Ord IOFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance IsGFlag IOFlags---- Flags IOCondition-{- |-A bitwise combination representing a condition to watch for on an-event source.--}-data IOCondition = -      IOConditionIn-    {- ^-    There is data to read.-    -}-    | IOConditionOut-    {- ^-    Data can be written (without blocking).-    -}-    | IOConditionPri-    {- ^-    There is urgent data to read.-    -}-    | IOConditionErr-    {- ^-    Error condition.-    -}-    | IOConditionHup-    {- ^-    Hung up (the connection has been broken, usually for-               pipes and sockets).-    -}-    | IOConditionNval-    {- ^-    Invalid request. The file descriptor is not open.-    -}-    | AnotherIOCondition Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum IOCondition where-    fromEnum IOConditionIn = 1-    fromEnum IOConditionOut = 4-    fromEnum IOConditionPri = 2-    fromEnum IOConditionErr = 8-    fromEnum IOConditionHup = 16-    fromEnum IOConditionNval = 32-    fromEnum (AnotherIOCondition k) = k--    toEnum 1 = IOConditionIn-    toEnum 4 = IOConditionOut-    toEnum 2 = IOConditionPri-    toEnum 8 = IOConditionErr-    toEnum 16 = IOConditionHup-    toEnum 32 = IOConditionNval-    toEnum k = AnotherIOCondition k--instance P.Ord IOCondition where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--foreign import ccall "g_io_condition_get_type" c_g_io_condition_get_type :: -    IO GType--instance BoxedFlags IOCondition where-    boxedFlagsType _ = c_g_io_condition_get_type--instance IsGFlag IOCondition---- Flags HookFlagMask-{- |-Flags used internally in the 'GI.GLib.Structs.Hook.Hook' implementation.--}-data HookFlagMask = -      HookFlagMaskActive-    {- ^-    set if the hook has not been destroyed-    -}-    | HookFlagMaskInCall-    {- ^-    set if the hook is currently being run-    -}-    | HookFlagMaskMask-    {- ^-    A mask covering all bits reserved for-      hook flags; see 'GI.GLib.Constants.HOOK_FLAG_USER_SHIFT'-    -}-    | AnotherHookFlagMask Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum HookFlagMask where-    fromEnum HookFlagMaskActive = 1-    fromEnum HookFlagMaskInCall = 2-    fromEnum HookFlagMaskMask = 15-    fromEnum (AnotherHookFlagMask k) = k--    toEnum 1 = HookFlagMaskActive-    toEnum 2 = HookFlagMaskInCall-    toEnum 15 = HookFlagMaskMask-    toEnum k = AnotherHookFlagMask k--instance P.Ord HookFlagMask where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance IsGFlag HookFlagMask---- Flags FormatSizeFlags-{- |-Flags to modify the format of the string returned by 'GI.GLib.Functions.formatSizeFull'.--}-data FormatSizeFlags = -      FormatSizeFlagsDefault-    {- ^-    behave the same as 'GI.GLib.Functions.formatSize'-    -}-    | FormatSizeFlagsLongFormat-    {- ^-    include the exact number of bytes as part-        of the returned string.  For example, \"45.6 kB (45,612 bytes)\".-    -}-    | FormatSizeFlagsIecUnits-    {- ^-    use IEC (base 1024) units with \"KiB\"-style-        suffixes. IEC units should only be used for reporting things with-        a strong \"power of 2\" basis, like RAM sizes or RAID stripe sizes.-        Network and storage sizes should be reported in the normal SI units.-    -}-    | FormatSizeFlagsBits-    {- ^-    set the size as a quantity in bits, rather than-        bytes, and return units in bits. For example, ‘Mb’ rather than ‘MB’.-    -}-    | AnotherFormatSizeFlags Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum FormatSizeFlags where-    fromEnum FormatSizeFlagsDefault = 0-    fromEnum FormatSizeFlagsLongFormat = 1-    fromEnum FormatSizeFlagsIecUnits = 2-    fromEnum FormatSizeFlagsBits = 4-    fromEnum (AnotherFormatSizeFlags k) = k--    toEnum 0 = FormatSizeFlagsDefault-    toEnum 1 = FormatSizeFlagsLongFormat-    toEnum 2 = FormatSizeFlagsIecUnits-    toEnum 4 = FormatSizeFlagsBits-    toEnum k = AnotherFormatSizeFlags k--instance P.Ord FormatSizeFlags where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance IsGFlag FormatSizeFlags---- Flags FileTest-{- |-A test to perform on a file using 'GI.GLib.Functions.fileTest'.--}-data FileTest = -      FileTestIsRegular-    {- ^-    'True' if the file is a regular file-        (not a directory). Note that this test will also return 'True'-        if the tested file is a symlink to a regular file.-    -}-    | FileTestIsSymlink-    {- ^-    'True' if the file is a symlink.-    -}-    | FileTestIsDir-    {- ^-    'True' if the file is a directory.-    -}-    | FileTestIsExecutable-    {- ^-    'True' if the file is executable.-    -}-    | FileTestExists-    {- ^-    'True' if the file exists. It may or may not-        be a regular file.-    -}-    | AnotherFileTest Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum FileTest where-    fromEnum FileTestIsRegular = 1-    fromEnum FileTestIsSymlink = 2-    fromEnum FileTestIsDir = 4-    fromEnum FileTestIsExecutable = 8-    fromEnum FileTestExists = 16-    fromEnum (AnotherFileTest k) = k--    toEnum 1 = FileTestIsRegular-    toEnum 2 = FileTestIsSymlink-    toEnum 4 = FileTestIsDir-    toEnum 8 = FileTestIsExecutable-    toEnum 16 = FileTestExists-    toEnum k = AnotherFileTest k--instance P.Ord FileTest where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance IsGFlag FileTest---- Flags AsciiType-{- |-/No description available in the introspection data./--}-data AsciiType = -      AsciiTypeAlnum-    {- ^-    /No description available in the introspection data./-    -}-    | AsciiTypeAlpha-    {- ^-    /No description available in the introspection data./-    -}-    | AsciiTypeCntrl-    {- ^-    /No description available in the introspection data./-    -}-    | AsciiTypeDigit-    {- ^-    /No description available in the introspection data./-    -}-    | AsciiTypeGraph-    {- ^-    /No description available in the introspection data./-    -}-    | AsciiTypeLower-    {- ^-    /No description available in the introspection data./-    -}-    | AsciiTypePrint-    {- ^-    /No description available in the introspection data./-    -}-    | AsciiTypePunct-    {- ^-    /No description available in the introspection data./-    -}-    | AsciiTypeSpace-    {- ^-    /No description available in the introspection data./-    -}-    | AsciiTypeUpper-    {- ^-    /No description available in the introspection data./-    -}-    | AsciiTypeXdigit-    {- ^-    /No description available in the introspection data./-    -}-    | AnotherAsciiType Int-    -- ^ Catch-all for unknown values-    deriving (Show, Eq)--instance P.Enum AsciiType where-    fromEnum AsciiTypeAlnum = 1-    fromEnum AsciiTypeAlpha = 2-    fromEnum AsciiTypeCntrl = 4-    fromEnum AsciiTypeDigit = 8-    fromEnum AsciiTypeGraph = 16-    fromEnum AsciiTypeLower = 32-    fromEnum AsciiTypePrint = 64-    fromEnum AsciiTypePunct = 128-    fromEnum AsciiTypeSpace = 256-    fromEnum AsciiTypeUpper = 512-    fromEnum AsciiTypeXdigit = 1024-    fromEnum (AnotherAsciiType k) = k--    toEnum 1 = AsciiTypeAlnum-    toEnum 2 = AsciiTypeAlpha-    toEnum 4 = AsciiTypeCntrl-    toEnum 8 = AsciiTypeDigit-    toEnum 16 = AsciiTypeGraph-    toEnum 32 = AsciiTypeLower-    toEnum 64 = AsciiTypePrint-    toEnum 128 = AsciiTypePunct-    toEnum 256 = AsciiTypeSpace-    toEnum 512 = AsciiTypeUpper-    toEnum 1024 = AsciiTypeXdigit-    toEnum k = AnotherAsciiType k--instance P.Ord AsciiType where-    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)--instance IsGFlag AsciiType--
− GI/GLib/Flags.hs-boot
@@ -1,76 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.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 TraverseFlags-instance P.Enum TraverseFlags where-instance IsGFlag TraverseFlags-data TestTrapFlags-instance P.Enum TestTrapFlags where-instance IsGFlag TestTrapFlags-data TestSubprocessFlags-instance P.Enum TestSubprocessFlags where-instance IsGFlag TestSubprocessFlags-data SpawnFlags-instance P.Enum SpawnFlags where-instance IsGFlag SpawnFlags-data RegexMatchFlags-instance P.Enum RegexMatchFlags where-instance IsGFlag RegexMatchFlags-data RegexCompileFlags-instance P.Enum RegexCompileFlags where-instance IsGFlag RegexCompileFlags-data OptionFlags-instance P.Enum OptionFlags where-instance IsGFlag OptionFlags-data MarkupParseFlags-instance P.Enum MarkupParseFlags where-instance IsGFlag MarkupParseFlags-data MarkupCollectType-instance P.Enum MarkupCollectType where-instance IsGFlag MarkupCollectType-data LogLevelFlags-instance P.Enum LogLevelFlags where-instance IsGFlag LogLevelFlags-data KeyFileFlags-instance P.Enum KeyFileFlags where-instance IsGFlag KeyFileFlags-data IOFlags-instance P.Enum IOFlags where-instance IsGFlag IOFlags-data IOCondition-instance P.Enum IOCondition where-instance BoxedFlags IOCondition where-instance IsGFlag IOCondition-data HookFlagMask-instance P.Enum HookFlagMask where-instance IsGFlag HookFlagMask-data FormatSizeFlags-instance P.Enum FormatSizeFlags where-instance IsGFlag FormatSizeFlags-data FileTest-instance P.Enum FileTest where-instance IsGFlag FileTest-data AsciiType-instance P.Enum AsciiType where-instance IsGFlag AsciiType
− GI/GLib/Functions.hs
@@ -1,18975 +0,0 @@---{- |-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.GLib.Functions-    ( -- -- * Methods--- ** access #method:access#--    access                                  ,----- ** asciiDigitValue #method:asciiDigitValue#--    asciiDigitValue                         ,----- ** asciiDtostr #method:asciiDtostr#--    asciiDtostr                             ,----- ** asciiFormatd #method:asciiFormatd#--    asciiFormatd                            ,----- ** asciiStrcasecmp #method:asciiStrcasecmp#--    asciiStrcasecmp                         ,----- ** asciiStrdown #method:asciiStrdown#--    asciiStrdown                            ,----- ** asciiStringToSigned #method:asciiStringToSigned#--    asciiStringToSigned                     ,----- ** asciiStringToUnsigned #method:asciiStringToUnsigned#--    asciiStringToUnsigned                   ,----- ** asciiStrncasecmp #method:asciiStrncasecmp#--    asciiStrncasecmp                        ,----- ** asciiStrtod #method:asciiStrtod#--    asciiStrtod                             ,----- ** asciiStrtoll #method:asciiStrtoll#--    asciiStrtoll                            ,----- ** asciiStrtoull #method:asciiStrtoull#--    asciiStrtoull                           ,----- ** asciiStrup #method:asciiStrup#--    asciiStrup                              ,----- ** asciiTolower #method:asciiTolower#--    asciiTolower                            ,----- ** asciiToupper #method:asciiToupper#--    asciiToupper                            ,----- ** asciiXdigitValue #method:asciiXdigitValue#--    asciiXdigitValue                        ,----- ** assertWarning #method:assertWarning#--    assertWarning                           ,----- ** assertionMessage #method:assertionMessage#--    assertionMessage                        ,----- ** assertionMessageCmpstr #method:assertionMessageCmpstr#--    assertionMessageCmpstr                  ,----- ** assertionMessageError #method:assertionMessageError#--    assertionMessageError                   ,----- ** atexit #method:atexit#--    atexit                                  ,----- ** atomicIntAdd #method:atomicIntAdd#--    atomicIntAdd                            ,----- ** atomicIntAnd #method:atomicIntAnd#--    atomicIntAnd                            ,----- ** atomicIntCompareAndExchange #method:atomicIntCompareAndExchange#--    atomicIntCompareAndExchange             ,----- ** atomicIntDecAndTest #method:atomicIntDecAndTest#--    atomicIntDecAndTest                     ,----- ** atomicIntExchangeAndAdd #method:atomicIntExchangeAndAdd#--    atomicIntExchangeAndAdd                 ,----- ** atomicIntGet #method:atomicIntGet#--    atomicIntGet                            ,----- ** atomicIntInc #method:atomicIntInc#--    atomicIntInc                            ,----- ** atomicIntOr #method:atomicIntOr#--    atomicIntOr                             ,----- ** atomicIntSet #method:atomicIntSet#--    atomicIntSet                            ,----- ** atomicIntXor #method:atomicIntXor#--    atomicIntXor                            ,----- ** atomicPointerAdd #method:atomicPointerAdd#--    atomicPointerAdd                        ,----- ** atomicPointerAnd #method:atomicPointerAnd#--    atomicPointerAnd                        ,----- ** atomicPointerCompareAndExchange #method:atomicPointerCompareAndExchange#--    atomicPointerCompareAndExchange         ,----- ** atomicPointerGet #method:atomicPointerGet#--    atomicPointerGet                        ,----- ** atomicPointerOr #method:atomicPointerOr#--    atomicPointerOr                         ,----- ** atomicPointerSet #method:atomicPointerSet#--    atomicPointerSet                        ,----- ** atomicPointerXor #method:atomicPointerXor#--    atomicPointerXor                        ,----- ** atomicRcBoxAcquire #method:atomicRcBoxAcquire#--    atomicRcBoxAcquire                      ,----- ** atomicRcBoxAlloc #method:atomicRcBoxAlloc#--    atomicRcBoxAlloc                        ,----- ** atomicRcBoxAlloc0 #method:atomicRcBoxAlloc0#--    atomicRcBoxAlloc0                       ,----- ** atomicRcBoxDup #method:atomicRcBoxDup#--    atomicRcBoxDup                          ,----- ** atomicRcBoxGetSize #method:atomicRcBoxGetSize#--    atomicRcBoxGetSize                      ,----- ** atomicRcBoxRelease #method:atomicRcBoxRelease#--    atomicRcBoxRelease                      ,----- ** atomicRcBoxReleaseFull #method:atomicRcBoxReleaseFull#--    atomicRcBoxReleaseFull                  ,----- ** atomicRefCountCompare #method:atomicRefCountCompare#--    atomicRefCountCompare                   ,----- ** atomicRefCountDec #method:atomicRefCountDec#--    atomicRefCountDec                       ,----- ** atomicRefCountInc #method:atomicRefCountInc#--    atomicRefCountInc                       ,----- ** atomicRefCountInit #method:atomicRefCountInit#--    atomicRefCountInit                      ,----- ** base64Decode #method:base64Decode#--    base64Decode                            ,----- ** base64DecodeInplace #method:base64DecodeInplace#--    base64DecodeInplace                     ,----- ** base64Encode #method:base64Encode#--    base64Encode                            ,----- ** basename #method:basename#--    basename                                ,----- ** bitLock #method:bitLock#--    bitLock                                 ,----- ** bitNthLsf #method:bitNthLsf#--    bitNthLsf                               ,----- ** bitNthMsf #method:bitNthMsf#--    bitNthMsf                               ,----- ** bitStorage #method:bitStorage#--    bitStorage                              ,----- ** bitTrylock #method:bitTrylock#--    bitTrylock                              ,----- ** bitUnlock #method:bitUnlock#--    bitUnlock                               ,----- ** buildFilenamev #method:buildFilenamev#--    buildFilenamev                          ,----- ** buildPathv #method:buildPathv#--    buildPathv                              ,----- ** canonicalizeFilename #method:canonicalizeFilename#--    canonicalizeFilename                    ,----- ** chdir #method:chdir#--    chdir                                   ,----- ** checkVersion #method:checkVersion#--    checkVersion                            ,----- ** childWatchAdd #method:childWatchAdd#--    childWatchAdd                           ,----- ** childWatchSourceNew #method:childWatchSourceNew#--    childWatchSourceNew                     ,----- ** clearError #method:clearError#--    clearError                              ,----- ** close #method:close#--    close                                   ,----- ** computeChecksumForBytes #method:computeChecksumForBytes#--    computeChecksumForBytes                 ,----- ** computeChecksumForData #method:computeChecksumForData#--    computeChecksumForData                  ,----- ** computeChecksumForString #method:computeChecksumForString#--    computeChecksumForString                ,----- ** computeHmacForBytes #method:computeHmacForBytes#--    computeHmacForBytes                     ,----- ** computeHmacForData #method:computeHmacForData#--    computeHmacForData                      ,----- ** computeHmacForString #method:computeHmacForString#--    computeHmacForString                    ,----- ** convert #method:convert#--    convert                                 ,----- ** convertErrorQuark #method:convertErrorQuark#--    convertErrorQuark                       ,----- ** convertWithFallback #method:convertWithFallback#--    convertWithFallback                     ,----- ** datalistForeach #method:datalistForeach#--    datalistForeach                         ,----- ** datalistGetData #method:datalistGetData#--    datalistGetData                         ,----- ** datalistGetFlags #method:datalistGetFlags#--    datalistGetFlags                        ,----- ** datalistIdGetData #method:datalistIdGetData#--    datalistIdGetData                       ,----- ** datalistSetFlags #method:datalistSetFlags#--    datalistSetFlags                        ,----- ** datalistUnsetFlags #method:datalistUnsetFlags#--    datalistUnsetFlags                      ,----- ** datasetDestroy #method:datasetDestroy#--    datasetDestroy                          ,----- ** datasetForeach #method:datasetForeach#--    datasetForeach                          ,----- ** datasetIdGetData #method:datasetIdGetData#--    datasetIdGetData                        ,----- ** dcgettext #method:dcgettext#--    dcgettext                               ,----- ** dgettext #method:dgettext#--    dgettext                                ,----- ** directEqual #method:directEqual#--    directEqual                             ,----- ** directHash #method:directHash#--    directHash                              ,----- ** dngettext #method:dngettext#--    dngettext                               ,----- ** doubleEqual #method:doubleEqual#--    doubleEqual                             ,----- ** doubleHash #method:doubleHash#--    doubleHash                              ,----- ** dpgettext #method:dpgettext#--    dpgettext                               ,----- ** dpgettext2 #method:dpgettext2#--    dpgettext2                              ,----- ** environGetenv #method:environGetenv#--    environGetenv                           ,----- ** environSetenv #method:environSetenv#--    environSetenv                           ,----- ** environUnsetenv #method:environUnsetenv#--    environUnsetenv                         ,----- ** fileErrorFromErrno #method:fileErrorFromErrno#--    fileErrorFromErrno                      ,----- ** fileErrorQuark #method:fileErrorQuark#--    fileErrorQuark                          ,----- ** fileGetContents #method:fileGetContents#--    fileGetContents                         ,----- ** fileOpenTmp #method:fileOpenTmp#--    fileOpenTmp                             ,----- ** fileReadLink #method:fileReadLink#--    fileReadLink                            ,----- ** fileSetContents #method:fileSetContents#--    fileSetContents                         ,----- ** fileTest #method:fileTest#--    fileTest                                ,----- ** filenameDisplayBasename #method:filenameDisplayBasename#--    filenameDisplayBasename                 ,----- ** filenameDisplayName #method:filenameDisplayName#--    filenameDisplayName                     ,----- ** filenameFromUri #method:filenameFromUri#--    filenameFromUri                         ,----- ** filenameFromUtf8 #method:filenameFromUtf8#--    filenameFromUtf8                        ,----- ** filenameToUri #method:filenameToUri#--    filenameToUri                           ,----- ** filenameToUtf8 #method:filenameToUtf8#--    filenameToUtf8                          ,----- ** findProgramInPath #method:findProgramInPath#--    findProgramInPath                       ,----- ** formatSize #method:formatSize#--    formatSize                              ,----- ** formatSizeForDisplay #method:formatSizeForDisplay#--    formatSizeForDisplay                    ,----- ** formatSizeFull #method:formatSizeFull#--    formatSizeFull                          ,----- ** free #method:free#--    free                                    ,----- ** getApplicationName #method:getApplicationName#--    getApplicationName                      ,----- ** getCharset #method:getCharset#--    getCharset                              ,----- ** getCodeset #method:getCodeset#--    getCodeset                              ,----- ** getCurrentDir #method:getCurrentDir#--    getCurrentDir                           ,----- ** getCurrentTime #method:getCurrentTime#--    getCurrentTime                          ,----- ** getEnviron #method:getEnviron#--    getEnviron                              ,----- ** getFilenameCharsets #method:getFilenameCharsets#--    getFilenameCharsets                     ,----- ** getHomeDir #method:getHomeDir#--    getHomeDir                              ,----- ** getHostName #method:getHostName#--    getHostName                             ,----- ** getLanguageNames #method:getLanguageNames#--    getLanguageNames                        ,----- ** getLanguageNamesWithCategory #method:getLanguageNamesWithCategory#--    getLanguageNamesWithCategory            ,----- ** getLocaleVariants #method:getLocaleVariants#--    getLocaleVariants                       ,----- ** getMonotonicTime #method:getMonotonicTime#--    getMonotonicTime                        ,----- ** getNumProcessors #method:getNumProcessors#--    getNumProcessors                        ,----- ** getPrgname #method:getPrgname#--    getPrgname                              ,----- ** getRealName #method:getRealName#--    getRealName                             ,----- ** getRealTime #method:getRealTime#--    getRealTime                             ,----- ** getSystemConfigDirs #method:getSystemConfigDirs#--    getSystemConfigDirs                     ,----- ** getSystemDataDirs #method:getSystemDataDirs#--    getSystemDataDirs                       ,----- ** getTmpDir #method:getTmpDir#--    getTmpDir                               ,----- ** getUserCacheDir #method:getUserCacheDir#--    getUserCacheDir                         ,----- ** getUserConfigDir #method:getUserConfigDir#--    getUserConfigDir                        ,----- ** getUserDataDir #method:getUserDataDir#--    getUserDataDir                          ,----- ** getUserName #method:getUserName#--    getUserName                             ,----- ** getUserRuntimeDir #method:getUserRuntimeDir#--    getUserRuntimeDir                       ,----- ** getUserSpecialDir #method:getUserSpecialDir#--    getUserSpecialDir                       ,----- ** getenv #method:getenv#--    getenv                                  ,----- ** hostnameIsAsciiEncoded #method:hostnameIsAsciiEncoded#--    hostnameIsAsciiEncoded                  ,----- ** hostnameIsIpAddress #method:hostnameIsIpAddress#--    hostnameIsIpAddress                     ,----- ** hostnameIsNonAscii #method:hostnameIsNonAscii#--    hostnameIsNonAscii                      ,----- ** hostnameToAscii #method:hostnameToAscii#--    hostnameToAscii                         ,----- ** hostnameToUnicode #method:hostnameToUnicode#--    hostnameToUnicode                       ,----- ** idleAdd #method:idleAdd#--    idleAdd                                 ,----- ** idleRemoveByData #method:idleRemoveByData#--    idleRemoveByData                        ,----- ** idleSourceNew #method:idleSourceNew#--    idleSourceNew                           ,----- ** int64Equal #method:int64Equal#--    int64Equal                              ,----- ** int64Hash #method:int64Hash#--    int64Hash                               ,----- ** intEqual #method:intEqual#--    intEqual                                ,----- ** intHash #method:intHash#--    intHash                                 ,----- ** internStaticString #method:internStaticString#--    internStaticString                      ,----- ** internString #method:internString#--    internString                            ,----- ** ioAddWatch #method:ioAddWatch#--    ioAddWatch                              ,----- ** ioCreateWatch #method:ioCreateWatch#--    ioCreateWatch                           ,----- ** listenv #method:listenv#--    listenv                                 ,----- ** localeFromUtf8 #method:localeFromUtf8#--    localeFromUtf8                          ,----- ** localeToUtf8 #method:localeToUtf8#--    localeToUtf8                            ,----- ** logDefaultHandler #method:logDefaultHandler#--    logDefaultHandler                       ,----- ** logRemoveHandler #method:logRemoveHandler#--    logRemoveHandler                        ,----- ** logSetAlwaysFatal #method:logSetAlwaysFatal#--    logSetAlwaysFatal                       ,----- ** logSetFatalMask #method:logSetFatalMask#--    logSetFatalMask                         ,----- ** logSetHandler #method:logSetHandler#--    logSetHandler                           ,----- ** logStructuredArray #method:logStructuredArray#--    logStructuredArray                      ,----- ** logVariant #method:logVariant#--    logVariant                              ,----- ** logWriterDefault #method:logWriterDefault#--    logWriterDefault                        ,----- ** logWriterFormatFields #method:logWriterFormatFields#--    logWriterFormatFields                   ,----- ** logWriterIsJournald #method:logWriterIsJournald#--    logWriterIsJournald                     ,----- ** logWriterJournald #method:logWriterJournald#--    logWriterJournald                       ,----- ** logWriterStandardStreams #method:logWriterStandardStreams#--    logWriterStandardStreams                ,----- ** logWriterSupportsColor #method:logWriterSupportsColor#--    logWriterSupportsColor                  ,----- ** mainCurrentSource #method:mainCurrentSource#--    mainCurrentSource                       ,----- ** mainDepth #method:mainDepth#--    mainDepth                               ,----- ** malloc #method:malloc#--    malloc                                  ,----- ** malloc0 #method:malloc0#--    malloc0                                 ,----- ** malloc0N #method:malloc0N#--    malloc0N                                ,----- ** mallocN #method:mallocN#--    mallocN                                 ,----- ** markupErrorQuark #method:markupErrorQuark#--    markupErrorQuark                        ,----- ** markupEscapeText #method:markupEscapeText#--    markupEscapeText                        ,----- ** memIsSystemMalloc #method:memIsSystemMalloc#--    memIsSystemMalloc                       ,----- ** memProfile #method:memProfile#--    memProfile                              ,----- ** memSetVtable #method:memSetVtable#--    memSetVtable                            ,----- ** memdup #method:memdup#--    memdup                                  ,----- ** mkdirWithParents #method:mkdirWithParents#--    mkdirWithParents                        ,----- ** nullifyPointer #method:nullifyPointer#--    nullifyPointer                          ,----- ** numberParserErrorQuark #method:numberParserErrorQuark#--    numberParserErrorQuark                  ,----- ** onErrorQuery #method:onErrorQuery#--    onErrorQuery                            ,----- ** onErrorStackTrace #method:onErrorStackTrace#--    onErrorStackTrace                       ,----- ** optionErrorQuark #method:optionErrorQuark#--    optionErrorQuark                        ,----- ** parseDebugString #method:parseDebugString#--    parseDebugString                        ,----- ** pathGetBasename #method:pathGetBasename#--    pathGetBasename                         ,----- ** pathGetDirname #method:pathGetDirname#--    pathGetDirname                          ,----- ** pathIsAbsolute #method:pathIsAbsolute#--    pathIsAbsolute                          ,----- ** pathSkipRoot #method:pathSkipRoot#--    pathSkipRoot                            ,----- ** patternMatch #method:patternMatch#--    patternMatch                            ,----- ** patternMatchSimple #method:patternMatchSimple#--    patternMatchSimple                      ,----- ** patternMatchString #method:patternMatchString#--    patternMatchString                      ,----- ** pointerBitLock #method:pointerBitLock#--    pointerBitLock                          ,----- ** pointerBitTrylock #method:pointerBitTrylock#--    pointerBitTrylock                       ,----- ** pointerBitUnlock #method:pointerBitUnlock#--    pointerBitUnlock                        ,----- ** poll #method:poll#--    poll                                    ,----- ** propagateError #method:propagateError#--    propagateError                          ,----- ** quarkFromStaticString #method:quarkFromStaticString#--    quarkFromStaticString                   ,----- ** quarkFromString #method:quarkFromString#--    quarkFromString                         ,----- ** quarkToString #method:quarkToString#--    quarkToString                           ,----- ** quarkTryString #method:quarkTryString#--    quarkTryString                          ,----- ** randomDouble #method:randomDouble#--    randomDouble                            ,----- ** randomDoubleRange #method:randomDoubleRange#--    randomDoubleRange                       ,----- ** randomInt #method:randomInt#--    randomInt                               ,----- ** randomIntRange #method:randomIntRange#--    randomIntRange                          ,----- ** randomSetSeed #method:randomSetSeed#--    randomSetSeed                           ,----- ** rcBoxAcquire #method:rcBoxAcquire#--    rcBoxAcquire                            ,----- ** rcBoxAlloc #method:rcBoxAlloc#--    rcBoxAlloc                              ,----- ** rcBoxAlloc0 #method:rcBoxAlloc0#--    rcBoxAlloc0                             ,----- ** rcBoxDup #method:rcBoxDup#--    rcBoxDup                                ,----- ** rcBoxGetSize #method:rcBoxGetSize#--    rcBoxGetSize                            ,----- ** rcBoxRelease #method:rcBoxRelease#--    rcBoxRelease                            ,----- ** rcBoxReleaseFull #method:rcBoxReleaseFull#--    rcBoxReleaseFull                        ,----- ** realloc #method:realloc#--    realloc                                 ,----- ** reallocN #method:reallocN#--    reallocN                                ,----- ** refCountCompare #method:refCountCompare#--    refCountCompare                         ,----- ** refCountDec #method:refCountDec#--    refCountDec                             ,----- ** refCountInc #method:refCountInc#--    refCountInc                             ,----- ** refCountInit #method:refCountInit#--    refCountInit                            ,----- ** refStringAcquire #method:refStringAcquire#--    refStringAcquire                        ,----- ** refStringLength #method:refStringLength#--    refStringLength                         ,----- ** refStringNew #method:refStringNew#--    refStringNew                            ,----- ** refStringNewIntern #method:refStringNewIntern#--    refStringNewIntern                      ,----- ** refStringNewLen #method:refStringNewLen#--    refStringNewLen                         ,----- ** refStringRelease #method:refStringRelease#--    refStringRelease                        ,----- ** reloadUserSpecialDirsCache #method:reloadUserSpecialDirsCache#--    reloadUserSpecialDirsCache              ,----- ** rmdir #method:rmdir#--    rmdir                                   ,----- ** setApplicationName #method:setApplicationName#--    setApplicationName                      ,----- ** setErrorLiteral #method:setErrorLiteral#--    setErrorLiteral                         ,----- ** setPrgname #method:setPrgname#--    setPrgname                              ,----- ** setenv #method:setenv#--    setenv                                  ,----- ** shellErrorQuark #method:shellErrorQuark#--    shellErrorQuark                         ,----- ** shellParseArgv #method:shellParseArgv#--    shellParseArgv                          ,----- ** shellQuote #method:shellQuote#--    shellQuote                              ,----- ** shellUnquote #method:shellUnquote#--    shellUnquote                            ,----- ** sliceAlloc #method:sliceAlloc#--    sliceAlloc                              ,----- ** sliceAlloc0 #method:sliceAlloc0#--    sliceAlloc0                             ,----- ** sliceCopy #method:sliceCopy#--    sliceCopy                               ,----- ** sliceFree1 #method:sliceFree1#--    sliceFree1                              ,----- ** sliceFreeChainWithOffset #method:sliceFreeChainWithOffset#--    sliceFreeChainWithOffset                ,----- ** sliceGetConfig #method:sliceGetConfig#--    sliceGetConfig                          ,----- ** sliceGetConfigState #method:sliceGetConfigState#--    sliceGetConfigState                     ,----- ** sliceSetConfig #method:sliceSetConfig#--    sliceSetConfig                          ,----- ** spacedPrimesClosest #method:spacedPrimesClosest#--    spacedPrimesClosest                     ,----- ** spawnAsync #method:spawnAsync#--    spawnAsync                              ,----- ** spawnAsyncWithFds #method:spawnAsyncWithFds#--    spawnAsyncWithFds                       ,----- ** spawnAsyncWithPipes #method:spawnAsyncWithPipes#--    spawnAsyncWithPipes                     ,----- ** spawnCheckExitStatus #method:spawnCheckExitStatus#--    spawnCheckExitStatus                    ,----- ** spawnClosePid #method:spawnClosePid#--    spawnClosePid                           ,----- ** spawnCommandLineAsync #method:spawnCommandLineAsync#--    spawnCommandLineAsync                   ,----- ** spawnCommandLineSync #method:spawnCommandLineSync#--    spawnCommandLineSync                    ,----- ** spawnErrorQuark #method:spawnErrorQuark#--    spawnErrorQuark                         ,----- ** spawnExitErrorQuark #method:spawnExitErrorQuark#--    spawnExitErrorQuark                     ,----- ** spawnSync #method:spawnSync#--    spawnSync                               ,----- ** stpcpy #method:stpcpy#--    stpcpy                                  ,----- ** strEqual #method:strEqual#--    strEqual                                ,----- ** strHasPrefix #method:strHasPrefix#--    strHasPrefix                            ,----- ** strHasSuffix #method:strHasSuffix#--    strHasSuffix                            ,----- ** strHash #method:strHash#--    strHash                                 ,----- ** strIsAscii #method:strIsAscii#--    strIsAscii                              ,----- ** strMatchString #method:strMatchString#--    strMatchString                          ,----- ** strToAscii #method:strToAscii#--    strToAscii                              ,----- ** strTokenizeAndFold #method:strTokenizeAndFold#--    strTokenizeAndFold                      ,----- ** strcanon #method:strcanon#--    strcanon                                ,----- ** strcasecmp #method:strcasecmp#--    strcasecmp                              ,----- ** strchomp #method:strchomp#--    strchomp                                ,----- ** strchug #method:strchug#--    strchug                                 ,----- ** strcmp0 #method:strcmp0#--    strcmp0                                 ,----- ** strcompress #method:strcompress#--    strcompress                             ,----- ** strdelimit #method:strdelimit#--    strdelimit                              ,----- ** strdown #method:strdown#--    strdown                                 ,----- ** strdup #method:strdup#--    strdup                                  ,----- ** strerror #method:strerror#--    strerror                                ,----- ** strescape #method:strescape#--    strescape                               ,----- ** strfreev #method:strfreev#--    strfreev                                ,----- ** stringNew #method:stringNew#--    stringNew                               ,----- ** stringNewLen #method:stringNewLen#--    stringNewLen                            ,----- ** stringSizedNew #method:stringSizedNew#--    stringSizedNew                          ,----- ** stripContext #method:stripContext#--    stripContext                            ,----- ** strjoinv #method:strjoinv#--    strjoinv                                ,----- ** strlcat #method:strlcat#--    strlcat                                 ,----- ** strlcpy #method:strlcpy#--    strlcpy                                 ,----- ** strncasecmp #method:strncasecmp#--    strncasecmp                             ,----- ** strndup #method:strndup#--    strndup                                 ,----- ** strnfill #method:strnfill#--    strnfill                                ,----- ** strreverse #method:strreverse#--    strreverse                              ,----- ** strrstr #method:strrstr#--    strrstr                                 ,----- ** strrstrLen #method:strrstrLen#--    strrstrLen                              ,----- ** strsignal #method:strsignal#--    strsignal                               ,----- ** strstrLen #method:strstrLen#--    strstrLen                               ,----- ** strtod #method:strtod#--    strtod                                  ,----- ** strup #method:strup#--    strup                                   ,----- ** strvContains #method:strvContains#--    strvContains                            ,----- ** strvEqual #method:strvEqual#--    strvEqual                               ,----- ** strvGetType #method:strvGetType#--    strvGetType                             ,----- ** strvLength #method:strvLength#--    strvLength                              ,----- ** testAddDataFunc #method:testAddDataFunc#--    testAddDataFunc                         ,----- ** testAddFunc #method:testAddFunc#--    testAddFunc                             ,----- ** testAssertExpectedMessagesInternal #method:testAssertExpectedMessagesInternal#--    testAssertExpectedMessagesInternal      ,----- ** testBug #method:testBug#--    testBug                                 ,----- ** testBugBase #method:testBugBase#--    testBugBase                             ,----- ** testExpectMessage #method:testExpectMessage#--    testExpectMessage                       ,----- ** testFail #method:testFail#--    testFail                                ,----- ** testFailed #method:testFailed#--    testFailed                              ,----- ** testGetDir #method:testGetDir#--    testGetDir                              ,----- ** testIncomplete #method:testIncomplete#--    testIncomplete                          ,----- ** testLogTypeName #method:testLogTypeName#--    testLogTypeName                         ,----- ** testQueueDestroy #method:testQueueDestroy#--    testQueueDestroy                        ,----- ** testQueueFree #method:testQueueFree#--    testQueueFree                           ,----- ** testRandDouble #method:testRandDouble#--    testRandDouble                          ,----- ** testRandDoubleRange #method:testRandDoubleRange#--    testRandDoubleRange                     ,----- ** testRandInt #method:testRandInt#--    testRandInt                             ,----- ** testRandIntRange #method:testRandIntRange#--    testRandIntRange                        ,----- ** testRun #method:testRun#--    testRun                                 ,----- ** testRunSuite #method:testRunSuite#--    testRunSuite                            ,----- ** testSetNonfatalAssertions #method:testSetNonfatalAssertions#--    testSetNonfatalAssertions               ,----- ** testSkip #method:testSkip#--    testSkip                                ,----- ** testSubprocess #method:testSubprocess#--    testSubprocess                          ,----- ** testTimerElapsed #method:testTimerElapsed#--    testTimerElapsed                        ,----- ** testTimerLast #method:testTimerLast#--    testTimerLast                           ,----- ** testTimerStart #method:testTimerStart#--    testTimerStart                          ,----- ** testTrapAssertions #method:testTrapAssertions#--    testTrapAssertions                      ,----- ** testTrapFork #method:testTrapFork#--    testTrapFork                            ,----- ** testTrapHasPassed #method:testTrapHasPassed#--    testTrapHasPassed                       ,----- ** testTrapReachedTimeout #method:testTrapReachedTimeout#--    testTrapReachedTimeout                  ,----- ** testTrapSubprocess #method:testTrapSubprocess#--    testTrapSubprocess                      ,----- ** timeoutAdd #method:timeoutAdd#--    timeoutAdd                              ,----- ** timeoutAddSeconds #method:timeoutAddSeconds#--    timeoutAddSeconds                       ,----- ** timeoutSourceNew #method:timeoutSourceNew#--    timeoutSourceNew                        ,----- ** timeoutSourceNewSeconds #method:timeoutSourceNewSeconds#--    timeoutSourceNewSeconds                 ,----- ** tryMalloc #method:tryMalloc#--    tryMalloc                               ,----- ** tryMalloc0 #method:tryMalloc0#--    tryMalloc0                              ,----- ** tryMalloc0N #method:tryMalloc0N#--    tryMalloc0N                             ,----- ** tryMallocN #method:tryMallocN#--    tryMallocN                              ,----- ** tryRealloc #method:tryRealloc#--    tryRealloc                              ,----- ** tryReallocN #method:tryReallocN#--    tryReallocN                             ,----- ** unicharBreakType #method:unicharBreakType#--    unicharBreakType                        ,----- ** unicharCombiningClass #method:unicharCombiningClass#--    unicharCombiningClass                   ,----- ** unicharCompose #method:unicharCompose#--    unicharCompose                          ,----- ** unicharDecompose #method:unicharDecompose#--    unicharDecompose                        ,----- ** unicharDigitValue #method:unicharDigitValue#--    unicharDigitValue                       ,----- ** unicharGetMirrorChar #method:unicharGetMirrorChar#--    unicharGetMirrorChar                    ,----- ** unicharGetScript #method:unicharGetScript#--    unicharGetScript                        ,----- ** unicharIsalnum #method:unicharIsalnum#--    unicharIsalnum                          ,----- ** unicharIsalpha #method:unicharIsalpha#--    unicharIsalpha                          ,----- ** unicharIscntrl #method:unicharIscntrl#--    unicharIscntrl                          ,----- ** unicharIsdefined #method:unicharIsdefined#--    unicharIsdefined                        ,----- ** unicharIsdigit #method:unicharIsdigit#--    unicharIsdigit                          ,----- ** unicharIsgraph #method:unicharIsgraph#--    unicharIsgraph                          ,----- ** unicharIslower #method:unicharIslower#--    unicharIslower                          ,----- ** unicharIsmark #method:unicharIsmark#--    unicharIsmark                           ,----- ** unicharIsprint #method:unicharIsprint#--    unicharIsprint                          ,----- ** unicharIspunct #method:unicharIspunct#--    unicharIspunct                          ,----- ** unicharIsspace #method:unicharIsspace#--    unicharIsspace                          ,----- ** unicharIstitle #method:unicharIstitle#--    unicharIstitle                          ,----- ** unicharIsupper #method:unicharIsupper#--    unicharIsupper                          ,----- ** unicharIswide #method:unicharIswide#--    unicharIswide                           ,----- ** unicharIswideCjk #method:unicharIswideCjk#--    unicharIswideCjk                        ,----- ** unicharIsxdigit #method:unicharIsxdigit#--    unicharIsxdigit                         ,----- ** unicharIszerowidth #method:unicharIszerowidth#--    unicharIszerowidth                      ,----- ** unicharTolower #method:unicharTolower#--    unicharTolower                          ,----- ** unicharTotitle #method:unicharTotitle#--    unicharTotitle                          ,----- ** unicharToupper #method:unicharToupper#--    unicharToupper                          ,----- ** unicharType #method:unicharType#--    unicharType                             ,----- ** unicharValidate #method:unicharValidate#--    unicharValidate                         ,----- ** unicharXdigitValue #method:unicharXdigitValue#--    unicharXdigitValue                      ,----- ** unicodeCanonicalDecomposition #method:unicodeCanonicalDecomposition#--    unicodeCanonicalDecomposition           ,----- ** unicodeCanonicalOrdering #method:unicodeCanonicalOrdering#--    unicodeCanonicalOrdering                ,----- ** unicodeScriptFromIso15924 #method:unicodeScriptFromIso15924#--    unicodeScriptFromIso15924               ,----- ** unicodeScriptToIso15924 #method:unicodeScriptToIso15924#--    unicodeScriptToIso15924                 ,----- ** unixErrorQuark #method:unixErrorQuark#--    unixErrorQuark                          ,----- ** unixFdAddFull #method:unixFdAddFull#--    unixFdAddFull                           ,----- ** unixFdSourceNew #method:unixFdSourceNew#--    unixFdSourceNew                         ,----- ** unixOpenPipe #method:unixOpenPipe#--    unixOpenPipe                            ,----- ** unixSetFdNonblocking #method:unixSetFdNonblocking#--    unixSetFdNonblocking                    ,----- ** unixSignalAdd #method:unixSignalAdd#--    unixSignalAdd                           ,----- ** unixSignalSourceNew #method:unixSignalSourceNew#--    unixSignalSourceNew                     ,----- ** unlink #method:unlink#--    unlink                                  ,----- ** unsetenv #method:unsetenv#--    unsetenv                                ,----- ** uriEscapeString #method:uriEscapeString#--    uriEscapeString                         ,----- ** uriListExtractUris #method:uriListExtractUris#--    uriListExtractUris                      ,----- ** uriParseScheme #method:uriParseScheme#--    uriParseScheme                          ,----- ** uriUnescapeSegment #method:uriUnescapeSegment#--    uriUnescapeSegment                      ,----- ** uriUnescapeString #method:uriUnescapeString#--    uriUnescapeString                       ,----- ** usleep #method:usleep#--    usleep                                  ,----- ** utf8Casefold #method:utf8Casefold#--    utf8Casefold                            ,----- ** utf8Collate #method:utf8Collate#--    utf8Collate                             ,----- ** utf8CollateKey #method:utf8CollateKey#--    utf8CollateKey                          ,----- ** utf8CollateKeyForFilename #method:utf8CollateKeyForFilename#--    utf8CollateKeyForFilename               ,----- ** utf8FindNextChar #method:utf8FindNextChar#--    utf8FindNextChar                        ,----- ** utf8FindPrevChar #method:utf8FindPrevChar#--    utf8FindPrevChar                        ,----- ** utf8GetChar #method:utf8GetChar#--    utf8GetChar                             ,----- ** utf8GetCharValidated #method:utf8GetCharValidated#--    utf8GetCharValidated                    ,----- ** utf8MakeValid #method:utf8MakeValid#--    utf8MakeValid                           ,----- ** utf8Normalize #method:utf8Normalize#--    utf8Normalize                           ,----- ** utf8OffsetToPointer #method:utf8OffsetToPointer#--    utf8OffsetToPointer                     ,----- ** utf8PointerToOffset #method:utf8PointerToOffset#--    utf8PointerToOffset                     ,----- ** utf8PrevChar #method:utf8PrevChar#--    utf8PrevChar                            ,----- ** utf8Strchr #method:utf8Strchr#--    utf8Strchr                              ,----- ** utf8Strdown #method:utf8Strdown#--    utf8Strdown                             ,----- ** utf8Strlen #method:utf8Strlen#--    utf8Strlen                              ,----- ** utf8Strncpy #method:utf8Strncpy#--    utf8Strncpy                             ,----- ** utf8Strrchr #method:utf8Strrchr#--    utf8Strrchr                             ,----- ** utf8Strreverse #method:utf8Strreverse#--    utf8Strreverse                          ,----- ** utf8Strup #method:utf8Strup#--    utf8Strup                               ,----- ** utf8Substring #method:utf8Substring#--    utf8Substring                           ,----- ** utf8Validate #method:utf8Validate#--    utf8Validate                            ,----- ** utf8ValidateLen #method:utf8ValidateLen#--    utf8ValidateLen                         ,----- ** uuidStringIsValid #method:uuidStringIsValid#--    uuidStringIsValid                       ,----- ** uuidStringRandom #method:uuidStringRandom#--    uuidStringRandom                        ,----- ** variantGetGtype #method:variantGetGtype#--    variantGetGtype                         ,-----    ) 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 qualified GI.GLib.Callbacks as GLib.Callbacks-import {-# SOURCE #-} qualified GI.GLib.Enums as GLib.Enums-import {-# SOURCE #-} qualified GI.GLib.Flags as GLib.Flags-import {-# SOURCE #-} qualified GI.GLib.Structs.Bytes as GLib.Bytes-import {-# SOURCE #-} qualified GI.GLib.Structs.Data as GLib.Data-import {-# SOURCE #-} qualified GI.GLib.Structs.DebugKey as GLib.DebugKey-import {-# SOURCE #-} qualified GI.GLib.Structs.IOChannel as GLib.IOChannel-import {-# SOURCE #-} qualified GI.GLib.Structs.LogField as GLib.LogField-import {-# SOURCE #-} qualified GI.GLib.Structs.MemVTable as GLib.MemVTable-import {-# SOURCE #-} qualified GI.GLib.Structs.PatternSpec as GLib.PatternSpec-import {-# SOURCE #-} qualified GI.GLib.Structs.PollFD as GLib.PollFD-import {-# SOURCE #-} qualified GI.GLib.Structs.Source as GLib.Source-import {-# SOURCE #-} qualified GI.GLib.Structs.String as GLib.String-import {-# SOURCE #-} qualified GI.GLib.Structs.TestSuite as GLib.TestSuite-import {-# SOURCE #-} qualified GI.GLib.Structs.TimeVal as GLib.TimeVal---- function g_variant_get_gtype--- Args : []--- Lengths : []--- returnType : Just (TBasicType TGType)--- throws : False--- Skip return : False--foreign import ccall "g_variant_get_gtype" g_variant_get_gtype :: -    IO CGType--{- |-/No description available in the introspection data./--}-variantGetGtype ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m GType-variantGetGtype  = liftIO $ do-    result <- g_variant_get_gtype-    let result' = GType result-    return result'----- function g_uuid_string_random--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "g_uuid_string_random" g_uuid_string_random :: -    IO CString--{- |-Generates a random UUID (RFC 4122 version 4) as a string.--/Since: 2.52/--}-uuidStringRandom ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m T.Text-    {- ^ __Returns:__ A string that should be freed with 'GI.GLib.Functions.free'. -}-uuidStringRandom  = liftIO $ do-    result <- g_uuid_string_random-    checkUnexpectedReturnNULL "uuidStringRandom" result-    result' <- cstringToText result-    freeMem result-    return result'----- function g_uuid_string_is_valid--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string representing a UUID", 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_uuid_string_is_valid" g_uuid_string_is_valid :: -    CString ->                              -- str : TBasicType TUTF8-    IO CInt--{- |-Parses the string /@str@/ and verify if it is a UUID.--The function accepts the following syntax:--* simple forms (e.g. @f81d4fae-7dec-11d0-a765-00a0c91e6bf6@)---Note that hyphens are required within the UUID string itself,-as per the aforementioned RFC.--/Since: 2.52/--}-uuidStringIsValid ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a string representing a UUID -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@str@/ is a valid UUID, 'False' otherwise. -}-uuidStringIsValid str = liftIO $ do-    str' <- textToCString str-    result <- g_uuid_string_is_valid str'-    let result' = (/= 0) result-    freeMem str'-    return result'----- function g_utf8_validate_len--- Args : [Arg {argCName = "str", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to character data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "max bytes to validate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for end of valid data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "max_len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "max bytes to validate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "g_utf8_validate_len" g_utf8_validate_len :: -    Ptr Word8 ->                            -- str : TCArray False (-1) 1 (TBasicType TUInt8)-    Word64 ->                               -- max_len : TBasicType TUInt64-    Ptr CString ->                          -- end : TBasicType TUTF8-    IO CInt--{- |-Validates UTF-8 encoded text.--As with 'GI.GLib.Functions.utf8Validate', but /@maxLen@/ must be set, and hence this function-will always return 'False' if any of the bytes of /@str@/ are nul.--/Since: 2.60/--}-utf8ValidateLen ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    ByteString-    {- ^ /@str@/: a pointer to character data -}-    -> m ((Bool, T.Text))-    {- ^ __Returns:__ 'True' if the text was valid UTF-8 -}-utf8ValidateLen str = liftIO $ do-    let maxLen = fromIntegral $ B.length str-    str' <- packByteString str-    end <- allocMem :: IO (Ptr CString)-    result <- g_utf8_validate_len str' maxLen end-    let result' = (/= 0) result-    end' <- peek end-    end'' <- cstringToText end'-    freeMem str'-    freeMem end-    return (result', end'')----- function g_utf8_validate--- Args : [Arg {argCName = "str", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to character data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "max bytes to validate, or -1 to go until NUL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for end of valid data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "max_len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "max bytes to validate, or -1 to go until NUL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "g_utf8_validate" g_utf8_validate :: -    Ptr Word8 ->                            -- str : TCArray False (-1) 1 (TBasicType TUInt8)-    Int64 ->                                -- max_len : TBasicType TInt64-    Ptr CString ->                          -- end : TBasicType TUTF8-    IO CInt--{- |-Validates UTF-8 encoded text. /@str@/ is the text to validate;-if /@str@/ is nul-terminated, then /@maxLen@/ can be -1, otherwise-/@maxLen@/ should be the number of bytes to validate.-If /@end@/ is non-'Nothing', then the end of the valid range-will be stored there (i.e. the start of the first invalid-character if some bytes were invalid, or the end of the text-being validated otherwise).--Note that 'GI.GLib.Functions.utf8Validate' returns 'False' if /@maxLen@/ is-positive and any of the /@maxLen@/ bytes are nul.--Returns 'True' if all of /@str@/ was valid. Many GLib and GTK+-routines require valid UTF-8 as input; so data read from a file-or the network should be checked with 'GI.GLib.Functions.utf8Validate' before-doing anything else with it.--}-utf8Validate ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    ByteString-    {- ^ /@str@/: a pointer to character data -}-    -> m ((Bool, T.Text))-    {- ^ __Returns:__ 'True' if the text was valid UTF-8 -}-utf8Validate str = liftIO $ do-    let maxLen = fromIntegral $ B.length str-    str' <- packByteString str-    end <- allocMem :: IO (Ptr CString)-    result <- g_utf8_validate str' maxLen end-    let result' = (/= 0) result-    end' <- peek end-    end'' <- cstringToText end'-    freeMem str'-    freeMem end-    return (result', end'')----- function g_utf8_substring--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a UTF-8 encoded string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_pos", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a character offset within @str", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_pos", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another character offset within @str", 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_utf8_substring" g_utf8_substring :: -    CString ->                              -- str : TBasicType TUTF8-    CLong ->                                -- start_pos : TBasicType TLong-    CLong ->                                -- end_pos : TBasicType TLong-    IO CString--{- |-Copies a substring out of a UTF-8 encoded string.-The substring will contain /@endPos@/ - /@startPos@/ characters.--/Since: 2.30/--}-utf8Substring ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a UTF-8 encoded string -}-    -> CLong-    {- ^ /@startPos@/: a character offset within /@str@/ -}-    -> CLong-    {- ^ /@endPos@/: another character offset within /@str@/ -}-    -> m T.Text-    {- ^ __Returns:__ a newly allocated copy of the requested-    substring. Free with 'GI.GLib.Functions.free' when no longer needed. -}-utf8Substring str startPos endPos = liftIO $ do-    str' <- textToCString str-    result <- g_utf8_substring str' startPos endPos-    checkUnexpectedReturnNULL "utf8Substring" result-    result' <- cstringToText result-    freeMem result-    freeMem str'-    return result'----- function g_utf8_strup--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a UTF-8 encoded string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @str, in bytes, or -1 if @str is nul-terminated.", 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_utf8_strup" g_utf8_strup :: -    CString ->                              -- str : TBasicType TUTF8-    Int64 ->                                -- len : TBasicType TInt64-    IO CString--{- |-Converts all Unicode characters in the string that have a case-to uppercase. The exact manner that this is done depends-on the current locale, and may result in the number of-characters in the string increasing. (For instance, the-German ess-zet will be changed to SS.)--}-utf8Strup ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a UTF-8 encoded string -}-    -> Int64-    {- ^ /@len@/: length of /@str@/, in bytes, or -1 if /@str@/ is nul-terminated. -}-    -> m T.Text-    {- ^ __Returns:__ a newly allocated string, with all characters-   converted to uppercase. -}-utf8Strup str len = liftIO $ do-    str' <- textToCString str-    result <- g_utf8_strup str' len-    checkUnexpectedReturnNULL "utf8Strup" result-    result' <- cstringToText result-    freeMem result-    freeMem str'-    return result'----- function g_utf8_strreverse--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a UTF-8 encoded string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum length of @str to use, in bytes. If @len < 0,\n    then the string is nul-terminated.", 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_utf8_strreverse" g_utf8_strreverse :: -    CString ->                              -- str : TBasicType TUTF8-    Int64 ->                                -- len : TBasicType TInt64-    IO CString--{- |-Reverses a UTF-8 string. /@str@/ must be valid UTF-8 encoded text.-(Use 'GI.GLib.Functions.utf8Validate' on all text before trying to use UTF-8-utility functions with it.)--This function is intended for programmatic uses of reversed strings.-It pays no attention to decomposed characters, combining marks, byte-order marks, directional indicators (LRM, LRO, etc) and similar-characters which might need special handling when reversing a string-for display purposes.--Note that unlike 'GI.GLib.Functions.strreverse', this function returns-newly-allocated memory, which should be freed with 'GI.GLib.Functions.free' when-no longer needed.--/Since: 2.2/--}-utf8Strreverse ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a UTF-8 encoded string -}-    -> Int64-    {- ^ /@len@/: the maximum length of /@str@/ to use, in bytes. If /@len@/ \< 0,-    then the string is nul-terminated. -}-    -> m T.Text-    {- ^ __Returns:__ a newly-allocated string which is the reverse of /@str@/ -}-utf8Strreverse str len = liftIO $ do-    str' <- textToCString str-    result <- g_utf8_strreverse str' len-    checkUnexpectedReturnNULL "utf8Strreverse" result-    result' <- cstringToText result-    freeMem result-    freeMem str'-    return result'----- function g_utf8_strrchr--- Args : [Arg {argCName = "p", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a nul-terminated UTF-8 encoded string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum length of @p", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", 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_utf8_strrchr" g_utf8_strrchr :: -    CString ->                              -- p : TBasicType TUTF8-    Int64 ->                                -- len : TBasicType TInt64-    CInt ->                                 -- c : TBasicType TUniChar-    IO CString--{- |-Find the rightmost occurrence of the given Unicode character-in a UTF-8 encoded string, while limiting the search to /@len@/ bytes.-If /@len@/ is -1, allow unbounded search.--}-utf8Strrchr ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@p@/: a nul-terminated UTF-8 encoded string -}-    -> Int64-    {- ^ /@len@/: the maximum length of /@p@/ -}-    -> Char-    {- ^ /@c@/: a Unicode character -}-    -> m T.Text-    {- ^ __Returns:__ 'Nothing' if the string does not contain the character,-    otherwise, a pointer to the start of the rightmost occurrence-    of the character in the string. -}-utf8Strrchr p len c = liftIO $ do-    p' <- textToCString p-    let c' = (fromIntegral . ord) c-    result <- g_utf8_strrchr p' len c'-    checkUnexpectedReturnNULL "utf8Strrchr" result-    result' <- cstringToText result-    freeMem result-    freeMem p'-    return result'----- function g_utf8_strncpy--- Args : [Arg {argCName = "dest", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "buffer to fill with characters from @src", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "UTF-8 encoded string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "character count", 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_utf8_strncpy" g_utf8_strncpy :: -    CString ->                              -- dest : TBasicType TUTF8-    CString ->                              -- src : TBasicType TUTF8-    Word64 ->                               -- n : TBasicType TUInt64-    IO CString--{- |-Like the standard C @/strncpy()/@ function, but copies a given number-of characters instead of a given number of bytes. The /@src@/ string-must be valid UTF-8 encoded text. (Use 'GI.GLib.Functions.utf8Validate' on all-text before trying to use UTF-8 utility functions with it.)--Note you must ensure /@dest@/ is at least 4 * /@n@/ to fit the-largest possible UTF-8 characters--}-utf8Strncpy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@dest@/: buffer to fill with characters from /@src@/ -}-    -> T.Text-    {- ^ /@src@/: UTF-8 encoded string -}-    -> Word64-    {- ^ /@n@/: character count -}-    -> m T.Text-    {- ^ __Returns:__ /@dest@/ -}-utf8Strncpy dest src n = liftIO $ do-    dest' <- textToCString dest-    src' <- textToCString src-    result <- g_utf8_strncpy dest' src' n-    checkUnexpectedReturnNULL "utf8Strncpy" result-    result' <- cstringToText result-    freeMem result-    freeMem dest'-    freeMem src'-    return result'----- function g_utf8_strlen--- Args : [Arg {argCName = "p", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to the start of a UTF-8 encoded string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum number of bytes to examine. If @max\n      is less than 0, then the string is assumed to be\n      nul-terminated. If @max is 0, @p will not be examined and\n      may be %NULL. If @max is greater than 0, up to @max\n      bytes are examined", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TLong)--- throws : False--- Skip return : False--foreign import ccall "g_utf8_strlen" g_utf8_strlen :: -    CString ->                              -- p : TBasicType TUTF8-    Int64 ->                                -- max : TBasicType TInt64-    IO CLong--{- |-Computes the length of the string in characters, not including-the terminating nul character. If the /@max@/\'th byte falls in the-middle of a character, the last (partial) character is not counted.--}-utf8Strlen ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@p@/: pointer to the start of a UTF-8 encoded string -}-    -> Int64-    {- ^ /@max@/: the maximum number of bytes to examine. If /@max@/-      is less than 0, then the string is assumed to be-      nul-terminated. If /@max@/ is 0, /@p@/ will not be examined and-      may be 'Nothing'. If /@max@/ is greater than 0, up to /@max@/-      bytes are examined -}-    -> m CLong-    {- ^ __Returns:__ the length of the string in characters -}-utf8Strlen p max = liftIO $ do-    p' <- textToCString p-    result <- g_utf8_strlen p' max-    freeMem p'-    return result----- function g_utf8_strdown--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a UTF-8 encoded string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @str, in bytes, or -1 if @str is nul-terminated.", 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_utf8_strdown" g_utf8_strdown :: -    CString ->                              -- str : TBasicType TUTF8-    Int64 ->                                -- len : TBasicType TInt64-    IO CString--{- |-Converts all Unicode characters in the string that have a case-to lowercase. The exact manner that this is done depends-on the current locale, and may result in the number of-characters in the string changing.--}-utf8Strdown ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a UTF-8 encoded string -}-    -> Int64-    {- ^ /@len@/: length of /@str@/, in bytes, or -1 if /@str@/ is nul-terminated. -}-    -> m T.Text-    {- ^ __Returns:__ a newly allocated string, with all characters-   converted to lowercase. -}-utf8Strdown str len = liftIO $ do-    str' <- textToCString str-    result <- g_utf8_strdown str' len-    checkUnexpectedReturnNULL "utf8Strdown" result-    result' <- cstringToText result-    freeMem result-    freeMem str'-    return result'----- function g_utf8_strchr--- Args : [Arg {argCName = "p", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a nul-terminated UTF-8 encoded string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum length of @p", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", 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_utf8_strchr" g_utf8_strchr :: -    CString ->                              -- p : TBasicType TUTF8-    Int64 ->                                -- len : TBasicType TInt64-    CInt ->                                 -- c : TBasicType TUniChar-    IO CString--{- |-Finds the leftmost occurrence of the given Unicode character-in a UTF-8 encoded string, while limiting the search to /@len@/ bytes.-If /@len@/ is -1, allow unbounded search.--}-utf8Strchr ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@p@/: a nul-terminated UTF-8 encoded string -}-    -> Int64-    {- ^ /@len@/: the maximum length of /@p@/ -}-    -> Char-    {- ^ /@c@/: a Unicode character -}-    -> m T.Text-    {- ^ __Returns:__ 'Nothing' if the string does not contain the character,-    otherwise, a pointer to the start of the leftmost occurrence-    of the character in the string. -}-utf8Strchr p len c = liftIO $ do-    p' <- textToCString p-    let c' = (fromIntegral . ord) c-    result <- g_utf8_strchr p' len c'-    checkUnexpectedReturnNULL "utf8Strchr" result-    result' <- cstringToText result-    freeMem result-    freeMem p'-    return result'----- function g_utf8_prev_char--- Args : [Arg {argCName = "p", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a position within a UTF-8 encoded string", 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_utf8_prev_char" g_utf8_prev_char :: -    CString ->                              -- p : TBasicType TUTF8-    IO CString--{- |-Finds the previous UTF-8 character in the string before /@p@/.--/@p@/ does not have to be at the beginning of a UTF-8 character. No check-is made to see if the character found is actually valid other than-it starts with an appropriate byte. If /@p@/ might be the first-character of the string, you must use 'GI.GLib.Functions.utf8FindPrevChar' instead.--}-utf8PrevChar ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@p@/: a pointer to a position within a UTF-8 encoded string -}-    -> m T.Text-    {- ^ __Returns:__ a pointer to the found character -}-utf8PrevChar p = liftIO $ do-    p' <- textToCString p-    result <- g_utf8_prev_char p'-    checkUnexpectedReturnNULL "utf8PrevChar" result-    result' <- cstringToText result-    freeMem result-    freeMem p'-    return result'----- function g_utf8_pointer_to_offset--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a UTF-8 encoded string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a position within @str", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TLong)--- throws : False--- Skip return : False--foreign import ccall "g_utf8_pointer_to_offset" g_utf8_pointer_to_offset :: -    CString ->                              -- str : TBasicType TUTF8-    CString ->                              -- pos : TBasicType TUTF8-    IO CLong--{- |-Converts from a pointer to position within a string to a integer-character offset.--Since 2.10, this function allows /@pos@/ to be before /@str@/, and returns-a negative offset in this case.--}-utf8PointerToOffset ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a UTF-8 encoded string -}-    -> T.Text-    {- ^ /@pos@/: a pointer to a position within /@str@/ -}-    -> m CLong-    {- ^ __Returns:__ the resulting character offset -}-utf8PointerToOffset str pos = liftIO $ do-    str' <- textToCString str-    pos' <- textToCString pos-    result <- g_utf8_pointer_to_offset str' pos'-    freeMem str'-    freeMem pos'-    return result----- function g_utf8_offset_to_pointer--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a UTF-8 encoded string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a character offset within @str", 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_utf8_offset_to_pointer" g_utf8_offset_to_pointer :: -    CString ->                              -- str : TBasicType TUTF8-    CLong ->                                -- offset : TBasicType TLong-    IO CString--{- |-Converts from an integer character offset to a pointer to a position-within the string.--Since 2.10, this function allows to pass a negative /@offset@/ to-step backwards. It is usually worth stepping backwards from the end-instead of forwards if /@offset@/ is in the last fourth of the string,-since moving forward is about 3 times faster than moving backward.--Note that this function doesn\'t abort when reaching the end of /@str@/.-Therefore you should be sure that /@offset@/ is within string boundaries-before calling that function. Call 'GI.GLib.Functions.utf8Strlen' when unsure.-This limitation exists as this function is called frequently during-text rendering and therefore has to be as fast as possible.--}-utf8OffsetToPointer ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a UTF-8 encoded string -}-    -> CLong-    {- ^ /@offset@/: a character offset within /@str@/ -}-    -> m T.Text-    {- ^ __Returns:__ the resulting pointer -}-utf8OffsetToPointer str offset = liftIO $ do-    str' <- textToCString str-    result <- g_utf8_offset_to_pointer str' offset-    checkUnexpectedReturnNULL "utf8OffsetToPointer" result-    result' <- cstringToText result-    freeMem result-    freeMem str'-    return result'----- function g_utf8_normalize--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a UTF-8 encoded string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @str, in bytes, or -1 if @str is nul-terminated.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "GLib", name = "NormalizeMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type of normalization to perform.", 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_utf8_normalize" g_utf8_normalize :: -    CString ->                              -- str : TBasicType TUTF8-    Int64 ->                                -- len : TBasicType TInt64-    CUInt ->                                -- mode : TInterface (Name {namespace = "GLib", name = "NormalizeMode"})-    IO CString--{- |-Converts a string into canonical form, standardizing-such issues as whether a character with an accent-is represented as a base character and combining-accent or as a single precomposed character. The-string has to be valid UTF-8, otherwise 'Nothing' is-returned. You should generally call 'GI.GLib.Functions.utf8Normalize'-before comparing two Unicode strings.--The normalization mode 'GI.GLib.Enums.NormalizeModeDefault' only-standardizes differences that do not affect the-text content, such as the above-mentioned accent-representation. 'GI.GLib.Enums.NormalizeModeAll' also standardizes-the \"compatibility\" characters in Unicode, such-as SUPERSCRIPT THREE to the standard forms-(in this case DIGIT THREE). Formatting information-may be lost but for most text operations such-characters should be considered the same.--'GI.GLib.Enums.NormalizeModeDefaultCompose' and 'GI.GLib.Enums.NormalizeModeAllCompose'-are like 'GI.GLib.Enums.NormalizeModeDefault' and 'GI.GLib.Enums.NormalizeModeAll',-but returned a result with composed forms rather-than a maximally decomposed form. This is often-useful if you intend to convert the string to-a legacy encoding or pass it to a system with-less capable Unicode handling.--}-utf8Normalize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a UTF-8 encoded string. -}-    -> Int64-    {- ^ /@len@/: length of /@str@/, in bytes, or -1 if /@str@/ is nul-terminated. -}-    -> GLib.Enums.NormalizeMode-    {- ^ /@mode@/: the type of normalization to perform. -}-    -> m T.Text-    {- ^ __Returns:__ a newly allocated string, that is the-  normalized form of /@str@/, or 'Nothing' if /@str@/ is not-  valid UTF-8. -}-utf8Normalize str len mode = liftIO $ do-    str' <- textToCString str-    let mode' = (fromIntegral . fromEnum) mode-    result <- g_utf8_normalize str' len mode'-    checkUnexpectedReturnNULL "utf8Normalize" result-    result' <- cstringToText result-    freeMem result-    freeMem str'-    return result'----- function g_utf8_make_valid--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "string to coerce into UTF-8", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum length of @str to use, in bytes. If @len < 0,\n    then the string is nul-terminated.", 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_utf8_make_valid" g_utf8_make_valid :: -    CString ->                              -- str : TBasicType TUTF8-    Int64 ->                                -- len : TBasicType TInt64-    IO CString--{- |-If the provided string is valid UTF-8, return a copy of it. If not,-return a copy in which bytes that could not be interpreted as valid Unicode-are replaced with the Unicode replacement character (U+FFFD).--For example, this is an appropriate function to use if you have received-a string that was incorrectly declared to be UTF-8, and you need a valid-UTF-8 version of it that can be logged or displayed to the user, with the-assumption that it is close enough to ASCII or UTF-8 to be mostly-readable as-is.--/Since: 2.52/--}-utf8MakeValid ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: string to coerce into UTF-8 -}-    -> Int64-    {- ^ /@len@/: the maximum length of /@str@/ to use, in bytes. If /@len@/ \< 0,-    then the string is nul-terminated. -}-    -> m T.Text-    {- ^ __Returns:__ a valid UTF-8 string whose content resembles /@str@/ -}-utf8MakeValid str len = liftIO $ do-    str' <- textToCString str-    result <- g_utf8_make_valid str' len-    checkUnexpectedReturnNULL "utf8MakeValid" result-    result' <- cstringToText result-    freeMem result-    freeMem str'-    return result'----- function g_utf8_get_char_validated--- Args : [Arg {argCName = "p", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to Unicode character encoded as UTF-8", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum number of bytes to read, or -1 if @p is nul-terminated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUniChar)--- throws : False--- Skip return : False--foreign import ccall "g_utf8_get_char_validated" g_utf8_get_char_validated :: -    CString ->                              -- p : TBasicType TUTF8-    Int64 ->                                -- max_len : TBasicType TInt64-    IO CInt--{- |-Convert a sequence of bytes encoded as UTF-8 to a Unicode character.-This function checks for incomplete characters, for invalid characters-such as characters that are out of the range of Unicode, and for-overlong encodings of valid characters.--Note that 'GI.GLib.Functions.utf8GetCharValidated' returns (gunichar)-2 if-/@maxLen@/ is positive and any of the bytes in the first UTF-8 character-sequence are nul.--}-utf8GetCharValidated ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@p@/: a pointer to Unicode character encoded as UTF-8 -}-    -> Int64-    {- ^ /@maxLen@/: the maximum number of bytes to read, or -1 if /@p@/ is nul-terminated -}-    -> m Char-    {- ^ __Returns:__ the resulting character. If /@p@/ points to a partial-    sequence at the end of a string that could begin a valid-    character (or if /@maxLen@/ is zero), returns (gunichar)-2;-    otherwise, if /@p@/ does not point to a valid UTF-8 encoded-    Unicode character, returns (gunichar)-1. -}-utf8GetCharValidated p maxLen = liftIO $ do-    p' <- textToCString p-    result <- g_utf8_get_char_validated p' maxLen-    let result' = (chr . fromIntegral) result-    freeMem p'-    return result'----- function g_utf8_get_char--- Args : [Arg {argCName = "p", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to Unicode character encoded as UTF-8", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUniChar)--- throws : False--- Skip return : False--foreign import ccall "g_utf8_get_char" g_utf8_get_char :: -    CString ->                              -- p : TBasicType TUTF8-    IO CInt--{- |-Converts a sequence of bytes encoded as UTF-8 to a Unicode character.--If /@p@/ does not point to a valid UTF-8 encoded character, results-are undefined. If you are not sure that the bytes are complete-valid Unicode characters, you should use 'GI.GLib.Functions.utf8GetCharValidated'-instead.--}-utf8GetChar ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@p@/: a pointer to Unicode character encoded as UTF-8 -}-    -> m Char-    {- ^ __Returns:__ the resulting character -}-utf8GetChar p = liftIO $ do-    p' <- textToCString p-    result <- g_utf8_get_char p'-    let result' = (chr . fromIntegral) result-    freeMem p'-    return result'----- function g_utf8_find_prev_char--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to the beginning of a UTF-8 encoded string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "p", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to some position within @str", 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_utf8_find_prev_char" g_utf8_find_prev_char :: -    CString ->                              -- str : TBasicType TUTF8-    CString ->                              -- p : TBasicType TUTF8-    IO CString--{- |-Given a position /@p@/ with a UTF-8 encoded string /@str@/, find the start-of the previous UTF-8 character starting before /@p@/. Returns 'Nothing' if no-UTF-8 characters are present in /@str@/ before /@p@/.--/@p@/ does not have to be at the beginning of a UTF-8 character. No check-is made to see if the character found is actually valid other than-it starts with an appropriate byte.--}-utf8FindPrevChar ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: pointer to the beginning of a UTF-8 encoded string -}-    -> T.Text-    {- ^ /@p@/: pointer to some position within /@str@/ -}-    -> m T.Text-    {- ^ __Returns:__ a pointer to the found character or 'Nothing'. -}-utf8FindPrevChar str p = liftIO $ do-    str' <- textToCString str-    p' <- textToCString p-    result <- g_utf8_find_prev_char str' p'-    checkUnexpectedReturnNULL "utf8FindPrevChar" result-    result' <- cstringToText result-    freeMem result-    freeMem str'-    freeMem p'-    return result'----- function g_utf8_find_next_char--- Args : [Arg {argCName = "p", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a position within a UTF-8 encoded string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a pointer to the byte following the end of the string,\n    or %NULL to indicate that the string is nul-terminated", 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_utf8_find_next_char" g_utf8_find_next_char :: -    CString ->                              -- p : TBasicType TUTF8-    CString ->                              -- end : TBasicType TUTF8-    IO CString--{- |-Finds the start of the next UTF-8 character in the string after /@p@/.--/@p@/ does not have to be at the beginning of a UTF-8 character. No check-is made to see if the character found is actually valid other than-it starts with an appropriate byte.--If /@end@/ is 'Nothing', the return value will never be 'Nothing': if the end of the-string is reached, a pointer to the terminating nul byte is returned. If-/@end@/ is non-'Nothing', the return value will be 'Nothing' if the end of the string-is reached.--}-utf8FindNextChar ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@p@/: a pointer to a position within a UTF-8 encoded string -}-    -> Maybe (T.Text)-    {- ^ /@end@/: a pointer to the byte following the end of the string,-    or 'Nothing' to indicate that the string is nul-terminated -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ a pointer to the found character or 'Nothing' if /@end@/ is-   set and is reached -}-utf8FindNextChar p end = liftIO $ do-    p' <- textToCString p-    maybeEnd <- case end of-        Nothing -> return nullPtr-        Just jEnd -> do-            jEnd' <- textToCString jEnd-            return jEnd'-    result <- g_utf8_find_next_char p' maybeEnd-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        freeMem result'-        return result''-    freeMem p'-    freeMem maybeEnd-    return maybeResult----- function g_utf8_collate_key_for_filename--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a UTF-8 encoded string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @str, in bytes, or -1 if @str is nul-terminated.", 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_utf8_collate_key_for_filename" g_utf8_collate_key_for_filename :: -    CString ->                              -- str : TBasicType TUTF8-    Int64 ->                                -- len : TBasicType TInt64-    IO CString--{- |-Converts a string into a collation key that can be compared-with other collation keys produced by the same function using @/strcmp()/@.--In order to sort filenames correctly, this function treats the dot \'.\'-as a special case. Most dictionary orderings seem to consider it-insignificant, thus producing the ordering \"event.c\" \"eventgenerator.c\"-\"event.h\" instead of \"event.c\" \"event.h\" \"eventgenerator.c\". Also, we-would like to treat numbers intelligently so that \"file1\" \"file10\" \"file5\"-is sorted as \"file1\" \"file5\" \"file10\".--Note that this function depends on the [current locale][setlocale].--/Since: 2.8/--}-utf8CollateKeyForFilename ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a UTF-8 encoded string. -}-    -> Int64-    {- ^ /@len@/: length of /@str@/, in bytes, or -1 if /@str@/ is nul-terminated. -}-    -> m T.Text-    {- ^ __Returns:__ a newly allocated string. This string should-  be freed with 'GI.GLib.Functions.free' when you are done with it. -}-utf8CollateKeyForFilename str len = liftIO $ do-    str' <- textToCString str-    result <- g_utf8_collate_key_for_filename str' len-    checkUnexpectedReturnNULL "utf8CollateKeyForFilename" result-    result' <- cstringToText result-    freeMem result-    freeMem str'-    return result'----- function g_utf8_collate_key--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a UTF-8 encoded string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @str, in bytes, or -1 if @str is nul-terminated.", 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_utf8_collate_key" g_utf8_collate_key :: -    CString ->                              -- str : TBasicType TUTF8-    Int64 ->                                -- len : TBasicType TInt64-    IO CString--{- |-Converts a string into a collation key that can be compared-with other collation keys produced by the same function using-@/strcmp()/@.--The results of comparing the collation keys of two strings-with @/strcmp()/@ will always be the same as comparing the two-original keys with 'GI.GLib.Functions.utf8Collate'.--Note that this function depends on the [current locale][setlocale].--}-utf8CollateKey ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a UTF-8 encoded string. -}-    -> Int64-    {- ^ /@len@/: length of /@str@/, in bytes, or -1 if /@str@/ is nul-terminated. -}-    -> m T.Text-    {- ^ __Returns:__ a newly allocated string. This string should-  be freed with 'GI.GLib.Functions.free' when you are done with it. -}-utf8CollateKey str len = liftIO $ do-    str' <- textToCString str-    result <- g_utf8_collate_key str' len-    checkUnexpectedReturnNULL "utf8CollateKey" result-    result' <- cstringToText result-    freeMem result-    freeMem str'-    return result'----- function g_utf8_collate--- Args : [Arg {argCName = "str1", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a UTF-8 encoded string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "str2", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a UTF-8 encoded string", 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_utf8_collate" g_utf8_collate :: -    CString ->                              -- str1 : TBasicType TUTF8-    CString ->                              -- str2 : TBasicType TUTF8-    IO Int32--{- |-Compares two strings for ordering using the linguistically-correct rules for the [current locale][setlocale].-When sorting a large number of strings, it will be significantly-faster to obtain collation keys with 'GI.GLib.Functions.utf8CollateKey' and-compare the keys with @/strcmp()/@ when sorting instead of sorting-the original strings.--}-utf8Collate ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str1@/: a UTF-8 encoded string -}-    -> T.Text-    {- ^ /@str2@/: a UTF-8 encoded string -}-    -> m Int32-    {- ^ __Returns:__ \< 0 if /@str1@/ compares before /@str2@/,-  0 if they compare equal, > 0 if /@str1@/ compares after /@str2@/. -}-utf8Collate str1 str2 = liftIO $ do-    str1' <- textToCString str1-    str2' <- textToCString str2-    result <- g_utf8_collate str1' str2'-    freeMem str1'-    freeMem str2'-    return result----- function g_utf8_casefold--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a UTF-8 encoded string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @str, in bytes, or -1 if @str is nul-terminated.", 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_utf8_casefold" g_utf8_casefold :: -    CString ->                              -- str : TBasicType TUTF8-    Int64 ->                                -- len : TBasicType TInt64-    IO CString--{- |-Converts a string into a form that is independent of case. The-result will not correspond to any particular case, but can be-compared for equality or ordered with the results of calling-'GI.GLib.Functions.utf8Casefold' on other strings.--Note that calling 'GI.GLib.Functions.utf8Casefold' followed by 'GI.GLib.Functions.utf8Collate' is-only an approximation to the correct linguistic case insensitive-ordering, though it is a fairly good one. Getting this exactly-right would require a more sophisticated collation function that-takes case sensitivity into account. GLib does not currently-provide such a function.--}-utf8Casefold ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a UTF-8 encoded string -}-    -> Int64-    {- ^ /@len@/: length of /@str@/, in bytes, or -1 if /@str@/ is nul-terminated. -}-    -> m T.Text-    {- ^ __Returns:__ a newly allocated string, that is a-  case independent form of /@str@/. -}-utf8Casefold str len = liftIO $ do-    str' <- textToCString str-    result <- g_utf8_casefold str' len-    checkUnexpectedReturnNULL "utf8Casefold" result-    result' <- cstringToText result-    freeMem result-    freeMem str'-    return result'----- function g_usleep--- Args : [Arg {argCName = "microseconds", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of microseconds to pause", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_usleep" g_usleep :: -    CULong ->                               -- microseconds : TBasicType TULong-    IO ()--{- |-Pauses the current thread for the given number of microseconds.--There are 1 million microseconds per second (represented by the-'GI.GLib.Constants.USEC_PER_SEC' macro). 'GI.GLib.Functions.usleep' may have limited precision,-depending on hardware and operating system; don\'t rely on the exact-length of the sleep.--}-usleep ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    CULong-    {- ^ /@microseconds@/: number of microseconds to pause -}-    -> m ()-usleep microseconds = liftIO $ do-    g_usleep microseconds-    return ()----- function g_uri_unescape_string--- Args : [Arg {argCName = "escaped_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an escaped string to be unescaped.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "illegal_characters", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string of illegal characters not to be\n     allowed, or %NULL.", 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_uri_unescape_string" g_uri_unescape_string :: -    CString ->                              -- escaped_string : TBasicType TUTF8-    CString ->                              -- illegal_characters : TBasicType TUTF8-    IO CString--{- |-Unescapes a whole escaped string.--If any of the characters in /@illegalCharacters@/ or the character zero appears-as an escaped character in /@escapedString@/ then that is an error and 'Nothing'-will be returned. This is useful it you want to avoid for instance having a-slash being expanded in an escaped path element, which might confuse pathname-handling.--/Since: 2.16/--}-uriUnescapeString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@escapedString@/: an escaped string to be unescaped. -}-    -> Maybe (T.Text)-    {- ^ /@illegalCharacters@/: a string of illegal characters not to be-     allowed, or 'Nothing'. -}-    -> m T.Text-    {- ^ __Returns:__ an unescaped version of /@escapedString@/. The returned string-should be freed when no longer needed. -}-uriUnescapeString escapedString illegalCharacters = liftIO $ do-    escapedString' <- textToCString escapedString-    maybeIllegalCharacters <- case illegalCharacters of-        Nothing -> return nullPtr-        Just jIllegalCharacters -> do-            jIllegalCharacters' <- textToCString jIllegalCharacters-            return jIllegalCharacters'-    result <- g_uri_unescape_string escapedString' maybeIllegalCharacters-    checkUnexpectedReturnNULL "uriUnescapeString" result-    result' <- cstringToText result-    freeMem result-    freeMem escapedString'-    freeMem maybeIllegalCharacters-    return result'----- function g_uri_unescape_segment--- Args : [Arg {argCName = "escaped_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A string, may be %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "escaped_string_end", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Pointer to end of @escaped_string, may be %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "illegal_characters", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "An optional string of illegal characters not to be allowed, may be %NULL", 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_uri_unescape_segment" g_uri_unescape_segment :: -    CString ->                              -- escaped_string : TBasicType TUTF8-    CString ->                              -- escaped_string_end : TBasicType TUTF8-    CString ->                              -- illegal_characters : TBasicType TUTF8-    IO CString--{- |-Unescapes a segment of an escaped string.--If any of the characters in /@illegalCharacters@/ or the character zero appears-as an escaped character in /@escapedString@/ then that is an error and 'Nothing'-will be returned. This is useful it you want to avoid for instance having a-slash being expanded in an escaped path element, which might confuse pathname-handling.--/Since: 2.16/--}-uriUnescapeSegment ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@escapedString@/: A string, may be 'Nothing' -}-    -> Maybe (T.Text)-    {- ^ /@escapedStringEnd@/: Pointer to end of /@escapedString@/, may be 'Nothing' -}-    -> Maybe (T.Text)-    {- ^ /@illegalCharacters@/: An optional string of illegal characters not to be allowed, may be 'Nothing' -}-    -> m T.Text-    {- ^ __Returns:__ an unescaped version of /@escapedString@/ or 'Nothing' on error.-The returned string should be freed when no longer needed.  As a-special case if 'Nothing' is given for /@escapedString@/, this function-will return 'Nothing'. -}-uriUnescapeSegment escapedString escapedStringEnd illegalCharacters = liftIO $ do-    maybeEscapedString <- case escapedString of-        Nothing -> return nullPtr-        Just jEscapedString -> do-            jEscapedString' <- textToCString jEscapedString-            return jEscapedString'-    maybeEscapedStringEnd <- case escapedStringEnd of-        Nothing -> return nullPtr-        Just jEscapedStringEnd -> do-            jEscapedStringEnd' <- textToCString jEscapedStringEnd-            return jEscapedStringEnd'-    maybeIllegalCharacters <- case illegalCharacters of-        Nothing -> return nullPtr-        Just jIllegalCharacters -> do-            jIllegalCharacters' <- textToCString jIllegalCharacters-            return jIllegalCharacters'-    result <- g_uri_unescape_segment maybeEscapedString maybeEscapedStringEnd maybeIllegalCharacters-    checkUnexpectedReturnNULL "uriUnescapeSegment" result-    result' <- cstringToText result-    freeMem result-    freeMem maybeEscapedString-    freeMem maybeEscapedStringEnd-    freeMem maybeIllegalCharacters-    return result'----- function g_uri_parse_scheme--- Args : [Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI.", 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_uri_parse_scheme" g_uri_parse_scheme :: -    CString ->                              -- uri : TBasicType TUTF8-    IO CString--{- |-Gets the scheme portion of a URI string. RFC 3986 decodes the scheme as:->->URI = scheme ":" hier-part [ "?" query ] [ "#" fragment ]--Common schemes include \"file\", \"http\", \"svn+ssh\", etc.--/Since: 2.16/--}-uriParseScheme ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@uri@/: a valid URI. -}-    -> m T.Text-    {- ^ __Returns:__ The \"Scheme\" component of the URI, or 'Nothing' on error.-The returned string should be freed when no longer needed. -}-uriParseScheme uri = liftIO $ do-    uri' <- textToCString uri-    result <- g_uri_parse_scheme uri'-    checkUnexpectedReturnNULL "uriParseScheme" result-    result' <- cstringToText result-    freeMem result-    freeMem uri'-    return result'----- function g_uri_list_extract_uris--- Args : [Arg {argCName = "uri_list", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an URI list", 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_uri_list_extract_uris" g_uri_list_extract_uris :: -    CString ->                              -- uri_list : TBasicType TUTF8-    IO (Ptr CString)--{- |-Splits an URI list conforming to the text\/uri-list-mime type defined in RFC 2483 into individual URIs,-discarding any comments. The URIs are not validated.--/Since: 2.6/--}-uriListExtractUris ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@uriList@/: an URI list -}-    -> m [T.Text]-    {- ^ __Returns:__ a newly allocated 'Nothing'-terminated list-  of strings holding the individual URIs. The array should be freed-  with 'GI.GLib.Functions.strfreev'. -}-uriListExtractUris uriList = liftIO $ do-    uriList' <- textToCString uriList-    result <- g_uri_list_extract_uris uriList'-    checkUnexpectedReturnNULL "uriListExtractUris" result-    result' <- unpackZeroTerminatedUTF8CArray result-    mapZeroTerminatedCArray freeMem result-    freeMem result-    freeMem uriList'-    return result'----- function g_uri_escape_string--- Args : [Arg {argCName = "unescaped", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the unescaped input string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "reserved_chars_allowed", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string of reserved characters that\n     are allowed to be used, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allow_utf8", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the result can include UTF-8 characters.", 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_uri_escape_string" g_uri_escape_string :: -    CString ->                              -- unescaped : TBasicType TUTF8-    CString ->                              -- reserved_chars_allowed : TBasicType TUTF8-    CInt ->                                 -- allow_utf8 : TBasicType TBoolean-    IO CString--{- |-Escapes a string for use in a URI.--Normally all characters that are not \"unreserved\" (i.e. ASCII alphanumerical-characters plus dash, dot, underscore and tilde) are escaped.-But if you specify characters in /@reservedCharsAllowed@/ they are not-escaped. This is useful for the \"reserved\" characters in the URI-specification, since those are allowed unescaped in some portions of-a URI.--/Since: 2.16/--}-uriEscapeString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@unescaped@/: the unescaped input string. -}-    -> Maybe (T.Text)-    {- ^ /@reservedCharsAllowed@/: a string of reserved characters that-     are allowed to be used, or 'Nothing'. -}-    -> Bool-    {- ^ /@allowUtf8@/: 'True' if the result can include UTF-8 characters. -}-    -> m T.Text-    {- ^ __Returns:__ an escaped version of /@unescaped@/. The returned string should be-freed when no longer needed. -}-uriEscapeString unescaped reservedCharsAllowed allowUtf8 = liftIO $ do-    unescaped' <- textToCString unescaped-    maybeReservedCharsAllowed <- case reservedCharsAllowed of-        Nothing -> return nullPtr-        Just jReservedCharsAllowed -> do-            jReservedCharsAllowed' <- textToCString jReservedCharsAllowed-            return jReservedCharsAllowed'-    let allowUtf8' = (fromIntegral . fromEnum) allowUtf8-    result <- g_uri_escape_string unescaped' maybeReservedCharsAllowed allowUtf8'-    checkUnexpectedReturnNULL "uriEscapeString" result-    result' <- cstringToText result-    freeMem result-    freeMem unescaped'-    freeMem maybeReservedCharsAllowed-    return result'----- function g_unsetenv--- Args : [Arg {argCName = "variable", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the environment variable to remove, must\n    not contain '='", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_unsetenv" g_unsetenv :: -    CString ->                              -- variable : TBasicType TFileName-    IO ()--{- |-Removes an environment variable from the environment.--Note that on some systems, when variables are overwritten, the-memory used for the previous variables and its value isn\'t reclaimed.--You should be mindful of the fact that environment variable handling-in UNIX is not thread-safe, and your program may crash if one thread-calls 'GI.GLib.Functions.unsetenv' while another thread is calling @/getenv()/@. (And note-that many functions, such as @/gettext()/@, call @/getenv()/@ internally.) This-function is only safe to use at the very start of your program, before-creating any other threads (or creating objects that create worker-threads of their own).--If you need to set up the environment for a child process, you can-use 'GI.GLib.Functions.getEnviron' to get an environment array, modify that with-'GI.GLib.Functions.environSetenv' and 'GI.GLib.Functions.environUnsetenv', and then pass that-array directly to @/execvpe()/@, 'GI.GLib.Functions.spawnAsync', or the like.--/Since: 2.4/--}-unsetenv ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@variable@/: the environment variable to remove, must-    not contain \'=\' -}-    -> m ()-unsetenv variable = liftIO $ do-    variable' <- stringToCString variable-    g_unsetenv variable'-    freeMem variable'-    return ()----- function g_unlink--- Args : [Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pathname in the GLib file name encoding\n    (UTF-8 on Windows)", 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_unlink" g_unlink :: -    CString ->                              -- filename : TBasicType TFileName-    IO Int32--{- |-A wrapper for the POSIX @/unlink()/@ function. The @/unlink()/@ function-deletes a name from the filesystem. If this was the last link to the-file and no processes have it opened, the diskspace occupied by the-file is freed.--See your C library manual for more details about @/unlink()/@. Note-that on Windows, it is in general not possible to delete files that-are open to some process, or mapped into memory.--/Since: 2.6/--}-unlink ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@filename@/: a pathname in the GLib file name encoding-    (UTF-8 on Windows) -}-    -> m Int32-    {- ^ __Returns:__ 0 if the name was successfully deleted, -1 if an error-   occurred -}-unlink filename = liftIO $ do-    filename' <- stringToCString filename-    result <- g_unlink filename'-    freeMem filename'-    return result----- function g_unix_signal_source_new--- Args : [Arg {argCName = "signum", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A signal number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Source"}))--- throws : False--- Skip return : False--foreign import ccall "g_unix_signal_source_new" g_unix_signal_source_new :: -    Int32 ->                                -- signum : TBasicType TInt-    IO (Ptr GLib.Source.Source)--{- |-Create a 'GI.GLib.Structs.Source.Source' that will be dispatched upon delivery of the UNIX-signal /@signum@/.  In GLib versions before 2.36, only @SIGHUP@, @SIGINT@,-@SIGTERM@ can be monitored.  In GLib 2.36, @SIGUSR1@ and @SIGUSR2@-were added. In GLib 2.54, @SIGWINCH@ was added.--Note that unlike the UNIX default, all sources which have created a-watch will be dispatched, regardless of which underlying thread-invoked 'GI.GLib.Functions.unixSignalSourceNew'.--For example, an effective use of this function is to handle @SIGTERM@-cleanly; flushing any outstanding files, and then calling-g_main_loop_quit ().  It is not safe to do any of this a regular-UNIX signal handler; your handler may be invoked while @/malloc()/@ or-another library function is running, causing reentrancy if you-attempt to use it from the handler.  None of the GLib\/GObject API-is safe against this kind of reentrancy.--The interaction of this source when combined with native UNIX-functions like @/sigprocmask()/@ is not defined.--The source will not initially be associated with any 'GI.GLib.Structs.MainContext.MainContext'-and must be added to one with 'GI.GLib.Structs.Source.sourceAttach' before it will be-executed.--/Since: 2.30/--}-unixSignalSourceNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@signum@/: A signal number -}-    -> m GLib.Source.Source-    {- ^ __Returns:__ A newly created 'GI.GLib.Structs.Source.Source' -}-unixSignalSourceNew signum = liftIO $ do-    result <- g_unix_signal_source_new signum-    checkUnexpectedReturnNULL "unixSignalSourceNew" result-    result' <- (wrapBoxed GLib.Source.Source) result-    return result'----- function g_unix_signal_add_full--- Args : [Arg {argCName = "priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the priority of the signal source. Typically this will be in\n           the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signum", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Signal number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handler", argType = TInterface (Name {namespace = "GLib", name = "SourceFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Callback", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Data for @handler", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GDestroyNotify for @handler", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_unix_signal_add_full" g_unix_signal_add_full :: -    Int32 ->                                -- priority : TBasicType TInt-    Int32 ->                                -- signum : TBasicType TInt-    FunPtr GLib.Callbacks.C_SourceFunc ->   -- handler : TInterface (Name {namespace = "GLib", name = "SourceFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO Word32--{- |-A convenience function for 'GI.GLib.Functions.unixSignalSourceNew', which-attaches to the default 'GI.GLib.Structs.MainContext.MainContext'.  You can remove the watch-using 'GI.GLib.Functions.sourceRemove'.--/Since: 2.30/--}-unixSignalAdd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@priority@/: the priority of the signal source. Typically this will be in-           the range between 'GI.GLib.Constants.PRIORITY_DEFAULT' and 'GI.GLib.Constants.PRIORITY_HIGH'. -}-    -> Int32-    {- ^ /@signum@/: Signal number -}-    -> GLib.Callbacks.SourceFunc-    {- ^ /@handler@/: Callback -}-    -> m Word32-    {- ^ __Returns:__ An ID (greater than 0) for the event source -}-unixSignalAdd priority signum handler = liftIO $ do-    handler' <- GLib.Callbacks.mk_SourceFunc (GLib.Callbacks.wrap_SourceFunc Nothing (GLib.Callbacks.drop_closures_SourceFunc handler))-    let userData = castFunPtrToPtr handler'-    let notify = safeFreeFunPtrPtr-    result <- g_unix_signal_add_full priority signum handler' userData notify-    return result----- function g_unix_set_fd_nonblocking--- Args : [Arg {argCName = "fd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A file descriptor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nonblock", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "If %TRUE, set the descriptor to be non-blocking", 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_unix_set_fd_nonblocking" g_unix_set_fd_nonblocking :: -    Int32 ->                                -- fd : TBasicType TInt-    CInt ->                                 -- nonblock : TBasicType TBoolean-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Control the non-blocking state of the given file descriptor,-according to /@nonblock@/. On most systems this uses @/O_NONBLOCK/@, but-on some older ones may use @/O_NDELAY/@.--/Since: 2.30/--}-unixSetFdNonblocking ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@fd@/: A file descriptor -}-    -> Bool-    {- ^ /@nonblock@/: If 'True', set the descriptor to be non-blocking -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-unixSetFdNonblocking fd nonblock = liftIO $ do-    let nonblock' = (fromIntegral . fromEnum) nonblock-    onException (do-        _ <- propagateGError $ g_unix_set_fd_nonblocking fd nonblock'-        return ()-     ) (do-        return ()-     )----- function g_unix_open_pipe--- Args : [Arg {argCName = "fds", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Array of two integers", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Bitfield of file descriptor flags, as for fcntl()", 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_unix_open_pipe" g_unix_open_pipe :: -    Int32 ->                                -- fds : TBasicType TInt-    Int32 ->                                -- flags : TBasicType TInt-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Similar to the UNIX @/pipe()/@ call, but on modern systems like Linux-uses the @/pipe2()/@ system call, which atomically creates a pipe with-the configured flags. The only supported flag currently is-@/FD_CLOEXEC/@. If for example you want to configure @/O_NONBLOCK/@, that-must still be done separately with @/fcntl()/@.--This function does not take @/O_CLOEXEC/@, it takes @/FD_CLOEXEC/@ as if-for @/fcntl()/@; these are different on Linux\/glibc.--/Since: 2.30/--}-unixOpenPipe ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@fds@/: Array of two integers -}-    -> Int32-    {- ^ /@flags@/: Bitfield of file descriptor flags, as for @/fcntl()/@ -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-unixOpenPipe fds flags = liftIO $ do-    onException (do-        _ <- propagateGError $ g_unix_open_pipe fds flags-        return ()-     ) (do-        return ()-     )----- function g_unix_fd_source_new--- Args : [Arg {argCName = "fd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "condition", argType = TInterface (Name {namespace = "GLib", name = "IOCondition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "IO conditions to watch for on @fd", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Source"}))--- throws : False--- Skip return : False--foreign import ccall "g_unix_fd_source_new" g_unix_fd_source_new :: -    Int32 ->                                -- fd : TBasicType TInt-    CUInt ->                                -- condition : TInterface (Name {namespace = "GLib", name = "IOCondition"})-    IO (Ptr GLib.Source.Source)--{- |-Creates a 'GI.GLib.Structs.Source.Source' to watch for a particular IO condition on a file-descriptor.--The source will never close the fd -- you must do it yourself.--/Since: 2.36/--}-unixFdSourceNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@fd@/: a file descriptor -}-    -> [GLib.Flags.IOCondition]-    {- ^ /@condition@/: IO conditions to watch for on /@fd@/ -}-    -> m GLib.Source.Source-    {- ^ __Returns:__ the newly created 'GI.GLib.Structs.Source.Source' -}-unixFdSourceNew fd condition = liftIO $ do-    let condition' = gflagsToWord condition-    result <- g_unix_fd_source_new fd condition'-    checkUnexpectedReturnNULL "unixFdSourceNew" result-    result' <- (wrapBoxed GLib.Source.Source) result-    return result'----- function g_unix_fd_add_full--- Args : [Arg {argCName = "priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the priority of the source", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "condition", argType = TInterface (Name {namespace = "GLib", name = "IOCondition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "IO conditions to watch for on @fd", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "function", argType = TInterface (Name {namespace = "GLib", name = "UnixFDSourceFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GUnixFDSourceFunc", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 4, argDestroy = 5, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to pass to @function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to call when the idle is removed, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_unix_fd_add_full" g_unix_fd_add_full :: -    Int32 ->                                -- priority : TBasicType TInt-    Int32 ->                                -- fd : TBasicType TInt-    CUInt ->                                -- condition : TInterface (Name {namespace = "GLib", name = "IOCondition"})-    FunPtr GLib.Callbacks.C_UnixFDSourceFunc -> -- function : TInterface (Name {namespace = "GLib", name = "UnixFDSourceFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO Word32--{- |-Sets a function to be called when the IO condition, as specified by-/@condition@/ becomes true for /@fd@/.--This is the same as @/g_unix_fd_add()/@, except that it allows you to-specify a non-default priority and a provide a 'GI.GLib.Callbacks.DestroyNotify' for-/@userData@/.--/Since: 2.36/--}-unixFdAddFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@priority@/: the priority of the source -}-    -> Int32-    {- ^ /@fd@/: a file descriptor -}-    -> [GLib.Flags.IOCondition]-    {- ^ /@condition@/: IO conditions to watch for on /@fd@/ -}-    -> GLib.Callbacks.UnixFDSourceFunc-    {- ^ /@function@/: a 'GI.GLib.Callbacks.UnixFDSourceFunc' -}-    -> m Word32-    {- ^ __Returns:__ the ID (greater than 0) of the event source -}-unixFdAddFull priority fd condition function = liftIO $ do-    let condition' = gflagsToWord condition-    function' <- GLib.Callbacks.mk_UnixFDSourceFunc (GLib.Callbacks.wrap_UnixFDSourceFunc Nothing (GLib.Callbacks.drop_closures_UnixFDSourceFunc function))-    let userData = castFunPtrToPtr function'-    let notify = safeFreeFunPtrPtr-    result <- g_unix_fd_add_full priority fd condition' function' userData notify-    return result----- function g_unix_error_quark--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "g_unix_error_quark" g_unix_error_quark :: -    IO Word32--{- |-/No description available in the introspection data./--}-unixErrorQuark ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Word32-unixErrorQuark  = liftIO $ do-    result <- g_unix_error_quark-    return result----- function g_unicode_script_to_iso15924--- Args : [Arg {argCName = "script", argType = TInterface (Name {namespace = "GLib", name = "UnicodeScript"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode script", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "g_unicode_script_to_iso15924" g_unicode_script_to_iso15924 :: -    CInt ->                                 -- script : TInterface (Name {namespace = "GLib", name = "UnicodeScript"})-    IO Word32--{- |-Looks up the ISO 15924 code for /@script@/.  ISO 15924 assigns four-letter-codes to scripts.  For example, the code for Arabic is \'Arab\'.  The-four letter codes are encoded as a /@guint32@/ by this function in a-big-endian fashion.  That is, the code returned for Arabic is-0x41726162 (0x41 is ASCII code for \'A\', 0x72 is ASCII code for \'r\', etc).--See-<http://unicode.org/iso15924/codelists.html Codes for the representation of names of scripts>-for details.--/Since: 2.30/--}-unicodeScriptToIso15924 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Enums.UnicodeScript-    {- ^ /@script@/: a Unicode script -}-    -> m Word32-    {- ^ __Returns:__ the ISO 15924 code for /@script@/, encoded as an integer,-  of zero if /@script@/ is 'GI.GLib.Enums.UnicodeScriptInvalidCode' or-  ISO 15924 code \'Zzzz\' (script code for UNKNOWN) if /@script@/ is not understood. -}-unicodeScriptToIso15924 script = liftIO $ do-    let script' = (fromIntegral . fromEnum) script-    result <- g_unicode_script_to_iso15924 script'-    return result----- function g_unicode_script_from_iso15924--- Args : [Arg {argCName = "iso15924", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode script", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "UnicodeScript"}))--- throws : False--- Skip return : False--foreign import ccall "g_unicode_script_from_iso15924" g_unicode_script_from_iso15924 :: -    Word32 ->                               -- iso15924 : TBasicType TUInt32-    IO CInt--{- |-Looks up the Unicode script for /@iso15924@/.  ISO 15924 assigns four-letter-codes to scripts.  For example, the code for Arabic is \'Arab\'.-This function accepts four letter codes encoded as a /@guint32@/ in a-big-endian fashion.  That is, the code expected for Arabic is-0x41726162 (0x41 is ASCII code for \'A\', 0x72 is ASCII code for \'r\', etc).--See-<http://unicode.org/iso15924/codelists.html Codes for the representation of names of scripts>-for details.--/Since: 2.30/--}-unicodeScriptFromIso15924 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@iso15924@/: a Unicode script -}-    -> m GLib.Enums.UnicodeScript-    {- ^ __Returns:__ the Unicode script for /@iso15924@/, or-  of 'GI.GLib.Enums.UnicodeScriptInvalidCode' if /@iso15924@/ is zero and-  'GI.GLib.Enums.UnicodeScriptUnknown' if /@iso15924@/ is unknown. -}-unicodeScriptFromIso15924 iso15924 = liftIO $ do-    result <- g_unicode_script_from_iso15924 iso15924-    let result' = (toEnum . fromIntegral) result-    return result'----- function g_unicode_canonical_ordering--- Args : [Arg {argCName = "string", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a UCS-4 encoded string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum length of @string to use.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_unicode_canonical_ordering" g_unicode_canonical_ordering :: -    CInt ->                                 -- string : TBasicType TUniChar-    Word64 ->                               -- len : TBasicType TUInt64-    IO ()--{- |-Computes the canonical ordering of a string in-place.-This rearranges decomposed characters in the string-according to their combining classes.  See the Unicode-manual for more information.--}-unicodeCanonicalOrdering ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@string@/: a UCS-4 encoded string. -}-    -> Word64-    {- ^ /@len@/: the maximum length of /@string@/ to use. -}-    -> m ()-unicodeCanonicalOrdering string len = liftIO $ do-    let string' = (fromIntegral . ord) string-    g_unicode_canonical_ordering string' len-    return ()----- function g_unicode_canonical_decomposition--- Args : [Arg {argCName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result_len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the length of the return value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUniChar)--- throws : False--- Skip return : False--foreign import ccall "g_unicode_canonical_decomposition" g_unicode_canonical_decomposition :: -    CInt ->                                 -- ch : TBasicType TUniChar-    Word64 ->                               -- result_len : TBasicType TUInt64-    IO CInt--{-# DEPRECATED unicodeCanonicalDecomposition ["(Since version 2.30)","Use the more flexible @/g_unichar_fully_decompose()/@","  instead."] #-}-{- |-Computes the canonical decomposition of a Unicode character.--}-unicodeCanonicalDecomposition ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@ch@/: a Unicode character. -}-    -> Word64-    {- ^ /@resultLen@/: location to store the length of the return value. -}-    -> m Char-    {- ^ __Returns:__ a newly allocated string of Unicode characters.-  /@resultLen@/ is set to the resulting length of the string. -}-unicodeCanonicalDecomposition ch resultLen = liftIO $ do-    let ch' = (fromIntegral . ord) ch-    result <- g_unicode_canonical_decomposition ch' resultLen-    let result' = (chr . fromIntegral) result-    return result'----- function g_unichar_xdigit_value--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", 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_unichar_xdigit_value" g_unichar_xdigit_value :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO Int32--{- |-Determines the numeric value of a character as a hexidecimal-digit.--}-unicharXdigitValue ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character -}-    -> m Int32-    {- ^ __Returns:__ If /@c@/ is a hex digit (according to-'GI.GLib.Functions.unicharIsxdigit'), its numeric value. Otherwise, -1. -}-unicharXdigitValue c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_xdigit_value c'-    return result----- function g_unichar_validate--- Args : [Arg {argCName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", 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_unichar_validate" g_unichar_validate :: -    CInt ->                                 -- ch : TBasicType TUniChar-    IO CInt--{- |-Checks whether /@ch@/ is a valid Unicode character. Some possible-integer values of /@ch@/ will not be valid. 0 is considered a valid-character, though it\'s normally a string terminator.--}-unicharValidate ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@ch@/: a Unicode character -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@ch@/ is a valid Unicode character -}-unicharValidate ch = liftIO $ do-    let ch' = (fromIntegral . ord) ch-    result <- g_unichar_validate ch'-    let result' = (/= 0) result-    return result'----- function g_unichar_type--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "UnicodeType"}))--- throws : False--- Skip return : False--foreign import ccall "g_unichar_type" g_unichar_type :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO CUInt--{- |-Classifies a Unicode character by type.--}-unicharType ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character -}-    -> m GLib.Enums.UnicodeType-    {- ^ __Returns:__ the type of the character. -}-unicharType c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_type c'-    let result' = (toEnum . fromIntegral) result-    return result'----- function g_unichar_toupper--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUniChar)--- throws : False--- Skip return : False--foreign import ccall "g_unichar_toupper" g_unichar_toupper :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO CInt--{- |-Converts a character to uppercase.--}-unicharToupper ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character -}-    -> m Char-    {- ^ __Returns:__ the result of converting /@c@/ to uppercase.-              If /@c@/ is not an lowercase or titlecase character,-              or has no upper case equivalent /@c@/ is returned unchanged. -}-unicharToupper c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_toupper c'-    let result' = (chr . fromIntegral) result-    return result'----- function g_unichar_totitle--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUniChar)--- throws : False--- Skip return : False--foreign import ccall "g_unichar_totitle" g_unichar_totitle :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO CInt--{- |-Converts a character to the titlecase.--}-unicharTotitle ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character -}-    -> m Char-    {- ^ __Returns:__ the result of converting /@c@/ to titlecase.-              If /@c@/ is not an uppercase or lowercase character,-              /@c@/ is returned unchanged. -}-unicharTotitle c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_totitle c'-    let result' = (chr . fromIntegral) result-    return result'----- function g_unichar_tolower--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUniChar)--- throws : False--- Skip return : False--foreign import ccall "g_unichar_tolower" g_unichar_tolower :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO CInt--{- |-Converts a character to lower case.--}-unicharTolower ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character. -}-    -> m Char-    {- ^ __Returns:__ the result of converting /@c@/ to lower case.-              If /@c@/ is not an upperlower or titlecase character,-              or has no lowercase equivalent /@c@/ is returned unchanged. -}-unicharTolower c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_tolower c'-    let result' = (chr . fromIntegral) result-    return result'----- function g_unichar_to_utf8--- XXX Could not generate function g_unichar_to_utf8--- Error was : Not implemented: "Don't know how to allocate \"outbuf\" of type TBasicType TUTF8"---- function g_unichar_iszerowidth--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", 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_unichar_iszerowidth" g_unichar_iszerowidth :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO CInt--{- |-Determines if a given character typically takes zero width when rendered.-The return value is 'True' for all non-spacing and enclosing marks-(e.g., combining accents), format characters, zero-width-space, but not U+00AD SOFT HYPHEN.--A typical use of this function is with one of 'GI.GLib.Functions.unicharIswide' or-'GI.GLib.Functions.unicharIswideCjk' to determine the number of cells a string occupies-when displayed on a grid display (terminals).  However, note that not all-terminals support zero-width rendering of zero-width marks.--/Since: 2.14/--}-unicharIszerowidth ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the character has zero width -}-unicharIszerowidth c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_iszerowidth c'-    let result' = (/= 0) result-    return result'----- function g_unichar_isxdigit--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character.", 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_unichar_isxdigit" g_unichar_isxdigit :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO CInt--{- |-Determines if a character is a hexidecimal digit.--}-unicharIsxdigit ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the character is a hexadecimal digit -}-unicharIsxdigit c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_isxdigit c'-    let result' = (/= 0) result-    return result'----- function g_unichar_iswide_cjk--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", 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_unichar_iswide_cjk" g_unichar_iswide_cjk :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO CInt--{- |-Determines if a character is typically rendered in a double-width-cell under legacy East Asian locales.  If a character is wide according to-'GI.GLib.Functions.unicharIswide', then it is also reported wide with this function, but-the converse is not necessarily true. See the-<http://www.unicode.org/reports/tr11/ Unicode Standard Annex #11>-for details.--If a character passes the 'GI.GLib.Functions.unicharIswide' test then it will also pass-this test, but not the other way around.  Note that some characters may-pass both this test and 'GI.GLib.Functions.unicharIszerowidth'.--/Since: 2.12/--}-unicharIswideCjk ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the character is wide in legacy East Asian locales -}-unicharIswideCjk c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_iswide_cjk c'-    let result' = (/= 0) result-    return result'----- function g_unichar_iswide--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", 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_unichar_iswide" g_unichar_iswide :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO CInt--{- |-Determines if a character is typically rendered in a double-width-cell.--}-unicharIswide ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the character is wide -}-unicharIswide c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_iswide c'-    let result' = (/= 0) result-    return result'----- function g_unichar_isupper--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", 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_unichar_isupper" g_unichar_isupper :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO CInt--{- |-Determines if a character is uppercase.--}-unicharIsupper ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@c@/ is an uppercase character -}-unicharIsupper c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_isupper c'-    let result' = (/= 0) result-    return result'----- function g_unichar_istitle--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", 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_unichar_istitle" g_unichar_istitle :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO CInt--{- |-Determines if a character is titlecase. Some characters in-Unicode which are composites, such as the DZ digraph-have three case variants instead of just two. The titlecase-form is used at the beginning of a word where only the-first letter is capitalized. The titlecase form of the DZ-digraph is U+01F2 LATIN CAPITAL LETTTER D WITH SMALL LETTER Z.--}-unicharIstitle ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the character is titlecase -}-unicharIstitle c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_istitle c'-    let result' = (/= 0) result-    return result'----- function g_unichar_isspace--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", 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_unichar_isspace" g_unichar_isspace :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO CInt--{- |-Determines whether a character is a space, tab, or line separator-(newline, carriage return, etc.).  Given some UTF-8 text, obtain a-character value with 'GI.GLib.Functions.utf8GetChar'.--(Note: don\'t use this to do word breaking; you have to use-Pango or equivalent to get word breaking right, the algorithm-is fairly complex.)--}-unicharIsspace ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@c@/ is a space character -}-unicharIsspace c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_isspace c'-    let result' = (/= 0) result-    return result'----- function g_unichar_ispunct--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", 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_unichar_ispunct" g_unichar_ispunct :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO CInt--{- |-Determines whether a character is punctuation or a symbol.-Given some UTF-8 text, obtain a character value with-'GI.GLib.Functions.utf8GetChar'.--}-unicharIspunct ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@c@/ is a punctuation or symbol character -}-unicharIspunct c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_ispunct c'-    let result' = (/= 0) result-    return result'----- function g_unichar_isprint--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", 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_unichar_isprint" g_unichar_isprint :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO CInt--{- |-Determines whether a character is printable.-Unlike 'GI.GLib.Functions.unicharIsgraph', returns 'True' for spaces.-Given some UTF-8 text, obtain a character value with-'GI.GLib.Functions.utf8GetChar'.--}-unicharIsprint ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@c@/ is printable -}-unicharIsprint c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_isprint c'-    let result' = (/= 0) result-    return result'----- function g_unichar_ismark--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", 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_unichar_ismark" g_unichar_ismark :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO CInt--{- |-Determines whether a character is a mark (non-spacing mark,-combining mark, or enclosing mark in Unicode speak).-Given some UTF-8 text, obtain a character value-with 'GI.GLib.Functions.utf8GetChar'.--Note: in most cases where isalpha characters are allowed,-ismark characters should be allowed to as they are essential-for writing most European languages as well as many non-Latin-scripts.--/Since: 2.14/--}-unicharIsmark ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@c@/ is a mark character -}-unicharIsmark c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_ismark c'-    let result' = (/= 0) result-    return result'----- function g_unichar_islower--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", 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_unichar_islower" g_unichar_islower :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO CInt--{- |-Determines whether a character is a lowercase letter.-Given some UTF-8 text, obtain a character value with-'GI.GLib.Functions.utf8GetChar'.--}-unicharIslower ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@c@/ is a lowercase letter -}-unicharIslower c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_islower c'-    let result' = (/= 0) result-    return result'----- function g_unichar_isgraph--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", 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_unichar_isgraph" g_unichar_isgraph :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO CInt--{- |-Determines whether a character is printable and not a space-(returns 'False' for control characters, format characters, and-spaces). 'GI.GLib.Functions.unicharIsprint' is similar, but returns 'True' for-spaces. Given some UTF-8 text, obtain a character value with-'GI.GLib.Functions.utf8GetChar'.--}-unicharIsgraph ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@c@/ is printable unless it\'s a space -}-unicharIsgraph c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_isgraph c'-    let result' = (/= 0) result-    return result'----- function g_unichar_isdigit--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", 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_unichar_isdigit" g_unichar_isdigit :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO CInt--{- |-Determines whether a character is numeric (i.e. a digit).  This-covers ASCII 0-9 and also digits in other languages\/scripts.  Given-some UTF-8 text, obtain a character value with 'GI.GLib.Functions.utf8GetChar'.--}-unicharIsdigit ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@c@/ is a digit -}-unicharIsdigit c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_isdigit c'-    let result' = (/= 0) result-    return result'----- function g_unichar_isdefined--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", 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_unichar_isdefined" g_unichar_isdefined :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO CInt--{- |-Determines if a given character is assigned in the Unicode-standard.--}-unicharIsdefined ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the character has an assigned value -}-unicharIsdefined c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_isdefined c'-    let result' = (/= 0) result-    return result'----- function g_unichar_iscntrl--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", 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_unichar_iscntrl" g_unichar_iscntrl :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO CInt--{- |-Determines whether a character is a control character.-Given some UTF-8 text, obtain a character value with-'GI.GLib.Functions.utf8GetChar'.--}-unicharIscntrl ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@c@/ is a control character -}-unicharIscntrl c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_iscntrl c'-    let result' = (/= 0) result-    return result'----- function g_unichar_isalpha--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", 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_unichar_isalpha" g_unichar_isalpha :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO CInt--{- |-Determines whether a character is alphabetic (i.e. a letter).-Given some UTF-8 text, obtain a character value with-'GI.GLib.Functions.utf8GetChar'.--}-unicharIsalpha ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@c@/ is an alphabetic character -}-unicharIsalpha c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_isalpha c'-    let result' = (/= 0) result-    return result'----- function g_unichar_isalnum--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", 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_unichar_isalnum" g_unichar_isalnum :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO CInt--{- |-Determines whether a character is alphanumeric.-Given some UTF-8 text, obtain a character value-with 'GI.GLib.Functions.utf8GetChar'.--}-unicharIsalnum ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@c@/ is an alphanumeric character -}-unicharIsalnum c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_isalnum c'-    let result' = (/= 0) result-    return result'----- function g_unichar_get_script--- Args : [Arg {argCName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "UnicodeScript"}))--- throws : False--- Skip return : False--foreign import ccall "g_unichar_get_script" g_unichar_get_script :: -    CInt ->                                 -- ch : TBasicType TUniChar-    IO CInt--{- |-Looks up the 'GI.GLib.Enums.UnicodeScript' for a particular character (as defined-by Unicode Standard Annex #24). No check is made for /@ch@/ being a-valid Unicode character; if you pass in invalid character, the-result is undefined.--This function is equivalent to @/pango_script_for_unichar()/@ and the-two are interchangeable.--/Since: 2.14/--}-unicharGetScript ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@ch@/: a Unicode character -}-    -> m GLib.Enums.UnicodeScript-    {- ^ __Returns:__ the 'GI.GLib.Enums.UnicodeScript' for the character. -}-unicharGetScript ch = liftIO $ do-    let ch' = (fromIntegral . ord) ch-    result <- g_unichar_get_script ch'-    let result' = (toEnum . fromIntegral) result-    return result'----- function g_unichar_get_mirror_char--- Args : [Arg {argCName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mirrored_ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the mirrored character", 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_unichar_get_mirror_char" g_unichar_get_mirror_char :: -    CInt ->                                 -- ch : TBasicType TUniChar-    CInt ->                                 -- mirrored_ch : TBasicType TUniChar-    IO CInt--{- |-In Unicode, some characters are \"mirrored\". This means that their-images are mirrored horizontally in text that is laid out from right-to left. For instance, \"(\" would become its mirror image, \")\", in-right-to-left text.--If /@ch@/ has the Unicode mirrored property and there is another unicode-character that typically has a glyph that is the mirror image of /@ch@/\'s-glyph and /@mirroredCh@/ is set, it puts that character in the address-pointed to by /@mirroredCh@/.  Otherwise the original character is put.--/Since: 2.4/--}-unicharGetMirrorChar ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@ch@/: a Unicode character -}-    -> Char-    {- ^ /@mirroredCh@/: location to store the mirrored character -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@ch@/ has a mirrored character, 'False' otherwise -}-unicharGetMirrorChar ch mirroredCh = liftIO $ do-    let ch' = (fromIntegral . ord) ch-    let mirroredCh' = (fromIntegral . ord) mirroredCh-    result <- g_unichar_get_mirror_char ch' mirroredCh'-    let result' = (/= 0) result-    return result'----- function g_unichar_digit_value--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", 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_unichar_digit_value" g_unichar_digit_value :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO Int32--{- |-Determines the numeric value of a character as a decimal-digit.--}-unicharDigitValue ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character -}-    -> m Int32-    {- ^ __Returns:__ If /@c@/ is a decimal digit (according to-'GI.GLib.Functions.unicharIsdigit'), its numeric value. Otherwise, -1. -}-unicharDigitValue c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_digit_value c'-    return result----- function g_unichar_decompose--- Args : [Arg {argCName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "a", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the first component of @ch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the second component of @ch", 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_unichar_decompose" g_unichar_decompose :: -    CInt ->                                 -- ch : TBasicType TUniChar-    CInt ->                                 -- a : TBasicType TUniChar-    CInt ->                                 -- b : TBasicType TUniChar-    IO CInt--{- |-Performs a single decomposition step of the-Unicode canonical decomposition algorithm.--This function does not include compatibility-decompositions. It does, however, include algorithmic-Hangul Jamo decomposition, as well as \'singleton\'-decompositions which replace a character by a single-other character. In the case of singletons */@b@/ will-be set to zero.--If /@ch@/ is not decomposable, */@a@/ is set to /@ch@/ and */@b@/-is set to zero.--Note that the way Unicode decomposition pairs are-defined, it is guaranteed that /@b@/ would not decompose-further, but /@a@/ may itself decompose.  To get the full-canonical decomposition for /@ch@/, one would need to-recursively call this function on /@a@/.  Or use-@/g_unichar_fully_decompose()/@.--See-<http://unicode.org/reports/tr15/ UAX#15>-for details.--/Since: 2.30/--}-unicharDecompose ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@ch@/: a Unicode character -}-    -> Char-    {- ^ /@a@/: return location for the first component of /@ch@/ -}-    -> Char-    {- ^ /@b@/: return location for the second component of /@ch@/ -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the character could be decomposed -}-unicharDecompose ch a b = liftIO $ do-    let ch' = (fromIntegral . ord) ch-    let a' = (fromIntegral . ord) a-    let b' = (fromIntegral . ord) b-    result <- g_unichar_decompose ch' a' b'-    let result' = (/= 0) result-    return result'----- function g_unichar_compose--- Args : [Arg {argCName = "a", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ch", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the composed character", 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_unichar_compose" g_unichar_compose :: -    CInt ->                                 -- a : TBasicType TUniChar-    CInt ->                                 -- b : TBasicType TUniChar-    CInt ->                                 -- ch : TBasicType TUniChar-    IO CInt--{- |-Performs a single composition step of the-Unicode canonical composition algorithm.--This function includes algorithmic Hangul Jamo composition,-but it is not exactly the inverse of 'GI.GLib.Functions.unicharDecompose'.-No composition can have either of /@a@/ or /@b@/ equal to zero.-To be precise, this function composes if and only if-there exists a Primary Composite P which is canonically-equivalent to the sequence \</@a@/,/@b@/>.  See the Unicode-Standard for the definition of Primary Composite.--If /@a@/ and /@b@/ do not compose a new character, /@ch@/ is set to zero.--See-<http://unicode.org/reports/tr15/ UAX#15>-for details.--/Since: 2.30/--}-unicharCompose ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@a@/: a Unicode character -}-    -> Char-    {- ^ /@b@/: a Unicode character -}-    -> Char-    {- ^ /@ch@/: return location for the composed character -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the characters could be composed -}-unicharCompose a b ch = liftIO $ do-    let a' = (fromIntegral . ord) a-    let b' = (fromIntegral . ord) b-    let ch' = (fromIntegral . ord) ch-    result <- g_unichar_compose a' b' ch'-    let result' = (/= 0) result-    return result'----- function g_unichar_combining_class--- Args : [Arg {argCName = "uc", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", 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_unichar_combining_class" g_unichar_combining_class :: -    CInt ->                                 -- uc : TBasicType TUniChar-    IO Int32--{- |-Determines the canonical combining class of a Unicode character.--/Since: 2.14/--}-unicharCombiningClass ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@uc@/: a Unicode character -}-    -> m Int32-    {- ^ __Returns:__ the combining class of the character -}-unicharCombiningClass uc = liftIO $ do-    let uc' = (fromIntegral . ord) uc-    result <- g_unichar_combining_class uc'-    return result----- function g_unichar_break_type--- Args : [Arg {argCName = "c", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "UnicodeBreakType"}))--- throws : False--- Skip return : False--foreign import ccall "g_unichar_break_type" g_unichar_break_type :: -    CInt ->                                 -- c : TBasicType TUniChar-    IO CUInt--{- |-Determines the break type of /@c@/. /@c@/ should be a Unicode character-(to derive a character from UTF-8 encoded text, use-'GI.GLib.Functions.utf8GetChar'). The break type is used to find word and line-breaks (\"text boundaries\"), Pango implements the Unicode boundary-resolution algorithms and normally you would use a function such-as @/pango_break()/@ instead of caring about break types yourself.--}-unicharBreakType ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Char-    {- ^ /@c@/: a Unicode character -}-    -> m GLib.Enums.UnicodeBreakType-    {- ^ __Returns:__ the break type of /@c@/ -}-unicharBreakType c = liftIO $ do-    let c' = (fromIntegral . ord) c-    result <- g_unichar_break_type c'-    let result' = (toEnum . fromIntegral) result-    return result'----- function g_try_realloc_n--- Args : [Arg {argCName = "mem", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "previously-allocated memory, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_blocks", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of blocks to allocate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_block_bytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of each block in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_try_realloc_n" g_try_realloc_n :: -    Ptr () ->                               -- mem : TBasicType TPtr-    Word64 ->                               -- n_blocks : TBasicType TUInt64-    Word64 ->                               -- n_block_bytes : TBasicType TUInt64-    IO (Ptr ())--{- |-This function is similar to 'GI.GLib.Functions.tryRealloc', allocating (/@nBlocks@/ * /@nBlockBytes@/) bytes,-but care is taken to detect possible overflow during multiplication.--/Since: 2.24/--}-tryReallocN ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@mem@/: previously-allocated memory, or 'Nothing'. -}-    -> Word64-    {- ^ /@nBlocks@/: the number of blocks to allocate -}-    -> Word64-    {- ^ /@nBlockBytes@/: the size of each block in bytes -}-    -> m (Ptr ())-    {- ^ __Returns:__ the allocated memory, or 'Nothing'. -}-tryReallocN mem nBlocks nBlockBytes = liftIO $ do-    result <- g_try_realloc_n mem nBlocks nBlockBytes-    return result----- function g_try_realloc--- Args : [Arg {argCName = "mem", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "previously-allocated memory, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_bytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of bytes to allocate.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_try_realloc" g_try_realloc :: -    Ptr () ->                               -- mem : TBasicType TPtr-    Word64 ->                               -- n_bytes : TBasicType TUInt64-    IO (Ptr ())--{- |-Attempts to realloc /@mem@/ to a new size, /@nBytes@/, and returns 'Nothing'-on failure. Contrast with 'GI.GLib.Functions.realloc', which aborts the program-on failure.--If /@mem@/ is 'Nothing', behaves the same as 'GI.GLib.Functions.tryMalloc'.--}-tryRealloc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@mem@/: previously-allocated memory, or 'Nothing'. -}-    -> Word64-    {- ^ /@nBytes@/: number of bytes to allocate. -}-    -> m (Ptr ())-    {- ^ __Returns:__ the allocated memory, or 'Nothing'. -}-tryRealloc mem nBytes = liftIO $ do-    result <- g_try_realloc mem nBytes-    return result----- function g_try_malloc_n--- Args : [Arg {argCName = "n_blocks", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of blocks to allocate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_block_bytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of each block in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_try_malloc_n" g_try_malloc_n :: -    Word64 ->                               -- n_blocks : TBasicType TUInt64-    Word64 ->                               -- n_block_bytes : TBasicType TUInt64-    IO (Ptr ())--{- |-This function is similar to 'GI.GLib.Functions.tryMalloc', allocating (/@nBlocks@/ * /@nBlockBytes@/) bytes,-but care is taken to detect possible overflow during multiplication.--/Since: 2.24/--}-tryMallocN ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@nBlocks@/: the number of blocks to allocate -}-    -> Word64-    {- ^ /@nBlockBytes@/: the size of each block in bytes -}-    -> m (Ptr ())-    {- ^ __Returns:__ the allocated memory, or 'Nothing'. -}-tryMallocN nBlocks nBlockBytes = liftIO $ do-    result <- g_try_malloc_n nBlocks nBlockBytes-    return result----- function g_try_malloc0_n--- Args : [Arg {argCName = "n_blocks", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of blocks to allocate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_block_bytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of each block in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_try_malloc0_n" g_try_malloc0_n :: -    Word64 ->                               -- n_blocks : TBasicType TUInt64-    Word64 ->                               -- n_block_bytes : TBasicType TUInt64-    IO (Ptr ())--{- |-This function is similar to 'GI.GLib.Functions.tryMalloc0', allocating (/@nBlocks@/ * /@nBlockBytes@/) bytes,-but care is taken to detect possible overflow during multiplication.--/Since: 2.24/--}-tryMalloc0N ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@nBlocks@/: the number of blocks to allocate -}-    -> Word64-    {- ^ /@nBlockBytes@/: the size of each block in bytes -}-    -> m (Ptr ())-    {- ^ __Returns:__ the allocated memory, or 'Nothing' -}-tryMalloc0N nBlocks nBlockBytes = liftIO $ do-    result <- g_try_malloc0_n nBlocks nBlockBytes-    return result----- function g_try_malloc0--- Args : [Arg {argCName = "n_bytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of bytes to allocate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_try_malloc0" g_try_malloc0 :: -    Word64 ->                               -- n_bytes : TBasicType TUInt64-    IO (Ptr ())--{- |-Attempts to allocate /@nBytes@/, initialized to 0\'s, and returns 'Nothing' on-failure. Contrast with 'GI.GLib.Functions.malloc0', which aborts the program on failure.--/Since: 2.8/--}-tryMalloc0 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@nBytes@/: number of bytes to allocate -}-    -> m (Ptr ())-    {- ^ __Returns:__ the allocated memory, or 'Nothing' -}-tryMalloc0 nBytes = liftIO $ do-    result <- g_try_malloc0 nBytes-    return result----- function g_try_malloc--- Args : [Arg {argCName = "n_bytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of bytes to allocate.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_try_malloc" g_try_malloc :: -    Word64 ->                               -- n_bytes : TBasicType TUInt64-    IO (Ptr ())--{- |-Attempts to allocate /@nBytes@/, and returns 'Nothing' on failure.-Contrast with 'GI.GLib.Functions.malloc', which aborts the program on failure.--}-tryMalloc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@nBytes@/: number of bytes to allocate. -}-    -> m (Ptr ())-    {- ^ __Returns:__ the allocated memory, or 'Nothing'. -}-tryMalloc nBytes = liftIO $ do-    result <- g_try_malloc nBytes-    return result----- function g_timeout_source_new_seconds--- Args : [Arg {argCName = "interval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the timeout interval in seconds", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Source"}))--- throws : False--- Skip return : False--foreign import ccall "g_timeout_source_new_seconds" g_timeout_source_new_seconds :: -    Word32 ->                               -- interval : TBasicType TUInt-    IO (Ptr GLib.Source.Source)--{- |-Creates a new timeout source.--The source will not initially be associated with any 'GI.GLib.Structs.MainContext.MainContext'-and must be added to one with 'GI.GLib.Structs.Source.sourceAttach' before it will be-executed.--The scheduling granularity\/accuracy of this timeout source will be-in seconds.--The interval given is in terms of monotonic time, not wall clock time.-See 'GI.GLib.Functions.getMonotonicTime'.--/Since: 2.14/--}-timeoutSourceNewSeconds ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@interval@/: the timeout interval in seconds -}-    -> m GLib.Source.Source-    {- ^ __Returns:__ the newly-created timeout source -}-timeoutSourceNewSeconds interval = liftIO $ do-    result <- g_timeout_source_new_seconds interval-    checkUnexpectedReturnNULL "timeoutSourceNewSeconds" result-    result' <- (wrapBoxed GLib.Source.Source) result-    return result'----- function g_timeout_source_new--- Args : [Arg {argCName = "interval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the timeout interval in milliseconds.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Source"}))--- throws : False--- Skip return : False--foreign import ccall "g_timeout_source_new" g_timeout_source_new :: -    Word32 ->                               -- interval : TBasicType TUInt-    IO (Ptr GLib.Source.Source)--{- |-Creates a new timeout source.--The source will not initially be associated with any 'GI.GLib.Structs.MainContext.MainContext'-and must be added to one with 'GI.GLib.Structs.Source.sourceAttach' before it will be-executed.--The interval given is in terms of monotonic time, not wall clock-time.  See 'GI.GLib.Functions.getMonotonicTime'.--}-timeoutSourceNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@interval@/: the timeout interval in milliseconds. -}-    -> m GLib.Source.Source-    {- ^ __Returns:__ the newly-created timeout source -}-timeoutSourceNew interval = liftIO $ do-    result <- g_timeout_source_new interval-    checkUnexpectedReturnNULL "timeoutSourceNew" result-    result' <- (wrapBoxed GLib.Source.Source) result-    return result'----- function g_timeout_add_seconds_full--- Args : [Arg {argCName = "priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the priority of the timeout source. Typically this will be in\n           the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the time between calls to the function, in seconds", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "function", argType = TInterface (Name {namespace = "GLib", name = "SourceFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to call", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to pass to @function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "function to call when the timeout is removed, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_timeout_add_seconds_full" g_timeout_add_seconds_full :: -    Int32 ->                                -- priority : TBasicType TInt-    Word32 ->                               -- interval : TBasicType TUInt-    FunPtr GLib.Callbacks.C_SourceFunc ->   -- function : TInterface (Name {namespace = "GLib", name = "SourceFunc"})-    Ptr () ->                               -- data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO Word32--{- |-Sets a function to be called at regular intervals, with /@priority@/.-The function is called repeatedly until it returns 'False', at which-point the timeout is automatically destroyed and the function will-not be called again.--Unlike @/g_timeout_add()/@, this function operates at whole second granularity.-The initial starting point of the timer is determined by the implementation-and the implementation is expected to group multiple timers together so that-they fire all at the same time.-To allow this grouping, the /@interval@/ to the first timer is rounded-and can deviate up to one second from the specified interval.-Subsequent timer iterations will generally run at the specified interval.--Note that timeout functions may be delayed, due to the processing of other-event sources. Thus they should not be relied on for precise timing.-After each call to the timeout function, the time of the next-timeout is recalculated based on the current time and the given /@interval@/--See [memory management of sources][mainloop-memory-management] for details-on how to handle the return value and memory management of /@data@/.--If you want timing more precise than whole seconds, use @/g_timeout_add()/@-instead.--The grouping of timers to fire at the same time results in a more power-and CPU efficient behavior so if your timer is in multiples of seconds-and you don\'t require the first timer exactly one second from now, the-use of @/g_timeout_add_seconds()/@ is preferred over @/g_timeout_add()/@.--This internally creates a main loop source using-'GI.GLib.Functions.timeoutSourceNewSeconds' and attaches it to the main loop context-using 'GI.GLib.Structs.Source.sourceAttach'. You can do these steps manually if you need-greater control.--The interval given is in terms of monotonic time, not wall clock-time.  See 'GI.GLib.Functions.getMonotonicTime'.--/Since: 2.14/--}-timeoutAddSeconds ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@priority@/: the priority of the timeout source. Typically this will be in-           the range between 'GI.GLib.Constants.PRIORITY_DEFAULT' and 'GI.GLib.Constants.PRIORITY_HIGH'. -}-    -> Word32-    {- ^ /@interval@/: the time between calls to the function, in seconds -}-    -> GLib.Callbacks.SourceFunc-    {- ^ /@function@/: function to call -}-    -> m Word32-    {- ^ __Returns:__ the ID (greater than 0) of the event source. -}-timeoutAddSeconds priority interval function = liftIO $ do-    function' <- GLib.Callbacks.mk_SourceFunc (GLib.Callbacks.wrap_SourceFunc Nothing (GLib.Callbacks.drop_closures_SourceFunc function))-    let data_ = castFunPtrToPtr function'-    let notify = safeFreeFunPtrPtr-    result <- g_timeout_add_seconds_full priority interval function' data_ notify-    return result----- function g_timeout_add_full--- Args : [Arg {argCName = "priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the priority of the timeout source. Typically this will be in\n           the range between #G_PRIORITY_DEFAULT and #G_PRIORITY_HIGH.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the time between calls to the function, in milliseconds\n            (1/1000ths of a second)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "function", argType = TInterface (Name {namespace = "GLib", name = "SourceFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to call", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to pass to @function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "function to call when the timeout is removed, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_timeout_add_full" g_timeout_add_full :: -    Int32 ->                                -- priority : TBasicType TInt-    Word32 ->                               -- interval : TBasicType TUInt-    FunPtr GLib.Callbacks.C_SourceFunc ->   -- function : TInterface (Name {namespace = "GLib", name = "SourceFunc"})-    Ptr () ->                               -- data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO Word32--{- |-Sets a function to be called at regular intervals, with the given-priority.  The function is called repeatedly until it returns-'False', at which point the timeout is automatically destroyed and-the function will not be called again.  The /@notify@/ function is-called when the timeout is destroyed.  The first call to the-function will be at the end of the first /@interval@/.--Note that timeout functions may be delayed, due to the processing of other-event sources. Thus they should not be relied on for precise timing.-After each call to the timeout function, the time of the next-timeout is recalculated based on the current time and the given interval-(it does not try to \'catch up\' time lost in delays).--See [memory management of sources][mainloop-memory-management] for details-on how to handle the return value and memory management of /@data@/.--This internally creates a main loop source using 'GI.GLib.Functions.timeoutSourceNew'-and attaches it to the global 'GI.GLib.Structs.MainContext.MainContext' using 'GI.GLib.Structs.Source.sourceAttach', so-the callback will be invoked in whichever thread is running that main-context. You can do these steps manually if you need greater control or to-use a custom main context.--The interval given is in terms of monotonic time, not wall clock time.-See 'GI.GLib.Functions.getMonotonicTime'.--}-timeoutAdd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@priority@/: the priority of the timeout source. Typically this will be in-           the range between 'GI.GLib.Constants.PRIORITY_DEFAULT' and 'GI.GLib.Constants.PRIORITY_HIGH'. -}-    -> Word32-    {- ^ /@interval@/: the time between calls to the function, in milliseconds-            (1\/1000ths of a second) -}-    -> GLib.Callbacks.SourceFunc-    {- ^ /@function@/: function to call -}-    -> m Word32-    {- ^ __Returns:__ the ID (greater than 0) of the event source. -}-timeoutAdd priority interval function = liftIO $ do-    function' <- GLib.Callbacks.mk_SourceFunc (GLib.Callbacks.wrap_SourceFunc Nothing (GLib.Callbacks.drop_closures_SourceFunc function))-    let data_ = castFunPtrToPtr function'-    let notify = safeFreeFunPtrPtr-    result <- g_timeout_add_full priority interval function' data_ notify-    return result----- function g_test_trap_subprocess--- Args : [Arg {argCName = "test_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Test to run in a subprocess", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "usec_timeout", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Timeout for the subprocess test in micro seconds.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "test_flags", argType = TInterface (Name {namespace = "GLib", name = "TestSubprocessFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Flags to modify subprocess behaviour.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_test_trap_subprocess" g_test_trap_subprocess :: -    CString ->                              -- test_path : TBasicType TUTF8-    Word64 ->                               -- usec_timeout : TBasicType TUInt64-    CUInt ->                                -- test_flags : TInterface (Name {namespace = "GLib", name = "TestSubprocessFlags"})-    IO ()--{- |-Respawns the test program to run only /@testPath@/ in a subprocess.-This can be used for a test case that might not return, or that-might abort.--If /@testPath@/ is 'Nothing' then the same test is re-run in a subprocess.-You can use 'GI.GLib.Functions.testSubprocess' to determine whether the test is in-a subprocess or not.--/@testPath@/ can also be the name of the parent test, followed by-\"@\/subprocess\/@\" and then a name for the specific subtest (or just-ending with \"@\/subprocess@\" if the test only has one child test);-tests with names of this form will automatically be skipped in the-parent process.--If /@usecTimeout@/ is non-0, the test subprocess is aborted and-considered failing if its run time exceeds it.--The subprocess behavior can be configured with the-'GI.GLib.Flags.TestSubprocessFlags' flags.--You can use methods such as @/g_test_trap_assert_passed()/@,-@/g_test_trap_assert_failed()/@, and @/g_test_trap_assert_stderr()/@ to-check the results of the subprocess. (But note that-@/g_test_trap_assert_stdout()/@ and @/g_test_trap_assert_stderr()/@-cannot be used if /@testFlags@/ specifies that the child should-inherit the parent stdout\/stderr.)--If your @main ()@ needs to behave differently in-the subprocess, you can call 'GI.GLib.Functions.testSubprocess' (after calling-@/g_test_init()/@) to see whether you are in a subprocess.--The following example tests that calling-@my_object_new(1000000)@ will abort with an error-message.---=== /C code/->->  static void->  test_create_large_object (void)->  {->    if (g_test_subprocess ())->      {->        my_object_new (1000000);->        return;->      }->->    // Reruns this same test in a subprocess->    g_test_trap_subprocess (NULL, 0, 0);->    g_test_trap_assert_failed ();->    g_test_trap_assert_stderr ("*ERROR*too large*");->  }->->  int->  main (int argc, char **argv)->  {->    g_test_init (&argc, &argv, NULL);->->    g_test_add_func ("/myobject/create_large_object",->                     test_create_large_object);->    return g_test_run ();->  }---/Since: 2.38/--}-testTrapSubprocess ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@testPath@/: Test to run in a subprocess -}-    -> Word64-    {- ^ /@usecTimeout@/: Timeout for the subprocess test in micro seconds. -}-    -> [GLib.Flags.TestSubprocessFlags]-    {- ^ /@testFlags@/: Flags to modify subprocess behaviour. -}-    -> m ()-testTrapSubprocess testPath usecTimeout testFlags = liftIO $ do-    maybeTestPath <- case testPath of-        Nothing -> return nullPtr-        Just jTestPath -> do-            jTestPath' <- textToCString jTestPath-            return jTestPath'-    let testFlags' = gflagsToWord testFlags-    g_test_trap_subprocess maybeTestPath usecTimeout testFlags'-    freeMem maybeTestPath-    return ()----- function g_test_trap_reached_timeout--- Args : []--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "g_test_trap_reached_timeout" g_test_trap_reached_timeout :: -    IO CInt--{- |-Check the result of the last 'GI.GLib.Functions.testTrapSubprocess' call.--/Since: 2.16/--}-testTrapReachedTimeout ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Bool-    {- ^ __Returns:__ 'True' if the last test subprocess got killed due to a timeout. -}-testTrapReachedTimeout  = liftIO $ do-    result <- g_test_trap_reached_timeout-    let result' = (/= 0) result-    return result'----- function g_test_trap_has_passed--- Args : []--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "g_test_trap_has_passed" g_test_trap_has_passed :: -    IO CInt--{- |-Check the result of the last 'GI.GLib.Functions.testTrapSubprocess' call.--/Since: 2.16/--}-testTrapHasPassed ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Bool-    {- ^ __Returns:__ 'True' if the last test subprocess terminated successfully. -}-testTrapHasPassed  = liftIO $ do-    result <- g_test_trap_has_passed-    let result' = (/= 0) result-    return result'----- function g_test_trap_fork--- Args : [Arg {argCName = "usec_timeout", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Timeout for the forked test in micro seconds.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "test_trap_flags", argType = TInterface (Name {namespace = "GLib", name = "TestTrapFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Flags to modify forking behaviour.", 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_test_trap_fork" g_test_trap_fork :: -    Word64 ->                               -- usec_timeout : TBasicType TUInt64-    CUInt ->                                -- test_trap_flags : TInterface (Name {namespace = "GLib", name = "TestTrapFlags"})-    IO CInt--{-# DEPRECATED testTrapFork ["This function is implemented only on Unix platforms,","and is not always reliable due to problems inherent in","fork-without-exec. Use 'GI.GLib.Functions.testTrapSubprocess' instead."] #-}-{- |-Fork the current test program to execute a test case that might-not return or that might abort.--If /@usecTimeout@/ is non-0, the forked test case is aborted and-considered failing if its run time exceeds it.--The forking behavior can be configured with the 'GI.GLib.Flags.TestTrapFlags' flags.--In the following example, the test code forks, the forked child-process produces some sample output and exits successfully.-The forking parent process then asserts successful child program-termination and validates child program outputs.---=== /C code/->->  static void->  test_fork_patterns (void)->  {->    if (g_test_trap_fork (0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR))->      {->        g_print ("some stdout text: somagic17\n");->        g_printerr ("some stderr text: semagic43\n");->        exit (0); // successful test run->      }->    g_test_trap_assert_passed ();->    g_test_trap_assert_stdout ("*somagic17*");->    g_test_trap_assert_stderr ("*semagic43*");->  }---/Since: 2.16/--}-testTrapFork ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@usecTimeout@/: Timeout for the forked test in micro seconds. -}-    -> [GLib.Flags.TestTrapFlags]-    {- ^ /@testTrapFlags@/: Flags to modify forking behaviour. -}-    -> m Bool-    {- ^ __Returns:__ 'True' for the forked child and 'False' for the executing parent process. -}-testTrapFork usecTimeout testTrapFlags = liftIO $ do-    let testTrapFlags' = gflagsToWord testTrapFlags-    result <- g_test_trap_fork usecTimeout testTrapFlags'-    let result' = (/= 0) result-    return result'----- function g_test_trap_assertions--- Args : [Arg {argCName = "domain", 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 = "file", 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 = "line", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", 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 = "assertion_flags", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pattern", 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_test_trap_assertions" g_test_trap_assertions :: -    CString ->                              -- domain : TBasicType TUTF8-    CString ->                              -- file : TBasicType TUTF8-    Int32 ->                                -- line : TBasicType TInt-    CString ->                              -- func : TBasicType TUTF8-    Word64 ->                               -- assertion_flags : TBasicType TUInt64-    CString ->                              -- pattern : TBasicType TUTF8-    IO ()--{- |-/No description available in the introspection data./--}-testTrapAssertions ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    -> T.Text-    -> Int32-    -> T.Text-    -> Word64-    -> T.Text-    -> m ()-testTrapAssertions domain file line func assertionFlags pattern = liftIO $ do-    domain' <- textToCString domain-    file' <- textToCString file-    func' <- textToCString func-    pattern' <- textToCString pattern-    g_test_trap_assertions domain' file' line func' assertionFlags pattern'-    freeMem domain'-    freeMem file'-    freeMem func'-    freeMem pattern'-    return ()----- function g_test_timer_start--- Args : []--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_test_timer_start" g_test_timer_start :: -    IO ()--{- |-Start a timing test. Call 'GI.GLib.Functions.testTimerElapsed' when the task is supposed-to be done. Call this function again to restart the timer.--/Since: 2.16/--}-testTimerStart ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m ()-testTimerStart  = liftIO $ do-    g_test_timer_start-    return ()----- function g_test_timer_last--- Args : []--- Lengths : []--- returnType : Just (TBasicType TDouble)--- throws : False--- Skip return : False--foreign import ccall "g_test_timer_last" g_test_timer_last :: -    IO CDouble--{- |-Report the last result of 'GI.GLib.Functions.testTimerElapsed'.--/Since: 2.16/--}-testTimerLast ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Double-    {- ^ __Returns:__ the last result of 'GI.GLib.Functions.testTimerElapsed', as a double -}-testTimerLast  = liftIO $ do-    result <- g_test_timer_last-    let result' = realToFrac result-    return result'----- function g_test_timer_elapsed--- Args : []--- Lengths : []--- returnType : Just (TBasicType TDouble)--- throws : False--- Skip return : False--foreign import ccall "g_test_timer_elapsed" g_test_timer_elapsed :: -    IO CDouble--{- |-Get the time since the last start of the timer with 'GI.GLib.Functions.testTimerStart'.--/Since: 2.16/--}-testTimerElapsed ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Double-    {- ^ __Returns:__ the time since the last start of the timer, as a double -}-testTimerElapsed  = liftIO $ do-    result <- g_test_timer_elapsed-    let result' = realToFrac result-    return result'----- function g_test_subprocess--- Args : []--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "g_test_subprocess" g_test_subprocess :: -    IO CInt--{- |-Returns 'True' (after @/g_test_init()/@ has been called) if the test-program is running under 'GI.GLib.Functions.testTrapSubprocess'.--/Since: 2.38/--}-testSubprocess ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Bool-    {- ^ __Returns:__ 'True' if the test program is running under-'GI.GLib.Functions.testTrapSubprocess'. -}-testSubprocess  = liftIO $ do-    result <- g_test_subprocess-    let result' = (/= 0) result-    return result'----- function g_test_skip--- Args : [Arg {argCName = "msg", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "explanation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_test_skip" g_test_skip :: -    CString ->                              -- msg : TBasicType TUTF8-    IO ()--{- |-Indicates that a test was skipped.--Calling this function will not stop the test from running, you-need to return from the test function yourself. So you can-produce additional diagnostic messages or even continue running-the test.--If not called from inside a test, this function does nothing.--/Since: 2.38/--}-testSkip ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@msg@/: explanation -}-    -> m ()-testSkip msg = liftIO $ do-    maybeMsg <- case msg of-        Nothing -> return nullPtr-        Just jMsg -> do-            jMsg' <- textToCString jMsg-            return jMsg'-    g_test_skip maybeMsg-    freeMem maybeMsg-    return ()----- function g_test_set_nonfatal_assertions--- Args : []--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_test_set_nonfatal_assertions" g_test_set_nonfatal_assertions :: -    IO ()--{- |-Changes the behaviour of @/g_assert_cmpstr()/@, @/g_assert_cmpint()/@,-@/g_assert_cmpuint()/@, @/g_assert_cmphex()/@, @/g_assert_cmpfloat()/@,-@/g_assert_true()/@, @/g_assert_false()/@, @/g_assert_null()/@, @/g_assert_no_error()/@,-@/g_assert_error()/@, @/g_test_assert_expected_messages()/@ and the various-g_test_trap_assert_*() macros to not abort to program, but instead-call 'GI.GLib.Functions.testFail' and continue. (This also changes the behavior of-'GI.GLib.Functions.testFail' so that it will not cause the test program to abort-after completing the failed test.)--Note that the @/g_assert_not_reached()/@ and @/g_assert()/@ are not-affected by this.--This function can only be called after @/g_test_init()/@.--/Since: 2.38/--}-testSetNonfatalAssertions ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m ()-testSetNonfatalAssertions  = liftIO $ do-    g_test_set_nonfatal_assertions-    return ()----- function g_test_run_suite--- Args : [Arg {argCName = "suite", argType = TInterface (Name {namespace = "GLib", name = "TestSuite"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTestSuite", 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_test_run_suite" g_test_run_suite :: -    Ptr GLib.TestSuite.TestSuite ->         -- suite : TInterface (Name {namespace = "GLib", name = "TestSuite"})-    IO Int32--{- |-Execute the tests within /@suite@/ and all nested @/GTestSuites/@.-The test suites to be executed are filtered according to-test path arguments (@-p testpath@ and @-s testpath@) as parsed by-@/g_test_init()/@. See the 'GI.GLib.Functions.testRun' documentation for more-information on the order that tests are run in.--'GI.GLib.Functions.testRunSuite' or 'GI.GLib.Functions.testRun' may only be called once-in a program.--/Since: 2.16/--}-testRunSuite ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.TestSuite.TestSuite-    {- ^ /@suite@/: a 'GI.GLib.Structs.TestSuite.TestSuite' -}-    -> m Int32-    {- ^ __Returns:__ 0 on success -}-testRunSuite suite = liftIO $ do-    suite' <- unsafeManagedPtrGetPtr suite-    result <- g_test_run_suite suite'-    touchManagedPtr suite-    return result----- function g_test_run--- Args : []--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "g_test_run" g_test_run :: -    IO Int32--{- |-Runs all tests under the toplevel suite which can be retrieved-with @/g_test_get_root()/@. Similar to 'GI.GLib.Functions.testRunSuite', the test-cases to be run are filtered according to test path arguments-(@-p testpath@ and @-s testpath@) as parsed by @/g_test_init()/@.-'GI.GLib.Functions.testRunSuite' or 'GI.GLib.Functions.testRun' may only be called once in a-program.--In general, the tests and sub-suites within each suite are run in-the order in which they are defined. However, note that prior to-GLib 2.36, there was a bug in the @g_test_add_*@-functions which caused them to create multiple suites with the same-name, meaning that if you created tests \"\/foo\/simple\",-\"\/bar\/simple\", and \"\/foo\/using-bar\" in that order, they would get-run in that order (since 'GI.GLib.Functions.testRun' would run the first \"\/foo\"-suite, then the \"\/bar\" suite, then the second \"\/foo\" suite). As of-2.36, this bug is fixed, and adding the tests in that order would-result in a running order of \"\/foo\/simple\", \"\/foo\/using-bar\",-\"\/bar\/simple\". If this new ordering is sub-optimal (because it puts-more-complicated tests before simpler ones, making it harder to-figure out exactly what has failed), you can fix it by changing the-test paths to group tests by suite in a way that will result in the-desired running order. Eg, \"\/simple\/foo\", \"\/simple\/bar\",-\"\/complex\/foo-using-bar\".--However, you should never make the actual result of a test depend-on the order that tests are run in. If you need to ensure that some-particular code runs before or after a given test case, use-@/g_test_add()/@, which lets you specify setup and teardown functions.--If all tests are skipped or marked as incomplete (expected failures),-this function will return 0 if producing TAP output, or 77 (treated-as \"skip test\" by Automake) otherwise.--/Since: 2.16/--}-testRun ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Int32-    {- ^ __Returns:__ 0 on success, 1 on failure (assuming it returns at all),-  0 or 77 if all tests were skipped with 'GI.GLib.Functions.testSkip' and\/or-  'GI.GLib.Functions.testIncomplete' -}-testRun  = liftIO $ do-    result <- g_test_run-    return result----- function g_test_rand_int_range--- Args : [Arg {argCName = "begin", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minimum value returned by this function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the smallest value not to be returned by this function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt32)--- throws : False--- Skip return : False--foreign import ccall "g_test_rand_int_range" g_test_rand_int_range :: -    Int32 ->                                -- begin : TBasicType TInt32-    Int32 ->                                -- end : TBasicType TInt32-    IO Int32--{- |-Get a reproducible random integer number out of a specified range,-see 'GI.GLib.Functions.testRandInt' for details on test case random numbers.--/Since: 2.16/--}-testRandIntRange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@begin@/: the minimum value returned by this function -}-    -> Int32-    {- ^ /@end@/: the smallest value not to be returned by this function -}-    -> m Int32-    {- ^ __Returns:__ a number with /@begin@/ \<= number \< /@end@/. -}-testRandIntRange begin end = liftIO $ do-    result <- g_test_rand_int_range begin end-    return result----- function g_test_rand_int--- Args : []--- Lengths : []--- returnType : Just (TBasicType TInt32)--- throws : False--- Skip return : False--foreign import ccall "g_test_rand_int" g_test_rand_int :: -    IO Int32--{- |-Get a reproducible random integer number.--The random numbers generated by the g_test_rand_*() family of functions-change with every new test program start, unless the --seed option is-given when starting test programs.--For individual test cases however, the random number generator is-reseeded, to avoid dependencies between tests and to make --seed-effective for all test cases.--/Since: 2.16/--}-testRandInt ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Int32-    {- ^ __Returns:__ a random number from the seeded random number generator. -}-testRandInt  = liftIO $ do-    result <- g_test_rand_int-    return result----- function g_test_rand_double_range--- Args : [Arg {argCName = "range_start", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minimum value returned by this function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "range_end", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minimum value not returned by this function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TDouble)--- throws : False--- Skip return : False--foreign import ccall "g_test_rand_double_range" g_test_rand_double_range :: -    CDouble ->                              -- range_start : TBasicType TDouble-    CDouble ->                              -- range_end : TBasicType TDouble-    IO CDouble--{- |-Get a reproducible random floating pointer number out of a specified range,-see 'GI.GLib.Functions.testRandInt' for details on test case random numbers.--/Since: 2.16/--}-testRandDoubleRange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Double-    {- ^ /@rangeStart@/: the minimum value returned by this function -}-    -> Double-    {- ^ /@rangeEnd@/: the minimum value not returned by this function -}-    -> m Double-    {- ^ __Returns:__ a number with /@rangeStart@/ \<= number \< /@rangeEnd@/. -}-testRandDoubleRange rangeStart rangeEnd = liftIO $ do-    let rangeStart' = realToFrac rangeStart-    let rangeEnd' = realToFrac rangeEnd-    result <- g_test_rand_double_range rangeStart' rangeEnd'-    let result' = realToFrac result-    return result'----- function g_test_rand_double--- Args : []--- Lengths : []--- returnType : Just (TBasicType TDouble)--- throws : False--- Skip return : False--foreign import ccall "g_test_rand_double" g_test_rand_double :: -    IO CDouble--{- |-Get a reproducible random floating point number,-see 'GI.GLib.Functions.testRandInt' for details on test case random numbers.--/Since: 2.16/--}-testRandDouble ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Double-    {- ^ __Returns:__ a random number from the seeded random number generator. -}-testRandDouble  = liftIO $ do-    result <- g_test_rand_double-    let result' = realToFrac result-    return result'----- function g_test_queue_free--- Args : [Arg {argCName = "gfree_pointer", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the pointer to be stored.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_test_queue_free" g_test_queue_free :: -    Ptr () ->                               -- gfree_pointer : TBasicType TPtr-    IO ()--{- |-Enqueue a pointer to be released with 'GI.GLib.Functions.free' during the next-teardown phase. This is equivalent to calling 'GI.GLib.Functions.testQueueDestroy'-with a destroy callback of 'GI.GLib.Functions.free'.--/Since: 2.16/--}-testQueueFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@gfreePointer@/: the pointer to be stored. -}-    -> m ()-testQueueFree gfreePointer = liftIO $ do-    g_test_queue_free gfreePointer-    return ()----- function g_test_queue_destroy--- Args : [Arg {argCName = "destroy_func", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Destroy callback for teardown phase.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Destroy callback data.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_test_queue_destroy" g_test_queue_destroy :: -    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy_func : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    Ptr () ->                               -- destroy_data : TBasicType TPtr-    IO ()--{- |-This function enqueus a callback /@destroyFunc@/ to be executed-during the next test case teardown phase. This is most useful-to auto destruct allocated test resources at the end of a test run.-Resources are released in reverse queue order, that means enqueueing-callback A before callback B will cause @/B()/@ to be called before-@/A()/@ during teardown.--/Since: 2.16/--}-testQueueDestroy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Callbacks.DestroyNotify-    {- ^ /@destroyFunc@/: Destroy callback for teardown phase. -}-    -> Ptr ()-    {- ^ /@destroyData@/: Destroy callback data. -}-    -> m ()-testQueueDestroy destroyFunc destroyData = liftIO $ do-    ptrdestroyFunc <- callocMem :: IO (Ptr (FunPtr GLib.Callbacks.C_DestroyNotify))-    destroyFunc' <- GLib.Callbacks.mk_DestroyNotify (GLib.Callbacks.wrap_DestroyNotify (Just ptrdestroyFunc) destroyFunc)-    poke ptrdestroyFunc destroyFunc'-    g_test_queue_destroy destroyFunc' destroyData-    return ()----- function g_test_log_type_name--- Args : [Arg {argCName = "log_type", argType = TInterface (Name {namespace = "GLib", name = "TestLogType"}), 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_test_log_type_name" g_test_log_type_name :: -    CUInt ->                                -- log_type : TInterface (Name {namespace = "GLib", name = "TestLogType"})-    IO CString--{- |-/No description available in the introspection data./--}-testLogTypeName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Enums.TestLogType-    -> m T.Text-testLogTypeName logType = liftIO $ do-    let logType' = (fromIntegral . fromEnum) logType-    result <- g_test_log_type_name logType'-    checkUnexpectedReturnNULL "testLogTypeName" result-    result' <- cstringToText result-    return result'----- function g_test_incomplete--- Args : [Arg {argCName = "msg", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "explanation", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_test_incomplete" g_test_incomplete :: -    CString ->                              -- msg : TBasicType TUTF8-    IO ()--{- |-Indicates that a test failed because of some incomplete-functionality. This function can be called multiple times-from the same test.--Calling this function will not stop the test from running, you-need to return from the test function yourself. So you can-produce additional diagnostic messages or even continue running-the test.--If not called from inside a test, this function does nothing.--/Since: 2.38/--}-testIncomplete ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@msg@/: explanation -}-    -> m ()-testIncomplete msg = liftIO $ do-    maybeMsg <- case msg of-        Nothing -> return nullPtr-        Just jMsg -> do-            jMsg' <- textToCString jMsg-            return jMsg'-    g_test_incomplete maybeMsg-    freeMem maybeMsg-    return ()----- function g_test_get_dir--- Args : [Arg {argCName = "file_type", argType = TInterface (Name {namespace = "GLib", name = "TestFileType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the type of file (built vs. distributed)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "g_test_get_dir" g_test_get_dir :: -    CUInt ->                                -- file_type : TInterface (Name {namespace = "GLib", name = "TestFileType"})-    IO CString--{- |-Gets the pathname of the directory containing test files of the type-specified by /@fileType@/.--This is approximately the same as calling g_test_build_filename(\".\"),-but you don\'t need to free the return value.--/Since: 2.38/--}-testGetDir ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Enums.TestFileType-    {- ^ /@fileType@/: the type of file (built vs. distributed) -}-    -> m [Char]-    {- ^ __Returns:__ the path of the directory, owned by GLib -}-testGetDir fileType = liftIO $ do-    let fileType' = (fromIntegral . fromEnum) fileType-    result <- g_test_get_dir fileType'-    checkUnexpectedReturnNULL "testGetDir" result-    result' <- cstringToString result-    return result'----- function g_test_failed--- Args : []--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "g_test_failed" g_test_failed :: -    IO CInt--{- |-Returns whether a test has already failed. This will-be the case when 'GI.GLib.Functions.testFail', 'GI.GLib.Functions.testIncomplete'-or 'GI.GLib.Functions.testSkip' have been called, but also if an-assertion has failed.--This can be useful to return early from a test if-continuing after a failed assertion might be harmful.--The return value of this function is only meaningful-if it is called from inside a test function.--/Since: 2.38/--}-testFailed ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Bool-    {- ^ __Returns:__ 'True' if the test has failed -}-testFailed  = liftIO $ do-    result <- g_test_failed-    let result' = (/= 0) result-    return result'----- function g_test_fail--- Args : []--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_test_fail" g_test_fail :: -    IO ()--{- |-Indicates that a test failed. This function can be called-multiple times from the same test. You can use this function-if your test failed in a recoverable way.--Do not use this function if the failure of a test could cause-other tests to malfunction.--Calling this function will not stop the test from running, you-need to return from the test function yourself. So you can-produce additional diagnostic messages or even continue running-the test.--If not called from inside a test, this function does nothing.--/Since: 2.30/--}-testFail ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m ()-testFail  = liftIO $ do-    g_test_fail-    return ()----- function g_test_expect_message--- Args : [Arg {argCName = "log_domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the log domain of the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "log_level", argType = TInterface (Name {namespace = "GLib", name = "LogLevelFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the log level of the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pattern", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a glob-style [pattern][glib-Glob-style-pattern-matching]", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_test_expect_message" g_test_expect_message :: -    CString ->                              -- log_domain : TBasicType TUTF8-    CInt ->                                 -- log_level : TInterface (Name {namespace = "GLib", name = "LogLevelFlags"})-    CString ->                              -- pattern : TBasicType TUTF8-    IO ()--{- |-Indicates that a message with the given /@logDomain@/ and /@logLevel@/,-with text matching /@pattern@/, is expected to be logged. When this-message is logged, it will not be printed, and the test case will-not abort.--This API may only be used with the old logging API (@/g_log()/@ without-@/G_LOG_USE_STRUCTURED/@ defined). It will not work with the structured logging-API. See [Testing for Messages][testing-for-messages].--Use @/g_test_assert_expected_messages()/@ to assert that all-previously-expected messages have been seen and suppressed.--You can call this multiple times in a row, if multiple messages are-expected as a result of a single call. (The messages must appear in-the same order as the calls to 'GI.GLib.Functions.testExpectMessage'.)--For example:---=== /C code/->->  // g_main_context_push_thread_default() should fail if the->  // context is already owned by another thread.->  g_test_expect_message (G_LOG_DOMAIN,->                         G_LOG_LEVEL_CRITICAL,->                         "assertion*acquired_context*failed");->  g_main_context_push_thread_default (bad_context);->  g_test_assert_expected_messages ();---Note that you cannot use this to test @/g_error()/@ messages, since-@/g_error()/@ intentionally never returns even if the program doesn\'t-abort; use 'GI.GLib.Functions.testTrapSubprocess' in this case.--If messages at 'GI.GLib.Flags.LogLevelFlagsLevelDebug' are emitted, but not explicitly-expected via 'GI.GLib.Functions.testExpectMessage' then they will be ignored.--/Since: 2.34/--}-testExpectMessage ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@logDomain@/: the log domain of the message -}-    -> [GLib.Flags.LogLevelFlags]-    {- ^ /@logLevel@/: the log level of the message -}-    -> T.Text-    {- ^ /@pattern@/: a glob-style [pattern][glib-Glob-style-pattern-matching] -}-    -> m ()-testExpectMessage logDomain logLevel pattern = liftIO $ do-    maybeLogDomain <- case logDomain of-        Nothing -> return nullPtr-        Just jLogDomain -> do-            jLogDomain' <- textToCString jLogDomain-            return jLogDomain'-    let logLevel' = gflagsToWord logLevel-    pattern' <- textToCString pattern-    g_test_expect_message maybeLogDomain logLevel' pattern'-    freeMem maybeLogDomain-    freeMem pattern'-    return ()----- function g_test_bug_base--- Args : [Arg {argCName = "uri_pattern", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the base pattern for bug URIs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_test_bug_base" g_test_bug_base :: -    CString ->                              -- uri_pattern : TBasicType TUTF8-    IO ()--{- |-Specify the base URI for bug reports.--The base URI is used to construct bug report messages for-@/g_test_message()/@ when 'GI.GLib.Functions.testBug' is called.-Calling this function outside of a test case sets the-default base URI for all test cases. Calling it from within-a test case changes the base URI for the scope of the test-case only.-Bug URIs are constructed by appending a bug specific URI-portion to /@uriPattern@/, or by replacing the special string-\'%s\' within /@uriPattern@/ if that is present.--/Since: 2.16/--}-testBugBase ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@uriPattern@/: the base pattern for bug URIs -}-    -> m ()-testBugBase uriPattern = liftIO $ do-    uriPattern' <- textToCString uriPattern-    g_test_bug_base uriPattern'-    freeMem uriPattern'-    return ()----- function g_test_bug--- Args : [Arg {argCName = "bug_uri_snippet", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Bug specific bug tracker URI portion.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_test_bug" g_test_bug :: -    CString ->                              -- bug_uri_snippet : TBasicType TUTF8-    IO ()--{- |-This function adds a message to test reports that-associates a bug URI with a test case.-Bug URIs are constructed from a base URI set with 'GI.GLib.Functions.testBugBase'-and /@bugUriSnippet@/.--/Since: 2.16/--}-testBug ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@bugUriSnippet@/: Bug specific bug tracker URI portion. -}-    -> m ()-testBug bugUriSnippet = liftIO $ do-    bugUriSnippet' <- textToCString bugUriSnippet-    g_test_bug bugUriSnippet'-    freeMem bugUriSnippet'-    return ()----- function g_test_assert_expected_messages_internal--- Args : [Arg {argCName = "domain", 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 = "file", 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 = "line", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", 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_test_assert_expected_messages_internal" g_test_assert_expected_messages_internal :: -    CString ->                              -- domain : TBasicType TUTF8-    CString ->                              -- file : TBasicType TUTF8-    Int32 ->                                -- line : TBasicType TInt-    CString ->                              -- func : TBasicType TUTF8-    IO ()--{- |-/No description available in the introspection data./--}-testAssertExpectedMessagesInternal ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    -> T.Text-    -> Int32-    -> T.Text-    -> m ()-testAssertExpectedMessagesInternal domain file line func = liftIO $ do-    domain' <- textToCString domain-    file' <- textToCString file-    func' <- textToCString func-    g_test_assert_expected_messages_internal domain' file' line func'-    freeMem domain'-    freeMem file'-    freeMem func'-    return ()----- function g_test_add_func--- Args : [Arg {argCName = "testpath", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "/-separated test case path name for the test.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "test_func", argType = TInterface (Name {namespace = "GLib", name = "TestFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The test function to invoke for this test.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_test_add_func" g_test_add_func :: -    CString ->                              -- testpath : TBasicType TUTF8-    FunPtr GLib.Callbacks.C_TestFunc ->     -- test_func : TInterface (Name {namespace = "GLib", name = "TestFunc"})-    IO ()--{- |-Create a new test case, similar to @/g_test_create_case()/@. However-the test is assumed to use no fixture, and test suites are automatically-created on the fly and added to the root fixture, based on the-slash-separated portions of /@testpath@/.--If /@testpath@/ includes the component \"subprocess\" anywhere in it,-the test will be skipped by default, and only run if explicitly-required via the @-p@ command-line option or 'GI.GLib.Functions.testTrapSubprocess'.--No component of /@testpath@/ may start with a dot (@.@) if the-'GI.GLib.Constants.TEST_OPTION_ISOLATE_DIRS' option is being used; and it is recommended to-do so even if it isn’t.--/Since: 2.16/--}-testAddFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@testpath@/: \/-separated test case path name for the test. -}-    -> GLib.Callbacks.TestFunc-    {- ^ /@testFunc@/: The test function to invoke for this test. -}-    -> m ()-testAddFunc testpath testFunc = liftIO $ do-    testpath' <- textToCString testpath-    ptrtestFunc <- callocMem :: IO (Ptr (FunPtr GLib.Callbacks.C_TestFunc))-    testFunc' <- GLib.Callbacks.mk_TestFunc (GLib.Callbacks.wrap_TestFunc (Just ptrtestFunc) testFunc)-    poke ptrtestFunc testFunc'-    g_test_add_func testpath' testFunc'-    freeMem testpath'-    return ()----- function g_test_add_data_func--- Args : [Arg {argCName = "testpath", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "/-separated test case path name for the test.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "test_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Test data argument for the test function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "test_func", argType = TInterface (Name {namespace = "GLib", name = "TestDataFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The test function to invoke for this test.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_test_add_data_func" g_test_add_data_func :: -    CString ->                              -- testpath : TBasicType TUTF8-    Ptr () ->                               -- test_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_TestDataFunc -> -- test_func : TInterface (Name {namespace = "GLib", name = "TestDataFunc"})-    IO ()--{- |-Create a new test case, similar to @/g_test_create_case()/@. However-the test is assumed to use no fixture, and test suites are automatically-created on the fly and added to the root fixture, based on the-slash-separated portions of /@testpath@/. The /@testData@/ argument-will be passed as first argument to /@testFunc@/.--If /@testpath@/ includes the component \"subprocess\" anywhere in it,-the test will be skipped by default, and only run if explicitly-required via the @-p@ command-line option or 'GI.GLib.Functions.testTrapSubprocess'.--No component of /@testpath@/ may start with a dot (@.@) if the-'GI.GLib.Constants.TEST_OPTION_ISOLATE_DIRS' option is being used; and it is recommended to-do so even if it isn’t.--/Since: 2.16/--}-testAddDataFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@testpath@/: \/-separated test case path name for the test. -}-    -> Ptr ()-    {- ^ /@testData@/: Test data argument for the test function. -}-    -> GLib.Callbacks.TestDataFunc-    {- ^ /@testFunc@/: The test function to invoke for this test. -}-    -> m ()-testAddDataFunc testpath testData testFunc = liftIO $ do-    testpath' <- textToCString testpath-    ptrtestFunc <- callocMem :: IO (Ptr (FunPtr GLib.Callbacks.C_TestDataFunc))-    testFunc' <- GLib.Callbacks.mk_TestDataFunc (GLib.Callbacks.wrap_TestDataFunc (Just ptrtestFunc) (GLib.Callbacks.drop_closures_TestDataFunc testFunc))-    poke ptrtestFunc testFunc'-    g_test_add_data_func testpath' testData testFunc'-    freeMem testpath'-    return ()----- function g_strv_length--- Args : [Arg {argCName = "str_array", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a %NULL-terminated array of strings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_strv_length" g_strv_length :: -    CString ->                              -- str_array : TBasicType TUTF8-    IO Word32--{- |-Returns the length of the given 'Nothing'-terminated-string array /@strArray@/. /@strArray@/ must not be 'Nothing'.--/Since: 2.6/--}-strvLength ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@strArray@/: a 'Nothing'-terminated array of strings -}-    -> m Word32-    {- ^ __Returns:__ length of /@strArray@/. -}-strvLength strArray = liftIO $ do-    strArray' <- textToCString strArray-    result <- g_strv_length strArray'-    freeMem strArray'-    return result----- function g_strv_get_type--- Args : []--- Lengths : []--- returnType : Just (TBasicType TGType)--- throws : False--- Skip return : False--foreign import ccall "g_strv_get_type" g_strv_get_type :: -    IO CGType--{- |-/No description available in the introspection data./--}-strvGetType ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m GType-strvGetType  = liftIO $ do-    result <- g_strv_get_type-    let result' = GType result-    return result'----- function g_strv_equal--- Args : [Arg {argCName = "strv1", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a %NULL-terminated array of strings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "strv2", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another %NULL-terminated array of strings", 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_strv_equal" g_strv_equal :: -    CString ->                              -- strv1 : TBasicType TUTF8-    CString ->                              -- strv2 : TBasicType TUTF8-    IO CInt--{- |-Checks if /@strv1@/ and /@strv2@/ contain exactly the same elements in exactly the-same order. Elements are compared using 'GI.GLib.Functions.strEqual'. To match independently-of order, sort the arrays first (using @/g_qsort_with_data()/@ or similar).--Two empty arrays are considered equal. Neither /@strv1@/ not /@strv2@/ may be-'Nothing'.--/Since: 2.60/--}-strvEqual ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@strv1@/: a 'Nothing'-terminated array of strings -}-    -> T.Text-    {- ^ /@strv2@/: another 'Nothing'-terminated array of strings -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@strv1@/ and /@strv2@/ are equal -}-strvEqual strv1 strv2 = liftIO $ do-    strv1' <- textToCString strv1-    strv2' <- textToCString strv2-    result <- g_strv_equal strv1' strv2'-    let result' = (/= 0) result-    freeMem strv1'-    freeMem strv2'-    return result'----- function g_strv_contains--- Args : [Arg {argCName = "strv", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a %NULL-terminated array of strings", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", 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_strv_contains" g_strv_contains :: -    CString ->                              -- strv : TBasicType TUTF8-    CString ->                              -- str : TBasicType TUTF8-    IO CInt--{- |-Checks if /@strv@/ contains /@str@/. /@strv@/ must not be 'Nothing'.--/Since: 2.44/--}-strvContains ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@strv@/: a 'Nothing'-terminated array of strings -}-    -> T.Text-    {- ^ /@str@/: a string -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@str@/ is an element of /@strv@/, according to 'GI.GLib.Functions.strEqual'. -}-strvContains strv str = liftIO $ do-    strv' <- textToCString strv-    str' <- textToCString str-    result <- g_strv_contains strv' str'-    let result' = (/= 0) result-    freeMem strv'-    freeMem str'-    return result'----- function g_strup--- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to convert", 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_strup" g_strup :: -    CString ->                              -- string : TBasicType TUTF8-    IO CString--{-# DEPRECATED strup ["(Since version 2.2)","This function is totally broken for the reasons","    discussed in the 'GI.GLib.Functions.strncasecmp' docs - use 'GI.GLib.Functions.asciiStrup'","    or 'GI.GLib.Functions.utf8Strup' instead."] #-}-{- |-Converts a string to upper case.--}-strup ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@string@/: the string to convert -}-    -> m T.Text-    {- ^ __Returns:__ the string -}-strup string = liftIO $ do-    string' <- textToCString string-    result <- g_strup string'-    checkUnexpectedReturnNULL "strup" result-    result' <- cstringToText result-    freeMem result-    freeMem string'-    return result'----- function g_strtod--- Args : [Arg {argCName = "nptr", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to convert to a numeric value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "endptr", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if non-%NULL, it returns the\n          character after the last character used in the conversion.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TDouble)--- throws : False--- Skip return : False--foreign import ccall "g_strtod" g_strtod :: -    CString ->                              -- nptr : TBasicType TUTF8-    Ptr CString ->                          -- endptr : TBasicType TUTF8-    IO CDouble--{- |-Converts a string to a @/gdouble/@ value.-It calls the standard @/strtod()/@ function to handle the conversion, but-if the string is not completely converted it attempts the conversion-again with 'GI.GLib.Functions.asciiStrtod', and returns the best match.--This function should seldom be used. The normal situation when reading-numbers not for human consumption is to use 'GI.GLib.Functions.asciiStrtod'. Only when-you know that you must expect both locale formatted and C formatted numbers-should you use this. Make sure that you don\'t pass strings such as comma-separated lists of values, since the commas may be interpreted as a decimal-point in some locales, causing unexpected results.--}-strtod ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@nptr@/: the string to convert to a numeric value. -}-    -> m ((Double, T.Text))-    {- ^ __Returns:__ the @/gdouble/@ value. -}-strtod nptr = liftIO $ do-    nptr' <- textToCString nptr-    endptr <- allocMem :: IO (Ptr CString)-    result <- g_strtod nptr' endptr-    let result' = realToFrac result-    endptr' <- peek endptr-    endptr'' <- cstringToText endptr'-    freeMem nptr'-    freeMem endptr-    return (result', endptr'')----- function g_strstr_len--- Args : [Arg {argCName = "haystack", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "haystack_len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum length of @haystack. Note that -1 is\n    a valid length, if @haystack is nul-terminated, meaning it will\n    search through the whole string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "needle", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to search for", 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_strstr_len" g_strstr_len :: -    CString ->                              -- haystack : TBasicType TUTF8-    Int64 ->                                -- haystack_len : TBasicType TInt64-    CString ->                              -- needle : TBasicType TUTF8-    IO CString--{- |-Searches the string /@haystack@/ for the first occurrence-of the string /@needle@/, limiting the length of the search-to /@haystackLen@/.--}-strstrLen ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@haystack@/: a string -}-    -> Int64-    {- ^ /@haystackLen@/: the maximum length of /@haystack@/. Note that -1 is-    a valid length, if /@haystack@/ is nul-terminated, meaning it will-    search through the whole string. -}-    -> T.Text-    {- ^ /@needle@/: the string to search for -}-    -> m T.Text-    {- ^ __Returns:__ a pointer to the found occurrence, or-   'Nothing' if not found. -}-strstrLen haystack haystackLen needle = liftIO $ do-    haystack' <- textToCString haystack-    needle' <- textToCString needle-    result <- g_strstr_len haystack' haystackLen needle'-    checkUnexpectedReturnNULL "strstrLen" result-    result' <- cstringToText result-    freeMem result-    freeMem haystack'-    freeMem needle'-    return result'----- function g_strsignal--- Args : [Arg {argCName = "signum", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the signal number. See the `signal` documentation", 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_strsignal" g_strsignal :: -    Int32 ->                                -- signum : TBasicType TInt-    IO CString--{- |-Returns a string describing the given signal, e.g. \"Segmentation fault\".-You should use this function in preference to @/strsignal()/@, because it-returns a string in UTF-8 encoding, and since not all platforms support-the @/strsignal()/@ function.--}-strsignal ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@signum@/: the signal number. See the @signal@ documentation -}-    -> m T.Text-    {- ^ __Returns:__ a UTF-8 string describing the signal. If the signal is unknown,-    it returns \"unknown signal (\<signum>)\". -}-strsignal signum = liftIO $ do-    result <- g_strsignal signum-    checkUnexpectedReturnNULL "strsignal" result-    result' <- cstringToText result-    return result'----- function g_strrstr_len--- Args : [Arg {argCName = "haystack", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a nul-terminated string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "haystack_len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum length of @haystack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "needle", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the nul-terminated string to search for", 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_strrstr_len" g_strrstr_len :: -    CString ->                              -- haystack : TBasicType TUTF8-    Int64 ->                                -- haystack_len : TBasicType TInt64-    CString ->                              -- needle : TBasicType TUTF8-    IO CString--{- |-Searches the string /@haystack@/ for the last occurrence-of the string /@needle@/, limiting the length of the search-to /@haystackLen@/.--}-strrstrLen ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@haystack@/: a nul-terminated string -}-    -> Int64-    {- ^ /@haystackLen@/: the maximum length of /@haystack@/ -}-    -> T.Text-    {- ^ /@needle@/: the nul-terminated string to search for -}-    -> m T.Text-    {- ^ __Returns:__ a pointer to the found occurrence, or-   'Nothing' if not found. -}-strrstrLen haystack haystackLen needle = liftIO $ do-    haystack' <- textToCString haystack-    needle' <- textToCString needle-    result <- g_strrstr_len haystack' haystackLen needle'-    checkUnexpectedReturnNULL "strrstrLen" result-    result' <- cstringToText result-    freeMem result-    freeMem haystack'-    freeMem needle'-    return result'----- function g_strrstr--- Args : [Arg {argCName = "haystack", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a nul-terminated string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "needle", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the nul-terminated string to search for", 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_strrstr" g_strrstr :: -    CString ->                              -- haystack : TBasicType TUTF8-    CString ->                              -- needle : TBasicType TUTF8-    IO CString--{- |-Searches the string /@haystack@/ for the last occurrence-of the string /@needle@/.--}-strrstr ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@haystack@/: a nul-terminated string -}-    -> T.Text-    {- ^ /@needle@/: the nul-terminated string to search for -}-    -> m T.Text-    {- ^ __Returns:__ a pointer to the found occurrence, or-   'Nothing' if not found. -}-strrstr haystack needle = liftIO $ do-    haystack' <- textToCString haystack-    needle' <- textToCString needle-    result <- g_strrstr haystack' needle'-    checkUnexpectedReturnNULL "strrstr" result-    result' <- cstringToText result-    freeMem result-    freeMem haystack'-    freeMem needle'-    return result'----- function g_strreverse--- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to reverse", 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_strreverse" g_strreverse :: -    CString ->                              -- string : TBasicType TUTF8-    IO CString--{- |-Reverses all of the bytes in a string. For example,-@g_strreverse (\"abcdef\")@ will result in \"fedcba\".--Note that 'GI.GLib.Functions.strreverse' doesn\'t work on UTF-8 strings-containing multibyte characters. For that purpose, use-'GI.GLib.Functions.utf8Strreverse'.--}-strreverse ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@string@/: the string to reverse -}-    -> m T.Text-    {- ^ __Returns:__ the same pointer passed in as /@string@/ -}-strreverse string = liftIO $ do-    string' <- textToCString string-    result <- g_strreverse string'-    checkUnexpectedReturnNULL "strreverse" result-    result' <- cstringToText result-    freeMem result-    freeMem string'-    return result'----- function g_strnfill--- Args : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the new string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fill_char", argType = TBasicType TInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the byte to fill the string with", 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_strnfill" g_strnfill :: -    Word64 ->                               -- length : TBasicType TUInt64-    Int8 ->                                 -- fill_char : TBasicType TInt8-    IO CString--{- |-Creates a new string /@length@/ bytes long filled with /@fillChar@/.-The returned string should be freed when no longer needed.--}-strnfill ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@length@/: the length of the new string -}-    -> Int8-    {- ^ /@fillChar@/: the byte to fill the string with -}-    -> m T.Text-    {- ^ __Returns:__ a newly-allocated string filled the /@fillChar@/ -}-strnfill length_ fillChar = liftIO $ do-    result <- g_strnfill length_ fillChar-    checkUnexpectedReturnNULL "strnfill" result-    result' <- cstringToText result-    freeMem result-    return result'----- function g_strndup--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to duplicate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum number of bytes to copy from @str", 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_strndup" g_strndup :: -    CString ->                              -- str : TBasicType TUTF8-    Word64 ->                               -- n : TBasicType TUInt64-    IO CString--{- |-Duplicates the first /@n@/ bytes of a string, returning a newly-allocated-buffer /@n@/ + 1 bytes long which will always be nul-terminated. If /@str@/-is less than /@n@/ bytes long the buffer is padded with nuls. If /@str@/ is-'Nothing' it returns 'Nothing'. The returned value should be freed when no longer-needed.--To copy a number of characters from a UTF-8 encoded string,-use 'GI.GLib.Functions.utf8Strncpy' instead.--}-strndup ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: the string to duplicate -}-    -> Word64-    {- ^ /@n@/: the maximum number of bytes to copy from /@str@/ -}-    -> m T.Text-    {- ^ __Returns:__ a newly-allocated buffer containing the first /@n@/ bytes-    of /@str@/, nul-terminated -}-strndup str n = liftIO $ do-    str' <- textToCString str-    result <- g_strndup str' n-    checkUnexpectedReturnNULL "strndup" result-    result' <- cstringToText result-    freeMem result-    freeMem str'-    return result'----- function g_strncasecmp--- Args : [Arg {argCName = "s1", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "s2", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string to compare with @s1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum number of characters to compare", 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_strncasecmp" g_strncasecmp :: -    CString ->                              -- s1 : TBasicType TUTF8-    CString ->                              -- s2 : TBasicType TUTF8-    Word32 ->                               -- n : TBasicType TUInt-    IO Int32--{-# DEPRECATED strncasecmp ["(Since version 2.2)","The problem with 'GI.GLib.Functions.strncasecmp' is that it does","    the comparison by calling @/toupper()/@\\/@/tolower()/@. These functions","    are locale-specific and operate on single bytes. However, it is","    impossible to handle things correctly from an internationalization","    standpoint by operating on bytes, since characters may be multibyte.","    Thus 'GI.GLib.Functions.strncasecmp' is broken if your string is guaranteed to be","    ASCII, since it is locale-sensitive, and it\\'s broken if your string","    is localized, since it doesn\\'t work on many encodings at all,","    including UTF-8, EUC-JP, etc.","","    There are therefore two replacement techniques: 'GI.GLib.Functions.asciiStrncasecmp',","    which only works on ASCII and is not locale-sensitive, and","    'GI.GLib.Functions.utf8Casefold' followed by @/strcmp()/@ on the resulting strings,","    which is good for case-insensitive sorting of UTF-8."] #-}-{- |-A case-insensitive string comparison, corresponding to the standard-@/strncasecmp()/@ function on platforms which support it. It is similar-to 'GI.GLib.Functions.strcasecmp' except it only compares the first /@n@/ characters of-the strings.--}-strncasecmp ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@s1@/: a string -}-    -> T.Text-    {- ^ /@s2@/: a string to compare with /@s1@/ -}-    -> Word32-    {- ^ /@n@/: the maximum number of characters to compare -}-    -> m Int32-    {- ^ __Returns:__ 0 if the strings match, a negative value if /@s1@/ \< /@s2@/,-    or a positive value if /@s1@/ > /@s2@/. -}-strncasecmp s1 s2 n = liftIO $ do-    s1' <- textToCString s1-    s2' <- textToCString s2-    result <- g_strncasecmp s1' s2' n-    freeMem s1'-    freeMem s2'-    return result----- function g_strlcpy--- Args : [Arg {argCName = "dest", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "destination buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "source buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @dest in bytes", 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_strlcpy" g_strlcpy :: -    CString ->                              -- dest : TBasicType TUTF8-    CString ->                              -- src : TBasicType TUTF8-    Word64 ->                               -- dest_size : TBasicType TUInt64-    IO Word64--{- |-Portability wrapper that calls @/strlcpy()/@ on systems which have it,-and emulates @/strlcpy()/@ otherwise. Copies /@src@/ to /@dest@/; /@dest@/ is-guaranteed to be nul-terminated; /@src@/ must be nul-terminated;-/@destSize@/ is the buffer size, not the number of bytes to copy.--At most /@destSize@/ - 1 characters will be copied. Always nul-terminates-(unless /@destSize@/ is 0). This function does not allocate memory. Unlike-@/strncpy()/@, this function doesn\'t pad /@dest@/ (so it\'s often faster). It-returns the size of the attempted result, strlen (src), so if-/@retval@/ >= /@destSize@/, truncation occurred.--Caveat: @/strlcpy()/@ is supposedly more secure than @/strcpy()/@ or @/strncpy()/@,-but if you really want to avoid screwups, 'GI.GLib.Functions.strdup' is an even better-idea.--}-strlcpy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@dest@/: destination buffer -}-    -> T.Text-    {- ^ /@src@/: source buffer -}-    -> Word64-    {- ^ /@destSize@/: length of /@dest@/ in bytes -}-    -> m Word64-    {- ^ __Returns:__ length of /@src@/ -}-strlcpy dest src destSize = liftIO $ do-    dest' <- textToCString dest-    src' <- textToCString src-    result <- g_strlcpy dest' src' destSize-    freeMem dest'-    freeMem src'-    return result----- function g_strlcat--- Args : [Arg {argCName = "dest", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "destination buffer, already containing one nul-terminated string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "source buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @dest buffer in bytes (not length of existing string\n    inside @dest)", 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_strlcat" g_strlcat :: -    CString ->                              -- dest : TBasicType TUTF8-    CString ->                              -- src : TBasicType TUTF8-    Word64 ->                               -- dest_size : TBasicType TUInt64-    IO Word64--{- |-Portability wrapper that calls @/strlcat()/@ on systems which have it,-and emulates it otherwise. Appends nul-terminated /@src@/ string to /@dest@/,-guaranteeing nul-termination for /@dest@/. The total size of /@dest@/ won\'t-exceed /@destSize@/.--At most /@destSize@/ - 1 characters will be copied. Unlike @/strncat()/@,-/@destSize@/ is the full size of dest, not the space left over. This-function does not allocate memory. It always nul-terminates (unless-/@destSize@/ == 0 or there were no nul characters in the /@destSize@/-characters of dest to start with).--Caveat: this is supposedly a more secure alternative to @/strcat()/@ or-@/strncat()/@, but for real security @/g_strconcat()/@ is harder to mess up.--}-strlcat ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@dest@/: destination buffer, already containing one nul-terminated string -}-    -> T.Text-    {- ^ /@src@/: source buffer -}-    -> Word64-    {- ^ /@destSize@/: length of /@dest@/ buffer in bytes (not length of existing string-    inside /@dest@/) -}-    -> m Word64-    {- ^ __Returns:__ size of attempted result, which is MIN (dest_size, strlen-    (original dest)) + strlen (src), so if retval >= dest_size,-    truncation occurred. -}-strlcat dest src destSize = liftIO $ do-    dest' <- textToCString dest-    src' <- textToCString src-    result <- g_strlcat dest' src' destSize-    freeMem dest'-    freeMem src'-    return result----- function g_strjoinv--- Args : [Arg {argCName = "separator", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string to insert between each of the\n    strings, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "str_array", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a %NULL-terminated array of strings to join", 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_strjoinv" g_strjoinv :: -    CString ->                              -- separator : TBasicType TUTF8-    CString ->                              -- str_array : TBasicType TUTF8-    IO CString--{- |-Joins a number of strings together to form one long string, with the-optional /@separator@/ inserted between each of them. The returned string-should be freed with 'GI.GLib.Functions.free'.--If /@strArray@/ has no items, the return value will be an-empty string. If /@strArray@/ contains a single item, /@separator@/ will not-appear in the resulting string.--}-strjoinv ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@separator@/: a string to insert between each of the-    strings, or 'Nothing' -}-    -> T.Text-    {- ^ /@strArray@/: a 'Nothing'-terminated array of strings to join -}-    -> m T.Text-    {- ^ __Returns:__ a newly-allocated string containing all of the strings joined-    together, with /@separator@/ between them -}-strjoinv separator strArray = liftIO $ do-    maybeSeparator <- case separator of-        Nothing -> return nullPtr-        Just jSeparator -> do-            jSeparator' <- textToCString jSeparator-            return jSeparator'-    strArray' <- textToCString strArray-    result <- g_strjoinv maybeSeparator strArray'-    checkUnexpectedReturnNULL "strjoinv" result-    result' <- cstringToText result-    freeMem result-    freeMem maybeSeparator-    freeMem strArray'-    return result'----- function g_strip_context--- Args : [Arg {argCName = "msgid", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msgval", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another string", 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_strip_context" g_strip_context :: -    CString ->                              -- msgid : TBasicType TUTF8-    CString ->                              -- msgval : TBasicType TUTF8-    IO CString--{- |-An auxiliary function for @/gettext()/@ support (see @/Q_()/@).--/Since: 2.4/--}-stripContext ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@msgid@/: a string -}-    -> T.Text-    {- ^ /@msgval@/: another string -}-    -> m T.Text-    {- ^ __Returns:__ /@msgval@/, unless /@msgval@/ is identical to /@msgid@/-    and contains a \'|\' character, in which case a pointer to-    the substring of msgid after the first \'|\' character is returned. -}-stripContext msgid msgval = liftIO $ do-    msgid' <- textToCString msgid-    msgval' <- textToCString msgval-    result <- g_strip_context msgid' msgval'-    checkUnexpectedReturnNULL "stripContext" result-    result' <- cstringToText result-    freeMem msgid'-    freeMem msgval'-    return result'----- function g_string_sized_new--- Args : [Arg {argCName = "dfl_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the default size of the space allocated to\n    hold the string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_sized_new" g_string_sized_new :: -    Word64 ->                               -- dfl_size : TBasicType TUInt64-    IO (Ptr GLib.String.String)--{- |-Creates a new 'GI.GLib.Structs.String.String', with enough space for /@dflSize@/-bytes. This is useful if you are going to add a lot of-text to the string and don\'t want it to be reallocated-too often.--}-stringSizedNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@dflSize@/: the default size of the space allocated to-    hold the string -}-    -> m GLib.String.String-    {- ^ __Returns:__ the new 'GI.GLib.Structs.String.String' -}-stringSizedNew dflSize = liftIO $ do-    result <- g_string_sized_new dflSize-    checkUnexpectedReturnNULL "stringSizedNew" result-    result' <- (wrapBoxed GLib.String.String) result-    return result'----- function g_string_new_len--- Args : [Arg {argCName = "init", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "initial contents of the string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @init to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_new_len" g_string_new_len :: -    CString ->                              -- init : TBasicType TUTF8-    Int64 ->                                -- len : TBasicType TInt64-    IO (Ptr GLib.String.String)--{- |-Creates a new 'GI.GLib.Structs.String.String' with /@len@/ bytes of the /@init@/ buffer.-Because a length is provided, /@init@/ need not be nul-terminated,-and can contain embedded nul bytes.--Since this function does not stop at nul bytes, it is the caller\'s-responsibility to ensure that /@init@/ has at least /@len@/ addressable-bytes.--}-stringNewLen ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@init@/: initial contents of the string -}-    -> Int64-    {- ^ /@len@/: length of /@init@/ to use -}-    -> m GLib.String.String-    {- ^ __Returns:__ a new 'GI.GLib.Structs.String.String' -}-stringNewLen init len = liftIO $ do-    init' <- textToCString init-    result <- g_string_new_len init' len-    checkUnexpectedReturnNULL "stringNewLen" result-    result' <- (wrapBoxed GLib.String.String) result-    freeMem init'-    return result'----- function g_string_new--- Args : [Arg {argCName = "init", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the initial text to copy into the string, or %NULL to\nstart with an empty string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_new" g_string_new :: -    CString ->                              -- init : TBasicType TUTF8-    IO (Ptr GLib.String.String)--{- |-Creates a new 'GI.GLib.Structs.String.String', initialized with the given string.--}-stringNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@init@/: the initial text to copy into the string, or 'Nothing' to-start with an empty string -}-    -> m GLib.String.String-    {- ^ __Returns:__ the new 'GI.GLib.Structs.String.String' -}-stringNew init = liftIO $ do-    maybeInit <- case init of-        Nothing -> return nullPtr-        Just jInit -> do-            jInit' <- textToCString jInit-            return jInit'-    result <- g_string_new maybeInit-    checkUnexpectedReturnNULL "stringNew" result-    result' <- (wrapBoxed GLib.String.String) result-    freeMem maybeInit-    return result'----- function g_strfreev--- Args : [Arg {argCName = "str_array", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a %NULL-terminated array of strings to free", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_strfreev" g_strfreev :: -    CString ->                              -- str_array : TBasicType TUTF8-    IO ()--{- |-Frees a 'Nothing'-terminated array of strings, as well as each-string it contains.--If /@strArray@/ is 'Nothing', this function simply returns.--}-strfreev ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@strArray@/: a 'Nothing'-terminated array of strings to free -}-    -> m ()-strfreev strArray = liftIO $ do-    maybeStrArray <- case strArray of-        Nothing -> return nullPtr-        Just jStrArray -> do-            jStrArray' <- textToCString jStrArray-            return jStrArray'-    g_strfreev maybeStrArray-    freeMem maybeStrArray-    return ()----- function g_strescape--- Args : [Arg {argCName = "source", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string to escape", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "exceptions", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string of characters not to escape in @source", 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_strescape" g_strescape :: -    CString ->                              -- source : TBasicType TUTF8-    CString ->                              -- exceptions : TBasicType TUTF8-    IO CString--{- |-Escapes the special characters \'\\b\', \'\\f\', \'\\n\', \'\\r\', \'\\t\', \'\\v\', \'\\\'-and \'\"\' in the string /@source@/ by inserting a \'\\\' before-them. Additionally all characters in the range 0x01-0x1F (everything-below SPACE) and in the range 0x7F-0xFF (all non-ASCII chars) are-replaced with a \'\\\' followed by their octal representation.-Characters supplied in /@exceptions@/ are not escaped.--'GI.GLib.Functions.strcompress' does the reverse conversion.--}-strescape ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@source@/: a string to escape -}-    -> Maybe (T.Text)-    {- ^ /@exceptions@/: a string of characters not to escape in /@source@/ -}-    -> m T.Text-    {- ^ __Returns:__ a newly-allocated copy of /@source@/ with certain-    characters escaped. See above. -}-strescape source exceptions = liftIO $ do-    source' <- textToCString source-    maybeExceptions <- case exceptions of-        Nothing -> return nullPtr-        Just jExceptions -> do-            jExceptions' <- textToCString jExceptions-            return jExceptions'-    result <- g_strescape source' maybeExceptions-    checkUnexpectedReturnNULL "strescape" result-    result' <- cstringToText result-    freeMem result-    freeMem source'-    freeMem maybeExceptions-    return result'----- function g_strerror--- Args : [Arg {argCName = "errnum", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the system error number. See the standard C %errno\n    documentation", 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_strerror" g_strerror :: -    Int32 ->                                -- errnum : TBasicType TInt-    IO CString--{- |-Returns a string corresponding to the given error code, e.g. \"no-such process\". Unlike @/strerror()/@, this always returns a string in-UTF-8 encoding, and the pointer is guaranteed to remain valid for-the lifetime of the process.--Note that the string may be translated according to the current locale.--The value of @/errno/@ will not be changed by this function. However, it may-be changed by intermediate function calls, so you should save its value-as soon as the call returns:->->  int saved_errno;->->  ret = read (blah);->  saved_errno = errno;->->  g_strerror (saved_errno);--}-strerror ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@errnum@/: the system error number. See the standard C @/errno/@-    documentation -}-    -> m T.Text-    {- ^ __Returns:__ a UTF-8 string describing the error code. If the error code-    is unknown, it returns a string like \"unknown error (\<code>)\". -}-strerror errnum = liftIO $ do-    result <- g_strerror errnum-    checkUnexpectedReturnNULL "strerror" result-    result' <- cstringToText result-    return result'----- function g_strdup--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the string to duplicate", 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_strdup" g_strdup :: -    CString ->                              -- str : TBasicType TUTF8-    IO CString--{- |-Duplicates a string. If /@str@/ is 'Nothing' it returns 'Nothing'.-The returned string should be freed with 'GI.GLib.Functions.free'-when no longer needed.--}-strdup ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@str@/: the string to duplicate -}-    -> m T.Text-    {- ^ __Returns:__ a newly-allocated copy of /@str@/ -}-strdup str = liftIO $ do-    maybeStr <- case str of-        Nothing -> return nullPtr-        Just jStr -> do-            jStr' <- textToCString jStr-            return jStr'-    result <- g_strdup maybeStr-    checkUnexpectedReturnNULL "strdup" result-    result' <- cstringToText result-    freeMem result-    freeMem maybeStr-    return result'----- function g_strdown--- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to convert.", 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_strdown" g_strdown :: -    CString ->                              -- string : TBasicType TUTF8-    IO CString--{-# DEPRECATED strdown ["(Since version 2.2)","This function is totally broken for the reasons discussed","in the 'GI.GLib.Functions.strncasecmp' docs - use 'GI.GLib.Functions.asciiStrdown' or 'GI.GLib.Functions.utf8Strdown'","instead."] #-}-{- |-Converts a string to lower case.--}-strdown ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@string@/: the string to convert. -}-    -> m T.Text-    {- ^ __Returns:__ the string -}-strdown string = liftIO $ do-    string' <- textToCString string-    result <- g_strdown string'-    checkUnexpectedReturnNULL "strdown" result-    result' <- cstringToText result-    freeMem result-    freeMem string'-    return result'----- function g_strdelimit--- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to convert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "delimiters", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string containing the current delimiters,\n    or %NULL to use the standard delimiters defined in #G_STR_DELIMITERS", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_delimiter", argType = TBasicType TInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new delimiter character", 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_strdelimit" g_strdelimit :: -    CString ->                              -- string : TBasicType TUTF8-    CString ->                              -- delimiters : TBasicType TUTF8-    Int8 ->                                 -- new_delimiter : TBasicType TInt8-    IO CString--{- |-Converts any delimiter characters in /@string@/ to /@newDelimiter@/.-Any characters in /@string@/ which are found in /@delimiters@/ are-changed to the /@newDelimiter@/ character. Modifies /@string@/ in place,-and returns /@string@/ itself, not a copy. The return value is to-allow nesting such as--=== /C code/->->  g_ascii_strup (g_strdelimit (str, "abc", '?'))--}-strdelimit ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@string@/: the string to convert -}-    -> Maybe (T.Text)-    {- ^ /@delimiters@/: a string containing the current delimiters,-    or 'Nothing' to use the standard delimiters defined in 'GI.GLib.Constants.STR_DELIMITERS' -}-    -> Int8-    {- ^ /@newDelimiter@/: the new delimiter character -}-    -> m T.Text-    {- ^ __Returns:__ /@string@/ -}-strdelimit string delimiters newDelimiter = liftIO $ do-    string' <- textToCString string-    maybeDelimiters <- case delimiters of-        Nothing -> return nullPtr-        Just jDelimiters -> do-            jDelimiters' <- textToCString jDelimiters-            return jDelimiters'-    result <- g_strdelimit string' maybeDelimiters newDelimiter-    checkUnexpectedReturnNULL "strdelimit" result-    result' <- cstringToText result-    freeMem result-    freeMem string'-    freeMem maybeDelimiters-    return result'----- function g_strcompress--- Args : [Arg {argCName = "source", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string to compress", 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_strcompress" g_strcompress :: -    CString ->                              -- source : TBasicType TUTF8-    IO CString--{- |-Replaces all escaped characters with their one byte equivalent.--This function does the reverse conversion of 'GI.GLib.Functions.strescape'.--}-strcompress ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@source@/: a string to compress -}-    -> m T.Text-    {- ^ __Returns:__ a newly-allocated copy of /@source@/ with all escaped-    character compressed -}-strcompress source = liftIO $ do-    source' <- textToCString source-    result <- g_strcompress source'-    checkUnexpectedReturnNULL "strcompress" result-    result' <- cstringToText result-    freeMem result-    freeMem source'-    return result'----- function g_strcmp0--- Args : [Arg {argCName = "str1", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a C string or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "str2", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "another C string or %NULL", 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_strcmp0" g_strcmp0 :: -    CString ->                              -- str1 : TBasicType TUTF8-    CString ->                              -- str2 : TBasicType TUTF8-    IO Int32--{- |-Compares /@str1@/ and /@str2@/ like @/strcmp()/@. Handles 'Nothing'-gracefully by sorting it before non-'Nothing' strings.-Comparing two 'Nothing' pointers returns 0.--/Since: 2.16/--}-strcmp0 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@str1@/: a C string or 'Nothing' -}-    -> Maybe (T.Text)-    {- ^ /@str2@/: another C string or 'Nothing' -}-    -> m Int32-    {- ^ __Returns:__ an integer less than, equal to, or greater than zero, if /@str1@/ is \<, == or > than /@str2@/. -}-strcmp0 str1 str2 = liftIO $ do-    maybeStr1 <- case str1 of-        Nothing -> return nullPtr-        Just jStr1 -> do-            jStr1' <- textToCString jStr1-            return jStr1'-    maybeStr2 <- case str2 of-        Nothing -> return nullPtr-        Just jStr2 -> do-            jStr2' <- textToCString jStr2-            return jStr2'-    result <- g_strcmp0 maybeStr1 maybeStr2-    freeMem maybeStr1-    freeMem maybeStr2-    return result----- function g_strchug--- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string to remove the leading whitespace from", 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_strchug" g_strchug :: -    CString ->                              -- string : TBasicType TUTF8-    IO CString--{- |-Removes leading whitespace from a string, by moving the rest-of the characters forward.--This function doesn\'t allocate or reallocate any memory;-it modifies /@string@/ in place. Therefore, it cannot be used on-statically allocated strings.--The pointer to /@string@/ is returned to allow the nesting of functions.--Also see 'GI.GLib.Functions.strchomp' and @/g_strstrip()/@.--}-strchug ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@string@/: a string to remove the leading whitespace from -}-    -> m T.Text-    {- ^ __Returns:__ /@string@/ -}-strchug string = liftIO $ do-    string' <- textToCString string-    result <- g_strchug string'-    checkUnexpectedReturnNULL "strchug" result-    result' <- cstringToText result-    freeMem result-    freeMem string'-    return result'----- function g_strchomp--- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string to remove the trailing whitespace from", 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_strchomp" g_strchomp :: -    CString ->                              -- string : TBasicType TUTF8-    IO CString--{- |-Removes trailing whitespace from a string.--This function doesn\'t allocate or reallocate any memory;-it modifies /@string@/ in place. Therefore, it cannot be used-on statically allocated strings.--The pointer to /@string@/ is returned to allow the nesting of functions.--Also see 'GI.GLib.Functions.strchug' and @/g_strstrip()/@.--}-strchomp ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@string@/: a string to remove the trailing whitespace from -}-    -> m T.Text-    {- ^ __Returns:__ /@string@/ -}-strchomp string = liftIO $ do-    string' <- textToCString string-    result <- g_strchomp string'-    checkUnexpectedReturnNULL "strchomp" result-    result' <- cstringToText result-    freeMem result-    freeMem string'-    return result'----- function g_strcasecmp--- Args : [Arg {argCName = "s1", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "s2", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string to compare with @s1", 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_strcasecmp" g_strcasecmp :: -    CString ->                              -- s1 : TBasicType TUTF8-    CString ->                              -- s2 : TBasicType TUTF8-    IO Int32--{-# DEPRECATED strcasecmp ["(Since version 2.2)","See 'GI.GLib.Functions.strncasecmp' for a discussion of why this","    function is deprecated and how to replace it."] #-}-{- |-A case-insensitive string comparison, corresponding to the standard-@/strcasecmp()/@ function on platforms which support it.--}-strcasecmp ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@s1@/: a string -}-    -> T.Text-    {- ^ /@s2@/: a string to compare with /@s1@/ -}-    -> m Int32-    {- ^ __Returns:__ 0 if the strings match, a negative value if /@s1@/ \< /@s2@/,-    or a positive value if /@s1@/ > /@s2@/. -}-strcasecmp s1 s2 = liftIO $ do-    s1' <- textToCString s1-    s2' <- textToCString s2-    result <- g_strcasecmp s1' s2'-    freeMem s1'-    freeMem s2'-    return result----- function g_strcanon--- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a nul-terminated array of bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "valid_chars", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "bytes permitted in @string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "substitutor", argType = TBasicType TInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "replacement character for disallowed bytes", 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_strcanon" g_strcanon :: -    CString ->                              -- string : TBasicType TUTF8-    CString ->                              -- valid_chars : TBasicType TUTF8-    Int8 ->                                 -- substitutor : TBasicType TInt8-    IO CString--{- |-For each character in /@string@/, if the character is not in /@validChars@/,-replaces the character with /@substitutor@/. Modifies /@string@/ in place,-and return /@string@/ itself, not a copy. The return value is to allow-nesting such as--=== /C code/->->  g_ascii_strup (g_strcanon (str, "abc", '?'))--}-strcanon ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@string@/: a nul-terminated array of bytes -}-    -> T.Text-    {- ^ /@validChars@/: bytes permitted in /@string@/ -}-    -> Int8-    {- ^ /@substitutor@/: replacement character for disallowed bytes -}-    -> m T.Text-    {- ^ __Returns:__ /@string@/ -}-strcanon string validChars substitutor = liftIO $ do-    string' <- textToCString string-    validChars' <- textToCString validChars-    result <- g_strcanon string' validChars' substitutor-    checkUnexpectedReturnNULL "strcanon" result-    result' <- cstringToText result-    freeMem result-    freeMem string'-    freeMem validChars'-    return result'----- function g_str_tokenize_and_fold--- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "translit_locale", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the language code (like 'de' or\n  'en_GB') from which @string originates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ascii_alternates", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a\n  return location for ASCII alternates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "g_str_tokenize_and_fold" g_str_tokenize_and_fold :: -    CString ->                              -- string : TBasicType TUTF8-    CString ->                              -- translit_locale : TBasicType TUTF8-    Ptr (Ptr CString) ->                    -- ascii_alternates : TCArray True (-1) (-1) (TBasicType TUTF8)-    IO (Ptr CString)--{- |-Tokenises /@string@/ and performs folding on each token.--A token is a non-empty sequence of alphanumeric characters in the-source string, separated by non-alphanumeric characters.  An-\"alphanumeric\" character for this purpose is one that matches-'GI.GLib.Functions.unicharIsalnum' or 'GI.GLib.Functions.unicharIsmark'.--Each token is then (Unicode) normalised and case-folded.  If-/@asciiAlternates@/ is non-'Nothing' and some of the returned tokens-contain non-ASCII characters, ASCII alternatives will be generated.--The number of ASCII alternatives that are generated and the method-for doing so is unspecified, but /@translitLocale@/ (if specified) may-improve the transliteration if the language of the source string is-known.--/Since: 2.40/--}-strTokenizeAndFold ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@string@/: a string -}-    -> Maybe (T.Text)-    {- ^ /@translitLocale@/: the language code (like \'de\' or-  \'en_GB\') from which /@string@/ originates -}-    -> m (([T.Text], [T.Text]))-    {- ^ __Returns:__ the folded tokens -}-strTokenizeAndFold string translitLocale = liftIO $ do-    string' <- textToCString string-    maybeTranslitLocale <- case translitLocale of-        Nothing -> return nullPtr-        Just jTranslitLocale -> do-            jTranslitLocale' <- textToCString jTranslitLocale-            return jTranslitLocale'-    asciiAlternates <- allocMem :: IO (Ptr (Ptr CString))-    result <- g_str_tokenize_and_fold string' maybeTranslitLocale asciiAlternates-    checkUnexpectedReturnNULL "strTokenizeAndFold" result-    result' <- unpackZeroTerminatedUTF8CArray result-    mapZeroTerminatedCArray freeMem result-    freeMem result-    asciiAlternates' <- peek asciiAlternates-    asciiAlternates'' <- unpackZeroTerminatedUTF8CArray asciiAlternates'-    mapZeroTerminatedCArray freeMem asciiAlternates'-    freeMem asciiAlternates'-    freeMem string'-    freeMem maybeTranslitLocale-    freeMem asciiAlternates-    return (result', asciiAlternates'')----- function g_str_to_ascii--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string, in UTF-8", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "from_locale", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the source locale, if known", 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_str_to_ascii" g_str_to_ascii :: -    CString ->                              -- str : TBasicType TUTF8-    CString ->                              -- from_locale : TBasicType TUTF8-    IO CString--{- |-Transliterate /@str@/ to plain ASCII.--For best results, /@str@/ should be in composed normalised form.--This function performs a reasonably good set of character-replacements.  The particular set of replacements that is done may-change by version or even by runtime environment.--If the source language of /@str@/ is known, it can used to improve the-accuracy of the translation by passing it as /@fromLocale@/.  It should-be a valid POSIX locale string (of the form-@language[_territory][.codeset][\@modifier]@).--If /@fromLocale@/ is 'Nothing' then the current locale is used.--If you want to do translation for no specific locale, and you want it-to be done independently of the currently locale, specify @\"C\"@ for-/@fromLocale@/.--/Since: 2.40/--}-strToAscii ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a string, in UTF-8 -}-    -> Maybe (T.Text)-    {- ^ /@fromLocale@/: the source locale, if known -}-    -> m T.Text-    {- ^ __Returns:__ a string in plain ASCII -}-strToAscii str fromLocale = liftIO $ do-    str' <- textToCString str-    maybeFromLocale <- case fromLocale of-        Nothing -> return nullPtr-        Just jFromLocale -> do-            jFromLocale' <- textToCString jFromLocale-            return jFromLocale'-    result <- g_str_to_ascii str' maybeFromLocale-    checkUnexpectedReturnNULL "strToAscii" result-    result' <- cstringToText result-    freeMem result-    freeMem str'-    freeMem maybeFromLocale-    return result'----- function g_str_match_string--- Args : [Arg {argCName = "search_term", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the search term from the user", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "potential_hit", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text that may be a hit", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "accept_alternates", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to accept ASCII alternates", 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_str_match_string" g_str_match_string :: -    CString ->                              -- search_term : TBasicType TUTF8-    CString ->                              -- potential_hit : TBasicType TUTF8-    CInt ->                                 -- accept_alternates : TBasicType TBoolean-    IO CInt--{- |-Checks if a search conducted for /@searchTerm@/ should match-/@potentialHit@/.--This function calls 'GI.GLib.Functions.strTokenizeAndFold' on both-/@searchTerm@/ and /@potentialHit@/.  ASCII alternates are never taken-for /@searchTerm@/ but will be taken for /@potentialHit@/ according to-the value of /@acceptAlternates@/.--A hit occurs when each folded token in /@searchTerm@/ is a prefix of a-folded token from /@potentialHit@/.--Depending on how you\'re performing the search, it will typically be-faster to call 'GI.GLib.Functions.strTokenizeAndFold' on each string in-your corpus and build an index on the returned folded tokens, then-call 'GI.GLib.Functions.strTokenizeAndFold' on the search term and-perform lookups into that index.--As some examples, searching for ‘fred’ would match the potential hit-‘Smith, Fred’ and also ‘Frédéric’.  Searching for ‘Fréd’ would match-‘Frédéric’ but not ‘Frederic’ (due to the one-directional nature of-accent matching).  Searching ‘fo’ would match ‘Foo’ and ‘Bar Foo-Baz’, but not ‘SFO’ (because no word has ‘fo’ as a prefix).--/Since: 2.40/--}-strMatchString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@searchTerm@/: the search term from the user -}-    -> T.Text-    {- ^ /@potentialHit@/: the text that may be a hit -}-    -> Bool-    {- ^ /@acceptAlternates@/: 'True' to accept ASCII alternates -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@potentialHit@/ is a hit -}-strMatchString searchTerm potentialHit acceptAlternates = liftIO $ do-    searchTerm' <- textToCString searchTerm-    potentialHit' <- textToCString potentialHit-    let acceptAlternates' = (fromIntegral . fromEnum) acceptAlternates-    result <- g_str_match_string searchTerm' potentialHit' acceptAlternates'-    let result' = (/= 0) result-    freeMem searchTerm'-    freeMem potentialHit'-    return result'----- function g_str_is_ascii--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", 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_str_is_ascii" g_str_is_ascii :: -    CString ->                              -- str : TBasicType TUTF8-    IO CInt--{- |-Determines if a string is pure ASCII. A string is pure ASCII if it-contains no bytes with the high bit set.--/Since: 2.40/--}-strIsAscii ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a string -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@str@/ is ASCII -}-strIsAscii str = liftIO $ do-    str' <- textToCString str-    result <- g_str_is_ascii str'-    let result' = (/= 0) result-    freeMem str'-    return result'----- function g_str_hash--- Args : [Arg {argCName = "v", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_str_hash" g_str_hash :: -    Ptr () ->                               -- v : TBasicType TPtr-    IO Word32--{- |-Converts a string to a hash value.--This function implements the widely used \"djb\" hash apparently-posted by Daniel Bernstein to comp.lang.c some time ago.  The 32-bit unsigned hash value starts at 5381 and for each byte \'c\' in-the string, is updated: @hash = hash * 33 + c@. This function-uses the signed value of each byte.--It can be passed to @/g_hash_table_new()/@ as the /@hashFunc@/ parameter,-when using non-'Nothing' strings as keys in a 'GI.GLib.Structs.HashTable.HashTable'.--Note that this function may not be a perfect fit for all use cases.-For example, it produces some hash collisions with strings as short-as 2.--}-strHash ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@v@/: a string key -}-    -> m Word32-    {- ^ __Returns:__ a hash value corresponding to the key -}-strHash v = liftIO $ do-    result <- g_str_hash v-    return result----- function g_str_has_suffix--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a nul-terminated string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "suffix", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the nul-terminated suffix to look for", 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_str_has_suffix" g_str_has_suffix :: -    CString ->                              -- str : TBasicType TUTF8-    CString ->                              -- suffix : TBasicType TUTF8-    IO CInt--{- |-Looks whether the string /@str@/ ends with /@suffix@/.--/Since: 2.2/--}-strHasSuffix ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a nul-terminated string -}-    -> T.Text-    {- ^ /@suffix@/: the nul-terminated suffix to look for -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@str@/ end with /@suffix@/, 'False' otherwise. -}-strHasSuffix str suffix = liftIO $ do-    str' <- textToCString str-    suffix' <- textToCString suffix-    result <- g_str_has_suffix str' suffix'-    let result' = (/= 0) result-    freeMem str'-    freeMem suffix'-    return result'----- function g_str_has_prefix--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a nul-terminated string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "prefix", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the nul-terminated prefix to look for", 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_str_has_prefix" g_str_has_prefix :: -    CString ->                              -- str : TBasicType TUTF8-    CString ->                              -- prefix : TBasicType TUTF8-    IO CInt--{- |-Looks whether the string /@str@/ begins with /@prefix@/.--/Since: 2.2/--}-strHasPrefix ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a nul-terminated string -}-    -> T.Text-    {- ^ /@prefix@/: the nul-terminated prefix to look for -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@str@/ begins with /@prefix@/, 'False' otherwise. -}-strHasPrefix str prefix = liftIO $ do-    str' <- textToCString str-    prefix' <- textToCString prefix-    result <- g_str_has_prefix str' prefix'-    let result' = (/= 0) result-    freeMem str'-    freeMem prefix'-    return result'----- function g_str_equal--- Args : [Arg {argCName = "v1", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "v2", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key to compare with @v1", 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_str_equal" g_str_equal :: -    Ptr () ->                               -- v1 : TBasicType TPtr-    Ptr () ->                               -- v2 : TBasicType TPtr-    IO CInt--{- |-Compares two strings for byte-by-byte equality and returns 'True'-if they are equal. It can be passed to @/g_hash_table_new()/@ as the-/@keyEqualFunc@/ parameter, when using non-'Nothing' strings as keys in a-'GI.GLib.Structs.HashTable.HashTable'.--This function is typically used for hash table comparisons, but can be used-for general purpose comparisons of non-'Nothing' strings. For a 'Nothing'-safe string-comparison function, see 'GI.GLib.Functions.strcmp0'.--}-strEqual ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@v1@/: a key -}-    -> Ptr ()-    {- ^ /@v2@/: a key to compare with /@v1@/ -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the two keys match -}-strEqual v1 v2 = liftIO $ do-    result <- g_str_equal v1 v2-    let result' = (/= 0) result-    return result'----- function g_stpcpy--- Args : [Arg {argCName = "dest", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "destination buffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "source string.", 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_stpcpy" g_stpcpy :: -    CString ->                              -- dest : TBasicType TUTF8-    CString ->                              -- src : TBasicType TUTF8-    IO CString--{- |-Copies a nul-terminated string into the dest buffer, include the-trailing nul, and return a pointer to the trailing nul byte.-This is useful for concatenating multiple strings together-without having to repeatedly scan for the end.--}-stpcpy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@dest@/: destination buffer. -}-    -> T.Text-    {- ^ /@src@/: source string. -}-    -> m T.Text-    {- ^ __Returns:__ a pointer to trailing nul byte. -}-stpcpy dest src = liftIO $ do-    dest' <- textToCString dest-    src' <- textToCString src-    result <- g_stpcpy dest' src'-    checkUnexpectedReturnNULL "stpcpy" result-    result' <- cstringToText result-    freeMem result-    freeMem dest'-    freeMem src'-    return result'----- function g_spawn_sync--- Args : [Arg {argCName = "working_directory", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "child's current working\n    directory, or %NULL to inherit parent's", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "argv", argType = TCArray True (-1) (-1) (TBasicType TFileName), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "\n    child's argument vector", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "envp", argType = TCArray True (-1) (-1) (TBasicType TFileName), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "\n    child's environment, or %NULL to inherit parent's", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GLib", name = "SpawnFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags from #GSpawnFlags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_setup", argType = TInterface (Name {namespace = "GLib", name = "SpawnChildSetupFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "function to run in the child just before exec()", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 5, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data for @child_setup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "standard_output", argType = TCArray True (-1) (-1) (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for child output, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "standard_error", argType = TCArray True (-1) (-1) (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for child error messages, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "exit_status", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for child exit status, as returned by waitpid(), or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : True--- Skip return : False--foreign import ccall "g_spawn_sync" g_spawn_sync :: -    CString ->                              -- working_directory : TBasicType TFileName-    Ptr CString ->                          -- argv : TCArray True (-1) (-1) (TBasicType TFileName)-    Ptr CString ->                          -- envp : TCArray True (-1) (-1) (TBasicType TFileName)-    CUInt ->                                -- flags : TInterface (Name {namespace = "GLib", name = "SpawnFlags"})-    FunPtr GLib.Callbacks.C_SpawnChildSetupFunc -> -- child_setup : TInterface (Name {namespace = "GLib", name = "SpawnChildSetupFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    Ptr (Ptr Word8) ->                      -- standard_output : TCArray True (-1) (-1) (TBasicType TUInt8)-    Ptr (Ptr Word8) ->                      -- standard_error : TCArray True (-1) (-1) (TBasicType TUInt8)-    Ptr Int32 ->                            -- exit_status : TBasicType TInt-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Executes a child synchronously (waits for the child to exit before returning).-All output from the child is stored in /@standardOutput@/ and /@standardError@/,-if those parameters are non-'Nothing'. Note that you must set the-'GI.GLib.Flags.SpawnFlagsStdoutToDevNull' and 'GI.GLib.Flags.SpawnFlagsStderrToDevNull' flags when-passing 'Nothing' for /@standardOutput@/ and /@standardError@/.--If /@exitStatus@/ is non-'Nothing', the platform-specific exit status of-the child is stored there; see the documentation of-'GI.GLib.Functions.spawnCheckExitStatus' for how to use and interpret this.-Note that it is invalid to pass 'GI.GLib.Flags.SpawnFlagsDoNotReapChild' in-/@flags@/, and on POSIX platforms, the same restrictions as for-'GI.GLib.Functions.childWatchSourceNew' apply.--If an error occurs, no data is returned in /@standardOutput@/,-/@standardError@/, or /@exitStatus@/.--This function calls 'GI.GLib.Functions.spawnAsyncWithPipes' internally; see that-function for full details on the other parameters and details on-how these functions work on Windows.--}-spawnSync ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe ([Char])-    {- ^ /@workingDirectory@/: child\'s current working-    directory, or 'Nothing' to inherit parent\'s -}-    -> [[Char]]-    {- ^ /@argv@/: -    child\'s argument vector -}-    -> Maybe ([[Char]])-    {- ^ /@envp@/: -    child\'s environment, or 'Nothing' to inherit parent\'s -}-    -> [GLib.Flags.SpawnFlags]-    {- ^ /@flags@/: flags from 'GI.GLib.Flags.SpawnFlags' -}-    -> Maybe (GLib.Callbacks.SpawnChildSetupFunc)-    {- ^ /@childSetup@/: function to run in the child just before @/exec()/@ -}-    -> m ((ByteString, ByteString, Int32))-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-spawnSync workingDirectory argv envp flags childSetup = liftIO $ do-    maybeWorkingDirectory <- case workingDirectory of-        Nothing -> return nullPtr-        Just jWorkingDirectory -> do-            jWorkingDirectory' <- stringToCString jWorkingDirectory-            return jWorkingDirectory'-    argv' <- packZeroTerminatedFileNameArray argv-    maybeEnvp <- case envp of-        Nothing -> return nullPtr-        Just jEnvp -> do-            jEnvp' <- packZeroTerminatedFileNameArray jEnvp-            return jEnvp'-    let flags' = gflagsToWord flags-    maybeChildSetup <- case childSetup of-        Nothing -> return (castPtrToFunPtr nullPtr)-        Just jChildSetup -> do-            ptrchildSetup <- callocMem :: IO (Ptr (FunPtr GLib.Callbacks.C_SpawnChildSetupFunc))-            jChildSetup' <- GLib.Callbacks.mk_SpawnChildSetupFunc (GLib.Callbacks.wrap_SpawnChildSetupFunc (Just ptrchildSetup) (GLib.Callbacks.drop_closures_SpawnChildSetupFunc jChildSetup))-            poke ptrchildSetup jChildSetup'-            return jChildSetup'-    standardOutput <- allocMem :: IO (Ptr (Ptr Word8))-    standardError <- allocMem :: IO (Ptr (Ptr Word8))-    exitStatus <- allocMem :: IO (Ptr Int32)-    let userData = nullPtr-    onException (do-        _ <- propagateGError $ g_spawn_sync maybeWorkingDirectory argv' maybeEnvp flags' maybeChildSetup userData standardOutput standardError exitStatus-        standardOutput' <- peek standardOutput-        standardOutput'' <- unpackZeroTerminatedByteString standardOutput'-        freeMem standardOutput'-        standardError' <- peek standardError-        standardError'' <- unpackZeroTerminatedByteString standardError'-        freeMem standardError'-        exitStatus' <- peek exitStatus-        freeMem maybeWorkingDirectory-        mapZeroTerminatedCArray freeMem argv'-        freeMem argv'-        mapZeroTerminatedCArray freeMem maybeEnvp-        freeMem maybeEnvp-        freeMem standardOutput-        freeMem standardError-        freeMem exitStatus-        return (standardOutput'', standardError'', exitStatus')-     ) (do-        freeMem maybeWorkingDirectory-        mapZeroTerminatedCArray freeMem argv'-        freeMem argv'-        mapZeroTerminatedCArray freeMem maybeEnvp-        freeMem maybeEnvp-        freeMem standardOutput-        freeMem standardError-        freeMem exitStatus-     )----- function g_spawn_exit_error_quark--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "g_spawn_exit_error_quark" g_spawn_exit_error_quark :: -    IO Word32--{- |-/No description available in the introspection data./--}-spawnExitErrorQuark ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Word32-spawnExitErrorQuark  = liftIO $ do-    result <- g_spawn_exit_error_quark-    return result----- function g_spawn_error_quark--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "g_spawn_error_quark" g_spawn_error_quark :: -    IO Word32--{- |-/No description available in the introspection data./--}-spawnErrorQuark ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Word32-spawnErrorQuark  = liftIO $ do-    result <- g_spawn_error_quark-    return result----- function g_spawn_command_line_sync--- Args : [Arg {argCName = "command_line", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a command line", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "standard_output", argType = TCArray True (-1) (-1) (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for child output", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "standard_error", argType = TCArray True (-1) (-1) (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for child errors", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "exit_status", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for child exit status, as returned by waitpid()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : True--- Skip return : False--foreign import ccall "g_spawn_command_line_sync" g_spawn_command_line_sync :: -    CString ->                              -- command_line : TBasicType TFileName-    Ptr (Ptr Word8) ->                      -- standard_output : TCArray True (-1) (-1) (TBasicType TUInt8)-    Ptr (Ptr Word8) ->                      -- standard_error : TCArray True (-1) (-1) (TBasicType TUInt8)-    Ptr Int32 ->                            -- exit_status : TBasicType TInt-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-A simple version of 'GI.GLib.Functions.spawnSync' with little-used parameters-removed, taking a command line instead of an argument vector.  See-'GI.GLib.Functions.spawnSync' for full details. /@commandLine@/ will be parsed by-'GI.GLib.Functions.shellParseArgv'. Unlike 'GI.GLib.Functions.spawnSync', the 'GI.GLib.Flags.SpawnFlagsSearchPath' flag-is enabled. Note that 'GI.GLib.Flags.SpawnFlagsSearchPath' can have security-implications, so consider using 'GI.GLib.Functions.spawnSync' directly if-appropriate. Possible errors are those from 'GI.GLib.Functions.spawnSync' and those-from 'GI.GLib.Functions.shellParseArgv'.--If /@exitStatus@/ is non-'Nothing', the platform-specific exit status of-the child is stored there; see the documentation of-'GI.GLib.Functions.spawnCheckExitStatus' for how to use and interpret this.--On Windows, please note the implications of 'GI.GLib.Functions.shellParseArgv'-parsing /@commandLine@/. Parsing is done according to Unix shell rules, not-Windows command interpreter rules.-Space is a separator, and backslashes are-special. Thus you cannot simply pass a /@commandLine@/ containing-canonical Windows paths, like \"c:\\program files\\app\\app.exe\", as-the backslashes will be eaten, and the space will act as a-separator. You need to enclose such paths with single quotes, like-\"\'c:\\program files\\app\\app.exe\' \'e:\\folder\\argument.txt\'\".--}-spawnCommandLineSync ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@commandLine@/: a command line -}-    -> m ((ByteString, ByteString, Int32))-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-spawnCommandLineSync commandLine = liftIO $ do-    commandLine' <- stringToCString commandLine-    standardOutput <- allocMem :: IO (Ptr (Ptr Word8))-    standardError <- allocMem :: IO (Ptr (Ptr Word8))-    exitStatus <- allocMem :: IO (Ptr Int32)-    onException (do-        _ <- propagateGError $ g_spawn_command_line_sync commandLine' standardOutput standardError exitStatus-        standardOutput' <- peek standardOutput-        standardOutput'' <- unpackZeroTerminatedByteString standardOutput'-        freeMem standardOutput'-        standardError' <- peek standardError-        standardError'' <- unpackZeroTerminatedByteString standardError'-        freeMem standardError'-        exitStatus' <- peek exitStatus-        freeMem commandLine'-        freeMem standardOutput-        freeMem standardError-        freeMem exitStatus-        return (standardOutput'', standardError'', exitStatus')-     ) (do-        freeMem commandLine'-        freeMem standardOutput-        freeMem standardError-        freeMem exitStatus-     )----- function g_spawn_command_line_async--- Args : [Arg {argCName = "command_line", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a command line", 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_spawn_command_line_async" g_spawn_command_line_async :: -    CString ->                              -- command_line : TBasicType TFileName-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-A simple version of 'GI.GLib.Functions.spawnAsync' that parses a command line with-'GI.GLib.Functions.shellParseArgv' and passes it to 'GI.GLib.Functions.spawnAsync'. Runs a-command line in the background. Unlike 'GI.GLib.Functions.spawnAsync', the-'GI.GLib.Flags.SpawnFlagsSearchPath' flag is enabled, other flags are not. Note-that 'GI.GLib.Flags.SpawnFlagsSearchPath' can have security implications, so-consider using 'GI.GLib.Functions.spawnAsync' directly if appropriate. Possible-errors are those from 'GI.GLib.Functions.shellParseArgv' and 'GI.GLib.Functions.spawnAsync'.--The same concerns on Windows apply as for 'GI.GLib.Functions.spawnCommandLineSync'.--}-spawnCommandLineAsync ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@commandLine@/: a command line -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-spawnCommandLineAsync commandLine = liftIO $ do-    commandLine' <- stringToCString commandLine-    onException (do-        _ <- propagateGError $ g_spawn_command_line_async commandLine'-        freeMem commandLine'-        return ()-     ) (do-        freeMem commandLine'-     )----- function g_spawn_close_pid--- Args : [Arg {argCName = "pid", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The process reference to close", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_spawn_close_pid" g_spawn_close_pid :: -    Int32 ->                                -- pid : TBasicType TInt-    IO ()--{- |-On some platforms, notably Windows, the @/GPid/@ type represents a resource-which must be closed to prevent resource leaking. 'GI.GLib.Functions.spawnClosePid'-is provided for this purpose. It should be used on all platforms, even-though it doesn\'t do anything under UNIX.--}-spawnClosePid ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@pid@/: The process reference to close -}-    -> m ()-spawnClosePid pid = liftIO $ do-    g_spawn_close_pid pid-    return ()----- function g_spawn_check_exit_status--- Args : [Arg {argCName = "exit_status", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An exit code as returned from g_spawn_sync()", 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_spawn_check_exit_status" g_spawn_check_exit_status :: -    Int32 ->                                -- exit_status : TBasicType TInt-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Set /@error@/ if /@exitStatus@/ indicates the child exited abnormally-(e.g. with a nonzero exit code, or via a fatal signal).--The 'GI.GLib.Functions.spawnSync' and @/g_child_watch_add()/@ family of APIs return an-exit status for subprocesses encoded in a platform-specific way.-On Unix, this is guaranteed to be in the same format @/waitpid()/@ returns,-and on Windows it is guaranteed to be the result of @/GetExitCodeProcess()/@.--Prior to the introduction of this function in GLib 2.34, interpreting-/@exitStatus@/ required use of platform-specific APIs, which is problematic-for software using GLib as a cross-platform layer.--Additionally, many programs simply want to determine whether or not-the child exited successfully, and either propagate a 'GError' or-print a message to standard error. In that common case, this function-can be used. Note that the error message in /@error@/ will contain-human-readable information about the exit status.--The /@domain@/ and /@code@/ of /@error@/ have special semantics in the case-where the process has an \"exit code\", as opposed to being killed by-a signal. On Unix, this happens if @/WIFEXITED()/@ would be true of-/@exitStatus@/. On Windows, it is always the case.--The special semantics are that the actual exit code will be the-code set in /@error@/, and the domain will be @/G_SPAWN_EXIT_ERROR/@.-This allows you to differentiate between different exit codes.--If the process was terminated by some means other than an exit-status, the domain will be @/G_SPAWN_ERROR/@, and the code will be-'GI.GLib.Enums.SpawnErrorFailed'.--This function just offers convenience; you can of course also check-the available platform via a macro such as @/G_OS_UNIX/@, and use-@/WIFEXITED()/@ and @/WEXITSTATUS()/@ on /@exitStatus@/ directly. Do not attempt-to scan or parse the error message string; it may be translated and\/or-change in future versions of GLib.--/Since: 2.34/--}-spawnCheckExitStatus ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@exitStatus@/: An exit code as returned from 'GI.GLib.Functions.spawnSync' -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-spawnCheckExitStatus exitStatus = liftIO $ do-    onException (do-        _ <- propagateGError $ g_spawn_check_exit_status exitStatus-        return ()-     ) (do-        return ()-     )----- function g_spawn_async_with_pipes--- Args : [Arg {argCName = "working_directory", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "child's current working\n    directory, or %NULL to inherit parent's, in the GLib file name encoding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "argv", argType = TCArray True (-1) (-1) (TBasicType TFileName), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "child's argument\n    vector, in the GLib file name encoding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "envp", argType = TCArray True (-1) (-1) (TBasicType TFileName), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "\n    child's environment, or %NULL to inherit parent's, in the GLib file\n    name encoding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GLib", name = "SpawnFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags from #GSpawnFlags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_setup", argType = TInterface (Name {namespace = "GLib", name = "SpawnChildSetupFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "function to run in the child just before exec()", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 5, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data for @child_setup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_pid", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for child process ID, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "standard_input", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for file descriptor to write to child's stdin, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "standard_output", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for file descriptor to read child's stdout, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "standard_error", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for file descriptor to read child's stderr, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : True--- Skip return : False--foreign import ccall "g_spawn_async_with_pipes" g_spawn_async_with_pipes :: -    CString ->                              -- working_directory : TBasicType TFileName-    Ptr CString ->                          -- argv : TCArray True (-1) (-1) (TBasicType TFileName)-    Ptr CString ->                          -- envp : TCArray True (-1) (-1) (TBasicType TFileName)-    CUInt ->                                -- flags : TInterface (Name {namespace = "GLib", name = "SpawnFlags"})-    FunPtr GLib.Callbacks.C_SpawnChildSetupFunc -> -- child_setup : TInterface (Name {namespace = "GLib", name = "SpawnChildSetupFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    Ptr Int32 ->                            -- child_pid : TBasicType TInt-    Ptr Int32 ->                            -- standard_input : TBasicType TInt-    Ptr Int32 ->                            -- standard_output : TBasicType TInt-    Ptr Int32 ->                            -- standard_error : TBasicType TInt-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Executes a child program asynchronously (your program will not-block waiting for the child to exit). The child program is-specified by the only argument that must be provided, /@argv@/.-/@argv@/ should be a 'Nothing'-terminated array of strings, to be passed-as the argument vector for the child. The first string in /@argv@/-is of course the name of the program to execute. By default, the-name of the program must be a full path. If /@flags@/ contains the-'GI.GLib.Flags.SpawnFlagsSearchPath' flag, the @PATH@ environment variable is-used to search for the executable. If /@flags@/ contains the-'GI.GLib.Flags.SpawnFlagsSearchPathFromEnvp' flag, the @PATH@ variable from-/@envp@/ is used to search for the executable. If both the-'GI.GLib.Flags.SpawnFlagsSearchPath' and 'GI.GLib.Flags.SpawnFlagsSearchPathFromEnvp' flags-are set, the @PATH@ variable from /@envp@/ takes precedence over-the environment variable.--If the program name is not a full path and 'GI.GLib.Flags.SpawnFlagsSearchPath' flag is not-used, then the program will be run from the current directory (or-/@workingDirectory@/, if specified); this might be unexpected or even-dangerous in some cases when the current directory is world-writable.--On Windows, note that all the string or string vector arguments to-this function and the other g_spawn*() functions are in UTF-8, the-GLib file name encoding. Unicode characters that are not part of-the system codepage passed in these arguments will be correctly-available in the spawned program only if it uses wide character API-to retrieve its command line. For C programs built with Microsoft\'s-tools it is enough to make the program have a @/wmain()/@ instead of-@/main()/@. @/wmain()/@ has a wide character argument vector as parameter.--At least currently, mingw doesn\'t support @/wmain()/@, so if you use-mingw to develop the spawned program, it should call-@/g_win32_get_command_line()/@ to get arguments in UTF-8.--On Windows the low-level child process creation API @/CreateProcess()/@-doesn\'t use argument vectors, but a command line. The C runtime-library\'s spawn*() family of functions (which 'GI.GLib.Functions.spawnAsyncWithPipes'-eventually calls) paste the argument vector elements together into-a command line, and the C runtime startup code does a corresponding-reconstruction of an argument vector from the command line, to be-passed to @/main()/@. Complications arise when you have argument vector-elements that contain spaces or double quotes. The @spawn*()@ functions-don\'t do any quoting or escaping, but on the other hand the startup-code does do unquoting and unescaping in order to enable receiving-arguments with embedded spaces or double quotes. To work around this-asymmetry, 'GI.GLib.Functions.spawnAsyncWithPipes' will do quoting and escaping on-argument vector elements that need it before calling the C runtime-@/spawn()/@ function.--The returned /@childPid@/ on Windows is a handle to the child-process, not its identifier. Process handles and process-identifiers are different concepts on Windows.--/@envp@/ is a 'Nothing'-terminated array of strings, where each string-has the form @KEY=VALUE@. This will become the child\'s environment.-If /@envp@/ is 'Nothing', the child inherits its parent\'s environment.--/@flags@/ should be the bitwise OR of any flags you want to affect the-function\'s behaviour. The 'GI.GLib.Flags.SpawnFlagsDoNotReapChild' means that the-child will not automatically be reaped; you must use a child watch-(@/g_child_watch_add()/@) to be notified about the death of the child process,-otherwise it will stay around as a zombie process until this process exits.-Eventually you must call 'GI.GLib.Functions.spawnClosePid' on the /@childPid@/, in order to-free resources which may be associated with the child process. (On Unix,-using a child watch is equivalent to calling @/waitpid()/@ or handling-the @/SIGCHLD/@ signal manually. On Windows, calling 'GI.GLib.Functions.spawnClosePid'-is equivalent to calling @/CloseHandle()/@ on the process handle returned-in /@childPid@/). See @/g_child_watch_add()/@.--Open UNIX file descriptors marked as @FD_CLOEXEC@ will be automatically-closed in the child process. 'GI.GLib.Flags.SpawnFlagsLeaveDescriptorsOpen' means that-other open file descriptors will be inherited by the child; otherwise all-descriptors except stdin\/stdout\/stderr will be closed before calling @/exec()/@-in the child. 'GI.GLib.Flags.SpawnFlagsSearchPath' means that /@argv@/[0] need not be an-absolute path, it will be looked for in the @PATH@ environment-variable. 'GI.GLib.Flags.SpawnFlagsSearchPathFromEnvp' means need not be an-absolute path, it will be looked for in the @PATH@ variable from-/@envp@/. If both 'GI.GLib.Flags.SpawnFlagsSearchPath' and 'GI.GLib.Flags.SpawnFlagsSearchPathFromEnvp'-are used, the value from /@envp@/ takes precedence over the environment.-'GI.GLib.Flags.SpawnFlagsStdoutToDevNull' means that the child\'s standard output-will be discarded, instead of going to the same location as the parent\'s-standard output. If you use this flag, /@standardOutput@/ must be 'Nothing'.-'GI.GLib.Flags.SpawnFlagsStderrToDevNull' means that the child\'s standard error-will be discarded, instead of going to the same location as the parent\'s-standard error. If you use this flag, /@standardError@/ must be 'Nothing'.-'GI.GLib.Flags.SpawnFlagsChildInheritsStdin' means that the child will inherit the parent\'s-standard input (by default, the child\'s standard input is attached to-@\/dev\/null@). If you use this flag, /@standardInput@/ must be 'Nothing'.-'GI.GLib.Flags.SpawnFlagsFileAndArgvZero' means that the first element of /@argv@/ is-the file to execute, while the remaining elements are the actual-argument vector to pass to the file. Normally 'GI.GLib.Functions.spawnAsyncWithPipes'-uses /@argv@/[0] as the file to execute, and passes all of /@argv@/ to the child.--/@childSetup@/ and /@userData@/ are a function and user data. On POSIX-platforms, the function is called in the child after GLib has-performed all the setup it plans to perform (including creating-pipes, closing file descriptors, etc.) but before calling @/exec()/@.-That is, /@childSetup@/ is called just before calling @/exec()/@ in the-child. Obviously actions taken in this function will only affect-the child, not the parent.--On Windows, there is no separate @/fork()/@ and @/exec()/@ functionality.-Child processes are created and run with a single API call,-@/CreateProcess()/@. There is no sensible thing /@childSetup@/-could be used for on Windows so it is ignored and not called.--If non-'Nothing', /@childPid@/ will on Unix be filled with the child\'s-process ID. You can use the process ID to send signals to the child,-or to use @/g_child_watch_add()/@ (or @/waitpid()/@) if you specified the-'GI.GLib.Flags.SpawnFlagsDoNotReapChild' flag. On Windows, /@childPid@/ will be-filled with a handle to the child process only if you specified the-'GI.GLib.Flags.SpawnFlagsDoNotReapChild' flag. You can then access the child-process using the Win32 API, for example wait for its termination-with the WaitFor*() functions, or examine its exit code with-@/GetExitCodeProcess()/@. You should close the handle with @/CloseHandle()/@-or 'GI.GLib.Functions.spawnClosePid' when you no longer need it.--If non-'Nothing', the /@standardInput@/, /@standardOutput@/, /@standardError@/-locations will be filled with file descriptors for writing to the child\'s-standard input or reading from its standard output or standard error.-The caller of 'GI.GLib.Functions.spawnAsyncWithPipes' must close these file descriptors-when they are no longer in use. If these parameters are 'Nothing', the-corresponding pipe won\'t be created.--If /@standardInput@/ is 'Nothing', the child\'s standard input is attached to-@\/dev\/null@ unless 'GI.GLib.Flags.SpawnFlagsChildInheritsStdin' is set.--If /@standardError@/ is NULL, the child\'s standard error goes to the same-location as the parent\'s standard error unless 'GI.GLib.Flags.SpawnFlagsStderrToDevNull'-is set.--If /@standardOutput@/ is NULL, the child\'s standard output goes to the same-location as the parent\'s standard output unless 'GI.GLib.Flags.SpawnFlagsStdoutToDevNull'-is set.--/@error@/ can be 'Nothing' to ignore errors, or non-'Nothing' to report errors.-If an error is set, the function returns 'False'. Errors are reported-even if they occur in the child (for example if the executable in-/@argv@/[0] is not found). Typically the @message@ field of returned-errors should be displayed to users. Possible errors are those from-the @/G_SPAWN_ERROR/@ domain.--If an error occurs, /@childPid@/, /@standardInput@/, /@standardOutput@/,-and /@standardError@/ will not be filled with valid values.--If /@childPid@/ is not 'Nothing' and an error does not occur then the returned-process reference must be closed using 'GI.GLib.Functions.spawnClosePid'.--On modern UNIX platforms, GLib can use an efficient process launching-codepath driven internally by @/posix_spawn()/@. This has the advantage of-avoiding the fork-time performance costs of cloning the parent process-address space, and avoiding associated memory overcommit checks that are-not relevant in the context of immediately executing a distinct process.-This optimized codepath will be used provided that the following conditions-are met:--1. 'GI.GLib.Flags.SpawnFlagsDoNotReapChild' is set-2. 'GI.GLib.Flags.SpawnFlagsLeaveDescriptorsOpen' is set-3. 'GI.GLib.Flags.SpawnFlagsSearchPathFromEnvp' is not set-4. /@workingDirectory@/ is 'Nothing'-5. /@childSetup@/ is 'Nothing'-6. The program is of a recognised binary format, or has a shebang. Otherwise, GLib will have to execute the program through the shell, which is not done using the optimized codepath.--If you are writing a GTK+ application, and the program you are spawning is a-graphical application too, then to ensure that the spawned program opens its-windows on the right screen, you may want to use @/GdkAppLaunchContext/@,-@/GAppLaunchContext/@, or set the @/DISPLAY/@ environment variable.--}-spawnAsyncWithPipes ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe ([Char])-    {- ^ /@workingDirectory@/: child\'s current working-    directory, or 'Nothing' to inherit parent\'s, in the GLib file name encoding -}-    -> [[Char]]-    {- ^ /@argv@/: child\'s argument-    vector, in the GLib file name encoding -}-    -> Maybe ([[Char]])-    {- ^ /@envp@/: -    child\'s environment, or 'Nothing' to inherit parent\'s, in the GLib file-    name encoding -}-    -> [GLib.Flags.SpawnFlags]-    {- ^ /@flags@/: flags from 'GI.GLib.Flags.SpawnFlags' -}-    -> Maybe (GLib.Callbacks.SpawnChildSetupFunc)-    {- ^ /@childSetup@/: function to run in the child just before @/exec()/@ -}-    -> m ((Int32, Int32, Int32, Int32))-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-spawnAsyncWithPipes workingDirectory argv envp flags childSetup = liftIO $ do-    maybeWorkingDirectory <- case workingDirectory of-        Nothing -> return nullPtr-        Just jWorkingDirectory -> do-            jWorkingDirectory' <- stringToCString jWorkingDirectory-            return jWorkingDirectory'-    argv' <- packZeroTerminatedFileNameArray argv-    maybeEnvp <- case envp of-        Nothing -> return nullPtr-        Just jEnvp -> do-            jEnvp' <- packZeroTerminatedFileNameArray jEnvp-            return jEnvp'-    let flags' = gflagsToWord flags-    maybeChildSetup <- case childSetup of-        Nothing -> return (castPtrToFunPtr nullPtr)-        Just jChildSetup -> do-            ptrchildSetup <- callocMem :: IO (Ptr (FunPtr GLib.Callbacks.C_SpawnChildSetupFunc))-            jChildSetup' <- GLib.Callbacks.mk_SpawnChildSetupFunc (GLib.Callbacks.wrap_SpawnChildSetupFunc (Just ptrchildSetup) (GLib.Callbacks.drop_closures_SpawnChildSetupFunc jChildSetup))-            poke ptrchildSetup jChildSetup'-            return jChildSetup'-    childPid <- allocMem :: IO (Ptr Int32)-    standardInput <- allocMem :: IO (Ptr Int32)-    standardOutput <- allocMem :: IO (Ptr Int32)-    standardError <- allocMem :: IO (Ptr Int32)-    let userData = nullPtr-    onException (do-        _ <- propagateGError $ g_spawn_async_with_pipes maybeWorkingDirectory argv' maybeEnvp flags' maybeChildSetup userData childPid standardInput standardOutput standardError-        childPid' <- peek childPid-        standardInput' <- peek standardInput-        standardOutput' <- peek standardOutput-        standardError' <- peek standardError-        freeMem maybeWorkingDirectory-        mapZeroTerminatedCArray freeMem argv'-        freeMem argv'-        mapZeroTerminatedCArray freeMem maybeEnvp-        freeMem maybeEnvp-        freeMem childPid-        freeMem standardInput-        freeMem standardOutput-        freeMem standardError-        return (childPid', standardInput', standardOutput', standardError')-     ) (do-        freeMem maybeWorkingDirectory-        mapZeroTerminatedCArray freeMem argv'-        freeMem argv'-        mapZeroTerminatedCArray freeMem maybeEnvp-        freeMem maybeEnvp-        freeMem childPid-        freeMem standardInput-        freeMem standardOutput-        freeMem standardError-     )----- function g_spawn_async_with_fds--- Args : [Arg {argCName = "working_directory", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "child's current working directory, or %NULL to inherit parent's, in the GLib file name encoding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "argv", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "child's argument vector, in the GLib file name encoding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "envp", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "child's environment, or %NULL to inherit parent's, in the GLib file name encoding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GLib", name = "SpawnFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags from #GSpawnFlags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_setup", argType = TInterface (Name {namespace = "GLib", name = "SpawnChildSetupFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "function to run in the child just before exec()", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 5, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data for @child_setup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_pid", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for child process ID, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "stdin_fd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "file descriptor to use for child's stdin, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stdout_fd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "file descriptor to use for child's stdout, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stderr_fd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "file descriptor to use for child's stderr, or -1", 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_spawn_async_with_fds" g_spawn_async_with_fds :: -    CString ->                              -- working_directory : TBasicType TFileName-    Ptr CString ->                          -- argv : TCArray True (-1) (-1) (TBasicType TUTF8)-    Ptr CString ->                          -- envp : TCArray True (-1) (-1) (TBasicType TUTF8)-    CUInt ->                                -- flags : TInterface (Name {namespace = "GLib", name = "SpawnFlags"})-    FunPtr GLib.Callbacks.C_SpawnChildSetupFunc -> -- child_setup : TInterface (Name {namespace = "GLib", name = "SpawnChildSetupFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    Ptr Int32 ->                            -- child_pid : TBasicType TInt-    Int32 ->                                -- stdin_fd : TBasicType TInt-    Int32 ->                                -- stdout_fd : TBasicType TInt-    Int32 ->                                -- stderr_fd : TBasicType TInt-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Identical to 'GI.GLib.Functions.spawnAsyncWithPipes' but instead of-creating pipes for the stdin\/stdout\/stderr, you can pass existing-file descriptors into this function through the /@stdinFd@/,-/@stdoutFd@/ and /@stderrFd@/ parameters. The following /@flags@/-also have their behaviour slightly tweaked as a result:--'GI.GLib.Flags.SpawnFlagsStdoutToDevNull' means that the child\'s standard output-will be discarded, instead of going to the same location as the parent\'s-standard output. If you use this flag, /@standardOutput@/ must be -1.-'GI.GLib.Flags.SpawnFlagsStderrToDevNull' means that the child\'s standard error-will be discarded, instead of going to the same location as the parent\'s-standard error. If you use this flag, /@standardError@/ must be -1.-'GI.GLib.Flags.SpawnFlagsChildInheritsStdin' means that the child will inherit the parent\'s-standard input (by default, the child\'s standard input is attached to-\/dev\/null). If you use this flag, /@standardInput@/ must be -1.--It is valid to pass the same fd in multiple parameters (e.g. you can pass-a single fd for both stdout and stderr).--/Since: 2.58/--}-spawnAsyncWithFds ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe ([Char])-    {- ^ /@workingDirectory@/: child\'s current working directory, or 'Nothing' to inherit parent\'s, in the GLib file name encoding -}-    -> [T.Text]-    {- ^ /@argv@/: child\'s argument vector, in the GLib file name encoding -}-    -> Maybe ([T.Text])-    {- ^ /@envp@/: child\'s environment, or 'Nothing' to inherit parent\'s, in the GLib file name encoding -}-    -> [GLib.Flags.SpawnFlags]-    {- ^ /@flags@/: flags from 'GI.GLib.Flags.SpawnFlags' -}-    -> Maybe (GLib.Callbacks.SpawnChildSetupFunc)-    {- ^ /@childSetup@/: function to run in the child just before @/exec()/@ -}-    -> Int32-    {- ^ /@stdinFd@/: file descriptor to use for child\'s stdin, or -1 -}-    -> Int32-    {- ^ /@stdoutFd@/: file descriptor to use for child\'s stdout, or -1 -}-    -> Int32-    {- ^ /@stderrFd@/: file descriptor to use for child\'s stderr, or -1 -}-    -> m (Int32)-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-spawnAsyncWithFds workingDirectory argv envp flags childSetup stdinFd stdoutFd stderrFd = liftIO $ do-    maybeWorkingDirectory <- case workingDirectory of-        Nothing -> return nullPtr-        Just jWorkingDirectory -> do-            jWorkingDirectory' <- stringToCString jWorkingDirectory-            return jWorkingDirectory'-    argv' <- packZeroTerminatedUTF8CArray argv-    maybeEnvp <- case envp of-        Nothing -> return nullPtr-        Just jEnvp -> do-            jEnvp' <- packZeroTerminatedUTF8CArray jEnvp-            return jEnvp'-    let flags' = gflagsToWord flags-    maybeChildSetup <- case childSetup of-        Nothing -> return (castPtrToFunPtr nullPtr)-        Just jChildSetup -> do-            ptrchildSetup <- callocMem :: IO (Ptr (FunPtr GLib.Callbacks.C_SpawnChildSetupFunc))-            jChildSetup' <- GLib.Callbacks.mk_SpawnChildSetupFunc (GLib.Callbacks.wrap_SpawnChildSetupFunc (Just ptrchildSetup) (GLib.Callbacks.drop_closures_SpawnChildSetupFunc jChildSetup))-            poke ptrchildSetup jChildSetup'-            return jChildSetup'-    childPid <- allocMem :: IO (Ptr Int32)-    let userData = nullPtr-    onException (do-        _ <- propagateGError $ g_spawn_async_with_fds maybeWorkingDirectory argv' maybeEnvp flags' maybeChildSetup userData childPid stdinFd stdoutFd stderrFd-        childPid' <- peek childPid-        freeMem maybeWorkingDirectory-        mapZeroTerminatedCArray freeMem argv'-        freeMem argv'-        mapZeroTerminatedCArray freeMem maybeEnvp-        freeMem maybeEnvp-        freeMem childPid-        return childPid'-     ) (do-        freeMem maybeWorkingDirectory-        mapZeroTerminatedCArray freeMem argv'-        freeMem argv'-        mapZeroTerminatedCArray freeMem maybeEnvp-        freeMem maybeEnvp-        freeMem childPid-     )----- function g_spawn_async--- Args : [Arg {argCName = "working_directory", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "child's current working\n    directory, or %NULL to inherit parent's", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "argv", argType = TCArray True (-1) (-1) (TBasicType TFileName), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "\n    child's argument vector", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "envp", argType = TCArray True (-1) (-1) (TBasicType TFileName), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "\n    child's environment, or %NULL to inherit parent's", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GLib", name = "SpawnFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags from #GSpawnFlags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_setup", argType = TInterface (Name {namespace = "GLib", name = "SpawnChildSetupFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "function to run in the child just before exec()", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 5, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data for @child_setup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_pid", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for child process reference, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : True--- Skip return : False--foreign import ccall "g_spawn_async" g_spawn_async :: -    CString ->                              -- working_directory : TBasicType TFileName-    Ptr CString ->                          -- argv : TCArray True (-1) (-1) (TBasicType TFileName)-    Ptr CString ->                          -- envp : TCArray True (-1) (-1) (TBasicType TFileName)-    CUInt ->                                -- flags : TInterface (Name {namespace = "GLib", name = "SpawnFlags"})-    FunPtr GLib.Callbacks.C_SpawnChildSetupFunc -> -- child_setup : TInterface (Name {namespace = "GLib", name = "SpawnChildSetupFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    Ptr Int32 ->                            -- child_pid : TBasicType TInt-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-See 'GI.GLib.Functions.spawnAsyncWithPipes' for a full description; this function-simply calls the 'GI.GLib.Functions.spawnAsyncWithPipes' without any pipes.--You should call 'GI.GLib.Functions.spawnClosePid' on the returned child process-reference when you don\'t need it any more.--If you are writing a GTK+ application, and the program you are spawning is a-graphical application too, then to ensure that the spawned program opens its-windows on the right screen, you may want to use @/GdkAppLaunchContext/@,-@/GAppLaunchContext/@, or set the @/DISPLAY/@ environment variable.--Note that the returned /@childPid@/ on Windows is a handle to the child-process and not its identifier. Process handles and process identifiers-are different concepts on Windows.--}-spawnAsync ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe ([Char])-    {- ^ /@workingDirectory@/: child\'s current working-    directory, or 'Nothing' to inherit parent\'s -}-    -> [[Char]]-    {- ^ /@argv@/: -    child\'s argument vector -}-    -> Maybe ([[Char]])-    {- ^ /@envp@/: -    child\'s environment, or 'Nothing' to inherit parent\'s -}-    -> [GLib.Flags.SpawnFlags]-    {- ^ /@flags@/: flags from 'GI.GLib.Flags.SpawnFlags' -}-    -> Maybe (GLib.Callbacks.SpawnChildSetupFunc)-    {- ^ /@childSetup@/: function to run in the child just before @/exec()/@ -}-    -> m (Int32)-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-spawnAsync workingDirectory argv envp flags childSetup = liftIO $ do-    maybeWorkingDirectory <- case workingDirectory of-        Nothing -> return nullPtr-        Just jWorkingDirectory -> do-            jWorkingDirectory' <- stringToCString jWorkingDirectory-            return jWorkingDirectory'-    argv' <- packZeroTerminatedFileNameArray argv-    maybeEnvp <- case envp of-        Nothing -> return nullPtr-        Just jEnvp -> do-            jEnvp' <- packZeroTerminatedFileNameArray jEnvp-            return jEnvp'-    let flags' = gflagsToWord flags-    maybeChildSetup <- case childSetup of-        Nothing -> return (castPtrToFunPtr nullPtr)-        Just jChildSetup -> do-            ptrchildSetup <- callocMem :: IO (Ptr (FunPtr GLib.Callbacks.C_SpawnChildSetupFunc))-            jChildSetup' <- GLib.Callbacks.mk_SpawnChildSetupFunc (GLib.Callbacks.wrap_SpawnChildSetupFunc (Just ptrchildSetup) (GLib.Callbacks.drop_closures_SpawnChildSetupFunc jChildSetup))-            poke ptrchildSetup jChildSetup'-            return jChildSetup'-    childPid <- allocMem :: IO (Ptr Int32)-    let userData = nullPtr-    onException (do-        _ <- propagateGError $ g_spawn_async maybeWorkingDirectory argv' maybeEnvp flags' maybeChildSetup userData childPid-        childPid' <- peek childPid-        freeMem maybeWorkingDirectory-        mapZeroTerminatedCArray freeMem argv'-        freeMem argv'-        mapZeroTerminatedCArray freeMem maybeEnvp-        freeMem maybeEnvp-        freeMem childPid-        return childPid'-     ) (do-        freeMem maybeWorkingDirectory-        mapZeroTerminatedCArray freeMem argv'-        freeMem argv'-        mapZeroTerminatedCArray freeMem maybeEnvp-        freeMem maybeEnvp-        freeMem childPid-     )----- function g_spaced_primes_closest--- Args : [Arg {argCName = "num", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #guint", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_spaced_primes_closest" g_spaced_primes_closest :: -    Word32 ->                               -- num : TBasicType TUInt-    IO Word32--{- |-Gets the smallest prime number from a built-in array of primes which-is larger than /@num@/. This is used within GLib to calculate the optimum-size of a 'GI.GLib.Structs.HashTable.HashTable'.--The built-in array of primes ranges from 11 to 13845163 such that-each prime is approximately 1.5-2 times the previous prime.--}-spacedPrimesClosest ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@num@/: a @/guint/@ -}-    -> m Word32-    {- ^ __Returns:__ the smallest prime number from a built-in array of primes-    which is larger than /@num@/ -}-spacedPrimesClosest num = liftIO $ do-    result <- g_spaced_primes_closest num-    return result----- function g_slice_set_config--- Args : [Arg {argCName = "ckey", argType = TInterface (Name {namespace = "GLib", name = "SliceConfig"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TInt64, 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_slice_set_config" g_slice_set_config :: -    CUInt ->                                -- ckey : TInterface (Name {namespace = "GLib", name = "SliceConfig"})-    Int64 ->                                -- value : TBasicType TInt64-    IO ()--{- |-/No description available in the introspection data./--}-sliceSetConfig ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Enums.SliceConfig-    -> Int64-    -> m ()-sliceSetConfig ckey value = liftIO $ do-    let ckey' = (fromIntegral . fromEnum) ckey-    g_slice_set_config ckey' value-    return ()----- function g_slice_get_config_state--- Args : [Arg {argCName = "ckey", argType = TInterface (Name {namespace = "GLib", name = "SliceConfig"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "address", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_values", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, 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_slice_get_config_state" g_slice_get_config_state :: -    CUInt ->                                -- ckey : TInterface (Name {namespace = "GLib", name = "SliceConfig"})-    Int64 ->                                -- address : TBasicType TInt64-    Word32 ->                               -- n_values : TBasicType TUInt-    IO Int64--{- |-/No description available in the introspection data./--}-sliceGetConfigState ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Enums.SliceConfig-    -> Int64-    -> Word32-    -> m Int64-sliceGetConfigState ckey address nValues = liftIO $ do-    let ckey' = (fromIntegral . fromEnum) ckey-    result <- g_slice_get_config_state ckey' address nValues-    return result----- function g_slice_get_config--- Args : [Arg {argCName = "ckey", argType = TInterface (Name {namespace = "GLib", name = "SliceConfig"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, 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_slice_get_config" g_slice_get_config :: -    CUInt ->                                -- ckey : TInterface (Name {namespace = "GLib", name = "SliceConfig"})-    IO Int64--{- |-/No description available in the introspection data./--}-sliceGetConfig ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Enums.SliceConfig-    -> m Int64-sliceGetConfig ckey = liftIO $ do-    let ckey' = (fromIntegral . fromEnum) ckey-    result <- g_slice_get_config ckey'-    return result----- function g_slice_free_chain_with_offset--- Args : [Arg {argCName = "block_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of the blocks", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mem_chain", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a pointer to the first block of the chain", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "next_offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offset of the @next field in the blocks", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_slice_free_chain_with_offset" g_slice_free_chain_with_offset :: -    Word64 ->                               -- block_size : TBasicType TUInt64-    Ptr () ->                               -- mem_chain : TBasicType TPtr-    Word64 ->                               -- next_offset : TBasicType TUInt64-    IO ()--{- |-Frees a linked list of memory blocks of structure type /@type@/.--The memory blocks must be equal-sized, allocated via-'GI.GLib.Functions.sliceAlloc' or 'GI.GLib.Functions.sliceAlloc0' and linked together by a-/@next@/ pointer (similar to 'GI.GLib.Structs.SList.SList'). The offset of the /@next@/-field in each block is passed as third argument.-Note that the exact release behaviour can be changed with the-[@G_DEBUG=gc-friendly@][G_DEBUG] environment variable, also see-[@G_SLICE@][G_SLICE] for related debugging options.--If /@memChain@/ is 'Nothing', this function does nothing.--/Since: 2.10/--}-sliceFreeChainWithOffset ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@blockSize@/: the size of the blocks -}-    -> Ptr ()-    {- ^ /@memChain@/: a pointer to the first block of the chain -}-    -> Word64-    {- ^ /@nextOffset@/: the offset of the /@next@/ field in the blocks -}-    -> m ()-sliceFreeChainWithOffset blockSize memChain nextOffset = liftIO $ do-    g_slice_free_chain_with_offset blockSize memChain nextOffset-    return ()----- function g_slice_free1--- Args : [Arg {argCName = "block_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of the block", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mem_block", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a pointer to the block to free", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_slice_free1" g_slice_free1 :: -    Word64 ->                               -- block_size : TBasicType TUInt64-    Ptr () ->                               -- mem_block : TBasicType TPtr-    IO ()--{- |-Frees a block of memory.--The memory must have been allocated via 'GI.GLib.Functions.sliceAlloc' or-'GI.GLib.Functions.sliceAlloc0' and the /@blockSize@/ has to match the size-specified upon allocation. Note that the exact release behaviour-can be changed with the [@G_DEBUG=gc-friendly@][G_DEBUG] environment-variable, also see [@G_SLICE@][G_SLICE] for related debugging options.--If /@memBlock@/ is 'Nothing', this function does nothing.--/Since: 2.10/--}-sliceFree1 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@blockSize@/: the size of the block -}-    -> Ptr ()-    {- ^ /@memBlock@/: a pointer to the block to free -}-    -> m ()-sliceFree1 blockSize memBlock = liftIO $ do-    g_slice_free1 blockSize memBlock-    return ()----- function g_slice_copy--- Args : [Arg {argCName = "block_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to allocate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mem_block", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the memory to copy", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_slice_copy" g_slice_copy :: -    Word64 ->                               -- block_size : TBasicType TUInt64-    Ptr () ->                               -- mem_block : TBasicType TPtr-    IO (Ptr ())--{- |-Allocates a block of memory from the slice allocator-and copies /@blockSize@/ bytes into it from /@memBlock@/.--/@memBlock@/ must be non-'Nothing' if /@blockSize@/ is non-zero.--/Since: 2.14/--}-sliceCopy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@blockSize@/: the number of bytes to allocate -}-    -> Ptr ()-    {- ^ /@memBlock@/: the memory to copy -}-    -> m (Ptr ())-    {- ^ __Returns:__ a pointer to the allocated memory block, which will be 'Nothing' if and-   only if /@memSize@/ is 0 -}-sliceCopy blockSize memBlock = liftIO $ do-    result <- g_slice_copy blockSize memBlock-    return result----- function g_slice_alloc0--- Args : [Arg {argCName = "block_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to allocate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_slice_alloc0" g_slice_alloc0 :: -    Word64 ->                               -- block_size : TBasicType TUInt64-    IO (Ptr ())--{- |-Allocates a block of memory via 'GI.GLib.Functions.sliceAlloc' and initializes-the returned memory to 0. Note that the underlying slice allocation-mechanism can be changed with the [@G_SLICE=always-malloc@][G_SLICE]-environment variable.--/Since: 2.10/--}-sliceAlloc0 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@blockSize@/: the number of bytes to allocate -}-    -> m (Ptr ())-    {- ^ __Returns:__ a pointer to the allocated block, which will be 'Nothing' if and only-   if /@memSize@/ is 0 -}-sliceAlloc0 blockSize = liftIO $ do-    result <- g_slice_alloc0 blockSize-    return result----- function g_slice_alloc--- Args : [Arg {argCName = "block_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to allocate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_slice_alloc" g_slice_alloc :: -    Word64 ->                               -- block_size : TBasicType TUInt64-    IO (Ptr ())--{- |-Allocates a block of memory from the slice allocator.-The block address handed out can be expected to be aligned-to at least 1 * sizeof (void*),-though in general slices are 2 * sizeof (void*) bytes aligned,-if a @/malloc()/@ fallback implementation is used instead,-the alignment may be reduced in a libc dependent fashion.-Note that the underlying slice allocation mechanism can-be changed with the [@G_SLICE=always-malloc@][G_SLICE]-environment variable.--/Since: 2.10/--}-sliceAlloc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@blockSize@/: the number of bytes to allocate -}-    -> m (Ptr ())-    {- ^ __Returns:__ a pointer to the allocated memory block, which will be 'Nothing' if and-   only if /@memSize@/ is 0 -}-sliceAlloc blockSize = liftIO $ do-    result <- g_slice_alloc blockSize-    return result----- function g_shell_unquote--- Args : [Arg {argCName = "quoted_string", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "shell-quoted string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : True--- Skip return : False--foreign import ccall "g_shell_unquote" g_shell_unquote :: -    CString ->                              -- quoted_string : TBasicType TFileName-    Ptr (Ptr GError) ->                     -- error-    IO CString--{- |-Unquotes a string as the shell (\/bin\/sh) would. Only handles-quotes; if a string contains file globs, arithmetic operators,-variables, backticks, redirections, or other special-to-the-shell-features, the result will be different from the result a real shell-would produce (the variables, backticks, etc. will be passed-through literally instead of being expanded). This function is-guaranteed to succeed if applied to the result of-'GI.GLib.Functions.shellQuote'. If it fails, it returns 'Nothing' and sets the-error. The /@quotedString@/ need not actually contain quoted or-escaped text; 'GI.GLib.Functions.shellUnquote' simply goes through the string and-unquotes\/unescapes anything that the shell would. Both single and-double quotes are handled, as are escapes including escaped-newlines. The return value must be freed with 'GI.GLib.Functions.free'. Possible-errors are in the @/G_SHELL_ERROR/@ domain.--Shell quoting rules are a bit strange. Single quotes preserve the-literal string exactly. escape sequences are not allowed; not even-\\\' - if you want a \' in the quoted text, you have to do something-like \'foo\'\\\'\'bar\'.  Double quotes allow $, \`, \", \\, and newline to-be escaped with backslash. Otherwise double quotes preserve things-literally.--}-shellUnquote ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@quotedString@/: shell-quoted string -}-    -> m [Char]-    {- ^ __Returns:__ an unquoted string /(Can throw 'Data.GI.Base.GError.GError')/ -}-shellUnquote quotedString = liftIO $ do-    quotedString' <- stringToCString quotedString-    onException (do-        result <- propagateGError $ g_shell_unquote quotedString'-        checkUnexpectedReturnNULL "shellUnquote" result-        result' <- cstringToString result-        freeMem result-        freeMem quotedString'-        return result'-     ) (do-        freeMem quotedString'-     )----- function g_shell_quote--- Args : [Arg {argCName = "unquoted_string", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a literal string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "g_shell_quote" g_shell_quote :: -    CString ->                              -- unquoted_string : TBasicType TFileName-    IO CString--{- |-Quotes a string so that the shell (\/bin\/sh) will interpret the-quoted string to mean /@unquotedString@/. If you pass a filename to-the shell, for example, you should first quote it with this-function.  The return value must be freed with 'GI.GLib.Functions.free'. The-quoting style used is undefined (single or double quotes may be-used).--}-shellQuote ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@unquotedString@/: a literal string -}-    -> m [Char]-    {- ^ __Returns:__ quoted string -}-shellQuote unquotedString = liftIO $ do-    unquotedString' <- stringToCString unquotedString-    result <- g_shell_quote unquotedString'-    checkUnexpectedReturnNULL "shellQuote" result-    result' <- cstringToString result-    freeMem result-    freeMem unquotedString'-    return result'----- function g_shell_parse_argv--- Args : [Arg {argCName = "command_line", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "command line to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "argcp", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for number of args", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "argvp", argType = TCArray True (-1) 1 (TBasicType TFileName), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "\n  return location for array of args", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : True--- Skip return : False--foreign import ccall "g_shell_parse_argv" g_shell_parse_argv :: -    CString ->                              -- command_line : TBasicType TFileName-    Ptr Int32 ->                            -- argcp : TBasicType TInt-    Ptr (Ptr CString) ->                    -- argvp : TCArray True (-1) 1 (TBasicType TFileName)-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Parses a command line into an argument vector, in much the same way-the shell would, but without many of the expansions the shell would-perform (variable expansion, globs, operators, filename expansion,-etc. are not supported). The results are defined to be the same as-those you would get from a UNIX98 \/bin\/sh, as long as the input-contains none of the unsupported shell expansions. If the input-does contain such expansions, they are passed through-literally. Possible errors are those from the @/G_SHELL_ERROR/@-domain. Free the returned vector with 'GI.GLib.Functions.strfreev'.--}-shellParseArgv ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@commandLine@/: command line to parse -}-    -> m ((Int32, [[Char]]))-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-shellParseArgv commandLine = liftIO $ do-    commandLine' <- stringToCString commandLine-    argcp <- allocMem :: IO (Ptr Int32)-    argvp <- allocMem :: IO (Ptr (Ptr CString))-    onException (do-        _ <- propagateGError $ g_shell_parse_argv commandLine' argcp argvp-        argcp' <- peek argcp-        argvp' <- peek argvp-        argvp'' <- unpackZeroTerminatedFileNameArray argvp'-        mapZeroTerminatedCArray freeMem argvp'-        freeMem argvp'-        freeMem commandLine'-        freeMem argcp-        freeMem argvp-        return (argcp', argvp'')-     ) (do-        freeMem commandLine'-        freeMem argcp-        freeMem argvp-     )----- function g_shell_error_quark--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "g_shell_error_quark" g_shell_error_quark :: -    IO Word32--{- |-/No description available in the introspection data./--}-shellErrorQuark ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Word32-shellErrorQuark  = liftIO $ do-    result <- g_shell_error_quark-    return result----- function g_setenv--- Args : [Arg {argCName = "variable", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the environment variable to set, must not\n    contain '='.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value for to set the variable to.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "overwrite", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to change the variable if it already exists.", 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_setenv" g_setenv :: -    CString ->                              -- variable : TBasicType TFileName-    CString ->                              -- value : TBasicType TFileName-    CInt ->                                 -- overwrite : TBasicType TBoolean-    IO CInt--{- |-Sets an environment variable. On UNIX, both the variable\'s name and-value can be arbitrary byte strings, except that the variable\'s name-cannot contain \'=\'. On Windows, they should be in UTF-8.--Note that on some systems, when variables are overwritten, the memory-used for the previous variables and its value isn\'t reclaimed.--You should be mindful of the fact that environment variable handling-in UNIX is not thread-safe, and your program may crash if one thread-calls 'GI.GLib.Functions.setenv' while another thread is calling @/getenv()/@. (And note-that many functions, such as @/gettext()/@, call @/getenv()/@ internally.)-This function is only safe to use at the very start of your program,-before creating any other threads (or creating objects that create-worker threads of their own).--If you need to set up the environment for a child process, you can-use 'GI.GLib.Functions.getEnviron' to get an environment array, modify that with-'GI.GLib.Functions.environSetenv' and 'GI.GLib.Functions.environUnsetenv', and then pass that-array directly to @/execvpe()/@, 'GI.GLib.Functions.spawnAsync', or the like.--/Since: 2.4/--}-setenv ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@variable@/: the environment variable to set, must not-    contain \'=\'. -}-    -> [Char]-    {- ^ /@value@/: the value for to set the variable to. -}-    -> Bool-    {- ^ /@overwrite@/: whether to change the variable if it already exists. -}-    -> m Bool-    {- ^ __Returns:__ 'False' if the environment variable couldn\'t be set. -}-setenv variable value overwrite = liftIO $ do-    variable' <- stringToCString variable-    value' <- stringToCString value-    let overwrite' = (fromIntegral . fromEnum) overwrite-    result <- g_setenv variable' value' overwrite'-    let result' = (/= 0) result-    freeMem variable'-    freeMem value'-    return result'----- function g_set_prgname--- Args : [Arg {argCName = "prgname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the program.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_set_prgname" g_set_prgname :: -    CString ->                              -- prgname : TBasicType TUTF8-    IO ()--{- |-Sets the name of the program. This name should not be localized,-in contrast to 'GI.GLib.Functions.setApplicationName'.--If you are using @/GApplication/@ the program name is set in-@/g_application_run()/@. In case of GDK or GTK+ it is set in-@/gdk_init()/@, which is called by @/gtk_init()/@ and the-@/GtkApplication::startup/@ handler. The program name is found by-taking the last component of /@argv@/[0].--Note that for thread-safety reasons this function can only be called once.--}-setPrgname ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@prgname@/: the name of the program. -}-    -> m ()-setPrgname prgname = liftIO $ do-    prgname' <- textToCString prgname-    g_set_prgname prgname'-    freeMem prgname'-    return ()----- function g_set_error_literal--- Args : [Arg {argCName = "err", argType = TError, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a return location for a #GError", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "domain", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "error domain", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "code", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "error code", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "error message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_set_error_literal" g_set_error_literal :: -    Ptr (Ptr GError) ->                     -- err : TError-    Word32 ->                               -- domain : TBasicType TUInt32-    Int32 ->                                -- code : TBasicType TInt-    CString ->                              -- message : TBasicType TUTF8-    IO ()--{- |-Does nothing if /@err@/ is 'Nothing'; if /@err@/ is non-'Nothing', then */@err@/-must be 'Nothing'. A new 'GError' is created and assigned to */@err@/.-Unlike @/g_set_error()/@, /@message@/ is not a @/printf()/@-style format string.-Use this function if /@message@/ contains text you don\'t have control over,-that could include @/printf()/@ escape sequences.--/Since: 2.18/--}-setErrorLiteral ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@domain@/: error domain -}-    -> Int32-    {- ^ /@code@/: error code -}-    -> T.Text-    {- ^ /@message@/: error message -}-    -> m (GError)-setErrorLiteral domain code message = liftIO $ do-    err <- allocMem :: IO (Ptr (Ptr GError))-    message' <- textToCString message-    g_set_error_literal err domain code message'-    err' <- peek err-    err'' <- (wrapBoxed GError) err'-    freeMem err-    freeMem message'-    return err''----- function g_set_application_name--- Args : [Arg {argCName = "application_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "localized name of the application", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_set_application_name" g_set_application_name :: -    CString ->                              -- application_name : TBasicType TUTF8-    IO ()--{- |-Sets a human-readable name for the application. This name should be-localized if possible, and is intended for display to the user.-Contrast with 'GI.GLib.Functions.setPrgname', which sets a non-localized name.-'GI.GLib.Functions.setPrgname' will be called automatically by @/gtk_init()/@,-but 'GI.GLib.Functions.setApplicationName' will not.--Note that for thread safety reasons, this function can only-be called once.--The application name will be used in contexts such as error messages,-or when displaying an application\'s name in the task list.--/Since: 2.2/--}-setApplicationName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@applicationName@/: localized name of the application -}-    -> m ()-setApplicationName applicationName = liftIO $ do-    applicationName' <- textToCString applicationName-    g_set_application_name applicationName'-    freeMem applicationName'-    return ()----- function g_rmdir--- Args : [Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pathname in the GLib file name encoding\n    (UTF-8 on Windows)", 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_rmdir" g_rmdir :: -    CString ->                              -- filename : TBasicType TFileName-    IO Int32--{- |-A wrapper for the POSIX @/rmdir()/@ function. The @/rmdir()/@ function-deletes a directory from the filesystem.--See your C library manual for more details about how @/rmdir()/@ works-on your system.--/Since: 2.6/--}-rmdir ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@filename@/: a pathname in the GLib file name encoding-    (UTF-8 on Windows) -}-    -> m Int32-    {- ^ __Returns:__ 0 if the directory was successfully removed, -1 if an error-   occurred -}-rmdir filename = liftIO $ do-    filename' <- stringToCString filename-    result <- g_rmdir filename'-    freeMem filename'-    return result----- function g_reload_user_special_dirs_cache--- Args : []--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_reload_user_special_dirs_cache" g_reload_user_special_dirs_cache :: -    IO ()--{- |-Resets the cache used for 'GI.GLib.Functions.getUserSpecialDir', so-that the latest on-disk version is used. Call this only-if you just changed the data on disk yourself.--Due to thread safety issues this may cause leaking of strings-that were previously returned from 'GI.GLib.Functions.getUserSpecialDir'-that can\'t be freed. We ensure to only leak the data for-the directories that actually changed value though.--/Since: 2.22/--}-reloadUserSpecialDirsCache ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m ()-reloadUserSpecialDirsCache  = liftIO $ do-    g_reload_user_special_dirs_cache-    return ()----- function g_ref_string_release--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a reference counted string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_ref_string_release" g_ref_string_release :: -    CString ->                              -- str : TBasicType TUTF8-    IO ()--{- |-Releases a reference on a string; if it was the last reference, the-resources allocated by the string are freed as well.--/Since: 2.58/--}-refStringRelease ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a reference counted string -}-    -> m ()-refStringRelease str = liftIO $ do-    str' <- textToCString str-    g_ref_string_release str'-    freeMem str'-    return ()----- function g_ref_string_new_len--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @str to use, or -1 if @str is nul-terminated", 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_ref_string_new_len" g_ref_string_new_len :: -    CString ->                              -- str : TBasicType TUTF8-    Int64 ->                                -- len : TBasicType TInt64-    IO CString--{- |-Creates a new reference counted string and copies the contents of /@str@/-into it, up to /@len@/ bytes.--Since this function does not stop at nul bytes, it is the caller\'s-responsibility to ensure that /@str@/ has at least /@len@/ addressable bytes.--/Since: 2.58/--}-refStringNewLen ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a string -}-    -> Int64-    {- ^ /@len@/: length of /@str@/ to use, or -1 if /@str@/ is nul-terminated -}-    -> m T.Text-    {- ^ __Returns:__ the newly created reference counted string -}-refStringNewLen str len = liftIO $ do-    str' <- textToCString str-    result <- g_ref_string_new_len str' len-    checkUnexpectedReturnNULL "refStringNewLen" result-    result' <- cstringToText result-    freeMem result-    freeMem str'-    return result'----- function g_ref_string_new_intern--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a NUL-terminated string", 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_ref_string_new_intern" g_ref_string_new_intern :: -    CString ->                              -- str : TBasicType TUTF8-    IO CString--{- |-Creates a new reference counted string and copies the content of /@str@/-into it.--If you call this function multiple times with the same /@str@/, or with-the same contents of /@str@/, it will return a new reference, instead of-creating a new string.--/Since: 2.58/--}-refStringNewIntern ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a NUL-terminated string -}-    -> m T.Text-    {- ^ __Returns:__ the newly created reference-  counted string, or a new reference to an existing string -}-refStringNewIntern str = liftIO $ do-    str' <- textToCString str-    result <- g_ref_string_new_intern str'-    checkUnexpectedReturnNULL "refStringNewIntern" result-    result' <- cstringToText result-    freeMem result-    freeMem str'-    return result'----- function g_ref_string_new--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a NUL-terminated string", 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_ref_string_new" g_ref_string_new :: -    CString ->                              -- str : TBasicType TUTF8-    IO CString--{- |-Creates a new reference counted string and copies the contents of /@str@/-into it.--/Since: 2.58/--}-refStringNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a NUL-terminated string -}-    -> m T.Text-    {- ^ __Returns:__ the newly created reference counted string -}-refStringNew str = liftIO $ do-    str' <- textToCString str-    result <- g_ref_string_new str'-    checkUnexpectedReturnNULL "refStringNew" result-    result' <- cstringToText result-    freeMem result-    freeMem str'-    return result'----- function g_ref_string_length--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a reference counted string", 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_ref_string_length" g_ref_string_length :: -    CString ->                              -- str : TBasicType TUTF8-    IO Word64--{- |-Retrieves the length of /@str@/.--/Since: 2.58/--}-refStringLength ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a reference counted string -}-    -> m Word64-    {- ^ __Returns:__ the length of the given string, in bytes -}-refStringLength str = liftIO $ do-    str' <- textToCString str-    result <- g_ref_string_length str'-    freeMem str'-    return result----- function g_ref_string_acquire--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a reference counted string", 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_ref_string_acquire" g_ref_string_acquire :: -    CString ->                              -- str : TBasicType TUTF8-    IO CString--{- |-Acquires a reference on a string.--/Since: 2.58/--}-refStringAcquire ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a reference counted string -}-    -> m T.Text-    {- ^ __Returns:__ the given string, with its reference count increased -}-refStringAcquire str = liftIO $ do-    str' <- textToCString str-    result <- g_ref_string_acquire str'-    checkUnexpectedReturnNULL "refStringAcquire" result-    result' <- cstringToText result-    freeMem result-    freeMem str'-    return result'----- function g_ref_count_init--- Args : [Arg {argCName = "rc", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the address of a reference count variable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_ref_count_init" g_ref_count_init :: -    Int32 ->                                -- rc : TBasicType TInt-    IO ()--{- |-Initializes a reference count variable.--/Since: 2.58/--}-refCountInit ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@rc@/: the address of a reference count variable -}-    -> m ()-refCountInit rc = liftIO $ do-    g_ref_count_init rc-    return ()----- function g_ref_count_inc--- Args : [Arg {argCName = "rc", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the address of a reference count variable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_ref_count_inc" g_ref_count_inc :: -    Int32 ->                                -- rc : TBasicType TInt-    IO ()--{- |-Increases the reference count.--/Since: 2.58/--}-refCountInc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@rc@/: the address of a reference count variable -}-    -> m ()-refCountInc rc = liftIO $ do-    g_ref_count_inc rc-    return ()----- function g_ref_count_dec--- Args : [Arg {argCName = "rc", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the address of a reference count variable", 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_ref_count_dec" g_ref_count_dec :: -    Int32 ->                                -- rc : TBasicType TInt-    IO CInt--{- |-Decreases the reference count.--/Since: 2.58/--}-refCountDec ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@rc@/: the address of a reference count variable -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the reference count reached 0, and 'False' otherwise -}-refCountDec rc = liftIO $ do-    result <- g_ref_count_dec rc-    let result' = (/= 0) result-    return result'----- function g_ref_count_compare--- Args : [Arg {argCName = "rc", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the address of a reference count variable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to compare", 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_ref_count_compare" g_ref_count_compare :: -    Int32 ->                                -- rc : TBasicType TInt-    Int32 ->                                -- val : TBasicType TInt-    IO CInt--{- |-Compares the current value of /@rc@/ with /@val@/.--/Since: 2.58/--}-refCountCompare ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@rc@/: the address of a reference count variable -}-    -> Int32-    {- ^ /@val@/: the value to compare -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the reference count is the same-  as the given value -}-refCountCompare rc val = liftIO $ do-    result <- g_ref_count_compare rc val-    let result' = (/= 0) result-    return result'----- function g_realloc_n--- Args : [Arg {argCName = "mem", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the memory to reallocate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_blocks", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of blocks to allocate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_block_bytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of each block in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_realloc_n" g_realloc_n :: -    Ptr () ->                               -- mem : TBasicType TPtr-    Word64 ->                               -- n_blocks : TBasicType TUInt64-    Word64 ->                               -- n_block_bytes : TBasicType TUInt64-    IO (Ptr ())--{- |-This function is similar to 'GI.GLib.Functions.realloc', allocating (/@nBlocks@/ * /@nBlockBytes@/) bytes,-but care is taken to detect possible overflow during multiplication.--/Since: 2.24/--}-reallocN ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@mem@/: the memory to reallocate -}-    -> Word64-    {- ^ /@nBlocks@/: the number of blocks to allocate -}-    -> Word64-    {- ^ /@nBlockBytes@/: the size of each block in bytes -}-    -> m (Ptr ())-    {- ^ __Returns:__ the new address of the allocated memory -}-reallocN mem nBlocks nBlockBytes = liftIO $ do-    result <- g_realloc_n mem nBlocks nBlockBytes-    return result----- function g_realloc--- Args : [Arg {argCName = "mem", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the memory to reallocate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_bytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new size of the memory in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_realloc" g_realloc :: -    Ptr () ->                               -- mem : TBasicType TPtr-    Word64 ->                               -- n_bytes : TBasicType TUInt64-    IO (Ptr ())--{- |-Reallocates the memory pointed to by /@mem@/, so that it now has space for-/@nBytes@/ bytes of memory. It returns the new address of the memory, which may-have been moved. /@mem@/ may be 'Nothing', in which case it\'s considered to-have zero-length. /@nBytes@/ may be 0, in which case 'Nothing' will be returned-and /@mem@/ will be freed unless it is 'Nothing'.--}-realloc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@mem@/: the memory to reallocate -}-    -> Word64-    {- ^ /@nBytes@/: new size of the memory in bytes -}-    -> m (Ptr ())-    {- ^ __Returns:__ the new address of the allocated memory -}-realloc mem nBytes = liftIO $ do-    result <- g_realloc mem nBytes-    return result----- function g_rc_box_release_full--- Args : [Arg {argCName = "mem_block", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to reference counted data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "clear_func", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a function to call when clearing the data", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_rc_box_release_full" g_rc_box_release_full :: -    Ptr () ->                               -- mem_block : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- clear_func : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-Releases a reference on the data pointed by /@memBlock@/.--If the reference was the last one, it will call /@clearFunc@/-to clear the contents of /@memBlock@/, and then will free the-resources allocated for /@memBlock@/.--/Since: 2.58/--}-rcBoxReleaseFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@memBlock@/: a pointer to reference counted data -}-    -> GLib.Callbacks.DestroyNotify-    {- ^ /@clearFunc@/: a function to call when clearing the data -}-    -> m ()-rcBoxReleaseFull memBlock clearFunc = liftIO $ do-    ptrclearFunc <- callocMem :: IO (Ptr (FunPtr GLib.Callbacks.C_DestroyNotify))-    clearFunc' <- GLib.Callbacks.mk_DestroyNotify (GLib.Callbacks.wrap_DestroyNotify (Just ptrclearFunc) clearFunc)-    poke ptrclearFunc clearFunc'-    g_rc_box_release_full memBlock clearFunc'-    return ()----- function g_rc_box_release--- Args : [Arg {argCName = "mem_block", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to reference counted data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_rc_box_release" g_rc_box_release :: -    Ptr () ->                               -- mem_block : TBasicType TPtr-    IO ()--{- |-Releases a reference on the data pointed by /@memBlock@/.--If the reference was the last one, it will free the-resources allocated for /@memBlock@/.--/Since: 2.58/--}-rcBoxRelease ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@memBlock@/: a pointer to reference counted data -}-    -> m ()-rcBoxRelease memBlock = liftIO $ do-    g_rc_box_release memBlock-    return ()----- function g_rc_box_get_size--- Args : [Arg {argCName = "mem_block", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to reference counted data", 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_rc_box_get_size" g_rc_box_get_size :: -    Ptr () ->                               -- mem_block : TBasicType TPtr-    IO Word64--{- |-Retrieves the size of the reference counted data pointed by /@memBlock@/.--/Since: 2.58/--}-rcBoxGetSize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@memBlock@/: a pointer to reference counted data -}-    -> m Word64-    {- ^ __Returns:__ the size of the data, in bytes -}-rcBoxGetSize memBlock = liftIO $ do-    result <- g_rc_box_get_size memBlock-    return result----- function g_rc_box_dup--- Args : [Arg {argCName = "block_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to copy, must be greater than 0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mem_block", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the memory to copy", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_rc_box_dup" g_rc_box_dup :: -    Word64 ->                               -- block_size : TBasicType TUInt64-    Ptr () ->                               -- mem_block : TBasicType TPtr-    IO (Ptr ())--{- |-Allocates a new block of data with reference counting-semantics, and copies /@blockSize@/ bytes of /@memBlock@/-into it.--/Since: 2.58/--}-rcBoxDup ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@blockSize@/: the number of bytes to copy, must be greater than 0 -}-    -> Ptr ()-    {- ^ /@memBlock@/: the memory to copy -}-    -> m (Ptr ())-    {- ^ __Returns:__ a pointer to the allocated-  memory -}-rcBoxDup blockSize memBlock = liftIO $ do-    result <- g_rc_box_dup blockSize memBlock-    return result----- function g_rc_box_alloc0--- Args : [Arg {argCName = "block_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of the allocation, must be greater than 0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_rc_box_alloc0" g_rc_box_alloc0 :: -    Word64 ->                               -- block_size : TBasicType TUInt64-    IO (Ptr ())--{- |-Allocates /@blockSize@/ bytes of memory, and adds reference-counting semantics to it.--The contents of the returned data is set to zero.--The data will be freed when its reference count drops to-zero.--The allocated data is guaranteed to be suitably aligned for any-built-in type.--/Since: 2.58/--}-rcBoxAlloc0 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@blockSize@/: the size of the allocation, must be greater than 0 -}-    -> m (Ptr ())-    {- ^ __Returns:__ a pointer to the allocated memory -}-rcBoxAlloc0 blockSize = liftIO $ do-    result <- g_rc_box_alloc0 blockSize-    return result----- function g_rc_box_alloc--- Args : [Arg {argCName = "block_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of the allocation, must be greater than 0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_rc_box_alloc" g_rc_box_alloc :: -    Word64 ->                               -- block_size : TBasicType TUInt64-    IO (Ptr ())--{- |-Allocates /@blockSize@/ bytes of memory, and adds reference-counting semantics to it.--The data will be freed when its reference count drops to-zero.--The allocated data is guaranteed to be suitably aligned for any-built-in type.--/Since: 2.58/--}-rcBoxAlloc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@blockSize@/: the size of the allocation, must be greater than 0 -}-    -> m (Ptr ())-    {- ^ __Returns:__ a pointer to the allocated memory -}-rcBoxAlloc blockSize = liftIO $ do-    result <- g_rc_box_alloc blockSize-    return result----- function g_rc_box_acquire--- Args : [Arg {argCName = "mem_block", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to reference counted data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_rc_box_acquire" g_rc_box_acquire :: -    Ptr () ->                               -- mem_block : TBasicType TPtr-    IO (Ptr ())--{- |-Acquires a reference on the data pointed by /@memBlock@/.--/Since: 2.58/--}-rcBoxAcquire ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@memBlock@/: a pointer to reference counted data -}-    -> m (Ptr ())-    {- ^ __Returns:__ a pointer to the data,-  with its reference count increased -}-rcBoxAcquire memBlock = liftIO $ do-    result <- g_rc_box_acquire memBlock-    return result----- function g_random_set_seed--- Args : [Arg {argCName = "seed", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a value to reinitialize the global random number generator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_random_set_seed" g_random_set_seed :: -    Word32 ->                               -- seed : TBasicType TUInt32-    IO ()--{- |-Sets the seed for the global random number generator, which is used-by the g_random_* functions, to /@seed@/.--}-randomSetSeed ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@seed@/: a value to reinitialize the global random number generator -}-    -> m ()-randomSetSeed seed = liftIO $ do-    g_random_set_seed seed-    return ()----- function g_random_int_range--- Args : [Arg {argCName = "begin", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "lower closed bound of the interval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "upper open bound of the interval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt32)--- throws : False--- Skip return : False--foreign import ccall "g_random_int_range" g_random_int_range :: -    Int32 ->                                -- begin : TBasicType TInt32-    Int32 ->                                -- end : TBasicType TInt32-    IO Int32--{- |-Returns a random @/gint32/@ equally distributed over the range-[/@begin@/../@end@/-1].--}-randomIntRange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@begin@/: lower closed bound of the interval -}-    -> Int32-    {- ^ /@end@/: upper open bound of the interval -}-    -> m Int32-    {- ^ __Returns:__ a random number -}-randomIntRange begin end = liftIO $ do-    result <- g_random_int_range begin end-    return result----- function g_random_int--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "g_random_int" g_random_int :: -    IO Word32--{- |-Return a random @/guint32/@ equally distributed over the range-[0..2^32-1].--}-randomInt ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Word32-    {- ^ __Returns:__ a random number -}-randomInt  = liftIO $ do-    result <- g_random_int-    return result----- function g_random_double_range--- Args : [Arg {argCName = "begin", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "lower closed bound of the interval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "upper open bound of the interval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TDouble)--- throws : False--- Skip return : False--foreign import ccall "g_random_double_range" g_random_double_range :: -    CDouble ->                              -- begin : TBasicType TDouble-    CDouble ->                              -- end : TBasicType TDouble-    IO CDouble--{- |-Returns a random @/gdouble/@ equally distributed over the range-[/@begin@/../@end@/).--}-randomDoubleRange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Double-    {- ^ /@begin@/: lower closed bound of the interval -}-    -> Double-    {- ^ /@end@/: upper open bound of the interval -}-    -> m Double-    {- ^ __Returns:__ a random number -}-randomDoubleRange begin end = liftIO $ do-    let begin' = realToFrac begin-    let end' = realToFrac end-    result <- g_random_double_range begin' end'-    let result' = realToFrac result-    return result'----- function g_random_double--- Args : []--- Lengths : []--- returnType : Just (TBasicType TDouble)--- throws : False--- Skip return : False--foreign import ccall "g_random_double" g_random_double :: -    IO CDouble--{- |-Returns a random @/gdouble/@ equally distributed over the range [0..1).--}-randomDouble ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Double-    {- ^ __Returns:__ a random number -}-randomDouble  = liftIO $ do-    result <- g_random_double-    let result' = realToFrac result-    return result'----- function g_quark_try_string--- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "g_quark_try_string" g_quark_try_string :: -    CString ->                              -- string : TBasicType TUTF8-    IO Word32--{- |-Gets the @/GQuark/@ associated with the given string, or 0 if string is-'Nothing' or it has no associated @/GQuark/@.--If you want the GQuark to be created if it doesn\'t already exist,-use 'GI.GLib.Functions.quarkFromString' or 'GI.GLib.Functions.quarkFromStaticString'.--}-quarkTryString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@string@/: a string -}-    -> m Word32-    {- ^ __Returns:__ the @/GQuark/@ associated with the string, or 0 if /@string@/ is-    'Nothing' or there is no @/GQuark/@ associated with it -}-quarkTryString string = liftIO $ do-    maybeString <- case string of-        Nothing -> return nullPtr-        Just jString -> do-            jString' <- textToCString jString-            return jString'-    result <- g_quark_try_string maybeString-    freeMem maybeString-    return result----- function g_quark_to_string--- Args : [Arg {argCName = "quark", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GQuark.", 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_quark_to_string" g_quark_to_string :: -    Word32 ->                               -- quark : TBasicType TUInt32-    IO CString--{- |-Gets the string associated with the given @/GQuark/@.--}-quarkToString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@quark@/: a @/GQuark/@. -}-    -> m T.Text-    {- ^ __Returns:__ the string associated with the @/GQuark/@ -}-quarkToString quark = liftIO $ do-    result <- g_quark_to_string quark-    checkUnexpectedReturnNULL "quarkToString" result-    result' <- cstringToText result-    return result'----- function g_quark_from_string--- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "g_quark_from_string" g_quark_from_string :: -    CString ->                              -- string : TBasicType TUTF8-    IO Word32--{- |-Gets the @/GQuark/@ identifying the given string. If the string does-not currently have an associated @/GQuark/@, a new @/GQuark/@ is created,-using a copy of the string.--}-quarkFromString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@string@/: a string -}-    -> m Word32-    {- ^ __Returns:__ the @/GQuark/@ identifying the string, or 0 if /@string@/ is 'Nothing' -}-quarkFromString string = liftIO $ do-    maybeString <- case string of-        Nothing -> return nullPtr-        Just jString -> do-            jString' <- textToCString jString-            return jString'-    result <- g_quark_from_string maybeString-    freeMem maybeString-    return result----- function g_quark_from_static_string--- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "g_quark_from_static_string" g_quark_from_static_string :: -    CString ->                              -- string : TBasicType TUTF8-    IO Word32--{- |-Gets the @/GQuark/@ identifying the given (static) string. If the-string does not currently have an associated @/GQuark/@, a new @/GQuark/@-is created, linked to the given string.--Note that this function is identical to 'GI.GLib.Functions.quarkFromString' except-that if a new @/GQuark/@ is created the string itself is used rather-than a copy. This saves memory, but can only be used if the string-will continue to exist until the program terminates. It can be used-with statically allocated strings in the main program, but not with-statically allocated memory in dynamically loaded modules, if you-expect to ever unload the module again (e.g. do not use this-function in GTK+ theme engines).--}-quarkFromStaticString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@string@/: a string -}-    -> m Word32-    {- ^ __Returns:__ the @/GQuark/@ identifying the string, or 0 if /@string@/ is 'Nothing' -}-quarkFromStaticString string = liftIO $ do-    maybeString <- case string of-        Nothing -> return nullPtr-        Just jString -> do-            jString' <- textToCString jString-            return jString'-    result <- g_quark_from_static_string maybeString-    freeMem maybeString-    return result----- function g_propagate_error--- Args : [Arg {argCName = "dest", argType = TError, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "error return location", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "src", argType = TError, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "error to move into the return location", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_propagate_error" g_propagate_error :: -    Ptr (Ptr GError) ->                     -- dest : TError-    Ptr GError ->                           -- src : TError-    IO ()--{- |-If /@dest@/ is 'Nothing', free /@src@/; otherwise, moves /@src@/ into */@dest@/.-The error variable /@dest@/ points to must be 'Nothing'.--/@src@/ must be non-'Nothing'.--Note that /@src@/ is no longer valid after this call. If you want-to keep using the same GError*, you need to set it to 'Nothing'-after calling this function on it.--}-propagateError ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GError-    {- ^ /@src@/: error to move into the return location -}-    -> m ((Maybe GError))-propagateError src = liftIO $ do-    dest <- allocMem :: IO (Ptr (Ptr GError))-    src' <- B.ManagedPtr.disownBoxed src-    g_propagate_error dest src'-    dest' <- peek dest-    maybeDest' <- convertIfNonNull dest' $ \dest'' -> do-        dest''' <- (wrapBoxed GError) dest''-        return dest'''-    touchManagedPtr src-    freeMem dest-    return maybeDest'----- function g_poll--- Args : [Arg {argCName = "fds", argType = TInterface (Name {namespace = "GLib", name = "PollFD"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "file descriptors to poll", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nfds", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of file descriptors in @fds", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timeout", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "amount of time to wait, in milliseconds, or -1 to wait forever", 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_poll" g_poll :: -    Ptr GLib.PollFD.PollFD ->               -- fds : TInterface (Name {namespace = "GLib", name = "PollFD"})-    Word32 ->                               -- nfds : TBasicType TUInt-    Int32 ->                                -- timeout : TBasicType TInt-    IO Int32--{- |-Polls /@fds@/, as with the @/poll()/@ system call, but portably. (On-systems that don\'t have @/poll()/@, it is emulated using @/select()/@.)-This is used internally by 'GI.GLib.Structs.MainContext.MainContext', but it can be called-directly if you need to block until a file descriptor is ready, but-don\'t want to run the full main loop.--Each element of /@fds@/ is a 'GI.GLib.Structs.PollFD.PollFD' describing a single file-descriptor to poll. The /@fd@/ field indicates the file descriptor,-and the /@events@/ field indicates the events to poll for. On return,-the /@revents@/ fields will be filled with the events that actually-occurred.--On POSIX systems, the file descriptors in /@fds@/ can be any sort of-file descriptor, but the situation is much more complicated on-Windows. If you need to use 'GI.GLib.Functions.poll' in code that has to run on-Windows, the easiest solution is to construct all of your-@/GPollFDs/@ with @/g_io_channel_win32_make_pollfd()/@.--/Since: 2.20/--}-poll ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.PollFD.PollFD-    {- ^ /@fds@/: file descriptors to poll -}-    -> Word32-    {- ^ /@nfds@/: the number of file descriptors in /@fds@/ -}-    -> Int32-    {- ^ /@timeout@/: amount of time to wait, in milliseconds, or -1 to wait forever -}-    -> m Int32-    {- ^ __Returns:__ the number of entries in /@fds@/ whose /@revents@/ fields-were filled in, or 0 if the operation timed out, or -1 on error or-if the call was interrupted. -}-poll fds nfds timeout = liftIO $ do-    fds' <- unsafeManagedPtrGetPtr fds-    result <- g_poll fds' nfds timeout-    touchManagedPtr fds-    return result----- function g_pointer_bit_unlock--- Args : [Arg {argCName = "address", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gpointer-sized value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "lock_bit", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a bit value between 0 and 31", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_pointer_bit_unlock" g_pointer_bit_unlock :: -    Ptr () ->                               -- address : TBasicType TPtr-    Int32 ->                                -- lock_bit : TBasicType TInt-    IO ()--{- |-This is equivalent to g_bit_unlock, but working on pointers (or other-pointer-sized values).--For portability reasons, you may only lock on the bottom 32 bits of-the pointer.--/Since: 2.30/--}-pointerBitUnlock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@address@/: a pointer to a @/gpointer/@-sized value -}-    -> Int32-    {- ^ /@lockBit@/: a bit value between 0 and 31 -}-    -> m ()-pointerBitUnlock address lockBit = liftIO $ do-    g_pointer_bit_unlock address lockBit-    return ()----- function g_pointer_bit_trylock--- Args : [Arg {argCName = "address", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gpointer-sized value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "lock_bit", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a bit value between 0 and 31", 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_pointer_bit_trylock" g_pointer_bit_trylock :: -    Ptr () ->                               -- address : TBasicType TPtr-    Int32 ->                                -- lock_bit : TBasicType TInt-    IO CInt--{- |-This is equivalent to g_bit_trylock, but working on pointers (or-other pointer-sized values).--For portability reasons, you may only lock on the bottom 32 bits of-the pointer.--/Since: 2.30/--}-pointerBitTrylock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@address@/: a pointer to a @/gpointer/@-sized value -}-    -> Int32-    {- ^ /@lockBit@/: a bit value between 0 and 31 -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the lock was acquired -}-pointerBitTrylock address lockBit = liftIO $ do-    result <- g_pointer_bit_trylock address lockBit-    let result' = (/= 0) result-    return result'----- function g_pointer_bit_lock--- Args : [Arg {argCName = "address", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gpointer-sized value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "lock_bit", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a bit value between 0 and 31", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_pointer_bit_lock" g_pointer_bit_lock :: -    Ptr () ->                               -- address : TBasicType TPtr-    Int32 ->                                -- lock_bit : TBasicType TInt-    IO ()--{- |-This is equivalent to g_bit_lock, but working on pointers (or other-pointer-sized values).--For portability reasons, you may only lock on the bottom 32 bits of-the pointer.--/Since: 2.30/--}-pointerBitLock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@address@/: a pointer to a @/gpointer/@-sized value -}-    -> Int32-    {- ^ /@lockBit@/: a bit value between 0 and 31 -}-    -> m ()-pointerBitLock address lockBit = liftIO $ do-    g_pointer_bit_lock address lockBit-    return ()----- function g_pattern_match_string--- Args : [Arg {argCName = "pspec", argType = TInterface (Name {namespace = "GLib", name = "PatternSpec"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GPatternSpec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the UTF-8 encoded string to match", 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_pattern_match_string" g_pattern_match_string :: -    Ptr GLib.PatternSpec.PatternSpec ->     -- pspec : TInterface (Name {namespace = "GLib", name = "PatternSpec"})-    CString ->                              -- string : TBasicType TUTF8-    IO CInt--{- |-Matches a string against a compiled pattern. If the string is to be-matched against more than one pattern, consider using-'GI.GLib.Functions.patternMatch' instead while supplying the reversed string.--}-patternMatchString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.PatternSpec.PatternSpec-    {- ^ /@pspec@/: a 'GI.GLib.Structs.PatternSpec.PatternSpec' -}-    -> T.Text-    {- ^ /@string@/: the UTF-8 encoded string to match -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@string@/ matches /@pspec@/ -}-patternMatchString pspec string = liftIO $ do-    pspec' <- unsafeManagedPtrGetPtr pspec-    string' <- textToCString string-    result <- g_pattern_match_string pspec' string'-    let result' = (/= 0) result-    touchManagedPtr pspec-    freeMem string'-    return result'----- function g_pattern_match_simple--- Args : [Arg {argCName = "pattern", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the UTF-8 encoded pattern", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the UTF-8 encoded string to match", 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_pattern_match_simple" g_pattern_match_simple :: -    CString ->                              -- pattern : TBasicType TUTF8-    CString ->                              -- string : TBasicType TUTF8-    IO CInt--{- |-Matches a string against a pattern given as a string. If this-function is to be called in a loop, it\'s more efficient to compile-the pattern once with @/g_pattern_spec_new()/@ and call-'GI.GLib.Functions.patternMatchString' repeatedly.--}-patternMatchSimple ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@pattern@/: the UTF-8 encoded pattern -}-    -> T.Text-    {- ^ /@string@/: the UTF-8 encoded string to match -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@string@/ matches /@pspec@/ -}-patternMatchSimple pattern string = liftIO $ do-    pattern' <- textToCString pattern-    string' <- textToCString string-    result <- g_pattern_match_simple pattern' string'-    let result' = (/= 0) result-    freeMem pattern'-    freeMem string'-    return result'----- function g_pattern_match--- Args : [Arg {argCName = "pspec", argType = TInterface (Name {namespace = "GLib", name = "PatternSpec"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GPatternSpec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string_length", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @string (in bytes, i.e. strlen(),\n    not g_utf8_strlen())", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the UTF-8 encoded string to match", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string_reversed", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the reverse of @string or %NULL", 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_pattern_match" g_pattern_match :: -    Ptr GLib.PatternSpec.PatternSpec ->     -- pspec : TInterface (Name {namespace = "GLib", name = "PatternSpec"})-    Word32 ->                               -- string_length : TBasicType TUInt-    CString ->                              -- string : TBasicType TUTF8-    CString ->                              -- string_reversed : TBasicType TUTF8-    IO CInt--{- |-Matches a string against a compiled pattern. Passing the correct-length of the string given is mandatory. The reversed string can be-omitted by passing 'Nothing', this is more efficient if the reversed-version of the string to be matched is not at hand, as-'GI.GLib.Functions.patternMatch' will only construct it if the compiled pattern-requires reverse matches.--Note that, if the user code will (possibly) match a string against a-multitude of patterns containing wildcards, chances are high that-some patterns will require a reversed string. In this case, it\'s-more efficient to provide the reversed string to avoid multiple-constructions thereof in the various calls to 'GI.GLib.Functions.patternMatch'.--Note also that the reverse of a UTF-8 encoded string can in general-not be obtained by 'GI.GLib.Functions.strreverse'. This works only if the string-does not contain any multibyte characters. GLib offers the-'GI.GLib.Functions.utf8Strreverse' function to reverse UTF-8 encoded strings.--}-patternMatch ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.PatternSpec.PatternSpec-    {- ^ /@pspec@/: a 'GI.GLib.Structs.PatternSpec.PatternSpec' -}-    -> Word32-    {- ^ /@stringLength@/: the length of /@string@/ (in bytes, i.e. @/strlen()/@,-    not 'GI.GLib.Functions.utf8Strlen') -}-    -> T.Text-    {- ^ /@string@/: the UTF-8 encoded string to match -}-    -> Maybe (T.Text)-    {- ^ /@stringReversed@/: the reverse of /@string@/ or 'Nothing' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@string@/ matches /@pspec@/ -}-patternMatch pspec stringLength string stringReversed = liftIO $ do-    pspec' <- unsafeManagedPtrGetPtr pspec-    string' <- textToCString string-    maybeStringReversed <- case stringReversed of-        Nothing -> return nullPtr-        Just jStringReversed -> do-            jStringReversed' <- textToCString jStringReversed-            return jStringReversed'-    result <- g_pattern_match pspec' stringLength string' maybeStringReversed-    let result' = (/= 0) result-    touchManagedPtr pspec-    freeMem string'-    freeMem maybeStringReversed-    return result'----- function g_path_skip_root--- Args : [Arg {argCName = "file_name", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "g_path_skip_root" g_path_skip_root :: -    CString ->                              -- file_name : TBasicType TFileName-    IO CString--{- |-Returns a pointer into /@fileName@/ after the root component,-i.e. after the \"\/\" in UNIX or \"C:\\\" under Windows. If /@fileName@/-is not an absolute path it returns 'Nothing'.--}-pathSkipRoot ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@fileName@/: a file name -}-    -> m (Maybe [Char])-    {- ^ __Returns:__ a pointer into /@fileName@/ after the-    root component -}-pathSkipRoot fileName = liftIO $ do-    fileName' <- stringToCString fileName-    result <- g_path_skip_root fileName'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToString result'-        return result''-    freeMem fileName'-    return maybeResult----- function g_path_is_absolute--- Args : [Arg {argCName = "file_name", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file name", 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_path_is_absolute" g_path_is_absolute :: -    CString ->                              -- file_name : TBasicType TFileName-    IO CInt--{- |-Returns 'True' if the given /@fileName@/ is an absolute file name.-Note that this is a somewhat vague concept on Windows.--On POSIX systems, an absolute file name is well-defined. It always-starts from the single root directory. For example \"\/usr\/local\".--On Windows, the concepts of current drive and drive-specific-current directory introduce vagueness. This function interprets as-an absolute file name one that either begins with a directory-separator such as \"\\Users\\tml\" or begins with the root on a drive,-for example \"C:\\Windows\". The first case also includes UNC paths-such as \"\\\\myserver\\docs\\foo\". In all cases, either slashes or-backslashes are accepted.--Note that a file name relative to the current drive root does not-truly specify a file uniquely over time and across processes, as-the current drive is a per-process value and can be changed.--File names relative the current directory on some specific drive,-such as \"D:foo\/bar\", are not interpreted as absolute by this-function, but they obviously are not relative to the normal current-directory as returned by @/getcwd()/@ or 'GI.GLib.Functions.getCurrentDir'-either. Such paths should be avoided, or need to be handled using-Windows-specific code.--}-pathIsAbsolute ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@fileName@/: a file name -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@fileName@/ is absolute -}-pathIsAbsolute fileName = liftIO $ do-    fileName' <- stringToCString fileName-    result <- g_path_is_absolute fileName'-    let result' = (/= 0) result-    freeMem fileName'-    return result'----- function g_path_get_dirname--- Args : [Arg {argCName = "file_name", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the file", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "g_path_get_dirname" g_path_get_dirname :: -    CString ->                              -- file_name : TBasicType TFileName-    IO CString--{- |-Gets the directory components of a file name. For example, the directory-component of @\/usr\/bin\/test@ is @\/usr\/bin@. The directory component of @\/@-is @\/@.--If the file name has no directory components \".\" is returned.-The returned string should be freed when no longer needed.--}-pathGetDirname ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@fileName@/: the name of the file -}-    -> m [Char]-    {- ^ __Returns:__ the directory components of the file -}-pathGetDirname fileName = liftIO $ do-    fileName' <- stringToCString fileName-    result <- g_path_get_dirname fileName'-    checkUnexpectedReturnNULL "pathGetDirname" result-    result' <- cstringToString result-    freeMem result-    freeMem fileName'-    return result'----- function g_path_get_basename--- Args : [Arg {argCName = "file_name", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the file", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "g_path_get_basename" g_path_get_basename :: -    CString ->                              -- file_name : TBasicType TFileName-    IO CString--{- |-Gets the last component of the filename.--If /@fileName@/ ends with a directory separator it gets the component-before the last slash. If /@fileName@/ consists only of directory-separators (and on Windows, possibly a drive letter), a single-separator is returned. If /@fileName@/ is empty, it gets \".\".--}-pathGetBasename ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@fileName@/: the name of the file -}-    -> m [Char]-    {- ^ __Returns:__ a newly allocated string containing the last-   component of the filename -}-pathGetBasename fileName = liftIO $ do-    fileName' <- stringToCString fileName-    result <- g_path_get_basename fileName'-    checkUnexpectedReturnNULL "pathGetBasename" result-    result' <- cstringToString result-    freeMem result-    freeMem fileName'-    return result'----- function g_parse_debug_string--- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a list of debug options separated by colons, spaces, or\ncommas, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keys", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "GLib", name = "DebugKey"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to an array of #GDebugKey which associate\n    strings with bit flags.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nkeys", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of #GDebugKeys in the array.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "nkeys", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of #GDebugKeys in the array.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_parse_debug_string" g_parse_debug_string :: -    CString ->                              -- string : TBasicType TUTF8-    Ptr GLib.DebugKey.DebugKey ->           -- keys : TCArray False (-1) 2 (TInterface (Name {namespace = "GLib", name = "DebugKey"}))-    Word32 ->                               -- nkeys : TBasicType TUInt-    IO Word32--{- |-Parses a string containing debugging options-into a @/guint/@ containing bit flags. This is used-within GDK and GTK+ to parse the debug options passed on the-command line or through environment variables.--If /@string@/ is equal to \"all\", all flags are set. Any flags-specified along with \"all\" in /@string@/ are inverted; thus,-\"all,foo,bar\" or \"foo,bar,all\" sets all flags except those-corresponding to \"foo\" and \"bar\".--If /@string@/ is equal to \"help\", all the available keys in /@keys@/-are printed out to standard error.--}-parseDebugString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@string@/: a list of debug options separated by colons, spaces, or-commas, or 'Nothing'. -}-    -> [GLib.DebugKey.DebugKey]-    {- ^ /@keys@/: pointer to an array of 'GI.GLib.Structs.DebugKey.DebugKey' which associate-    strings with bit flags. -}-    -> m Word32-    {- ^ __Returns:__ the combined set of bit flags. -}-parseDebugString string keys = liftIO $ do-    let nkeys = fromIntegral $ length keys-    maybeString <- case string of-        Nothing -> return nullPtr-        Just jString -> do-            jString' <- textToCString jString-            return jString'-    keys' <- mapM unsafeManagedPtrGetPtr keys-    keys'' <- packBlockArray 16 keys'-    result <- g_parse_debug_string maybeString keys'' nkeys-    mapM_ touchManagedPtr keys-    freeMem maybeString-    freeMem keys''-    return result----- function g_option_error_quark--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "g_option_error_quark" g_option_error_quark :: -    IO Word32--{- |-/No description available in the introspection data./--}-optionErrorQuark ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Word32-optionErrorQuark  = liftIO $ do-    result <- g_option_error_quark-    return result----- function g_on_error_stack_trace--- Args : [Arg {argCName = "prg_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the program name, needed by gdb for the \"[S]tack trace\"\n    option", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_on_error_stack_trace" g_on_error_stack_trace :: -    CString ->                              -- prg_name : TBasicType TUTF8-    IO ()--{- |-Invokes gdb, which attaches to the current process and shows a-stack trace. Called by 'GI.GLib.Functions.onErrorQuery' when the \"[S]tack trace\"-option is selected. You can get the current process\'s program name-with 'GI.GLib.Functions.getPrgname', assuming that you have called @/gtk_init()/@ or-@/gdk_init()/@.--This function may cause different actions on non-UNIX platforms.--}-onErrorStackTrace ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@prgName@/: the program name, needed by gdb for the \"[S]tack trace\"-    option -}-    -> m ()-onErrorStackTrace prgName = liftIO $ do-    prgName' <- textToCString prgName-    g_on_error_stack_trace prgName'-    freeMem prgName'-    return ()----- function g_on_error_query--- Args : [Arg {argCName = "prg_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the program name, needed by gdb for the \"[S]tack trace\"\n    option. If @prg_name is %NULL, g_get_prgname() is called to get\n    the program name (which will work correctly if gdk_init() or\n    gtk_init() has been called)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_on_error_query" g_on_error_query :: -    CString ->                              -- prg_name : TBasicType TUTF8-    IO ()--{- |-Prompts the user with-@[E]xit, [H]alt, show [S]tack trace or [P]roceed@.-This function is intended to be used for debugging use only.-The following example shows how it can be used together with-the @/g_log()/@ functions.---=== /C code/->->#include <glib.h>->->static void->log_handler (const gchar   *log_domain,->             GLogLevelFlags log_level,->             const gchar   *message,->             gpointer       user_data)->{->  g_log_default_handler (log_domain, log_level, message, user_data);->->  g_on_error_query (MY_PROGRAM_NAME);->}->->int->main (int argc, char *argv[])->{->  g_log_set_handler (MY_LOG_DOMAIN,->                     G_LOG_LEVEL_WARNING |->                     G_LOG_LEVEL_ERROR |->                     G_LOG_LEVEL_CRITICAL,->                     log_handler,->                     NULL);->  ...---If \"[E]xit\" is selected, the application terminates with a call-to _exit(0).--If \"[S]tack\" trace is selected, 'GI.GLib.Functions.onErrorStackTrace' is called.-This invokes gdb, which attaches to the current process and shows-a stack trace. The prompt is then shown again.--If \"[P]roceed\" is selected, the function returns.--This function may cause different actions on non-UNIX platforms.--}-onErrorQuery ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@prgName@/: the program name, needed by gdb for the \"[S]tack trace\"-    option. If /@prgName@/ is 'Nothing', 'GI.GLib.Functions.getPrgname' is called to get-    the program name (which will work correctly if @/gdk_init()/@ or-    @/gtk_init()/@ has been called) -}-    -> m ()-onErrorQuery prgName = liftIO $ do-    prgName' <- textToCString prgName-    g_on_error_query prgName'-    freeMem prgName'-    return ()----- function g_number_parser_error_quark--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "g_number_parser_error_quark" g_number_parser_error_quark :: -    IO Word32--{- |-/No description available in the introspection data./--}-numberParserErrorQuark ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Word32-numberParserErrorQuark  = liftIO $ do-    result <- g_number_parser_error_quark-    return result----- function g_nullify_pointer--- Args : [Arg {argCName = "nullify_location", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the memory address of the pointer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_nullify_pointer" g_nullify_pointer :: -    Ptr () ->                               -- nullify_location : TBasicType TPtr-    IO ()--{- |-Set the pointer at the specified location to 'Nothing'.--}-nullifyPointer ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@nullifyLocation@/: the memory address of the pointer. -}-    -> m ()-nullifyPointer nullifyLocation = liftIO $ do-    g_nullify_pointer nullifyLocation-    return ()----- function g_mkdir_with_parents--- Args : [Arg {argCName = "pathname", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pathname in the GLib file name encoding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "permissions to use for newly created directories", 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_mkdir_with_parents" g_mkdir_with_parents :: -    CString ->                              -- pathname : TBasicType TFileName-    Int32 ->                                -- mode : TBasicType TInt-    IO Int32--{- |-Create a directory if it doesn\'t already exist. Create intermediate-parent directories as needed, too.--/Since: 2.8/--}-mkdirWithParents ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@pathname@/: a pathname in the GLib file name encoding -}-    -> Int32-    {- ^ /@mode@/: permissions to use for newly created directories -}-    -> m Int32-    {- ^ __Returns:__ 0 if the directory already exists, or was successfully-created. Returns -1 if an error occurred, with errno set. -}-mkdirWithParents pathname mode = liftIO $ do-    pathname' <- stringToCString pathname-    result <- g_mkdir_with_parents pathname' mode-    freeMem pathname'-    return result----- function g_memdup--- Args : [Arg {argCName = "mem", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the memory to copy.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "byte_size", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to copy.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_memdup" g_memdup :: -    Ptr () ->                               -- mem : TBasicType TPtr-    Word32 ->                               -- byte_size : TBasicType TUInt-    IO (Ptr ())--{- |-Allocates /@byteSize@/ bytes of memory, and copies /@byteSize@/ bytes into it-from /@mem@/. If /@mem@/ is 'Nothing' it returns 'Nothing'.--}-memdup ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@mem@/: the memory to copy. -}-    -> Word32-    {- ^ /@byteSize@/: the number of bytes to copy. -}-    -> m (Ptr ())-    {- ^ __Returns:__ a pointer to the newly-allocated copy of the memory, or 'Nothing' if /@mem@/- is 'Nothing'. -}-memdup mem byteSize = liftIO $ do-    result <- g_memdup mem byteSize-    return result----- function g_mem_set_vtable--- Args : [Arg {argCName = "vtable", argType = TInterface (Name {namespace = "GLib", name = "MemVTable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "table of memory allocation routines.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_mem_set_vtable" g_mem_set_vtable :: -    Ptr GLib.MemVTable.MemVTable ->         -- vtable : TInterface (Name {namespace = "GLib", name = "MemVTable"})-    IO ()--{-# DEPRECATED memSetVtable ["(Since version 2.46)","This function now does nothing. Use other memory","profiling tools instead"] #-}-{- |-This function used to let you override the memory allocation function.-However, its use was incompatible with the use of global constructors-in GLib and GIO, because those use the GLib allocators before main is-reached. Therefore this function is now deprecated and is just a stub.--}-memSetVtable ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.MemVTable.MemVTable-    {- ^ /@vtable@/: table of memory allocation routines. -}-    -> m ()-memSetVtable vtable = liftIO $ do-    vtable' <- unsafeManagedPtrGetPtr vtable-    g_mem_set_vtable vtable'-    touchManagedPtr vtable-    return ()----- function g_mem_profile--- Args : []--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_mem_profile" g_mem_profile :: -    IO ()--{-# DEPRECATED memProfile ["(Since version 2.46)","Use other memory profiling tools instead"] #-}-{- |-GLib used to support some tools for memory profiling, but this-no longer works. There are many other useful tools for memory-profiling these days which can be used instead.--}-memProfile ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m ()-memProfile  = liftIO $ do-    g_mem_profile-    return ()----- function g_mem_is_system_malloc--- Args : []--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "g_mem_is_system_malloc" g_mem_is_system_malloc :: -    IO CInt--{-# DEPRECATED memIsSystemMalloc ["(Since version 2.46)","GLib always uses the system malloc, so this function always","returns 'True'."] #-}-{- |-Checks whether the allocator used by 'GI.GLib.Functions.malloc' is the system\'s-malloc implementation. If it returns 'True' memory allocated with-@/malloc()/@ can be used interchangeable with memory allocated using 'GI.GLib.Functions.malloc'.-This function is useful for avoiding an extra copy of allocated memory returned-by a non-GLib-based API.--}-memIsSystemMalloc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Bool-    {- ^ __Returns:__ if 'True', @/malloc()/@ and 'GI.GLib.Functions.malloc' can be mixed. -}-memIsSystemMalloc  = liftIO $ do-    result <- g_mem_is_system_malloc-    let result' = (/= 0) result-    return result'----- function g_markup_escape_text--- Args : [Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "some valid UTF-8 text", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @text in bytes, or -1 if the text is nul-terminated", 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_markup_escape_text" g_markup_escape_text :: -    CString ->                              -- text : TBasicType TUTF8-    Int64 ->                                -- length : TBasicType TInt64-    IO CString--{- |-Escapes text so that the markup parser will parse it verbatim.-Less than, greater than, ampersand, etc. are replaced with the-corresponding entities. This function would typically be used-when writing out a file to be parsed with the markup parser.--Note that this function doesn\'t protect whitespace and line endings-from being processed according to the XML rules for normalization-of line endings and attribute values.--Note also that this function will produce character references in-the range of &@/x1/@; ... &@/x1f/@; for all control sequences-except for tabstop, newline and carriage return.  The character-references in this range are not valid XML 1.0, but they are-valid XML 1.1 and will be accepted by the GMarkup parser.--}-markupEscapeText ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@text@/: some valid UTF-8 text -}-    -> Int64-    {- ^ /@length@/: length of /@text@/ in bytes, or -1 if the text is nul-terminated -}-    -> m T.Text-    {- ^ __Returns:__ a newly allocated string with the escaped text -}-markupEscapeText text length_ = liftIO $ do-    text' <- textToCString text-    result <- g_markup_escape_text text' length_-    checkUnexpectedReturnNULL "markupEscapeText" result-    result' <- cstringToText result-    freeMem result-    freeMem text'-    return result'----- function g_markup_error_quark--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "g_markup_error_quark" g_markup_error_quark :: -    IO Word32--{- |-/No description available in the introspection data./--}-markupErrorQuark ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Word32-markupErrorQuark  = liftIO $ do-    result <- g_markup_error_quark-    return result----- function g_malloc_n--- Args : [Arg {argCName = "n_blocks", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of blocks to allocate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_block_bytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of each block in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_malloc_n" g_malloc_n :: -    Word64 ->                               -- n_blocks : TBasicType TUInt64-    Word64 ->                               -- n_block_bytes : TBasicType TUInt64-    IO (Ptr ())--{- |-This function is similar to 'GI.GLib.Functions.malloc', allocating (/@nBlocks@/ * /@nBlockBytes@/) bytes,-but care is taken to detect possible overflow during multiplication.--/Since: 2.24/--}-mallocN ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@nBlocks@/: the number of blocks to allocate -}-    -> Word64-    {- ^ /@nBlockBytes@/: the size of each block in bytes -}-    -> m (Ptr ())-    {- ^ __Returns:__ a pointer to the allocated memory -}-mallocN nBlocks nBlockBytes = liftIO $ do-    result <- g_malloc_n nBlocks nBlockBytes-    return result----- function g_malloc0_n--- Args : [Arg {argCName = "n_blocks", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of blocks to allocate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_block_bytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of each block in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_malloc0_n" g_malloc0_n :: -    Word64 ->                               -- n_blocks : TBasicType TUInt64-    Word64 ->                               -- n_block_bytes : TBasicType TUInt64-    IO (Ptr ())--{- |-This function is similar to 'GI.GLib.Functions.malloc0', allocating (/@nBlocks@/ * /@nBlockBytes@/) bytes,-but care is taken to detect possible overflow during multiplication.--/Since: 2.24/--}-malloc0N ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@nBlocks@/: the number of blocks to allocate -}-    -> Word64-    {- ^ /@nBlockBytes@/: the size of each block in bytes -}-    -> m (Ptr ())-    {- ^ __Returns:__ a pointer to the allocated memory -}-malloc0N nBlocks nBlockBytes = liftIO $ do-    result <- g_malloc0_n nBlocks nBlockBytes-    return result----- function g_malloc0--- Args : [Arg {argCName = "n_bytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to allocate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_malloc0" g_malloc0 :: -    Word64 ->                               -- n_bytes : TBasicType TUInt64-    IO (Ptr ())--{- |-Allocates /@nBytes@/ bytes of memory, initialized to 0\'s.-If /@nBytes@/ is 0 it returns 'Nothing'.--}-malloc0 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@nBytes@/: the number of bytes to allocate -}-    -> m (Ptr ())-    {- ^ __Returns:__ a pointer to the allocated memory -}-malloc0 nBytes = liftIO $ do-    result <- g_malloc0 nBytes-    return result----- function g_malloc--- Args : [Arg {argCName = "n_bytes", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to allocate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_malloc" g_malloc :: -    Word64 ->                               -- n_bytes : TBasicType TUInt64-    IO (Ptr ())--{- |-Allocates /@nBytes@/ bytes of memory.-If /@nBytes@/ is 0 it returns 'Nothing'.--}-malloc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@nBytes@/: the number of bytes to allocate -}-    -> m (Ptr ())-    {- ^ __Returns:__ a pointer to the allocated memory -}-malloc nBytes = liftIO $ do-    result <- g_malloc nBytes-    return result----- function g_main_depth--- Args : []--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "g_main_depth" g_main_depth :: -    IO Int32--{- |-Returns the depth of the stack of calls to-'GI.GLib.Structs.MainContext.mainContextDispatch' on any 'GI.GLib.Structs.MainContext.MainContext' in the current thread.- That is, when called from the toplevel, it gives 0. When-called from within a callback from 'GI.GLib.Structs.MainContext.mainContextIteration'-(or 'GI.GLib.Structs.MainLoop.mainLoopRun', etc.) it returns 1. When called from within-a callback to a recursive call to 'GI.GLib.Structs.MainContext.mainContextIteration',-it returns 2. And so forth.--This function is useful in a situation like the following:-Imagine an extremely simple \"garbage collected\" system.---=== /C code/->->static GList *free_list;->->gpointer->allocate_memory (gsize size)->{->  gpointer result = g_malloc (size);->  free_list = g_list_prepend (free_list, result);->  return result;->}->->void->free_allocated_memory (void)->{->  GList *l;->  for (l = free_list; l; l = l->next);->    g_free (l->data);->  g_list_free (free_list);->  free_list = NULL;-> }->->[...]->->while (TRUE);-> {->   g_main_context_iteration (NULL, TRUE);->   free_allocated_memory();->  }---This works from an application, however, if you want to do the same-thing from a library, it gets more difficult, since you no longer-control the main loop. You might think you can simply use an idle-function to make the call to @/free_allocated_memory()/@, but that-doesn\'t work, since the idle function could be called from a-recursive callback. This can be fixed by using 'GI.GLib.Functions.mainDepth'---=== /C code/->->gpointer->allocate_memory (gsize size)->{->  FreeListBlock *block = g_new (FreeListBlock, 1);->  block->mem = g_malloc (size);->  block->depth = g_main_depth ();->  free_list = g_list_prepend (free_list, block);->  return block->mem;->}->->void->free_allocated_memory (void)->{->  GList *l;->  ->  int depth = g_main_depth ();->  for (l = free_list; l; );->    {->      GList *next = l->next;->      FreeListBlock *block = l->data;->      if (block->depth > depth)->        {->          g_free (block->mem);->          g_free (block);->          free_list = g_list_delete_link (free_list, l);->        }->              ->      l = next;->    }->  }---There is a temptation to use 'GI.GLib.Functions.mainDepth' to solve-problems with reentrancy. For instance, while waiting for data-to be received from the network in response to a menu item,-the menu item might be selected again. It might seem that-one could make the menu item\'s callback return immediately-and do nothing if 'GI.GLib.Functions.mainDepth' returns a value greater than 1.-However, this should be avoided since the user then sees selecting-the menu item do nothing. Furthermore, you\'ll find yourself adding-these checks all over your code, since there are doubtless many,-many things that the user could do. Instead, you can use the-following techniques:--1. Use @/gtk_widget_set_sensitive()/@ or modal dialogs to prevent-   the user from interacting with elements while the main-   loop is recursing.--2. Avoid main loop recursion in situations where you can\'t handle-   arbitrary  callbacks. Instead, structure your code so that you-   simply return to the main loop and then get called again when-   there is more work to do.--}-mainDepth ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Int32-    {- ^ __Returns:__ The main loop recursion level in the current thread -}-mainDepth  = liftIO $ do-    result <- g_main_depth-    return result----- function g_main_current_source--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Source"}))--- throws : False--- Skip return : False--foreign import ccall "g_main_current_source" g_main_current_source :: -    IO (Ptr GLib.Source.Source)--{- |-Returns the currently firing source for this thread.--/Since: 2.12/--}-mainCurrentSource ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m GLib.Source.Source-    {- ^ __Returns:__ The currently firing source or 'Nothing'. -}-mainCurrentSource  = liftIO $ do-    result <- g_main_current_source-    checkUnexpectedReturnNULL "mainCurrentSource" result-    result' <- (newBoxed GLib.Source.Source) result-    return result'----- function g_log_writer_supports_color--- Args : [Arg {argCName = "output_fd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "output file descriptor to check", 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_log_writer_supports_color" g_log_writer_supports_color :: -    Int32 ->                                -- output_fd : TBasicType TInt-    IO CInt--{- |-Check whether the given /@outputFd@/ file descriptor supports ANSI color-escape sequences. If so, they can safely be used when formatting log-messages.--/Since: 2.50/--}-logWriterSupportsColor ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@outputFd@/: output file descriptor to check -}-    -> m Bool-    {- ^ __Returns:__ 'True' if ANSI color escapes are supported, 'False' otherwise -}-logWriterSupportsColor outputFd = liftIO $ do-    result <- g_log_writer_supports_color outputFd-    let result' = (/= 0) result-    return result'----- function g_log_writer_standard_streams--- Args : [Arg {argCName = "log_level", argType = TInterface (Name {namespace = "GLib", name = "LogLevelFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "log level, either from #GLogLevelFlags, or a user-defined\n   level", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fields", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "GLib", name = "LogField"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "key\8211value pairs of structured data forming\n   the log message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_fields", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of elements in the @fields array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_log_set_writer_func()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "n_fields", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of elements in the @fields array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TInterface (Name {namespace = "GLib", name = "LogWriterOutput"}))--- throws : False--- Skip return : False--foreign import ccall "g_log_writer_standard_streams" g_log_writer_standard_streams :: -    CInt ->                                 -- log_level : TInterface (Name {namespace = "GLib", name = "LogLevelFlags"})-    Ptr GLib.LogField.LogField ->           -- fields : TCArray False (-1) 2 (TInterface (Name {namespace = "GLib", name = "LogField"}))-    Word64 ->                               -- n_fields : TBasicType TUInt64-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO CUInt--{- |-Format a structured log message and print it to either @stdout@ or @stderr@,-depending on its log level. 'GI.GLib.Flags.LogLevelFlagsLevelInfo' and 'GI.GLib.Flags.LogLevelFlagsLevelDebug' messages-are sent to @stdout@; all other log levels are sent to @stderr@. Only fields-which are understood by this function are included in the formatted string-which is printed.--If the output stream supports ANSI color escape sequences, they will be used-in the output.--A trailing new-line character is added to the log message when it is printed.--This is suitable for use as a 'GI.GLib.Callbacks.LogWriterFunc'.--/Since: 2.50/--}-logWriterStandardStreams ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [GLib.Flags.LogLevelFlags]-    {- ^ /@logLevel@/: log level, either from 'GI.GLib.Flags.LogLevelFlags', or a user-defined-   level -}-    -> [GLib.LogField.LogField]-    {- ^ /@fields@/: key–value pairs of structured data forming-   the log message -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to 'GI.GLib.Functions.logSetWriterFunc' -}-    -> m GLib.Enums.LogWriterOutput-    {- ^ __Returns:__ 'GI.GLib.Enums.LogWriterOutputHandled' on success, 'GI.GLib.Enums.LogWriterOutputUnhandled' otherwise -}-logWriterStandardStreams logLevel fields userData = liftIO $ do-    let nFields = fromIntegral $ length fields-    let logLevel' = gflagsToWord logLevel-    fields' <- mapM unsafeManagedPtrGetPtr fields-    fields'' <- packBlockArray 24 fields'-    result <- g_log_writer_standard_streams logLevel' fields'' nFields userData-    let result' = (toEnum . fromIntegral) result-    mapM_ touchManagedPtr fields-    freeMem fields''-    return result'----- function g_log_writer_journald--- Args : [Arg {argCName = "log_level", argType = TInterface (Name {namespace = "GLib", name = "LogLevelFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "log level, either from #GLogLevelFlags, or a user-defined\n   level", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fields", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "GLib", name = "LogField"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "key\8211value pairs of structured data forming\n   the log message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_fields", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of elements in the @fields array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_log_set_writer_func()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "n_fields", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of elements in the @fields array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TInterface (Name {namespace = "GLib", name = "LogWriterOutput"}))--- throws : False--- Skip return : False--foreign import ccall "g_log_writer_journald" g_log_writer_journald :: -    CInt ->                                 -- log_level : TInterface (Name {namespace = "GLib", name = "LogLevelFlags"})-    Ptr GLib.LogField.LogField ->           -- fields : TCArray False (-1) 2 (TInterface (Name {namespace = "GLib", name = "LogField"}))-    Word64 ->                               -- n_fields : TBasicType TUInt64-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO CUInt--{- |-Format a structured log message and send it to the systemd journal as a set-of key–value pairs. All fields are sent to the journal, but if a field has-length zero (indicating program-specific data) then only its key will be-sent.--This is suitable for use as a 'GI.GLib.Callbacks.LogWriterFunc'.--If GLib has been compiled without systemd support, this function is still-defined, but will always return 'GI.GLib.Enums.LogWriterOutputUnhandled'.--/Since: 2.50/--}-logWriterJournald ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [GLib.Flags.LogLevelFlags]-    {- ^ /@logLevel@/: log level, either from 'GI.GLib.Flags.LogLevelFlags', or a user-defined-   level -}-    -> [GLib.LogField.LogField]-    {- ^ /@fields@/: key–value pairs of structured data forming-   the log message -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to 'GI.GLib.Functions.logSetWriterFunc' -}-    -> m GLib.Enums.LogWriterOutput-    {- ^ __Returns:__ 'GI.GLib.Enums.LogWriterOutputHandled' on success, 'GI.GLib.Enums.LogWriterOutputUnhandled' otherwise -}-logWriterJournald logLevel fields userData = liftIO $ do-    let nFields = fromIntegral $ length fields-    let logLevel' = gflagsToWord logLevel-    fields' <- mapM unsafeManagedPtrGetPtr fields-    fields'' <- packBlockArray 24 fields'-    result <- g_log_writer_journald logLevel' fields'' nFields userData-    let result' = (toEnum . fromIntegral) result-    mapM_ touchManagedPtr fields-    freeMem fields''-    return result'----- function g_log_writer_is_journald--- Args : [Arg {argCName = "output_fd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "output file descriptor to check", 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_log_writer_is_journald" g_log_writer_is_journald :: -    Int32 ->                                -- output_fd : TBasicType TInt-    IO CInt--{- |-Check whether the given /@outputFd@/ file descriptor is a connection to the-systemd journal, or something else (like a log file or @stdout@ or-@stderr@).--Invalid file descriptors are accepted and return 'False', which allows for-the following construct without needing any additional error handling:--=== /C code/->->  is_journald = g_log_writer_is_journald (fileno (stderr));---/Since: 2.50/--}-logWriterIsJournald ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@outputFd@/: output file descriptor to check -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@outputFd@/ points to the journal, 'False' otherwise -}-logWriterIsJournald outputFd = liftIO $ do-    result <- g_log_writer_is_journald outputFd-    let result' = (/= 0) result-    return result'----- function g_log_writer_format_fields--- Args : [Arg {argCName = "log_level", argType = TInterface (Name {namespace = "GLib", name = "LogLevelFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "log level, either from #GLogLevelFlags, or a user-defined\n   level", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fields", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "GLib", name = "LogField"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "key\8211value pairs of structured data forming\n   the log message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_fields", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of elements in the @fields array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "use_color", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to use ANSI color escape sequences when formatting the\n   message, %FALSE to not", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "n_fields", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of elements in the @fields array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "g_log_writer_format_fields" g_log_writer_format_fields :: -    CInt ->                                 -- log_level : TInterface (Name {namespace = "GLib", name = "LogLevelFlags"})-    Ptr GLib.LogField.LogField ->           -- fields : TCArray False (-1) 2 (TInterface (Name {namespace = "GLib", name = "LogField"}))-    Word64 ->                               -- n_fields : TBasicType TUInt64-    CInt ->                                 -- use_color : TBasicType TBoolean-    IO CString--{- |-Format a structured log message as a string suitable for outputting to the-terminal (or elsewhere). This will include the values of all fields it knows-how to interpret, which includes @MESSAGE@ and @GLIB_DOMAIN@ (see the-documentation for @/g_log_structured()/@). It does not include values from-unknown fields.--The returned string does **not** have a trailing new-line character. It is-encoded in the character set of the current locale, which is not necessarily-UTF-8.--/Since: 2.50/--}-logWriterFormatFields ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [GLib.Flags.LogLevelFlags]-    {- ^ /@logLevel@/: log level, either from 'GI.GLib.Flags.LogLevelFlags', or a user-defined-   level -}-    -> [GLib.LogField.LogField]-    {- ^ /@fields@/: key–value pairs of structured data forming-   the log message -}-    -> Bool-    {- ^ /@useColor@/: 'True' to use ANSI color escape sequences when formatting the-   message, 'False' to not -}-    -> m T.Text-    {- ^ __Returns:__ string containing the formatted log message, in-   the character set of the current locale -}-logWriterFormatFields logLevel fields useColor = liftIO $ do-    let nFields = fromIntegral $ length fields-    let logLevel' = gflagsToWord logLevel-    fields' <- mapM unsafeManagedPtrGetPtr fields-    fields'' <- packBlockArray 24 fields'-    let useColor' = (fromIntegral . fromEnum) useColor-    result <- g_log_writer_format_fields logLevel' fields'' nFields useColor'-    checkUnexpectedReturnNULL "logWriterFormatFields" result-    result' <- cstringToText result-    freeMem result-    mapM_ touchManagedPtr fields-    freeMem fields''-    return result'----- function g_log_writer_default--- Args : [Arg {argCName = "log_level", argType = TInterface (Name {namespace = "GLib", name = "LogLevelFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "log level, either from #GLogLevelFlags, or a user-defined\n   level", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fields", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "GLib", name = "LogField"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "key\8211value pairs of structured data forming\n   the log message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_fields", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of elements in the @fields array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data passed to g_log_set_writer_func()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "n_fields", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of elements in the @fields array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TInterface (Name {namespace = "GLib", name = "LogWriterOutput"}))--- throws : False--- Skip return : False--foreign import ccall "g_log_writer_default" g_log_writer_default :: -    CInt ->                                 -- log_level : TInterface (Name {namespace = "GLib", name = "LogLevelFlags"})-    Ptr GLib.LogField.LogField ->           -- fields : TCArray False (-1) 2 (TInterface (Name {namespace = "GLib", name = "LogField"}))-    Word64 ->                               -- n_fields : TBasicType TUInt64-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO CUInt--{- |-Format a structured log message and output it to the default log destination-for the platform. On Linux, this is typically the systemd journal, falling-back to @stdout@ or @stderr@ if running from the terminal or if output is-being redirected to a file.--Support for other platform-specific logging mechanisms may be added in-future. Distributors of GLib may modify this function to impose their own-(documented) platform-specific log writing policies.--This is suitable for use as a 'GI.GLib.Callbacks.LogWriterFunc', and is the default writer used-if no other is set using 'GI.GLib.Functions.logSetWriterFunc'.--As with 'GI.GLib.Functions.logDefaultHandler', this function drops debug and informational-messages unless their log domain (or @all@) is listed in the space-separated-@G_MESSAGES_DEBUG@ environment variable.--/Since: 2.50/--}-logWriterDefault ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [GLib.Flags.LogLevelFlags]-    {- ^ /@logLevel@/: log level, either from 'GI.GLib.Flags.LogLevelFlags', or a user-defined-   level -}-    -> [GLib.LogField.LogField]-    {- ^ /@fields@/: key–value pairs of structured data forming-   the log message -}-    -> Ptr ()-    {- ^ /@userData@/: user data passed to 'GI.GLib.Functions.logSetWriterFunc' -}-    -> m GLib.Enums.LogWriterOutput-    {- ^ __Returns:__ 'GI.GLib.Enums.LogWriterOutputHandled' on success, 'GI.GLib.Enums.LogWriterOutputUnhandled' otherwise -}-logWriterDefault logLevel fields userData = liftIO $ do-    let nFields = fromIntegral $ length fields-    let logLevel' = gflagsToWord logLevel-    fields' <- mapM unsafeManagedPtrGetPtr fields-    fields'' <- packBlockArray 24 fields'-    result <- g_log_writer_default logLevel' fields'' nFields userData-    let result' = (toEnum . fromIntegral) result-    mapM_ touchManagedPtr fields-    freeMem fields''-    return result'----- function g_log_variant--- Args : [Arg {argCName = "log_domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "log domain, usually %G_LOG_DOMAIN", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "log_level", argType = TInterface (Name {namespace = "GLib", name = "LogLevelFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "log level, either from #GLogLevelFlags, or a user-defined\n   level", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fields", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a dictionary (#GVariant of the type %G_VARIANT_TYPE_VARDICT)\ncontaining the key-value pairs of message data.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_log_variant" g_log_variant :: -    CString ->                              -- log_domain : TBasicType TUTF8-    CInt ->                                 -- log_level : TInterface (Name {namespace = "GLib", name = "LogLevelFlags"})-    Ptr GVariant ->                         -- fields : TVariant-    IO ()--{- |-Log a message with structured data, accepting the data within a 'GVariant'. This-version is especially useful for use in other languages, via introspection.--The only mandatory item in the /@fields@/ dictionary is the \"MESSAGE\" which must-contain the text shown to the user.--The values in the /@fields@/ dictionary are likely to be of type String-(@/G_VARIANT_TYPE_STRING/@). Array of bytes (@/G_VARIANT_TYPE_BYTESTRING/@) is also-supported. In this case the message is handled as binary and will be forwarded-to the log writer as such. The size of the array should not be higher than-@/G_MAXSSIZE/@. Otherwise it will be truncated to this size. For other types-'GI.GLib.Structs.Variant.variantPrint' will be used to convert the value into a string.--For more details on its usage and about the parameters, see @/g_log_structured()/@.--/Since: 2.50/--}-logVariant ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@logDomain@/: log domain, usually 'GI.GLib.Constants.LOG_DOMAIN' -}-    -> [GLib.Flags.LogLevelFlags]-    {- ^ /@logLevel@/: log level, either from 'GI.GLib.Flags.LogLevelFlags', or a user-defined-   level -}-    -> GVariant-    {- ^ /@fields@/: a dictionary ('GVariant' of the type @/G_VARIANT_TYPE_VARDICT/@)-containing the key-value pairs of message data. -}-    -> m ()-logVariant logDomain logLevel fields = liftIO $ do-    maybeLogDomain <- case logDomain of-        Nothing -> return nullPtr-        Just jLogDomain -> do-            jLogDomain' <- textToCString jLogDomain-            return jLogDomain'-    let logLevel' = gflagsToWord logLevel-    fields' <- unsafeManagedPtrGetPtr fields-    g_log_variant maybeLogDomain logLevel' fields'-    touchManagedPtr fields-    freeMem maybeLogDomain-    return ()----- function g_log_structured_array--- Args : [Arg {argCName = "log_level", argType = TInterface (Name {namespace = "GLib", name = "LogLevelFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "log level, either from #GLogLevelFlags, or a user-defined\n   level", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fields", argType = TCArray False (-1) 2 (TInterface (Name {namespace = "GLib", name = "LogField"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "key\8211value pairs of structured data to add\n   to the log message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_fields", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of elements in the @fields array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "n_fields", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of elements in the @fields array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_log_structured_array" g_log_structured_array :: -    CInt ->                                 -- log_level : TInterface (Name {namespace = "GLib", name = "LogLevelFlags"})-    Ptr GLib.LogField.LogField ->           -- fields : TCArray False (-1) 2 (TInterface (Name {namespace = "GLib", name = "LogField"}))-    Word64 ->                               -- n_fields : TBasicType TUInt64-    IO ()--{- |-Log a message with structured data. The message will be passed through to the-log writer set by the application using 'GI.GLib.Functions.logSetWriterFunc'. If the-message is fatal (i.e. its log level is 'GI.GLib.Flags.LogLevelFlagsLevelError'), the program will-be aborted at the end of this function.--See @/g_log_structured()/@ for more documentation.--This assumes that /@logLevel@/ is already present in /@fields@/ (typically as the-@PRIORITY@ field).--/Since: 2.50/--}-logStructuredArray ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [GLib.Flags.LogLevelFlags]-    {- ^ /@logLevel@/: log level, either from 'GI.GLib.Flags.LogLevelFlags', or a user-defined-   level -}-    -> [GLib.LogField.LogField]-    {- ^ /@fields@/: key–value pairs of structured data to add-   to the log message -}-    -> m ()-logStructuredArray logLevel fields = liftIO $ do-    let nFields = fromIntegral $ length fields-    let logLevel' = gflagsToWord logLevel-    fields' <- mapM unsafeManagedPtrGetPtr fields-    fields'' <- packBlockArray 24 fields'-    g_log_structured_array logLevel' fields'' nFields-    mapM_ touchManagedPtr fields-    freeMem fields''-    return ()----- function g_log_set_writer_func--- XXX Could not generate function g_log_set_writer_func--- Error was : Bad introspection data: "Closure not found! Callable\n  { returnType = Nothing\n  , returnMayBeNull = False\n  , returnTransfer = TransferNothing\n  , returnDocumentation =\n      Documentation { rawDocText = Nothing , sinceVersion = Nothing }\n  , args =\n      [ Arg\n          { argCName = \"func\"\n          , argType =\n              TInterface Name { namespace = \"GLib\" , name = \"LogWriterFunc\" }\n          , direction = DirectionIn\n          , mayBeNull = True\n          , argDoc =\n              Documentation\n                { rawDocText = Just \"log writer function, which must not be %NULL\"\n                , sinceVersion = Nothing\n                }\n          , argScope = ScopeTypeNotified\n          , argClosure = 1\n          , argDestroy = 2\n          , argCallerAllocates = False\n          , transfer = TransferNothing\n          }\n      , Arg\n          { argCName = \"user_data\"\n          , argType = TBasicType TPtr\n          , direction = DirectionIn\n          , mayBeNull = True\n          , argDoc =\n              Documentation\n                { rawDocText = Just \"user data to pass to @func\"\n                , sinceVersion = Nothing\n                }\n          , argScope = ScopeTypeInvalid\n          , argClosure = 0\n          , argDestroy = -1\n          , argCallerAllocates = False\n          , transfer = TransferNothing\n          }\n      , Arg\n          { argCName = \"user_data_free\"\n          , argType =\n              TInterface Name { namespace = \"GLib\" , name = \"DestroyNotify\" }\n          , direction = DirectionIn\n          , mayBeNull = False\n          , argDoc =\n              Documentation\n                { rawDocText =\n                    Just\n                      \"function to free @user_data once it\\8217s\\n   finished with, if non-%NULL\"\n                , sinceVersion = Nothing\n                }\n          , argScope = ScopeTypeAsync\n          , argClosure = -1\n          , argDestroy = 0\n          , argCallerAllocates = False\n          , transfer = TransferNothing\n          }\n      ]\n  , skipReturn = False\n  , callableThrows = False\n  , callableDeprecated = Nothing\n  , callableDocumentation =\n      Documentation\n        { rawDocText =\n            Just\n              \"Set a writer function which will be called to format and write out each log\\nmessage. Each program should set a writer function, or the default writer\\n(g_log_writer_default()) will be used.\\n\\nLibraries **must not** call this function \\8212 only programs are allowed to\\ninstall a writer function, as there must be a single, central point where\\nlog messages are formatted and outputted.\\n\\nThere can only be one writer function. It is an error to set more than one.\"\n        , sinceVersion = Just \"2.50\"\n        }\n  }\nfromList []\n1"---- function g_log_set_handler_full--- Args : [Arg {argCName = "log_domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the log domain, or %NULL for the default \"\"\n    application domain", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "log_levels", argType = TInterface (Name {namespace = "GLib", name = "LogLevelFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the log levels to apply the log handler for.\n    To handle fatal and recursive messages as well, combine\n    the log levels with the #G_LOG_FLAG_FATAL and\n    #G_LOG_FLAG_RECURSION bit flags.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "log_func", argType = TInterface (Name {namespace = "GLib", name = "LogFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the log handler function", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data passed to the log handler", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "destroy notify for @user_data, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_log_set_handler_full" g_log_set_handler_full :: -    CString ->                              -- log_domain : TBasicType TUTF8-    CInt ->                                 -- log_levels : TInterface (Name {namespace = "GLib", name = "LogLevelFlags"})-    FunPtr GLib.Callbacks.C_LogFunc ->      -- log_func : TInterface (Name {namespace = "GLib", name = "LogFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO Word32--{- |-Like @/g_log_set_handler()/@, but takes a destroy notify for the /@userData@/.--This has no effect if structured logging is enabled; see-[Using Structured Logging][using-structured-logging].--/Since: 2.46/--}-logSetHandler ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@logDomain@/: the log domain, or 'Nothing' for the default \"\"-    application domain -}-    -> [GLib.Flags.LogLevelFlags]-    {- ^ /@logLevels@/: the log levels to apply the log handler for.-    To handle fatal and recursive messages as well, combine-    the log levels with the @/G_LOG_FLAG_FATAL/@ and-    @/G_LOG_FLAG_RECURSION/@ bit flags. -}-    -> GLib.Callbacks.LogFunc-    {- ^ /@logFunc@/: the log handler function -}-    -> m Word32-    {- ^ __Returns:__ the id of the new handler -}-logSetHandler logDomain logLevels logFunc = liftIO $ do-    maybeLogDomain <- case logDomain of-        Nothing -> return nullPtr-        Just jLogDomain -> do-            jLogDomain' <- textToCString jLogDomain-            return jLogDomain'-    let logLevels' = gflagsToWord logLevels-    logFunc' <- GLib.Callbacks.mk_LogFunc (GLib.Callbacks.wrap_LogFunc Nothing (GLib.Callbacks.drop_closures_LogFunc logFunc))-    let userData = castFunPtrToPtr logFunc'-    let destroy = safeFreeFunPtrPtr-    result <- g_log_set_handler_full maybeLogDomain logLevels' logFunc' userData destroy-    freeMem maybeLogDomain-    return result----- function g_log_set_fatal_mask--- Args : [Arg {argCName = "log_domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the log domain", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fatal_mask", argType = TInterface (Name {namespace = "GLib", name = "LogLevelFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new fatal mask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "LogLevelFlags"}))--- throws : False--- Skip return : False--foreign import ccall "g_log_set_fatal_mask" g_log_set_fatal_mask :: -    CString ->                              -- log_domain : TBasicType TUTF8-    CInt ->                                 -- fatal_mask : TInterface (Name {namespace = "GLib", name = "LogLevelFlags"})-    IO CInt--{- |-Sets the log levels which are fatal in the given domain.-'GI.GLib.Flags.LogLevelFlagsLevelError' is always fatal.--This has no effect on structured log messages (using @/g_log_structured()/@ or-'GI.GLib.Functions.logStructuredArray'). To change the fatal behaviour for specific log-messages, programs must install a custom log writer function using-'GI.GLib.Functions.logSetWriterFunc'. See-[Using Structured Logging][using-structured-logging].--This function is mostly intended to be used with-'GI.GLib.Flags.LogLevelFlagsLevelCritical'.  You should typically not set-'GI.GLib.Flags.LogLevelFlagsLevelWarning', 'GI.GLib.Flags.LogLevelFlagsLevelMessage', 'GI.GLib.Flags.LogLevelFlagsLevelInfo' or-'GI.GLib.Flags.LogLevelFlagsLevelDebug' as fatal except inside of test programs.--}-logSetFatalMask ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@logDomain@/: the log domain -}-    -> [GLib.Flags.LogLevelFlags]-    {- ^ /@fatalMask@/: the new fatal mask -}-    -> m [GLib.Flags.LogLevelFlags]-    {- ^ __Returns:__ the old fatal mask for the log domain -}-logSetFatalMask logDomain fatalMask = liftIO $ do-    logDomain' <- textToCString logDomain-    let fatalMask' = gflagsToWord fatalMask-    result <- g_log_set_fatal_mask logDomain' fatalMask'-    let result' = wordToGFlags result-    freeMem logDomain'-    return result'----- function g_log_set_always_fatal--- Args : [Arg {argCName = "fatal_mask", argType = TInterface (Name {namespace = "GLib", name = "LogLevelFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the mask containing bits set for each level\n    of error which is to be fatal", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "LogLevelFlags"}))--- throws : False--- Skip return : False--foreign import ccall "g_log_set_always_fatal" g_log_set_always_fatal :: -    CInt ->                                 -- fatal_mask : TInterface (Name {namespace = "GLib", name = "LogLevelFlags"})-    IO CInt--{- |-Sets the message levels which are always fatal, in any log domain.-When a message with any of these levels is logged the program terminates.-You can only set the levels defined by GLib to be fatal.-'GI.GLib.Flags.LogLevelFlagsLevelError' is always fatal.--You can also make some message levels fatal at runtime by setting-the @G_DEBUG@ environment variable (see-<http://developer.gnome.org/glib/stable/glib-running.html Running GLib Applications>).--Libraries should not call this function, as it affects all messages logged-by a process, including those from other libraries.--Structured log messages (using @/g_log_structured()/@ and-'GI.GLib.Functions.logStructuredArray') are fatal only if the default log writer is used;-otherwise it is up to the writer function to determine which log messages-are fatal. See [Using Structured Logging][using-structured-logging].--}-logSetAlwaysFatal ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [GLib.Flags.LogLevelFlags]-    {- ^ /@fatalMask@/: the mask containing bits set for each level-    of error which is to be fatal -}-    -> m [GLib.Flags.LogLevelFlags]-    {- ^ __Returns:__ the old fatal mask -}-logSetAlwaysFatal fatalMask = liftIO $ do-    let fatalMask' = gflagsToWord fatalMask-    result <- g_log_set_always_fatal fatalMask'-    let result' = wordToGFlags result-    return result'----- function g_log_remove_handler--- Args : [Arg {argCName = "log_domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the log domain", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "handler_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the id of the handler, which was returned\n    in g_log_set_handler()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_log_remove_handler" g_log_remove_handler :: -    CString ->                              -- log_domain : TBasicType TUTF8-    Word32 ->                               -- handler_id : TBasicType TUInt-    IO ()--{- |-Removes the log handler.--This has no effect if structured logging is enabled; see-[Using Structured Logging][using-structured-logging].--}-logRemoveHandler ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@logDomain@/: the log domain -}-    -> Word32-    {- ^ /@handlerId@/: the id of the handler, which was returned-    in @/g_log_set_handler()/@ -}-    -> m ()-logRemoveHandler logDomain handlerId = liftIO $ do-    logDomain' <- textToCString logDomain-    g_log_remove_handler logDomain' handlerId-    freeMem logDomain'-    return ()----- function g_log_default_handler--- Args : [Arg {argCName = "log_domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the log domain of the message, or %NULL for the\ndefault \"\" application domain", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "log_level", argType = TInterface (Name {namespace = "GLib", name = "LogLevelFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the level of the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unused_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data passed from g_log() which is unused", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_log_default_handler" g_log_default_handler :: -    CString ->                              -- log_domain : TBasicType TUTF8-    CInt ->                                 -- log_level : TInterface (Name {namespace = "GLib", name = "LogLevelFlags"})-    CString ->                              -- message : TBasicType TUTF8-    Ptr () ->                               -- unused_data : TBasicType TPtr-    IO ()--{- |-The default log handler set up by GLib; @/g_log_set_default_handler()/@-allows to install an alternate default log handler.-This is used if no log handler has been set for the particular log-domain and log level combination. It outputs the message to stderr-or stdout and if the log level is fatal it calls @/G_BREAKPOINT()/@. It automatically-prints a new-line character after the message, so one does not need to be-manually included in /@message@/.--The behavior of this log handler can be influenced by a number of-environment variables:--* @G_MESSAGES_PREFIXED@: A :-separated list of log levels for which-messages should be prefixed by the program name and PID of the-aplication.-* @G_MESSAGES_DEBUG@: A space-separated list of log domains for-which debug and informational messages are printed. By default-these messages are not printed.---stderr is used for levels 'GI.GLib.Flags.LogLevelFlagsLevelError', 'GI.GLib.Flags.LogLevelFlagsLevelCritical',-'GI.GLib.Flags.LogLevelFlagsLevelWarning' and 'GI.GLib.Flags.LogLevelFlagsLevelMessage'. stdout is used for-the rest.--This has no effect if structured logging is enabled; see-[Using Structured Logging][using-structured-logging].--}-logDefaultHandler ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@logDomain@/: the log domain of the message, or 'Nothing' for the-default \"\" application domain -}-    -> [GLib.Flags.LogLevelFlags]-    {- ^ /@logLevel@/: the level of the message -}-    -> Maybe (T.Text)-    {- ^ /@message@/: the message -}-    -> Ptr ()-    {- ^ /@unusedData@/: data passed from @/g_log()/@ which is unused -}-    -> m ()-logDefaultHandler logDomain logLevel message unusedData = liftIO $ do-    maybeLogDomain <- case logDomain of-        Nothing -> return nullPtr-        Just jLogDomain -> do-            jLogDomain' <- textToCString jLogDomain-            return jLogDomain'-    let logLevel' = gflagsToWord logLevel-    maybeMessage <- case message of-        Nothing -> return nullPtr-        Just jMessage -> do-            jMessage' <- textToCString jMessage-            return jMessage'-    g_log_default_handler maybeLogDomain logLevel' maybeMessage unusedData-    freeMem maybeLogDomain-    freeMem maybeMessage-    return ()----- function g_locale_to_utf8--- Args : [Arg {argCName = "opsysstring", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string in the\n                encoding of the current locale. On Windows\n                this means the system codepage.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the string, or -1 if the string is\n                nul-terminated (Note that some encodings may allow nul\n                bytes to occur inside strings. In that case, using -1\n                for the @len parameter is unsafe)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bytes_read", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the number of bytes in the\n                input string that were successfully converted, or %NULL.\n                Even if the conversion was successful, this may be\n                less than @len if there were partial characters\n                at the end of the input. If the error\n                %G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value\n                stored will be the byte offset after the last valid\n                input sequence.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "bytes_written", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes stored in the output\n                buffer (not including the terminating nul).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the string, or -1 if the string is\n                nul-terminated (Note that some encodings may allow nul\n                bytes to occur inside strings. In that case, using -1\n                for the @len parameter is unsafe)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TBasicType TUTF8)--- throws : True--- Skip return : False--foreign import ccall "g_locale_to_utf8" g_locale_to_utf8 :: -    Ptr Word8 ->                            -- opsysstring : TCArray False (-1) 1 (TBasicType TUInt8)-    Int64 ->                                -- len : TBasicType TInt64-    Ptr Word64 ->                           -- bytes_read : TBasicType TUInt64-    Ptr Word64 ->                           -- bytes_written : TBasicType TUInt64-    Ptr (Ptr GError) ->                     -- error-    IO CString--{- |-Converts a string which is in the encoding used for strings by-the C runtime (usually the same as that used by the operating-system) in the [current locale][setlocale] into a UTF-8 string.--If the source encoding is not UTF-8 and the conversion output contains a-nul character, the error 'GI.GLib.Enums.ConvertErrorEmbeddedNul' is set and the-function returns 'Nothing'.-If the source encoding is UTF-8, an embedded nul character is treated with-the 'GI.GLib.Enums.ConvertErrorIllegalSequence' error for backward compatibility with-earlier versions of this library. Use 'GI.GLib.Functions.convert' to produce output that-may contain embedded nul characters.--}-localeToUtf8 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    ByteString-    {- ^ /@opsysstring@/: a string in the-                encoding of the current locale. On Windows-                this means the system codepage. -}-    -> m ((T.Text, Word64, Word64))-    {- ^ __Returns:__ The converted string, or 'Nothing' on an error. /(Can throw 'Data.GI.Base.GError.GError')/ -}-localeToUtf8 opsysstring = liftIO $ do-    let len = fromIntegral $ B.length opsysstring-    opsysstring' <- packByteString opsysstring-    bytesRead <- allocMem :: IO (Ptr Word64)-    bytesWritten <- allocMem :: IO (Ptr Word64)-    onException (do-        result <- propagateGError $ g_locale_to_utf8 opsysstring' len bytesRead bytesWritten-        checkUnexpectedReturnNULL "localeToUtf8" result-        result' <- cstringToText result-        freeMem result-        bytesRead' <- peek bytesRead-        bytesWritten' <- peek bytesWritten-        freeMem opsysstring'-        freeMem bytesRead-        freeMem bytesWritten-        return (result', bytesRead', bytesWritten')-     ) (do-        freeMem opsysstring'-        freeMem bytesRead-        freeMem bytesWritten-     )----- function g_locale_from_utf8--- Args : [Arg {argCName = "utf8string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a UTF-8 encoded string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the string, or -1 if the string is\n                nul-terminated.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bytes_read", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the number of bytes in the\n                input string that were successfully converted, or %NULL.\n                Even if the conversion was successful, this may be\n                less than @len if there were partial characters\n                at the end of the input. If the error\n                %G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value\n                stored will be the byte offset after the last valid\n                input sequence.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "bytes_written", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes stored in the output\n                buffer (not including the terminating nul).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "bytes_written", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes stored in the output\n                buffer (not including the terminating nul).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Just (TCArray False (-1) 3 (TBasicType TUInt8))--- throws : True--- Skip return : False--foreign import ccall "g_locale_from_utf8" g_locale_from_utf8 :: -    CString ->                              -- utf8string : TBasicType TUTF8-    Int64 ->                                -- len : TBasicType TInt64-    Ptr Word64 ->                           -- bytes_read : TBasicType TUInt64-    Ptr Word64 ->                           -- bytes_written : TBasicType TUInt64-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr Word8)--{- |-Converts a string from UTF-8 to the encoding used for strings by-the C runtime (usually the same as that used by the operating-system) in the [current locale][setlocale]. On Windows this means-the system codepage.--The input string shall not contain nul characters even if the /@len@/-argument is positive. A nul character found inside the string will result-in error 'GI.GLib.Enums.ConvertErrorIllegalSequence'. Use 'GI.GLib.Functions.convert' to convert-input that may contain embedded nul characters.--}-localeFromUtf8 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@utf8string@/: a UTF-8 encoded string -}-    -> Int64-    {- ^ /@len@/: the length of the string, or -1 if the string is-                nul-terminated. -}-    -> m ((ByteString, Word64))-    {- ^ __Returns:__ -         A newly-allocated buffer containing the converted string,-         or 'Nothing' on an error, and error will be set. /(Can throw 'Data.GI.Base.GError.GError')/ -}-localeFromUtf8 utf8string len = liftIO $ do-    utf8string' <- textToCString utf8string-    bytesRead <- allocMem :: IO (Ptr Word64)-    bytesWritten <- allocMem :: IO (Ptr Word64)-    onException (do-        result <- propagateGError $ g_locale_from_utf8 utf8string' len bytesRead bytesWritten-        bytesWritten' <- peek bytesWritten-        checkUnexpectedReturnNULL "localeFromUtf8" result-        result' <- (unpackByteStringWithLength bytesWritten') result-        freeMem result-        bytesRead' <- peek bytesRead-        freeMem utf8string'-        freeMem bytesRead-        freeMem bytesWritten-        return (result', bytesRead')-     ) (do-        freeMem utf8string'-        freeMem bytesRead-        freeMem bytesWritten-     )----- function g_listenv--- Args : []--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TFileName))--- throws : False--- Skip return : False--foreign import ccall "g_listenv" g_listenv :: -    IO (Ptr CString)--{- |-Gets the names of all variables set in the environment.--Programs that want to be portable to Windows should typically use-this function and 'GI.GLib.Functions.getenv' instead of using the environ array-from the C library directly. On Windows, the strings in the environ-array are in system codepage encoding, while in most of the typical-use cases for environment variables in GLib-using programs you want-the UTF-8 encoding that this function and 'GI.GLib.Functions.getenv' provide.--/Since: 2.8/--}-listenv ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m [[Char]]-    {- ^ __Returns:__ -    a 'Nothing'-terminated list of strings which must be freed with-    'GI.GLib.Functions.strfreev'. -}-listenv  = liftIO $ do-    result <- g_listenv-    checkUnexpectedReturnNULL "listenv" result-    result' <- unpackZeroTerminatedFileNameArray result-    mapZeroTerminatedCArray freeMem result-    freeMem result-    return result'----- function g_io_create_watch--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel to watch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "condition", argType = TInterface (Name {namespace = "GLib", name = "IOCondition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "conditions to watch for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Source"}))--- throws : False--- Skip return : False--foreign import ccall "g_io_create_watch" g_io_create_watch :: -    Ptr GLib.IOChannel.IOChannel ->         -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    CUInt ->                                -- condition : TInterface (Name {namespace = "GLib", name = "IOCondition"})-    IO (Ptr GLib.Source.Source)--{- |-Creates a 'GI.GLib.Structs.Source.Source' that\'s dispatched when /@condition@/ is met for the-given /@channel@/. For example, if condition is @/G_IO_IN/@, the source will-be dispatched when there\'s data available for reading.--@/g_io_add_watch()/@ is a simpler interface to this same functionality, for-the case where you want to add the source to the default main loop context-at the default priority.--On Windows, polling a 'GI.GLib.Structs.Source.Source' created to watch a channel for a socket-puts the socket in non-blocking mode. This is a side-effect of the-implementation and unavoidable.--}-ioCreateWatch ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.IOChannel.IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' to watch -}-    -> [GLib.Flags.IOCondition]-    {- ^ /@condition@/: conditions to watch for -}-    -> m GLib.Source.Source-    {- ^ __Returns:__ a new 'GI.GLib.Structs.Source.Source' -}-ioCreateWatch channel condition = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    let condition' = gflagsToWord condition-    result <- g_io_create_watch channel' condition'-    checkUnexpectedReturnNULL "ioCreateWatch" result-    result' <- (wrapBoxed GLib.Source.Source) result-    touchManagedPtr channel-    return result'----- function g_io_add_watch_full--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the priority of the #GIOChannel source", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "condition", argType = TInterface (Name {namespace = "GLib", name = "IOCondition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the condition to watch for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "GLib", name = "IOFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the function to call when the condition is satisfied", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 4, argDestroy = 5, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to @func", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the function to call when the source is removed", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_io_add_watch_full" g_io_add_watch_full :: -    Ptr GLib.IOChannel.IOChannel ->         -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    Int32 ->                                -- priority : TBasicType TInt-    CUInt ->                                -- condition : TInterface (Name {namespace = "GLib", name = "IOCondition"})-    FunPtr GLib.Callbacks.C_IOFunc ->       -- func : TInterface (Name {namespace = "GLib", name = "IOFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO Word32--{- |-Adds the 'GI.GLib.Structs.IOChannel.IOChannel' into the default main loop context-with the given priority.--This internally creates a main loop source using 'GI.GLib.Functions.ioCreateWatch'-and attaches it to the main loop context with 'GI.GLib.Structs.Source.sourceAttach'.-You can do these steps manually if you need greater control.--}-ioAddWatch ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.IOChannel.IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> Int32-    {- ^ /@priority@/: the priority of the 'GI.GLib.Structs.IOChannel.IOChannel' source -}-    -> [GLib.Flags.IOCondition]-    {- ^ /@condition@/: the condition to watch for -}-    -> GLib.Callbacks.IOFunc-    {- ^ /@func@/: the function to call when the condition is satisfied -}-    -> m Word32-    {- ^ __Returns:__ the event source id -}-ioAddWatch channel priority condition func = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    let condition' = gflagsToWord condition-    func' <- GLib.Callbacks.mk_IOFunc (GLib.Callbacks.wrap_IOFunc Nothing func)-    let userData = castFunPtrToPtr func'-    let notify = safeFreeFunPtrPtr-    result <- g_io_add_watch_full channel' priority condition' func' userData notify-    touchManagedPtr channel-    return result----- function g_intern_string--- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string", 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_intern_string" g_intern_string :: -    CString ->                              -- string : TBasicType TUTF8-    IO CString--{- |-Returns a canonical representation for /@string@/. Interned strings-can be compared for equality by comparing the pointers, instead of-using @/strcmp()/@.--/Since: 2.10/--}-internString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@string@/: a string -}-    -> m T.Text-    {- ^ __Returns:__ a canonical representation for the string -}-internString string = liftIO $ do-    maybeString <- case string of-        Nothing -> return nullPtr-        Just jString -> do-            jString' <- textToCString jString-            return jString'-    result <- g_intern_string maybeString-    checkUnexpectedReturnNULL "internString" result-    result' <- cstringToText result-    freeMem maybeString-    return result'----- function g_intern_static_string--- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a static string", 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_intern_static_string" g_intern_static_string :: -    CString ->                              -- string : TBasicType TUTF8-    IO CString--{- |-Returns a canonical representation for /@string@/. Interned strings-can be compared for equality by comparing the pointers, instead of-using @/strcmp()/@. 'GI.GLib.Functions.internStaticString' does not copy the string,-therefore /@string@/ must not be freed or modified.--/Since: 2.10/--}-internStaticString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@string@/: a static string -}-    -> m T.Text-    {- ^ __Returns:__ a canonical representation for the string -}-internStaticString string = liftIO $ do-    maybeString <- case string of-        Nothing -> return nullPtr-        Just jString -> do-            jString' <- textToCString jString-            return jString'-    result <- g_intern_static_string maybeString-    checkUnexpectedReturnNULL "internStaticString" result-    result' <- cstringToText result-    freeMem maybeString-    return result'----- function g_int_hash--- Args : [Arg {argCName = "v", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gint key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_int_hash" g_int_hash :: -    Ptr () ->                               -- v : TBasicType TPtr-    IO Word32--{- |-Converts a pointer to a @/gint/@ to a hash value.-It can be passed to @/g_hash_table_new()/@ as the /@hashFunc@/ parameter,-when using non-'Nothing' pointers to integer values as keys in a 'GI.GLib.Structs.HashTable.HashTable'.--Note that this function acts on pointers to @/gint/@, not on @/gint/@-directly: if your hash table\'s keys are of the form-@GINT_TO_POINTER (n)@, use 'GI.GLib.Functions.directHash' instead.--}-intHash ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@v@/: a pointer to a @/gint/@ key -}-    -> m Word32-    {- ^ __Returns:__ a hash value corresponding to the key. -}-intHash v = liftIO $ do-    result <- g_int_hash v-    return result----- function g_int_equal--- Args : [Arg {argCName = "v1", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gint key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "v2", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gint key to compare with @v1", 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_int_equal" g_int_equal :: -    Ptr () ->                               -- v1 : TBasicType TPtr-    Ptr () ->                               -- v2 : TBasicType TPtr-    IO CInt--{- |-Compares the two @/gint/@ values being pointed to and returns-'True' if they are equal.-It can be passed to @/g_hash_table_new()/@ as the /@keyEqualFunc@/-parameter, when using non-'Nothing' pointers to integers as keys in a-'GI.GLib.Structs.HashTable.HashTable'.--Note that this function acts on pointers to @/gint/@, not on @/gint/@-directly: if your hash table\'s keys are of the form-@GINT_TO_POINTER (n)@, use 'GI.GLib.Functions.directEqual' instead.--}-intEqual ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@v1@/: a pointer to a @/gint/@ key -}-    -> Ptr ()-    {- ^ /@v2@/: a pointer to a @/gint/@ key to compare with /@v1@/ -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the two keys match. -}-intEqual v1 v2 = liftIO $ do-    result <- g_int_equal v1 v2-    let result' = (/= 0) result-    return result'----- function g_int64_hash--- Args : [Arg {argCName = "v", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gint64 key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_int64_hash" g_int64_hash :: -    Ptr () ->                               -- v : TBasicType TPtr-    IO Word32--{- |-Converts a pointer to a @/gint64/@ to a hash value.--It can be passed to @/g_hash_table_new()/@ as the /@hashFunc@/ parameter,-when using non-'Nothing' pointers to 64-bit integer values as keys in a-'GI.GLib.Structs.HashTable.HashTable'.--/Since: 2.22/--}-int64Hash ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@v@/: a pointer to a @/gint64/@ key -}-    -> m Word32-    {- ^ __Returns:__ a hash value corresponding to the key. -}-int64Hash v = liftIO $ do-    result <- g_int64_hash v-    return result----- function g_int64_equal--- Args : [Arg {argCName = "v1", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gint64 key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "v2", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gint64 key to compare with @v1", 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_int64_equal" g_int64_equal :: -    Ptr () ->                               -- v1 : TBasicType TPtr-    Ptr () ->                               -- v2 : TBasicType TPtr-    IO CInt--{- |-Compares the two @/gint64/@ values being pointed to and returns-'True' if they are equal.-It can be passed to @/g_hash_table_new()/@ as the /@keyEqualFunc@/-parameter, when using non-'Nothing' pointers to 64-bit integers as keys in a-'GI.GLib.Structs.HashTable.HashTable'.--/Since: 2.22/--}-int64Equal ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@v1@/: a pointer to a @/gint64/@ key -}-    -> Ptr ()-    {- ^ /@v2@/: a pointer to a @/gint64/@ key to compare with /@v1@/ -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the two keys match. -}-int64Equal v1 v2 = liftIO $ do-    result <- g_int64_equal v1 v2-    let result' = (/= 0) result-    return result'----- function g_idle_source_new--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Source"}))--- throws : False--- Skip return : False--foreign import ccall "g_idle_source_new" g_idle_source_new :: -    IO (Ptr GLib.Source.Source)--{- |-Creates a new idle source.--The source will not initially be associated with any 'GI.GLib.Structs.MainContext.MainContext'-and must be added to one with 'GI.GLib.Structs.Source.sourceAttach' before it will be-executed. Note that the default priority for idle sources is-'GI.GLib.Constants.PRIORITY_DEFAULT_IDLE', as compared to other sources which-have a default priority of 'GI.GLib.Constants.PRIORITY_DEFAULT'.--}-idleSourceNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m GLib.Source.Source-    {- ^ __Returns:__ the newly-created idle source -}-idleSourceNew  = liftIO $ do-    result <- g_idle_source_new-    checkUnexpectedReturnNULL "idleSourceNew" result-    result' <- (wrapBoxed GLib.Source.Source) result-    return result'----- function g_idle_remove_by_data--- Args : [Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data for the idle source's callback.", 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_idle_remove_by_data" g_idle_remove_by_data :: -    Ptr () ->                               -- data : TBasicType TPtr-    IO CInt--{- |-Removes the idle function with the given data.--}-idleRemoveByData ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@data@/: the data for the idle source\'s callback. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if an idle source was found and removed. -}-idleRemoveByData data_ = liftIO $ do-    result <- g_idle_remove_by_data data_-    let result' = (/= 0) result-    return result'----- function g_idle_add_full--- Args : [Arg {argCName = "priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the priority of the idle source. Typically this will be in the\n           range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "function", argType = TInterface (Name {namespace = "GLib", name = "SourceFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to call", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to pass to @function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "function to call when the idle is removed, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_idle_add_full" g_idle_add_full :: -    Int32 ->                                -- priority : TBasicType TInt-    FunPtr GLib.Callbacks.C_SourceFunc ->   -- function : TInterface (Name {namespace = "GLib", name = "SourceFunc"})-    Ptr () ->                               -- data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO Word32--{- |-Adds a function to be called whenever there are no higher priority-events pending.  If the function returns 'False' it is automatically-removed from the list of event sources and will not be called again.--See [memory management of sources][mainloop-memory-management] for details-on how to handle the return value and memory management of /@data@/.--This internally creates a main loop source using 'GI.GLib.Functions.idleSourceNew'-and attaches it to the global 'GI.GLib.Structs.MainContext.MainContext' using 'GI.GLib.Structs.Source.sourceAttach', so-the callback will be invoked in whichever thread is running that main-context. You can do these steps manually if you need greater control or to-use a custom main context.--}-idleAdd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@priority@/: the priority of the idle source. Typically this will be in the-           range between 'GI.GLib.Constants.PRIORITY_DEFAULT_IDLE' and 'GI.GLib.Constants.PRIORITY_HIGH_IDLE'. -}-    -> GLib.Callbacks.SourceFunc-    {- ^ /@function@/: function to call -}-    -> m Word32-    {- ^ __Returns:__ the ID (greater than 0) of the event source. -}-idleAdd priority function = liftIO $ do-    function' <- GLib.Callbacks.mk_SourceFunc (GLib.Callbacks.wrap_SourceFunc Nothing (GLib.Callbacks.drop_closures_SourceFunc function))-    let data_ = castFunPtrToPtr function'-    let notify = safeFreeFunPtrPtr-    result <- g_idle_add_full priority function' data_ notify-    return result----- function g_hostname_to_unicode--- Args : [Arg {argCName = "hostname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid UTF-8 or ASCII hostname", 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_hostname_to_unicode" g_hostname_to_unicode :: -    CString ->                              -- hostname : TBasicType TUTF8-    IO CString--{- |-Converts /@hostname@/ to its canonical presentation form; a UTF-8-string in Unicode normalization form C, containing no uppercase-letters, no forbidden characters, and no ASCII-encoded segments,-and not ending with a trailing dot.--Of course if /@hostname@/ is not an internationalized hostname, then-the canonical presentation form will be entirely ASCII.--/Since: 2.22/--}-hostnameToUnicode ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@hostname@/: a valid UTF-8 or ASCII hostname -}-    -> m T.Text-    {- ^ __Returns:__ a UTF-8 hostname, which must be freed, or 'Nothing' if-/@hostname@/ is in some way invalid. -}-hostnameToUnicode hostname = liftIO $ do-    hostname' <- textToCString hostname-    result <- g_hostname_to_unicode hostname'-    checkUnexpectedReturnNULL "hostnameToUnicode" result-    result' <- cstringToText result-    freeMem result-    freeMem hostname'-    return result'----- function g_hostname_to_ascii--- Args : [Arg {argCName = "hostname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid UTF-8 or ASCII hostname", 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_hostname_to_ascii" g_hostname_to_ascii :: -    CString ->                              -- hostname : TBasicType TUTF8-    IO CString--{- |-Converts /@hostname@/ to its canonical ASCII form; an ASCII-only-string containing no uppercase letters and not ending with a-trailing dot.--/Since: 2.22/--}-hostnameToAscii ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@hostname@/: a valid UTF-8 or ASCII hostname -}-    -> m T.Text-    {- ^ __Returns:__ an ASCII hostname, which must be freed, or 'Nothing' if-/@hostname@/ is in some way invalid. -}-hostnameToAscii hostname = liftIO $ do-    hostname' <- textToCString hostname-    result <- g_hostname_to_ascii hostname'-    checkUnexpectedReturnNULL "hostnameToAscii" result-    result' <- cstringToText result-    freeMem result-    freeMem hostname'-    return result'----- function g_hostname_is_non_ascii--- Args : [Arg {argCName = "hostname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a hostname", 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_hostname_is_non_ascii" g_hostname_is_non_ascii :: -    CString ->                              -- hostname : TBasicType TUTF8-    IO CInt--{- |-Tests if /@hostname@/ contains Unicode characters. If this returns-'True', you need to encode the hostname with 'GI.GLib.Functions.hostnameToAscii'-before using it in non-IDN-aware contexts.--Note that a hostname might contain a mix of encoded and unencoded-segments, and so it is possible for 'GI.GLib.Functions.hostnameIsNonAscii' and-'GI.GLib.Functions.hostnameIsAsciiEncoded' to both return 'True' for a name.--/Since: 2.22/--}-hostnameIsNonAscii ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@hostname@/: a hostname -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@hostname@/ contains any non-ASCII characters -}-hostnameIsNonAscii hostname = liftIO $ do-    hostname' <- textToCString hostname-    result <- g_hostname_is_non_ascii hostname'-    let result' = (/= 0) result-    freeMem hostname'-    return result'----- function g_hostname_is_ip_address--- Args : [Arg {argCName = "hostname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a hostname (or IP address in string form)", 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_hostname_is_ip_address" g_hostname_is_ip_address :: -    CString ->                              -- hostname : TBasicType TUTF8-    IO CInt--{- |-Tests if /@hostname@/ is the string form of an IPv4 or IPv6 address.-(Eg, \"192.168.0.1\".)--/Since: 2.22/--}-hostnameIsIpAddress ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@hostname@/: a hostname (or IP address in string form) -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@hostname@/ is an IP address -}-hostnameIsIpAddress hostname = liftIO $ do-    hostname' <- textToCString hostname-    result <- g_hostname_is_ip_address hostname'-    let result' = (/= 0) result-    freeMem hostname'-    return result'----- function g_hostname_is_ascii_encoded--- Args : [Arg {argCName = "hostname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a hostname", 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_hostname_is_ascii_encoded" g_hostname_is_ascii_encoded :: -    CString ->                              -- hostname : TBasicType TUTF8-    IO CInt--{- |-Tests if /@hostname@/ contains segments with an ASCII-compatible-encoding of an Internationalized Domain Name. If this returns-'True', you should decode the hostname with 'GI.GLib.Functions.hostnameToUnicode'-before displaying it to the user.--Note that a hostname might contain a mix of encoded and unencoded-segments, and so it is possible for 'GI.GLib.Functions.hostnameIsNonAscii' and-'GI.GLib.Functions.hostnameIsAsciiEncoded' to both return 'True' for a name.--/Since: 2.22/--}-hostnameIsAsciiEncoded ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@hostname@/: a hostname -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@hostname@/ contains any ASCII-encoded-segments. -}-hostnameIsAsciiEncoded hostname = liftIO $ do-    hostname' <- textToCString hostname-    result <- g_hostname_is_ascii_encoded hostname'-    let result' = (/= 0) result-    freeMem hostname'-    return result'----- function g_getenv--- Args : [Arg {argCName = "variable", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the environment variable to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "g_getenv" g_getenv :: -    CString ->                              -- variable : TBasicType TFileName-    IO CString--{- |-Returns the value of an environment variable.--On UNIX, the name and value are byte strings which might or might not-be in some consistent character set and encoding. On Windows, they are-in UTF-8.-On Windows, in case the environment variable\'s value contains-references to other environment variables, they are expanded.--}-getenv ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@variable@/: the environment variable to get -}-    -> m [Char]-    {- ^ __Returns:__ the value of the environment variable, or 'Nothing' if-    the environment variable is not found. The returned string-    may be overwritten by the next call to 'GI.GLib.Functions.getenv', 'GI.GLib.Functions.setenv'-    or 'GI.GLib.Functions.unsetenv'. -}-getenv variable = liftIO $ do-    variable' <- stringToCString variable-    result <- g_getenv variable'-    checkUnexpectedReturnNULL "getenv" result-    result' <- cstringToString result-    freeMem variable'-    return result'----- function g_get_user_special_dir--- Args : [Arg {argCName = "directory", argType = TInterface (Name {namespace = "GLib", name = "UserDirectory"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the logical id of special directory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "g_get_user_special_dir" g_get_user_special_dir :: -    CUInt ->                                -- directory : TInterface (Name {namespace = "GLib", name = "UserDirectory"})-    IO CString--{- |-Returns the full path of a special directory using its logical id.--On UNIX this is done using the XDG special user directories.-For compatibility with existing practise, 'GI.GLib.Enums.UserDirectoryDirectoryDesktop'-falls back to @$HOME\/Desktop@ when XDG special user directories have-not been set up.--Depending on the platform, the user might be able to change the path-of the special directory without requiring the session to restart; GLib-will not reflect any change once the special directories are loaded.--/Since: 2.14/--}-getUserSpecialDir ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Enums.UserDirectory-    {- ^ /@directory@/: the logical id of special directory -}-    -> m [Char]-    {- ^ __Returns:__ the path to the specified special directory, or-  'Nothing' if the logical id was not found. The returned string is owned by-  GLib and should not be modified or freed. -}-getUserSpecialDir directory = liftIO $ do-    let directory' = (fromIntegral . fromEnum) directory-    result <- g_get_user_special_dir directory'-    checkUnexpectedReturnNULL "getUserSpecialDir" result-    result' <- cstringToString result-    return result'----- function g_get_user_runtime_dir--- Args : []--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "g_get_user_runtime_dir" g_get_user_runtime_dir :: -    IO CString--{- |-Returns a directory that is unique to the current user on the local-system.--This is determined using the mechanisms described-in the-<http://www.freedesktop.org/Standards/basedir-spec XDG Base Directory Specification>.-This is the directory-specified in the @XDG_RUNTIME_DIR@ environment variable.-In the case that this variable is not set, we return the value of-'GI.GLib.Functions.getUserCacheDir', after verifying that it exists.--/Since: 2.28/--}-getUserRuntimeDir ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m [Char]-    {- ^ __Returns:__ a string owned by GLib that must not be-    modified or freed. -}-getUserRuntimeDir  = liftIO $ do-    result <- g_get_user_runtime_dir-    checkUnexpectedReturnNULL "getUserRuntimeDir" result-    result' <- cstringToString result-    return result'----- function g_get_user_name--- Args : []--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "g_get_user_name" g_get_user_name :: -    IO CString--{- |-Gets the user name of the current user. The encoding of the returned-string is system-defined. On UNIX, it might be the preferred file name-encoding, or something else, and there is no guarantee that it is even-consistent on a machine. On Windows, it is always UTF-8.--}-getUserName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m [Char]-    {- ^ __Returns:__ the user name of the current user. -}-getUserName  = liftIO $ do-    result <- g_get_user_name-    checkUnexpectedReturnNULL "getUserName" result-    result' <- cstringToString result-    return result'----- function g_get_user_data_dir--- Args : []--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "g_get_user_data_dir" g_get_user_data_dir :: -    IO CString--{- |-Returns a base directory in which to access application data such-as icons that is customized for a particular user.--On UNIX platforms this is determined using the mechanisms described-in the-<http://www.freedesktop.org/Standards/basedir-spec XDG Base Directory Specification>.-In this case the directory retrieved will be @XDG_DATA_HOME@.--On Windows it follows XDG Base Directory Specification if @XDG_DATA_HOME@-is defined. If @XDG_DATA_HOME@ is undefined, the folder to use for local (as-opposed to roaming) application data is used instead. See the-<https://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx#csidl_local_appdata documentation for `CSIDL_LOCAL_APPDATA`>.-Note that in this case on Windows it will be the same-as what 'GI.GLib.Functions.getUserConfigDir' returns.--/Since: 2.6/--}-getUserDataDir ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m [Char]-    {- ^ __Returns:__ a string owned by GLib that must not be modified-              or freed. -}-getUserDataDir  = liftIO $ do-    result <- g_get_user_data_dir-    checkUnexpectedReturnNULL "getUserDataDir" result-    result' <- cstringToString result-    return result'----- function g_get_user_config_dir--- Args : []--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "g_get_user_config_dir" g_get_user_config_dir :: -    IO CString--{- |-Returns a base directory in which to store user-specific application-configuration information such as user preferences and settings.--On UNIX platforms this is determined using the mechanisms described-in the-<http://www.freedesktop.org/Standards/basedir-spec XDG Base Directory Specification>.-In this case the directory retrieved will be @XDG_CONFIG_HOME@.--On Windows it follows XDG Base Directory Specification if @XDG_CONFIG_HOME@ is defined.-If @XDG_CONFIG_HOME@ is undefined, the folder to use for local (as opposed-to roaming) application data is used instead. See the-<https://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx#csidl_local_appdata documentation for `CSIDL_LOCAL_APPDATA`>.-Note that in this case on Windows it will be  the same-as what 'GI.GLib.Functions.getUserDataDir' returns.--/Since: 2.6/--}-getUserConfigDir ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m [Char]-    {- ^ __Returns:__ a string owned by GLib that must not be modified-              or freed. -}-getUserConfigDir  = liftIO $ do-    result <- g_get_user_config_dir-    checkUnexpectedReturnNULL "getUserConfigDir" result-    result' <- cstringToString result-    return result'----- function g_get_user_cache_dir--- Args : []--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "g_get_user_cache_dir" g_get_user_cache_dir :: -    IO CString--{- |-Returns a base directory in which to store non-essential, cached-data specific to particular user.--On UNIX platforms this is determined using the mechanisms described-in the-<http://www.freedesktop.org/Standards/basedir-spec XDG Base Directory Specification>.-In this case the directory retrieved will be @XDG_CACHE_HOME@.--On Windows it follows XDG Base Directory Specification if @XDG_CACHE_HOME@ is defined.-If @XDG_CACHE_HOME@ is undefined, the directory that serves as a common-repository for temporary Internet files is used instead. A typical path is-@C:\\Documents and Settings\\username\\Local Settings\\Temporary Internet Files@.-See the <https://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx#csidl_internet_cache documentation for `CSIDL_INTERNET_CACHE`>.--/Since: 2.6/--}-getUserCacheDir ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m [Char]-    {- ^ __Returns:__ a string owned by GLib that must not be modified-              or freed. -}-getUserCacheDir  = liftIO $ do-    result <- g_get_user_cache_dir-    checkUnexpectedReturnNULL "getUserCacheDir" result-    result' <- cstringToString result-    return result'----- function g_get_tmp_dir--- Args : []--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "g_get_tmp_dir" g_get_tmp_dir :: -    IO CString--{- |-Gets the directory to use for temporary files.--On UNIX, this is taken from the @TMPDIR@ environment variable.-If the variable is not set, @P_tmpdir@ is-used, as defined by the system C library. Failing that, a-hard-coded default of \"\/tmp\" is returned.--On Windows, the @TEMP@ environment variable is used, with the-root directory of the Windows installation (eg: \"C:\\\") used-as a default.--The encoding of the returned string is system-defined. On Windows,-it is always UTF-8. The return value is never 'Nothing' or the empty-string.--}-getTmpDir ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m [Char]-    {- ^ __Returns:__ the directory to use for temporary files. -}-getTmpDir  = liftIO $ do-    result <- g_get_tmp_dir-    checkUnexpectedReturnNULL "getTmpDir" result-    result' <- cstringToString result-    return result'----- function g_get_system_data_dirs--- Args : []--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TFileName))--- throws : False--- Skip return : False--foreign import ccall "g_get_system_data_dirs" g_get_system_data_dirs :: -    IO (Ptr CString)--{- |-Returns an ordered list of base directories in which to access-system-wide application data.--On UNIX platforms this is determined using the mechanisms described-in the-<http://www.freedesktop.org/Standards/basedir-spec XDG Base Directory Specification>-In this case the list of directories retrieved will be @XDG_DATA_DIRS@.--On Windows it follows XDG Base Directory Specification if @XDG_DATA_DIRS@ is defined.-If @XDG_DATA_DIRS@ is undefined,-the first elements in the list are the Application Data-and Documents folders for All Users. (These can be determined only-on Windows 2000 or later and are not present in the list on other-Windows versions.) See documentation for CSIDL_COMMON_APPDATA and-CSIDL_COMMON_DOCUMENTS.--Then follows the \"share\" subfolder in the installation folder for-the package containing the DLL that calls this function, if it can-be determined.--Finally the list contains the \"share\" subfolder in the installation-folder for GLib, and in the installation folder for the package the-application\'s .exe file belongs to.--The installation folders above are determined by looking up the-folder where the module (DLL or EXE) in question is located. If the-folder\'s name is \"bin\", its parent is used, otherwise the folder-itself.--Note that on Windows the returned list can vary depending on where-this function is called.--/Since: 2.6/--}-getSystemDataDirs ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m [[Char]]-    {- ^ __Returns:__ -    a 'Nothing'-terminated array of strings owned by GLib that must not be-    modified or freed. -}-getSystemDataDirs  = liftIO $ do-    result <- g_get_system_data_dirs-    checkUnexpectedReturnNULL "getSystemDataDirs" result-    result' <- unpackZeroTerminatedFileNameArray result-    return result'----- function g_get_system_config_dirs--- Args : []--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TFileName))--- throws : False--- Skip return : False--foreign import ccall "g_get_system_config_dirs" g_get_system_config_dirs :: -    IO (Ptr CString)--{- |-Returns an ordered list of base directories in which to access-system-wide configuration information.--On UNIX platforms this is determined using the mechanisms described-in the-<http://www.freedesktop.org/Standards/basedir-spec XDG Base Directory Specification>.-In this case the list of directories retrieved will be @XDG_CONFIG_DIRS@.--On Windows it follows XDG Base Directory Specification if @XDG_CONFIG_DIRS@ is defined.-If @XDG_CONFIG_DIRS@ is undefined, the directory that contains application-data for all users is used instead. A typical path is-@C:\\Documents and Settings\\All Users\\Application Data@.-This folder is used for application data-that is not user specific. For example, an application can store-a spell-check dictionary, a database of clip art, or a log file in the-CSIDL_COMMON_APPDATA folder. This information will not roam and is available-to anyone using the computer.--/Since: 2.6/--}-getSystemConfigDirs ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m [[Char]]-    {- ^ __Returns:__ -    a 'Nothing'-terminated array of strings owned by GLib that must not be-    modified or freed. -}-getSystemConfigDirs  = liftIO $ do-    result <- g_get_system_config_dirs-    checkUnexpectedReturnNULL "getSystemConfigDirs" result-    result' <- unpackZeroTerminatedFileNameArray result-    return result'----- function g_get_real_time--- Args : []--- Lengths : []--- returnType : Just (TBasicType TInt64)--- throws : False--- Skip return : False--foreign import ccall "g_get_real_time" g_get_real_time :: -    IO Int64--{- |-Queries the system wall-clock time.--This call is functionally equivalent to 'GI.GLib.Functions.getCurrentTime' except-that the return value is often more convenient than dealing with a-'GI.GLib.Structs.TimeVal.TimeVal'.--You should only use this call if you are actually interested in the real-wall-clock time.  'GI.GLib.Functions.getMonotonicTime' is probably more useful for-measuring intervals.--/Since: 2.28/--}-getRealTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Int64-    {- ^ __Returns:__ the number of microseconds since January 1, 1970 UTC. -}-getRealTime  = liftIO $ do-    result <- g_get_real_time-    return result----- function g_get_real_name--- Args : []--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "g_get_real_name" g_get_real_name :: -    IO CString--{- |-Gets the real name of the user. This usually comes from the user\'s-entry in the @passwd@ file. The encoding of the returned string is-system-defined. (On Windows, it is, however, always UTF-8.) If the-real user name cannot be determined, the string \"Unknown\" is-returned.--}-getRealName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m [Char]-    {- ^ __Returns:__ the user\'s real name. -}-getRealName  = liftIO $ do-    result <- g_get_real_name-    checkUnexpectedReturnNULL "getRealName" result-    result' <- cstringToString result-    return result'----- function g_get_prgname--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "g_get_prgname" g_get_prgname :: -    IO CString--{- |-Gets the name of the program. This name should not be localized,-in contrast to 'GI.GLib.Functions.getApplicationName'.--If you are using @/GApplication/@ the program name is set in-@/g_application_run()/@. In case of GDK or GTK+ it is set in-@/gdk_init()/@, which is called by @/gtk_init()/@ and the-@/GtkApplication::startup/@ handler. The program name is found by-taking the last component of /@argv@/[0].--}-getPrgname ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m T.Text-    {- ^ __Returns:__ the name of the program. The returned string belongs-    to GLib and must not be modified or freed. -}-getPrgname  = liftIO $ do-    result <- g_get_prgname-    checkUnexpectedReturnNULL "getPrgname" result-    result' <- cstringToText result-    return result'----- function g_get_num_processors--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_get_num_processors" g_get_num_processors :: -    IO Word32--{- |-Determine the approximate number of threads that the system will-schedule simultaneously for this process.  This is intended to be-used as a parameter to @/g_thread_pool_new()/@ for CPU bound tasks and-similar cases.--/Since: 2.36/--}-getNumProcessors ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Word32-    {- ^ __Returns:__ Number of schedulable threads, always greater than 0 -}-getNumProcessors  = liftIO $ do-    result <- g_get_num_processors-    return result----- function g_get_monotonic_time--- Args : []--- Lengths : []--- returnType : Just (TBasicType TInt64)--- throws : False--- Skip return : False--foreign import ccall "g_get_monotonic_time" g_get_monotonic_time :: -    IO Int64--{- |-Queries the system monotonic time.--The monotonic clock will always increase and doesn\'t suffer-discontinuities when the user (or NTP) changes the system time.  It-may or may not continue to tick during times where the machine is-suspended.--We try to use the clock that corresponds as closely as possible to-the passage of time as measured by system calls such as @/poll()/@ but it-may not always be possible to do this.--/Since: 2.28/--}-getMonotonicTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Int64-    {- ^ __Returns:__ the monotonic time, in microseconds -}-getMonotonicTime  = liftIO $ do-    result <- g_get_monotonic_time-    return result----- function g_get_locale_variants--- Args : [Arg {argCName = "locale", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a locale identifier", 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_get_locale_variants" g_get_locale_variants :: -    CString ->                              -- locale : TBasicType TUTF8-    IO (Ptr CString)--{- |-Returns a list of derived variants of /@locale@/, which can be used to-e.g. construct locale-dependent filenames or search paths. The returned-list is sorted from most desirable to least desirable.-This function handles territory, charset and extra locale modifiers.--For example, if /@locale@/ is \"fr_BE\", then the returned list-is \"fr_BE\", \"fr\".--If you need the list of variants for the current locale,-use 'GI.GLib.Functions.getLanguageNames'.--/Since: 2.28/--}-getLocaleVariants ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@locale@/: a locale identifier -}-    -> m [T.Text]-    {- ^ __Returns:__ a newly-  allocated array of newly allocated strings with the locale variants. Free with-  'GI.GLib.Functions.strfreev'. -}-getLocaleVariants locale = liftIO $ do-    locale' <- textToCString locale-    result <- g_get_locale_variants locale'-    checkUnexpectedReturnNULL "getLocaleVariants" result-    result' <- unpackZeroTerminatedUTF8CArray result-    mapZeroTerminatedCArray freeMem result-    freeMem result-    freeMem locale'-    return result'----- function g_get_language_names_with_category--- Args : [Arg {argCName = "category_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a locale category name", 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_get_language_names_with_category" g_get_language_names_with_category :: -    CString ->                              -- category_name : TBasicType TUTF8-    IO (Ptr CString)--{- |-Computes a list of applicable locale names with a locale category name,-which can be used to construct the fallback locale-dependent filenames-or search paths. The returned list is sorted from most desirable to-least desirable and always contains the default locale \"C\".--This function consults the environment variables @LANGUAGE@, @LC_ALL@,-/@categoryName@/, and @LANG@ to find the list of locales specified by the-user.--'GI.GLib.Functions.getLanguageNames' returns g_get_language_names_with_category(\"LC_MESSAGES\").--/Since: 2.58/--}-getLanguageNamesWithCategory ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@categoryName@/: a locale category name -}-    -> m [T.Text]-    {- ^ __Returns:__ a 'Nothing'-terminated array of strings owned by-   the thread g_get_language_names_with_category was called from.-   It must not be modified or freed. It must be copied if planned to be used in another thread. -}-getLanguageNamesWithCategory categoryName = liftIO $ do-    categoryName' <- textToCString categoryName-    result <- g_get_language_names_with_category categoryName'-    checkUnexpectedReturnNULL "getLanguageNamesWithCategory" result-    result' <- unpackZeroTerminatedUTF8CArray result-    freeMem categoryName'-    return result'----- function g_get_language_names--- Args : []--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "g_get_language_names" g_get_language_names :: -    IO (Ptr CString)--{- |-Computes a list of applicable locale names, which can be used to-e.g. construct locale-dependent filenames or search paths. The returned-list is sorted from most desirable to least desirable and always contains-the default locale \"C\".--For example, if LANGUAGE=de:en_US, then the returned list is-\"de\", \"en_US\", \"en\", \"C\".--This function consults the environment variables @LANGUAGE@, @LC_ALL@,-@LC_MESSAGES@ and @LANG@ to find the list of locales specified by the-user.--/Since: 2.6/--}-getLanguageNames ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m [T.Text]-    {- ^ __Returns:__ a 'Nothing'-terminated array of strings owned by GLib-   that must not be modified or freed. -}-getLanguageNames  = liftIO $ do-    result <- g_get_language_names-    checkUnexpectedReturnNULL "getLanguageNames" result-    result' <- unpackZeroTerminatedUTF8CArray result-    return result'----- function g_get_host_name--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "g_get_host_name" g_get_host_name :: -    IO CString--{- |-Return a name for the machine.--The returned name is not necessarily a fully-qualified domain name,-or even present in DNS or some other name service at all. It need-not even be unique on your local network or site, but usually it-is. Callers should not rely on the return value having any specific-properties like uniqueness for security purposes. Even if the name-of the machine is changed while an application is running, the-return value from this function does not change. The returned-string is owned by GLib and should not be modified or freed. If no-name can be determined, a default fixed string \"localhost\" is-returned.--The encoding of the returned string is UTF-8.--/Since: 2.8/--}-getHostName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m T.Text-    {- ^ __Returns:__ the host name of the machine. -}-getHostName  = liftIO $ do-    result <- g_get_host_name-    checkUnexpectedReturnNULL "getHostName" result-    result' <- cstringToText result-    return result'----- function g_get_home_dir--- Args : []--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "g_get_home_dir" g_get_home_dir :: -    IO CString--{- |-Gets the current user\'s home directory.--As with most UNIX tools, this function will return the value of the-@HOME@ environment variable if it is set to an existing absolute path-name, falling back to the @passwd@ file in the case that it is unset.--If the path given in @HOME@ is non-absolute, does not exist, or is-not a directory, the result is undefined.--Before version 2.36 this function would ignore the @HOME@ environment-variable, taking the value from the @passwd@ database instead. This was-changed to increase the compatibility of GLib with other programs (and-the XDG basedir specification) and to increase testability of programs-based on GLib (by making it easier to run them from test frameworks).--If your program has a strong requirement for either the new or the-old behaviour (and if you don\'t wish to increase your GLib-dependency to ensure that the new behaviour is in effect) then you-should either directly check the @HOME@ environment variable yourself-or unset it before calling any functions in GLib.--}-getHomeDir ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m [Char]-    {- ^ __Returns:__ the current user\'s home directory -}-getHomeDir  = liftIO $ do-    result <- g_get_home_dir-    checkUnexpectedReturnNULL "getHomeDir" result-    result' <- cstringToString result-    return result'----- function g_get_filename_charsets--- Args : [Arg {argCName = "filename_charsets", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "\n   return location for the %NULL-terminated list of encoding names", 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_get_filename_charsets" g_get_filename_charsets :: -    Ptr (Ptr CString) ->                    -- filename_charsets : TCArray True (-1) (-1) (TBasicType TUTF8)-    IO CInt--{- |-Determines the preferred character sets used for filenames.-The first character set from the /@charsets@/ is the filename encoding, the-subsequent character sets are used when trying to generate a displayable-representation of a filename, see 'GI.GLib.Functions.filenameDisplayName'.--On Unix, the character sets are determined by consulting the-environment variables @G_FILENAME_ENCODING@ and @G_BROKEN_FILENAMES@.-On Windows, the character set used in the GLib API is always UTF-8-and said environment variables have no effect.--@G_FILENAME_ENCODING@ may be set to a comma-separated list of-character set names. The special token \"\@locale\" is taken-to  mean the character set for the [current locale][setlocale].-If @G_FILENAME_ENCODING@ is not set, but @G_BROKEN_FILENAMES@ is,-the character set of the current locale is taken as the filename-encoding. If neither environment variable  is set, UTF-8 is taken-as the filename encoding, but the character set of the current locale-is also put in the list of encodings.--The returned /@charsets@/ belong to GLib and must not be freed.--Note that on Unix, regardless of the locale character set or-@G_FILENAME_ENCODING@ value, the actual file names present-on a system might be in any random encoding or just gibberish.--/Since: 2.6/--}-getFilenameCharsets ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m ((Bool, [T.Text]))-    {- ^ __Returns:__ 'True' if the filename encoding is UTF-8. -}-getFilenameCharsets  = liftIO $ do-    filenameCharsets <- allocMem :: IO (Ptr (Ptr CString))-    result <- g_get_filename_charsets filenameCharsets-    let result' = (/= 0) result-    filenameCharsets' <- peek filenameCharsets-    filenameCharsets'' <- unpackZeroTerminatedUTF8CArray filenameCharsets'-    freeMem filenameCharsets-    return (result', filenameCharsets'')----- function g_get_environ--- Args : []--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TFileName))--- throws : False--- Skip return : False--foreign import ccall "g_get_environ" g_get_environ :: -    IO (Ptr CString)--{- |-Gets the list of environment variables for the current process.--The list is 'Nothing' terminated and each item in the list is of the-form \'NAME=VALUE\'.--This is equivalent to direct access to the \'environ\' global variable,-except portable.--The return value is freshly allocated and it should be freed with-'GI.GLib.Functions.strfreev' when it is no longer needed.--/Since: 2.28/--}-getEnviron ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m [[Char]]-    {- ^ __Returns:__ -    the list of environment variables -}-getEnviron  = liftIO $ do-    result <- g_get_environ-    checkUnexpectedReturnNULL "getEnviron" result-    result' <- unpackZeroTerminatedFileNameArray result-    mapZeroTerminatedCArray freeMem result-    freeMem result-    return result'----- function g_get_current_time--- Args : [Arg {argCName = "result", argType = TInterface (Name {namespace = "GLib", name = "TimeVal"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GTimeVal structure in which to store current time.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_get_current_time" g_get_current_time :: -    Ptr GLib.TimeVal.TimeVal ->             -- result : TInterface (Name {namespace = "GLib", name = "TimeVal"})-    IO ()--{- |-Equivalent to the UNIX @/gettimeofday()/@ function, but portable.--You may find 'GI.GLib.Functions.getRealTime' to be more convenient.--}-getCurrentTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.TimeVal.TimeVal-    {- ^ /@result@/: 'GI.GLib.Structs.TimeVal.TimeVal' structure in which to store current time. -}-    -> m ()-getCurrentTime result_ = liftIO $ do-    result_' <- unsafeManagedPtrGetPtr result_-    g_get_current_time result_'-    touchManagedPtr result_-    return ()----- function g_get_current_dir--- Args : []--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "g_get_current_dir" g_get_current_dir :: -    IO CString--{- |-Gets the current directory.--The returned string should be freed when no longer needed.-The encoding of the returned string is system defined.-On Windows, it is always UTF-8.--Since GLib 2.40, this function will return the value of the \"PWD\"-environment variable if it is set and it happens to be the same as-the current directory.  This can make a difference in the case that-the current directory is the target of a symbolic link.--}-getCurrentDir ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m [Char]-    {- ^ __Returns:__ the current directory -}-getCurrentDir  = liftIO $ do-    result <- g_get_current_dir-    checkUnexpectedReturnNULL "getCurrentDir" result-    result' <- cstringToString result-    freeMem result-    return result'----- function g_get_codeset--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "g_get_codeset" g_get_codeset :: -    IO CString--{- |-Gets the character set for the current locale.--}-getCodeset ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m T.Text-    {- ^ __Returns:__ a newly allocated string containing the name-    of the character set. This string must be freed with 'GI.GLib.Functions.free'. -}-getCodeset  = liftIO $ do-    result <- g_get_codeset-    checkUnexpectedReturnNULL "getCodeset" result-    result' <- cstringToText result-    freeMem result-    return result'----- function g_get_charset--- Args : [Arg {argCName = "charset", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for character set\n  name, or %NULL.", 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_get_charset" g_get_charset :: -    Ptr CString ->                          -- charset : TBasicType TUTF8-    IO CInt--{- |-Obtains the character set for the [current locale][setlocale]; you-might use this character set as an argument to 'GI.GLib.Functions.convert', to convert-from the current locale\'s encoding to some other encoding. (Frequently-'GI.GLib.Functions.localeToUtf8' and 'GI.GLib.Functions.localeFromUtf8' are nice shortcuts, though.)--On Windows the character set returned by this function is the-so-called system default ANSI code-page. That is the character set-used by the \"narrow\" versions of C library and Win32 functions that-handle file names. It might be different from the character set-used by the C library\'s current locale.--On Linux, the character set is found by consulting @/nl_langinfo()/@ if-available. If not, the environment variables @LC_ALL@, @LC_CTYPE@, @LANG@-and @CHARSET@ are queried in order.--The return value is 'True' if the locale\'s encoding is UTF-8, in that-case you can perhaps avoid calling 'GI.GLib.Functions.convert'.--The string returned in /@charset@/ is not allocated, and should not be-freed.--}-getCharset ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m ((Bool, T.Text))-    {- ^ __Returns:__ 'True' if the returned charset is UTF-8 -}-getCharset  = liftIO $ do-    charset <- allocMem :: IO (Ptr CString)-    result <- g_get_charset charset-    let result' = (/= 0) result-    charset' <- peek charset-    charset'' <- cstringToText charset'-    freeMem charset-    return (result', charset'')----- function g_get_application_name--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "g_get_application_name" g_get_application_name :: -    IO CString--{- |-Gets a human-readable name for the application, as set by-'GI.GLib.Functions.setApplicationName'. This name should be localized if-possible, and is intended for display to the user.  Contrast with-'GI.GLib.Functions.getPrgname', which gets a non-localized name. If-'GI.GLib.Functions.setApplicationName' has not been called, returns the result of-'GI.GLib.Functions.getPrgname' (which may be 'Nothing' if 'GI.GLib.Functions.setPrgname' has also not-been called).--/Since: 2.2/--}-getApplicationName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m T.Text-    {- ^ __Returns:__ human-readable application name. may return 'Nothing' -}-getApplicationName  = liftIO $ do-    result <- g_get_application_name-    checkUnexpectedReturnNULL "getApplicationName" result-    result' <- cstringToText result-    return result'----- function g_free--- Args : [Arg {argCName = "mem", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the memory to free", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_free" g_free :: -    Ptr () ->                               -- mem : TBasicType TPtr-    IO ()--{- |-Frees the memory pointed to by /@mem@/.--If /@mem@/ is 'Nothing' it simply returns, so there is no need to check /@mem@/-against 'Nothing' before calling this function.--}-free ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@mem@/: the memory to free -}-    -> m ()-free mem = liftIO $ do-    g_free mem-    return ()----- function g_format_size_full--- Args : [Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a size in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GLib", name = "FormatSizeFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GFormatSizeFlags to modify the output", 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_format_size_full" g_format_size_full :: -    Word64 ->                               -- size : TBasicType TUInt64-    CUInt ->                                -- flags : TInterface (Name {namespace = "GLib", name = "FormatSizeFlags"})-    IO CString--{- |-Formats a size.--This function is similar to 'GI.GLib.Functions.formatSize' but allows for flags-that modify the output. See 'GI.GLib.Flags.FormatSizeFlags'.--/Since: 2.30/--}-formatSizeFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@size@/: a size in bytes -}-    -> [GLib.Flags.FormatSizeFlags]-    {- ^ /@flags@/: 'GI.GLib.Flags.FormatSizeFlags' to modify the output -}-    -> m T.Text-    {- ^ __Returns:__ a newly-allocated formatted string containing a human-    readable file size -}-formatSizeFull size flags = liftIO $ do-    let flags' = gflagsToWord flags-    result <- g_format_size_full size flags'-    checkUnexpectedReturnNULL "formatSizeFull" result-    result' <- cstringToText result-    freeMem result-    return result'----- function g_format_size_for_display--- Args : [Arg {argCName = "size", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a size in bytes", 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_format_size_for_display" g_format_size_for_display :: -    Int64 ->                                -- size : TBasicType TInt64-    IO CString--{-# DEPRECATED formatSizeForDisplay ["(Since version 2.30)","This function is broken due to its use of SI","    suffixes to denote IEC units. Use 'GI.GLib.Functions.formatSize' instead."] #-}-{- |-Formats a size (for example the size of a file) into a human-readable string. Sizes are rounded to the nearest size prefix-(KB, MB, GB) and are displayed rounded to the nearest tenth.-E.g. the file size 3292528 bytes will be converted into the-string \"3.1 MB\".--The prefix units base is 1024 (i.e. 1 KB is 1024 bytes).--This string should be freed with 'GI.GLib.Functions.free' when not needed any longer.--/Since: 2.16/--}-formatSizeForDisplay ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int64-    {- ^ /@size@/: a size in bytes -}-    -> m T.Text-    {- ^ __Returns:__ a newly-allocated formatted string containing a human-    readable file size -}-formatSizeForDisplay size = liftIO $ do-    result <- g_format_size_for_display size-    checkUnexpectedReturnNULL "formatSizeForDisplay" result-    result' <- cstringToText result-    freeMem result-    return result'----- function g_format_size--- Args : [Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a size in bytes", 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_format_size" g_format_size :: -    Word64 ->                               -- size : TBasicType TUInt64-    IO CString--{- |-Formats a size (for example the size of a file) into a human readable-string.  Sizes are rounded to the nearest size prefix (kB, MB, GB)-and are displayed rounded to the nearest tenth. E.g. the file size-3292528 bytes will be converted into the string \"3.2 MB\". The returned string-is UTF-8, and may use a non-breaking space to separate the number and units,-to ensure they aren’t separated when line wrapped.--The prefix units base is 1000 (i.e. 1 kB is 1000 bytes).--This string should be freed with 'GI.GLib.Functions.free' when not needed any longer.--See 'GI.GLib.Functions.formatSizeFull' for more options about how the size might be-formatted.--/Since: 2.30/--}-formatSize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@size@/: a size in bytes -}-    -> m T.Text-    {- ^ __Returns:__ a newly-allocated formatted string containing a human readable-    file size -}-formatSize size = liftIO $ do-    result <- g_format_size size-    checkUnexpectedReturnNULL "formatSize" result-    result' <- cstringToText result-    freeMem result-    return result'----- function g_find_program_in_path--- Args : [Arg {argCName = "program", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a program name in the GLib file name encoding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "g_find_program_in_path" g_find_program_in_path :: -    CString ->                              -- program : TBasicType TFileName-    IO CString--{- |-Locates the first executable named /@program@/ in the user\'s path, in the-same way that @/execvp()/@ would locate it. Returns an allocated string-with the absolute path name, or 'Nothing' if the program is not found in-the path. If /@program@/ is already an absolute path, returns a copy of-/@program@/ if /@program@/ exists and is executable, and 'Nothing' otherwise.- -On Windows, if /@program@/ does not have a file type suffix, tries-with the suffixes .exe, .cmd, .bat and .com, and the suffixes in-the @PATHEXT@ environment variable.--On Windows, it looks for the file in the same way as @/CreateProcess()/@-would. This means first in the directory where the executing-program was loaded from, then in the current directory, then in the-Windows 32-bit system directory, then in the Windows directory, and-finally in the directories in the @PATH@ environment variable. If-the program is found, the return value contains the full name-including the type suffix.--}-findProgramInPath ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@program@/: a program name in the GLib file name encoding -}-    -> m [Char]-    {- ^ __Returns:__ a newly-allocated string with the absolute path,-    or 'Nothing' -}-findProgramInPath program = liftIO $ do-    program' <- stringToCString program-    result <- g_find_program_in_path program'-    checkUnexpectedReturnNULL "findProgramInPath" result-    result' <- cstringToString result-    freeMem result-    freeMem program'-    return result'----- function g_filename_to_utf8--- Args : [Arg {argCName = "opsysstring", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string in the encoding for filenames", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the string, or -1 if the string is\n                nul-terminated (Note that some encodings may allow nul\n                bytes to occur inside strings. In that case, using -1\n                for the @len parameter is unsafe)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bytes_read", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the number of bytes in the\n                input string that were successfully converted, or %NULL.\n                Even if the conversion was successful, this may be\n                less than @len if there were partial characters\n                at the end of the input. If the error\n                %G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value\n                stored will be the byte offset after the last valid\n                input sequence.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "bytes_written", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes stored in the output\n                buffer (not including the terminating nul).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : True--- Skip return : False--foreign import ccall "g_filename_to_utf8" g_filename_to_utf8 :: -    CString ->                              -- opsysstring : TBasicType TFileName-    Int64 ->                                -- len : TBasicType TInt64-    Ptr Word64 ->                           -- bytes_read : TBasicType TUInt64-    Ptr Word64 ->                           -- bytes_written : TBasicType TUInt64-    Ptr (Ptr GError) ->                     -- error-    IO CString--{- |-Converts a string which is in the encoding used by GLib for-filenames into a UTF-8 string. Note that on Windows GLib uses UTF-8-for filenames; on other platforms, this function indirectly depends on-the [current locale][setlocale].--The input string shall not contain nul characters even if the /@len@/-argument is positive. A nul character found inside the string will result-in error 'GI.GLib.Enums.ConvertErrorIllegalSequence'.-If the source encoding is not UTF-8 and the conversion output contains a-nul character, the error 'GI.GLib.Enums.ConvertErrorEmbeddedNul' is set and the-function returns 'Nothing'. Use 'GI.GLib.Functions.convert' to produce output that-may contain embedded nul characters.--}-filenameToUtf8 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@opsysstring@/: a string in the encoding for filenames -}-    -> Int64-    {- ^ /@len@/: the length of the string, or -1 if the string is-                nul-terminated (Note that some encodings may allow nul-                bytes to occur inside strings. In that case, using -1-                for the /@len@/ parameter is unsafe) -}-    -> m ((T.Text, Word64, Word64))-    {- ^ __Returns:__ The converted string, or 'Nothing' on an error. /(Can throw 'Data.GI.Base.GError.GError')/ -}-filenameToUtf8 opsysstring len = liftIO $ do-    opsysstring' <- stringToCString opsysstring-    bytesRead <- allocMem :: IO (Ptr Word64)-    bytesWritten <- allocMem :: IO (Ptr Word64)-    onException (do-        result <- propagateGError $ g_filename_to_utf8 opsysstring' len bytesRead bytesWritten-        checkUnexpectedReturnNULL "filenameToUtf8" result-        result' <- cstringToText result-        freeMem result-        bytesRead' <- peek bytesRead-        bytesWritten' <- peek bytesWritten-        freeMem opsysstring'-        freeMem bytesRead-        freeMem bytesWritten-        return (result', bytesRead', bytesWritten')-     ) (do-        freeMem opsysstring'-        freeMem bytesRead-        freeMem bytesWritten-     )----- function g_filename_to_uri--- Args : [Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an absolute filename specified in the GLib file\n    name encoding, which is the on-disk file name bytes on Unix, and UTF-8\n    on Windows", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hostname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A UTF-8 encoded hostname, or %NULL for none.", 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_filename_to_uri" g_filename_to_uri :: -    CString ->                              -- filename : TBasicType TFileName-    CString ->                              -- hostname : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CString--{- |-Converts an absolute filename to an escaped ASCII-encoded URI, with the path-component following Section 3.3. of RFC 2396.--}-filenameToUri ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@filename@/: an absolute filename specified in the GLib file-    name encoding, which is the on-disk file name bytes on Unix, and UTF-8-    on Windows -}-    -> Maybe (T.Text)-    {- ^ /@hostname@/: A UTF-8 encoded hostname, or 'Nothing' for none. -}-    -> m T.Text-    {- ^ __Returns:__ a newly-allocated string holding the resulting-              URI, or 'Nothing' on an error. /(Can throw 'Data.GI.Base.GError.GError')/ -}-filenameToUri filename hostname = liftIO $ do-    filename' <- stringToCString filename-    maybeHostname <- case hostname of-        Nothing -> return nullPtr-        Just jHostname -> do-            jHostname' <- textToCString jHostname-            return jHostname'-    onException (do-        result <- propagateGError $ g_filename_to_uri filename' maybeHostname-        checkUnexpectedReturnNULL "filenameToUri" result-        result' <- cstringToText result-        freeMem result-        freeMem filename'-        freeMem maybeHostname-        return result'-     ) (do-        freeMem filename'-        freeMem maybeHostname-     )----- function g_filename_from_utf8--- Args : [Arg {argCName = "utf8string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a UTF-8 encoded string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the string, or -1 if the string is\n                nul-terminated.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bytes_read", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the number of bytes in\n                the input string that were successfully converted, or %NULL.\n                Even if the conversion was successful, this may be\n                less than @len if there were partial characters\n                at the end of the input. If the error\n                %G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value\n                stored will be the byte offset after the last valid\n                input sequence.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "bytes_written", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes stored in\n                the output buffer (not including the terminating nul).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : True--- Skip return : False--foreign import ccall "g_filename_from_utf8" g_filename_from_utf8 :: -    CString ->                              -- utf8string : TBasicType TUTF8-    Int64 ->                                -- len : TBasicType TInt64-    Ptr Word64 ->                           -- bytes_read : TBasicType TUInt64-    Ptr Word64 ->                           -- bytes_written : TBasicType TUInt64-    Ptr (Ptr GError) ->                     -- error-    IO CString--{- |-Converts a string from UTF-8 to the encoding GLib uses for-filenames. Note that on Windows GLib uses UTF-8 for filenames;-on other platforms, this function indirectly depends on the-[current locale][setlocale].--The input string shall not contain nul characters even if the /@len@/-argument is positive. A nul character found inside the string will result-in error 'GI.GLib.Enums.ConvertErrorIllegalSequence'. If the filename encoding is-not UTF-8 and the conversion output contains a nul character, the error-'GI.GLib.Enums.ConvertErrorEmbeddedNul' is set and the function returns 'Nothing'.--}-filenameFromUtf8 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@utf8string@/: a UTF-8 encoded string. -}-    -> Int64-    {- ^ /@len@/: the length of the string, or -1 if the string is-                nul-terminated. -}-    -> m (([Char], Word64, Word64))-    {- ^ __Returns:__ -              The converted string, or 'Nothing' on an error. /(Can throw 'Data.GI.Base.GError.GError')/ -}-filenameFromUtf8 utf8string len = liftIO $ do-    utf8string' <- textToCString utf8string-    bytesRead <- allocMem :: IO (Ptr Word64)-    bytesWritten <- allocMem :: IO (Ptr Word64)-    onException (do-        result <- propagateGError $ g_filename_from_utf8 utf8string' len bytesRead bytesWritten-        checkUnexpectedReturnNULL "filenameFromUtf8" result-        result' <- cstringToString result-        freeMem result-        bytesRead' <- peek bytesRead-        bytesWritten' <- peek bytesWritten-        freeMem utf8string'-        freeMem bytesRead-        freeMem bytesWritten-        return (result', bytesRead', bytesWritten')-     ) (do-        freeMem utf8string'-        freeMem bytesRead-        freeMem bytesWritten-     )----- function g_filename_from_uri--- Args : [Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a uri describing a filename (escaped, encoded in ASCII).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hostname", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Location to store hostname for the URI.\n           If there is no hostname in the URI, %NULL will be\n           stored in this location.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : True--- Skip return : False--foreign import ccall "g_filename_from_uri" g_filename_from_uri :: -    CString ->                              -- uri : TBasicType TUTF8-    Ptr CString ->                          -- hostname : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CString--{- |-Converts an escaped ASCII-encoded URI to a local filename in the-encoding used for filenames.--}-filenameFromUri ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@uri@/: a uri describing a filename (escaped, encoded in ASCII). -}-    -> m (([Char], Maybe T.Text))-    {- ^ __Returns:__ a newly-allocated string holding-              the resulting filename, or 'Nothing' on an error. /(Can throw 'Data.GI.Base.GError.GError')/ -}-filenameFromUri uri = liftIO $ do-    uri' <- textToCString uri-    hostname <- allocMem :: IO (Ptr CString)-    onException (do-        result <- propagateGError $ g_filename_from_uri uri' hostname-        checkUnexpectedReturnNULL "filenameFromUri" result-        result' <- cstringToString result-        freeMem result-        hostname' <- peek hostname-        maybeHostname' <- convertIfNonNull hostname' $ \hostname'' -> do-            hostname''' <- cstringToText hostname''-            return hostname'''-        freeMem hostname'-        freeMem uri'-        freeMem hostname-        return (result', maybeHostname')-     ) (do-        freeMem uri'-        freeMem hostname-     )----- function g_filename_display_name--- Args : [Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pathname hopefully in the\n    GLib file name encoding", 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_filename_display_name" g_filename_display_name :: -    CString ->                              -- filename : TBasicType TFileName-    IO CString--{- |-Converts a filename into a valid UTF-8 string. The conversion is-not necessarily reversible, so you should keep the original around-and use the return value of this function only for display purposes.-Unlike 'GI.GLib.Functions.filenameToUtf8', the result is guaranteed to be non-'Nothing'-even if the filename actually isn\'t in the GLib file name encoding.--If GLib cannot make sense of the encoding of /@filename@/, as a last resort it-replaces unknown characters with U+FFFD, the Unicode replacement character.-You can search the result for the UTF-8 encoding of this character (which is-\"\\357\\277\\275\" in octal notation) to find out if /@filename@/ was in an invalid-encoding.--If you know the whole pathname of the file you should use-'GI.GLib.Functions.filenameDisplayBasename', since that allows location-based-translation of filenames.--/Since: 2.6/--}-filenameDisplayName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@filename@/: a pathname hopefully in the-    GLib file name encoding -}-    -> m T.Text-    {- ^ __Returns:__ a newly allocated string containing-  a rendition of the filename in valid UTF-8 -}-filenameDisplayName filename = liftIO $ do-    filename' <- stringToCString filename-    result <- g_filename_display_name filename'-    checkUnexpectedReturnNULL "filenameDisplayName" result-    result' <- cstringToText result-    freeMem result-    freeMem filename'-    return result'----- function g_filename_display_basename--- Args : [Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an absolute pathname in the\n    GLib file name encoding", 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_filename_display_basename" g_filename_display_basename :: -    CString ->                              -- filename : TBasicType TFileName-    IO CString--{- |-Returns the display basename for the particular filename, guaranteed-to be valid UTF-8. The display name might not be identical to the filename,-for instance there might be problems converting it to UTF-8, and some files-can be translated in the display.--If GLib cannot make sense of the encoding of /@filename@/, as a last resort it-replaces unknown characters with U+FFFD, the Unicode replacement character.-You can search the result for the UTF-8 encoding of this character (which is-\"\\357\\277\\275\" in octal notation) to find out if /@filename@/ was in an invalid-encoding.--You must pass the whole absolute pathname to this functions so that-translation of well known locations can be done.--This function is preferred over 'GI.GLib.Functions.filenameDisplayName' if you know the-whole path, as it allows translation.--/Since: 2.6/--}-filenameDisplayBasename ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@filename@/: an absolute pathname in the-    GLib file name encoding -}-    -> m T.Text-    {- ^ __Returns:__ a newly allocated string containing-  a rendition of the basename of the filename in valid UTF-8 -}-filenameDisplayBasename filename = liftIO $ do-    filename' <- stringToCString filename-    result <- g_filename_display_basename filename'-    checkUnexpectedReturnNULL "filenameDisplayBasename" result-    result' <- cstringToText result-    freeMem result-    freeMem filename'-    return result'----- function g_file_test--- Args : [Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a filename to test in the\n    GLib file name encoding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "test", argType = TInterface (Name {namespace = "GLib", name = "FileTest"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "bitfield of #GFileTest flags", 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_file_test" g_file_test :: -    CString ->                              -- filename : TBasicType TFileName-    CUInt ->                                -- test : TInterface (Name {namespace = "GLib", name = "FileTest"})-    IO CInt--{- |-Returns 'True' if any of the tests in the bitfield /@test@/ are-'True'. For example, @(G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR)@-will return 'True' if the file exists; the check whether it\'s a-directory doesn\'t matter since the existence test is 'True'. With-the current set of available tests, there\'s no point passing in-more than one test at a time.--Apart from 'GI.GLib.Flags.FileTestIsSymlink' all tests follow symbolic links,-so for a symbolic link to a regular file 'GI.GLib.Functions.fileTest' will return-'True' for both 'GI.GLib.Flags.FileTestIsSymlink' and 'GI.GLib.Flags.FileTestIsRegular'.--Note, that for a dangling symbolic link 'GI.GLib.Functions.fileTest' will return-'True' for 'GI.GLib.Flags.FileTestIsSymlink' and 'False' for all other flags.--You should never use 'GI.GLib.Functions.fileTest' to test whether it is safe-to perform an operation, because there is always the possibility-of the condition changing before you actually perform the operation.-For example, you might think you could use 'GI.GLib.Flags.FileTestIsSymlink'-to know whether it is safe to write to a file without being-tricked into writing into a different location. It doesn\'t work!--=== /C code/->-> // DON'T DO THIS-> if (!g_file_test (filename, G_FILE_TEST_IS_SYMLINK))->   {->     fd = g_open (filename, O_WRONLY);->     // write to fd->   }---Another thing to note is that 'GI.GLib.Flags.FileTestExists' and-'GI.GLib.Flags.FileTestIsExecutable' are implemented using the @/access()/@-system call. This usually doesn\'t matter, but if your program-is setuid or setgid it means that these tests will give you-the answer for the real user ID and group ID, rather than the-effective user ID and group ID.--On Windows, there are no symlinks, so testing for-'GI.GLib.Flags.FileTestIsSymlink' will always return 'False'. Testing for-'GI.GLib.Flags.FileTestIsExecutable' will just check that the file exists and-its name indicates that it is executable, checking for well-known-extensions and those listed in the @PATHEXT@ environment variable.--}-fileTest ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@filename@/: a filename to test in the-    GLib file name encoding -}-    -> [GLib.Flags.FileTest]-    {- ^ /@test@/: bitfield of 'GI.GLib.Flags.FileTest' flags -}-    -> m Bool-    {- ^ __Returns:__ whether a test was 'True' -}-fileTest filename test = liftIO $ do-    filename' <- stringToCString filename-    let test' = gflagsToWord test-    result <- g_file_test filename' test'-    let result' = (/= 0) result-    freeMem filename'-    return result'----- function g_file_set_contents--- Args : [Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of a file to write @contents to, in the GLib file name\n  encoding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "contents", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "string to write to the file", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @contents, or -1 if @contents is a nul-terminated string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @contents, or -1 if @contents is a nul-terminated string", 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_file_set_contents" g_file_set_contents :: -    CString ->                              -- filename : TBasicType TFileName-    Ptr Word8 ->                            -- contents : TCArray False (-1) 2 (TBasicType TUInt8)-    Int64 ->                                -- length : TBasicType TInt64-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Writes all of /@contents@/ to a file named /@filename@/, with good error checking.-If a file called /@filename@/ already exists it will be overwritten.--This write is atomic in the sense that it is first written to a temporary-file which is then renamed to the final name. Notes:--* On UNIX, if /@filename@/ already exists hard links to /@filename@/ will break.-Also since the file is recreated, existing permissions, access control-lists, metadata etc. may be lost. If /@filename@/ is a symbolic link,-the link itself will be replaced, not the linked file.-* On UNIX, if /@filename@/ already exists and is non-empty, and if the system-supports it (via a journalling filesystem or equivalent), the @/fsync()/@-call (or equivalent) will be used to ensure atomic replacement: /@filename@/-will contain either its old contents or /@contents@/, even in the face of-system power loss, the disk being unsafely removed, etc.-* On UNIX, if /@filename@/ does not already exist or is empty, there is a-possibility that system power loss etc. after calling this function will-leave /@filename@/ empty or full of NUL bytes, depending on the underlying-filesystem.-* On Windows renaming a file will not remove an existing file with the-new name, so on Windows there is a race condition between the existing-file being removed and the temporary file being renamed.-* On Windows there is no way to remove a file that is open to some-process, or mapped into memory. Thus, this function will fail if-/@filename@/ already exists and is open.---If the call was successful, it returns 'True'. If the call was not successful,-it returns 'False' and sets /@error@/. The error domain is @/G_FILE_ERROR/@.-Possible error codes are those in the 'GI.GLib.Enums.FileError' enumeration.--Note that the name for the temporary file is constructed by appending up-to 7 characters to /@filename@/.--/Since: 2.8/--}-fileSetContents ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@filename@/: name of a file to write /@contents@/ to, in the GLib file name-  encoding -}-    -> ByteString-    {- ^ /@contents@/: string to write to the file -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-fileSetContents filename contents = liftIO $ do-    let length_ = fromIntegral $ B.length contents-    filename' <- stringToCString filename-    contents' <- packByteString contents-    onException (do-        _ <- propagateGError $ g_file_set_contents filename' contents' length_-        freeMem filename'-        freeMem contents'-        return ()-     ) (do-        freeMem filename'-        freeMem contents'-     )----- function g_file_read_link--- Args : [Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the symbolic link", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : True--- Skip return : False--foreign import ccall "g_file_read_link" g_file_read_link :: -    CString ->                              -- filename : TBasicType TFileName-    Ptr (Ptr GError) ->                     -- error-    IO CString--{- |-Reads the contents of the symbolic link /@filename@/ like the POSIX-@/readlink()/@ function.  The returned string is in the encoding used-for filenames. Use 'GI.GLib.Functions.filenameToUtf8' to convert it to UTF-8.--/Since: 2.4/--}-fileReadLink ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@filename@/: the symbolic link -}-    -> m [Char]-    {- ^ __Returns:__ A newly-allocated string with the contents of-    the symbolic link, or 'Nothing' if an error occurred. /(Can throw 'Data.GI.Base.GError.GError')/ -}-fileReadLink filename = liftIO $ do-    filename' <- stringToCString filename-    onException (do-        result <- propagateGError $ g_file_read_link filename'-        checkUnexpectedReturnNULL "fileReadLink" result-        result' <- cstringToString result-        freeMem result-        freeMem filename'-        return result'-     ) (do-        freeMem filename'-     )----- function g_file_open_tmp--- Args : [Arg {argCName = "tmpl", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Template for file name, as in\n    g_mkstemp(), basename only, or %NULL for a default template", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name_used", argType = TBasicType TFileName, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store actual name used,\n    or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : True--- Skip return : False--foreign import ccall "g_file_open_tmp" g_file_open_tmp :: -    CString ->                              -- tmpl : TBasicType TFileName-    Ptr CString ->                          -- name_used : TBasicType TFileName-    Ptr (Ptr GError) ->                     -- error-    IO Int32--{- |-Opens a file for writing in the preferred directory for temporary-files (as returned by 'GI.GLib.Functions.getTmpDir').--/@tmpl@/ should be a string in the GLib file name encoding containing-a sequence of six \'X\' characters, as the parameter to @/g_mkstemp()/@.-However, unlike these functions, the template should only be a-basename, no directory components are allowed. If template is-'Nothing', a default template is used.--Note that in contrast to @/g_mkstemp()/@ (and @/mkstemp()/@) /@tmpl@/ is not-modified, and might thus be a read-only literal string.--Upon success, and if /@nameUsed@/ is non-'Nothing', the actual name used-is returned in /@nameUsed@/. This string should be freed with 'GI.GLib.Functions.free'-when not needed any longer. The returned name is in the GLib file-name encoding.--}-fileOpenTmp ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe ([Char])-    {- ^ /@tmpl@/: Template for file name, as in-    @/g_mkstemp()/@, basename only, or 'Nothing' for a default template -}-    -> m ((Int32, [Char]))-    {- ^ __Returns:__ A file handle (as from @/open()/@) to the file opened for-    reading and writing. The file is opened in binary mode on platforms-    where there is a difference. The file handle should be closed with-    @/close()/@. In case of errors, -1 is returned and /@error@/ will be set. /(Can throw 'Data.GI.Base.GError.GError')/ -}-fileOpenTmp tmpl = liftIO $ do-    maybeTmpl <- case tmpl of-        Nothing -> return nullPtr-        Just jTmpl -> do-            jTmpl' <- stringToCString jTmpl-            return jTmpl'-    nameUsed <- allocMem :: IO (Ptr CString)-    onException (do-        result <- propagateGError $ g_file_open_tmp maybeTmpl nameUsed-        nameUsed' <- peek nameUsed-        nameUsed'' <- cstringToString nameUsed'-        freeMem nameUsed'-        freeMem maybeTmpl-        freeMem nameUsed-        return (result, nameUsed'')-     ) (do-        freeMem maybeTmpl-        freeMem nameUsed-     )----- function g_file_get_contents--- Args : [Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of a file to read contents from, in the GLib file name encoding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "contents", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store an allocated string, use g_free() to free\n    the returned string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "location to store length in bytes of the contents, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "location to store length in bytes of the contents, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Just (TBasicType TBoolean)--- throws : True--- Skip return : False--foreign import ccall "g_file_get_contents" g_file_get_contents :: -    CString ->                              -- filename : TBasicType TFileName-    Ptr (Ptr Word8) ->                      -- contents : TCArray False (-1) 2 (TBasicType TUInt8)-    Ptr Word64 ->                           -- length : TBasicType TUInt64-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Reads an entire file into allocated memory, with good error-checking.--If the call was successful, it returns 'True' and sets /@contents@/ to the file-contents and /@length@/ to the length of the file contents in bytes. The string-stored in /@contents@/ will be nul-terminated, so for text files you can pass-'Nothing' for the /@length@/ argument. If the call was not successful, it returns-'False' and sets /@error@/. The error domain is @/G_FILE_ERROR/@. Possible error-codes are those in the 'GI.GLib.Enums.FileError' enumeration. In the error case,-/@contents@/ is set to 'Nothing' and /@length@/ is set to zero.--}-fileGetContents ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@filename@/: name of a file to read contents from, in the GLib file name encoding -}-    -> m (ByteString)-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-fileGetContents filename = liftIO $ do-    filename' <- stringToCString filename-    contents <- allocMem :: IO (Ptr (Ptr Word8))-    length_ <- allocMem :: IO (Ptr Word64)-    onException (do-        _ <- propagateGError $ g_file_get_contents filename' contents length_-        length_' <- peek length_-        contents' <- peek contents-        contents'' <- (unpackByteStringWithLength length_') contents'-        freeMem contents'-        freeMem filename'-        freeMem contents-        freeMem length_-        return contents''-     ) (do-        freeMem filename'-        freeMem contents-        freeMem length_-     )----- function g_file_error_quark--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "g_file_error_quark" g_file_error_quark :: -    IO Word32--{- |-/No description available in the introspection data./--}-fileErrorQuark ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Word32-fileErrorQuark  = liftIO $ do-    result <- g_file_error_quark-    return result----- function g_file_error_from_errno--- Args : [Arg {argCName = "err_no", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an \"errno\" value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "FileError"}))--- throws : False--- Skip return : False--foreign import ccall "g_file_error_from_errno" g_file_error_from_errno :: -    Int32 ->                                -- err_no : TBasicType TInt-    IO CUInt--{- |-Gets a 'GI.GLib.Enums.FileError' constant based on the passed-in /@errNo@/.-For example, if you pass in @EEXIST@ this function returns-@/G_FILE_ERROR_EXIST/@. Unlike @errno@ values, you can portably-assume that all 'GI.GLib.Enums.FileError' values will exist.--Normally a 'GI.GLib.Enums.FileError' value goes into a 'GError' returned-from a function that manipulates files. So you would use-'GI.GLib.Functions.fileErrorFromErrno' when constructing a 'GError'.--}-fileErrorFromErrno ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@errNo@/: an \"errno\" value -}-    -> m GLib.Enums.FileError-    {- ^ __Returns:__ 'GI.GLib.Enums.FileError' corresponding to the given /@errno@/ -}-fileErrorFromErrno errNo = liftIO $ do-    result <- g_file_error_from_errno errNo-    let result' = (toEnum . fromIntegral) result-    return result'----- function g_environ_unsetenv--- Args : [Arg {argCName = "envp", argType = TCArray True (-1) (-1) (TBasicType TFileName), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "\n    an environment list that can be freed using g_strfreev() (e.g., as\n    returned from g_get_environ()), or %NULL for an empty environment list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "variable", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the environment variable to remove, must not\n    contain '='", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TFileName))--- throws : False--- Skip return : False--foreign import ccall "g_environ_unsetenv" g_environ_unsetenv :: -    Ptr CString ->                          -- envp : TCArray True (-1) (-1) (TBasicType TFileName)-    CString ->                              -- variable : TBasicType TFileName-    IO (Ptr CString)--{- |-Removes the environment variable /@variable@/ from the provided-environment /@envp@/.--/Since: 2.32/--}-environUnsetenv ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe ([[Char]])-    {- ^ /@envp@/: -    an environment list that can be freed using 'GI.GLib.Functions.strfreev' (e.g., as-    returned from 'GI.GLib.Functions.getEnviron'), or 'Nothing' for an empty environment list -}-    -> [Char]-    {- ^ /@variable@/: the environment variable to remove, must not-    contain \'=\' -}-    -> m [[Char]]-    {- ^ __Returns:__ -    the updated environment list. Free it using 'GI.GLib.Functions.strfreev'. -}-environUnsetenv envp variable = liftIO $ do-    maybeEnvp <- case envp of-        Nothing -> return nullPtr-        Just jEnvp -> do-            jEnvp' <- packZeroTerminatedFileNameArray jEnvp-            return jEnvp'-    variable' <- stringToCString variable-    result <- g_environ_unsetenv maybeEnvp variable'-    checkUnexpectedReturnNULL "environUnsetenv" result-    result' <- unpackZeroTerminatedFileNameArray result-    mapZeroTerminatedCArray freeMem result-    freeMem result-    freeMem variable'-    return result'----- function g_environ_setenv--- Args : [Arg {argCName = "envp", argType = TCArray True (-1) (-1) (TBasicType TFileName), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "\n    an environment list that can be freed using g_strfreev() (e.g., as\n    returned from g_get_environ()), or %NULL for an empty\n    environment list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "variable", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the environment variable to set, must not\n    contain '='", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value for to set the variable to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "overwrite", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to change the variable if it already exists", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TFileName))--- throws : False--- Skip return : False--foreign import ccall "g_environ_setenv" g_environ_setenv :: -    Ptr CString ->                          -- envp : TCArray True (-1) (-1) (TBasicType TFileName)-    CString ->                              -- variable : TBasicType TFileName-    CString ->                              -- value : TBasicType TFileName-    CInt ->                                 -- overwrite : TBasicType TBoolean-    IO (Ptr CString)--{- |-Sets the environment variable /@variable@/ in the provided list-/@envp@/ to /@value@/.--/Since: 2.32/--}-environSetenv ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe ([[Char]])-    {- ^ /@envp@/: -    an environment list that can be freed using 'GI.GLib.Functions.strfreev' (e.g., as-    returned from 'GI.GLib.Functions.getEnviron'), or 'Nothing' for an empty-    environment list -}-    -> [Char]-    {- ^ /@variable@/: the environment variable to set, must not-    contain \'=\' -}-    -> [Char]-    {- ^ /@value@/: the value for to set the variable to -}-    -> Bool-    {- ^ /@overwrite@/: whether to change the variable if it already exists -}-    -> m [[Char]]-    {- ^ __Returns:__ -    the updated environment list. Free it using 'GI.GLib.Functions.strfreev'. -}-environSetenv envp variable value overwrite = liftIO $ do-    maybeEnvp <- case envp of-        Nothing -> return nullPtr-        Just jEnvp -> do-            jEnvp' <- packZeroTerminatedFileNameArray jEnvp-            return jEnvp'-    variable' <- stringToCString variable-    value' <- stringToCString value-    let overwrite' = (fromIntegral . fromEnum) overwrite-    result <- g_environ_setenv maybeEnvp variable' value' overwrite'-    checkUnexpectedReturnNULL "environSetenv" result-    result' <- unpackZeroTerminatedFileNameArray result-    mapZeroTerminatedCArray freeMem result-    freeMem result-    freeMem variable'-    freeMem value'-    return result'----- function g_environ_getenv--- Args : [Arg {argCName = "envp", argType = TCArray True (-1) (-1) (TBasicType TFileName), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "\n    an environment list (eg, as returned from g_get_environ()), or %NULL\n    for an empty environment list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "variable", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the environment variable to get", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "g_environ_getenv" g_environ_getenv :: -    Ptr CString ->                          -- envp : TCArray True (-1) (-1) (TBasicType TFileName)-    CString ->                              -- variable : TBasicType TFileName-    IO CString--{- |-Returns the value of the environment variable /@variable@/ in the-provided list /@envp@/.--/Since: 2.32/--}-environGetenv ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe ([[Char]])-    {- ^ /@envp@/: -    an environment list (eg, as returned from 'GI.GLib.Functions.getEnviron'), or 'Nothing'-    for an empty environment list -}-    -> [Char]-    {- ^ /@variable@/: the environment variable to get -}-    -> m [Char]-    {- ^ __Returns:__ the value of the environment variable, or 'Nothing' if-    the environment variable is not set in /@envp@/. The returned-    string is owned by /@envp@/, and will be freed if /@variable@/ is-    set or unset again. -}-environGetenv envp variable = liftIO $ do-    maybeEnvp <- case envp of-        Nothing -> return nullPtr-        Just jEnvp -> do-            jEnvp' <- packZeroTerminatedFileNameArray jEnvp-            return jEnvp'-    variable' <- stringToCString variable-    result <- g_environ_getenv maybeEnvp variable'-    checkUnexpectedReturnNULL "environGetenv" result-    result' <- cstringToString result-    mapZeroTerminatedCArray freeMem maybeEnvp-    freeMem maybeEnvp-    freeMem variable'-    return result'----- function g_dpgettext2--- Args : [Arg {argCName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the translation domain to use, or %NULL to use\n  the domain set with textdomain()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the message context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msgid", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the message", 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_dpgettext2" g_dpgettext2 :: -    CString ->                              -- domain : TBasicType TUTF8-    CString ->                              -- context : TBasicType TUTF8-    CString ->                              -- msgid : TBasicType TUTF8-    IO CString--{- |-This function is a variant of 'GI.GLib.Functions.dgettext' which supports-a disambiguating message context. GNU gettext uses the-\'\\004\' character to separate the message context and-message id in /@msgctxtid@/.--This uses 'GI.GLib.Functions.dgettext' internally. See that functions for differences-with @/dgettext()/@ proper.--This function differs from @/C_()/@ in that it is not a macro and-thus you may use non-string-literals as context and msgid arguments.--/Since: 2.18/--}-dpgettext2 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@domain@/: the translation domain to use, or 'Nothing' to use-  the domain set with @/textdomain()/@ -}-    -> T.Text-    {- ^ /@context@/: the message context -}-    -> T.Text-    {- ^ /@msgid@/: the message -}-    -> m T.Text-    {- ^ __Returns:__ The translated string -}-dpgettext2 domain context msgid = liftIO $ do-    maybeDomain <- case domain of-        Nothing -> return nullPtr-        Just jDomain -> do-            jDomain' <- textToCString jDomain-            return jDomain'-    context' <- textToCString context-    msgid' <- textToCString msgid-    result <- g_dpgettext2 maybeDomain context' msgid'-    checkUnexpectedReturnNULL "dpgettext2" result-    result' <- cstringToText result-    freeMem maybeDomain-    freeMem context'-    freeMem msgid'-    return result'----- function g_dpgettext--- Args : [Arg {argCName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the translation domain to use, or %NULL to use\n  the domain set with textdomain()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msgctxtid", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a combined message context and message id, separated\n  by a \\004 character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msgidoffset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the offset of the message id in @msgctxid", 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_dpgettext" g_dpgettext :: -    CString ->                              -- domain : TBasicType TUTF8-    CString ->                              -- msgctxtid : TBasicType TUTF8-    Word64 ->                               -- msgidoffset : TBasicType TUInt64-    IO CString--{- |-This function is a variant of 'GI.GLib.Functions.dgettext' which supports-a disambiguating message context. GNU gettext uses the-\'\\004\' character to separate the message context and-message id in /@msgctxtid@/.-If 0 is passed as /@msgidoffset@/, this function will fall back to-trying to use the deprecated convention of using \"|\" as a separation-character.--This uses 'GI.GLib.Functions.dgettext' internally. See that functions for differences-with @/dgettext()/@ proper.--Applications should normally not use this function directly,-but use the @/C_()/@ macro for translations with context.--/Since: 2.16/--}-dpgettext ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@domain@/: the translation domain to use, or 'Nothing' to use-  the domain set with @/textdomain()/@ -}-    -> T.Text-    {- ^ /@msgctxtid@/: a combined message context and message id, separated-  by a \\004 character -}-    -> Word64-    {- ^ /@msgidoffset@/: the offset of the message id in /@msgctxid@/ -}-    -> m T.Text-    {- ^ __Returns:__ The translated string -}-dpgettext domain msgctxtid msgidoffset = liftIO $ do-    maybeDomain <- case domain of-        Nothing -> return nullPtr-        Just jDomain -> do-            jDomain' <- textToCString jDomain-            return jDomain'-    msgctxtid' <- textToCString msgctxtid-    result <- g_dpgettext maybeDomain msgctxtid' msgidoffset-    checkUnexpectedReturnNULL "dpgettext" result-    result' <- cstringToText result-    freeMem maybeDomain-    freeMem msgctxtid'-    return result'----- function g_double_hash--- Args : [Arg {argCName = "v", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gdouble key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_double_hash" g_double_hash :: -    Ptr () ->                               -- v : TBasicType TPtr-    IO Word32--{- |-Converts a pointer to a @/gdouble/@ to a hash value.-It can be passed to @/g_hash_table_new()/@ as the /@hashFunc@/ parameter,-It can be passed to @/g_hash_table_new()/@ as the /@hashFunc@/ parameter,-when using non-'Nothing' pointers to doubles as keys in a 'GI.GLib.Structs.HashTable.HashTable'.--/Since: 2.22/--}-doubleHash ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@v@/: a pointer to a @/gdouble/@ key -}-    -> m Word32-    {- ^ __Returns:__ a hash value corresponding to the key. -}-doubleHash v = liftIO $ do-    result <- g_double_hash v-    return result----- function g_double_equal--- Args : [Arg {argCName = "v1", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gdouble key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "v2", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gdouble key to compare with @v1", 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_double_equal" g_double_equal :: -    Ptr () ->                               -- v1 : TBasicType TPtr-    Ptr () ->                               -- v2 : TBasicType TPtr-    IO CInt--{- |-Compares the two @/gdouble/@ values being pointed to and returns-'True' if they are equal.-It can be passed to @/g_hash_table_new()/@ as the /@keyEqualFunc@/-parameter, when using non-'Nothing' pointers to doubles as keys in a-'GI.GLib.Structs.HashTable.HashTable'.--/Since: 2.22/--}-doubleEqual ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@v1@/: a pointer to a @/gdouble/@ key -}-    -> Ptr ()-    {- ^ /@v2@/: a pointer to a @/gdouble/@ key to compare with /@v1@/ -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the two keys match. -}-doubleEqual v1 v2 = liftIO $ do-    result <- g_double_equal v1 v2-    let result' = (/= 0) result-    return result'----- function g_dngettext--- Args : [Arg {argCName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the translation domain to use, or %NULL to use\n  the domain set with textdomain()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msgid", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "message to translate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msgid_plural", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "plural form of the message", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the quantity for which translation is needed", 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_dngettext" g_dngettext :: -    CString ->                              -- domain : TBasicType TUTF8-    CString ->                              -- msgid : TBasicType TUTF8-    CString ->                              -- msgid_plural : TBasicType TUTF8-    CULong ->                               -- n : TBasicType TULong-    IO CString--{- |-This function is a wrapper of @/dngettext()/@ which does not translate-the message if the default domain as set with @/textdomain()/@ has no-translations for the current locale.--See 'GI.GLib.Functions.dgettext' for details of how this differs from @/dngettext()/@-proper.--/Since: 2.18/--}-dngettext ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@domain@/: the translation domain to use, or 'Nothing' to use-  the domain set with @/textdomain()/@ -}-    -> T.Text-    {- ^ /@msgid@/: message to translate -}-    -> T.Text-    {- ^ /@msgidPlural@/: plural form of the message -}-    -> CULong-    {- ^ /@n@/: the quantity for which translation is needed -}-    -> m T.Text-    {- ^ __Returns:__ The translated string -}-dngettext domain msgid msgidPlural n = liftIO $ do-    maybeDomain <- case domain of-        Nothing -> return nullPtr-        Just jDomain -> do-            jDomain' <- textToCString jDomain-            return jDomain'-    msgid' <- textToCString msgid-    msgidPlural' <- textToCString msgidPlural-    result <- g_dngettext maybeDomain msgid' msgidPlural' n-    checkUnexpectedReturnNULL "dngettext" result-    result' <- cstringToText result-    freeMem maybeDomain-    freeMem msgid'-    freeMem msgidPlural'-    return result'----- function g_direct_hash--- Args : [Arg {argCName = "v", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #gpointer key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_direct_hash" g_direct_hash :: -    Ptr () ->                               -- v : TBasicType TPtr-    IO Word32--{- |-Converts a gpointer to a hash value.-It can be passed to @/g_hash_table_new()/@ as the /@hashFunc@/ parameter,-when using opaque pointers compared by pointer value as keys in a-'GI.GLib.Structs.HashTable.HashTable'.--This hash function is also appropriate for keys that are integers-stored in pointers, such as @GINT_TO_POINTER (n)@.--}-directHash ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@v@/: a @/gpointer/@ key -}-    -> m Word32-    {- ^ __Returns:__ a hash value corresponding to the key. -}-directHash v = liftIO $ do-    result <- g_direct_hash v-    return result----- function g_direct_equal--- Args : [Arg {argCName = "v1", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "v2", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a key to compare with @v1", 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_direct_equal" g_direct_equal :: -    Ptr () ->                               -- v1 : TBasicType TPtr-    Ptr () ->                               -- v2 : TBasicType TPtr-    IO CInt--{- |-Compares two @/gpointer/@ arguments and returns 'True' if they are equal.-It can be passed to @/g_hash_table_new()/@ as the /@keyEqualFunc@/-parameter, when using opaque pointers compared by pointer value as-keys in a 'GI.GLib.Structs.HashTable.HashTable'.--This equality function is also appropriate for keys that are integers-stored in pointers, such as @GINT_TO_POINTER (n)@.--}-directEqual ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@v1@/: a key -}-    -> Ptr ()-    {- ^ /@v2@/: a key to compare with /@v1@/ -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the two keys match. -}-directEqual v1 v2 = liftIO $ do-    result <- g_direct_equal v1 v2-    let result' = (/= 0) result-    return result'----- function g_dgettext--- Args : [Arg {argCName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the translation domain to use, or %NULL to use\n  the domain set with textdomain()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msgid", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "message to translate", 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_dgettext" g_dgettext :: -    CString ->                              -- domain : TBasicType TUTF8-    CString ->                              -- msgid : TBasicType TUTF8-    IO CString--{- |-This function is a wrapper of @/dgettext()/@ which does not translate-the message if the default domain as set with @/textdomain()/@ has no-translations for the current locale.--The advantage of using this function over @/dgettext()/@ proper is that-libraries using this function (like GTK+) will not use translations-if the application using the library does not have translations for-the current locale.  This results in a consistent English-only-interface instead of one having partial translations.  For this-feature to work, the call to @/textdomain()/@ and @/setlocale()/@ should-precede any 'GI.GLib.Functions.dgettext' invocations.  For GTK+, it means calling-@/textdomain()/@ before gtk_init or its variants.--This function disables translations if and only if upon its first-call all the following conditions hold:--* /@domain@/ is not 'Nothing'-* @/textdomain()/@ has been called to set a default text domain-* there is no translations available for the default text domain-and the current locale-* current locale is not \"C\" or any English locales (those-starting with \"en_\")---Note that this behavior may not be desired for example if an application-has its untranslated messages in a language other than English. In those-cases the application should call @/textdomain()/@ after initializing GTK+.--Applications should normally not use this function directly,-but use the @/_()/@ macro for translations.--/Since: 2.18/--}-dgettext ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@domain@/: the translation domain to use, or 'Nothing' to use-  the domain set with @/textdomain()/@ -}-    -> T.Text-    {- ^ /@msgid@/: message to translate -}-    -> m T.Text-    {- ^ __Returns:__ The translated string -}-dgettext domain msgid = liftIO $ do-    maybeDomain <- case domain of-        Nothing -> return nullPtr-        Just jDomain -> do-            jDomain' <- textToCString jDomain-            return jDomain'-    msgid' <- textToCString msgid-    result <- g_dgettext maybeDomain msgid'-    checkUnexpectedReturnNULL "dgettext" result-    result' <- cstringToText result-    freeMem maybeDomain-    freeMem msgid'-    return result'----- function g_dcgettext--- Args : [Arg {argCName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the translation domain to use, or %NULL to use\n  the domain set with textdomain()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "msgid", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "message to translate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "category", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a locale category", 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_dcgettext" g_dcgettext :: -    CString ->                              -- domain : TBasicType TUTF8-    CString ->                              -- msgid : TBasicType TUTF8-    Int32 ->                                -- category : TBasicType TInt-    IO CString--{- |-This is a variant of 'GI.GLib.Functions.dgettext' that allows specifying a locale-category instead of always using @LC_MESSAGES@. See 'GI.GLib.Functions.dgettext' for-more information about how this functions differs from calling-@/dcgettext()/@ directly.--/Since: 2.26/--}-dcgettext ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@domain@/: the translation domain to use, or 'Nothing' to use-  the domain set with @/textdomain()/@ -}-    -> T.Text-    {- ^ /@msgid@/: message to translate -}-    -> Int32-    {- ^ /@category@/: a locale category -}-    -> m T.Text-    {- ^ __Returns:__ the translated string for the given locale category -}-dcgettext domain msgid category = liftIO $ do-    maybeDomain <- case domain of-        Nothing -> return nullPtr-        Just jDomain -> do-            jDomain' <- textToCString jDomain-            return jDomain'-    msgid' <- textToCString msgid-    result <- g_dcgettext maybeDomain msgid' category-    checkUnexpectedReturnNULL "dcgettext" result-    result' <- cstringToText result-    freeMem maybeDomain-    freeMem msgid'-    return result'----- function g_dataset_id_get_data--- Args : [Arg {argCName = "dataset_location", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the location identifying the dataset.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GQuark id to identify the data element.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_dataset_id_get_data" g_dataset_id_get_data :: -    Ptr () ->                               -- dataset_location : TBasicType TPtr-    Word32 ->                               -- key_id : TBasicType TUInt32-    IO (Ptr ())--{- |-Gets the data element corresponding to a @/GQuark/@.--}-datasetIdGetData ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@datasetLocation@/: the location identifying the dataset. -}-    -> Word32-    {- ^ /@keyId@/: the @/GQuark/@ id to identify the data element. -}-    -> m (Ptr ())-    {- ^ __Returns:__ the data element corresponding to-         the @/GQuark/@, or 'Nothing' if it is not found. -}-datasetIdGetData datasetLocation keyId = liftIO $ do-    result <- g_dataset_id_get_data datasetLocation keyId-    return result----- function g_dataset_foreach--- Args : [Arg {argCName = "dataset_location", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the location identifying the dataset.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "GLib", name = "DataForeachFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the function to call for each data element.", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to the function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_dataset_foreach" g_dataset_foreach :: -    Ptr () ->                               -- dataset_location : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DataForeachFunc -> -- func : TInterface (Name {namespace = "GLib", name = "DataForeachFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO ()--{- |-Calls the given function for each data element which is associated-with the given location. Note that this function is NOT thread-safe.-So unless /@datasetLocation@/ can be protected from any modifications-during invocation of this function, it should not be called.--/@func@/ can make changes to the dataset, but the iteration will not-reflect changes made during the 'GI.GLib.Functions.datasetForeach' call, other-than skipping over elements that are removed.--}-datasetForeach ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@datasetLocation@/: the location identifying the dataset. -}-    -> GLib.Callbacks.DataForeachFunc-    {- ^ /@func@/: the function to call for each data element. -}-    -> m ()-datasetForeach datasetLocation func = liftIO $ do-    func' <- GLib.Callbacks.mk_DataForeachFunc (GLib.Callbacks.wrap_DataForeachFunc Nothing (GLib.Callbacks.drop_closures_DataForeachFunc func))-    let userData = nullPtr-    g_dataset_foreach datasetLocation func' userData-    safeFreeFunPtr $ castFunPtrToPtr func'-    return ()----- function g_dataset_destroy--- Args : [Arg {argCName = "dataset_location", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the location identifying the dataset.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_dataset_destroy" g_dataset_destroy :: -    Ptr () ->                               -- dataset_location : TBasicType TPtr-    IO ()--{- |-Destroys the dataset, freeing all memory allocated, and calling any-destroy functions set for data elements.--}-datasetDestroy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@datasetLocation@/: the location identifying the dataset. -}-    -> m ()-datasetDestroy datasetLocation = liftIO $ do-    g_dataset_destroy datasetLocation-    return ()----- function g_datalist_unset_flags--- Args : [Arg {argCName = "datalist", argType = TInterface (Name {namespace = "GLib", name = "Data"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to the location that holds a list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the flags to turn off. The values of the flags are\n  restricted by %G_DATALIST_FLAGS_MASK (currently\n  3: giving two possible boolean flags).\n  A value for @flags that doesn't fit within the mask is\n  an error.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_datalist_unset_flags" g_datalist_unset_flags :: -    Ptr GLib.Data.Data ->                   -- datalist : TInterface (Name {namespace = "GLib", name = "Data"})-    Word32 ->                               -- flags : TBasicType TUInt-    IO ()--{- |-Turns off flag values for a data list. See 'GI.GLib.Functions.datalistUnsetFlags'--/Since: 2.8/--}-datalistUnsetFlags ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Data.Data-    {- ^ /@datalist@/: pointer to the location that holds a list -}-    -> Word32-    {- ^ /@flags@/: the flags to turn off. The values of the flags are-  restricted by 'GI.GLib.Constants.DATALIST_FLAGS_MASK' (currently-  3: giving two possible boolean flags).-  A value for /@flags@/ that doesn\'t fit within the mask is-  an error. -}-    -> m ()-datalistUnsetFlags datalist flags = liftIO $ do-    datalist' <- unsafeManagedPtrGetPtr datalist-    g_datalist_unset_flags datalist' flags-    touchManagedPtr datalist-    return ()----- function g_datalist_set_flags--- Args : [Arg {argCName = "datalist", argType = TInterface (Name {namespace = "GLib", name = "Data"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to the location that holds a list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the flags to turn on. The values of the flags are\n  restricted by %G_DATALIST_FLAGS_MASK (currently\n  3; giving two possible boolean flags).\n  A value for @flags that doesn't fit within the mask is\n  an error.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_datalist_set_flags" g_datalist_set_flags :: -    Ptr GLib.Data.Data ->                   -- datalist : TInterface (Name {namespace = "GLib", name = "Data"})-    Word32 ->                               -- flags : TBasicType TUInt-    IO ()--{- |-Turns on flag values for a data list. This function is used-to keep a small number of boolean flags in an object with-a data list without using any additional space. It is-not generally useful except in circumstances where space-is very tight. (It is used in the base @/GObject/@ type, for-example.)--/Since: 2.8/--}-datalistSetFlags ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Data.Data-    {- ^ /@datalist@/: pointer to the location that holds a list -}-    -> Word32-    {- ^ /@flags@/: the flags to turn on. The values of the flags are-  restricted by 'GI.GLib.Constants.DATALIST_FLAGS_MASK' (currently-  3; giving two possible boolean flags).-  A value for /@flags@/ that doesn\'t fit within the mask is-  an error. -}-    -> m ()-datalistSetFlags datalist flags = liftIO $ do-    datalist' <- unsafeManagedPtrGetPtr datalist-    g_datalist_set_flags datalist' flags-    touchManagedPtr datalist-    return ()----- function g_datalist_id_get_data--- Args : [Arg {argCName = "datalist", argType = TInterface (Name {namespace = "GLib", name = "Data"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a datalist.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key_id", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GQuark identifying a data element.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_datalist_id_get_data" g_datalist_id_get_data :: -    Ptr GLib.Data.Data ->                   -- datalist : TInterface (Name {namespace = "GLib", name = "Data"})-    Word32 ->                               -- key_id : TBasicType TUInt32-    IO (Ptr ())--{- |-Retrieves the data element corresponding to /@keyId@/.--}-datalistIdGetData ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Data.Data-    {- ^ /@datalist@/: a datalist. -}-    -> Word32-    {- ^ /@keyId@/: the @/GQuark/@ identifying a data element. -}-    -> m (Ptr ())-    {- ^ __Returns:__ the data element, or 'Nothing' if-         it is not found. -}-datalistIdGetData datalist keyId = liftIO $ do-    datalist' <- unsafeManagedPtrGetPtr datalist-    result <- g_datalist_id_get_data datalist' keyId-    touchManagedPtr datalist-    return result----- function g_datalist_get_flags--- Args : [Arg {argCName = "datalist", argType = TInterface (Name {namespace = "GLib", name = "Data"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to the location that holds a list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_datalist_get_flags" g_datalist_get_flags :: -    Ptr GLib.Data.Data ->                   -- datalist : TInterface (Name {namespace = "GLib", name = "Data"})-    IO Word32--{- |-Gets flags values packed in together with the datalist.-See 'GI.GLib.Functions.datalistSetFlags'.--/Since: 2.8/--}-datalistGetFlags ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Data.Data-    {- ^ /@datalist@/: pointer to the location that holds a list -}-    -> m Word32-    {- ^ __Returns:__ the flags of the datalist -}-datalistGetFlags datalist = liftIO $ do-    datalist' <- unsafeManagedPtrGetPtr datalist-    result <- g_datalist_get_flags datalist'-    touchManagedPtr datalist-    return result----- function g_datalist_get_data--- Args : [Arg {argCName = "datalist", argType = TInterface (Name {namespace = "GLib", name = "Data"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a datalist.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string identifying a data element.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_datalist_get_data" g_datalist_get_data :: -    Ptr GLib.Data.Data ->                   -- datalist : TInterface (Name {namespace = "GLib", name = "Data"})-    CString ->                              -- key : TBasicType TUTF8-    IO (Ptr ())--{- |-Gets a data element, using its string identifier. This is slower than-'GI.GLib.Functions.datalistIdGetData' because it compares strings.--}-datalistGetData ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Data.Data-    {- ^ /@datalist@/: a datalist. -}-    -> T.Text-    {- ^ /@key@/: the string identifying a data element. -}-    -> m (Ptr ())-    {- ^ __Returns:__ the data element, or 'Nothing' if it-         is not found. -}-datalistGetData datalist key = liftIO $ do-    datalist' <- unsafeManagedPtrGetPtr datalist-    key' <- textToCString key-    result <- g_datalist_get_data datalist' key'-    touchManagedPtr datalist-    freeMem key'-    return result----- function g_datalist_foreach--- Args : [Arg {argCName = "datalist", argType = TInterface (Name {namespace = "GLib", name = "Data"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a datalist.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "GLib", name = "DataForeachFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the function to call for each data element.", sinceVersion = Nothing}, argScope = ScopeTypeCall, argClosure = 2, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to the function.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_datalist_foreach" g_datalist_foreach :: -    Ptr GLib.Data.Data ->                   -- datalist : TInterface (Name {namespace = "GLib", name = "Data"})-    FunPtr GLib.Callbacks.C_DataForeachFunc -> -- func : TInterface (Name {namespace = "GLib", name = "DataForeachFunc"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO ()--{- |-Calls the given function for each data element of the datalist. The-function is called with each data element\'s @/GQuark/@ id and data,-together with the given /@userData@/ parameter. Note that this-function is NOT thread-safe. So unless /@datalist@/ can be protected-from any modifications during invocation of this function, it should-not be called.--/@func@/ can make changes to /@datalist@/, but the iteration will not-reflect changes made during the 'GI.GLib.Functions.datalistForeach' call, other-than skipping over elements that are removed.--}-datalistForeach ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Data.Data-    {- ^ /@datalist@/: a datalist. -}-    -> GLib.Callbacks.DataForeachFunc-    {- ^ /@func@/: the function to call for each data element. -}-    -> m ()-datalistForeach datalist func = liftIO $ do-    datalist' <- unsafeManagedPtrGetPtr datalist-    func' <- GLib.Callbacks.mk_DataForeachFunc (GLib.Callbacks.wrap_DataForeachFunc Nothing (GLib.Callbacks.drop_closures_DataForeachFunc func))-    let userData = nullPtr-    g_datalist_foreach datalist' func' userData-    safeFreeFunPtr $ castFunPtrToPtr func'-    touchManagedPtr datalist-    return ()----- function g_convert_with_fallback--- Args : [Arg {argCName = "str", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "\n               the string to convert.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the string in bytes, or -1 if the string is\n                nul-terminated (Note that some encodings may allow nul\n                bytes to occur inside strings. In that case, using -1\n                for the @len parameter is unsafe)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "to_codeset", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of character set into which to convert @str", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "from_codeset", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "character set of @str.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fallback", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "UTF-8 string to use in place of characters not\n               present in the target encoding. (The string must be\n               representable in the target encoding).\n               If %NULL, characters not in the target encoding will\n               be represented as Unicode escapes \\uxxxx or \\Uxxxxyyyy.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bytes_read", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the number of bytes in\n               the input string that were successfully converted, or %NULL.\n               Even if the conversion was successful, this may be\n               less than @len if there were partial characters\n               at the end of the input.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "bytes_written", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes stored in\n                the output buffer (not including the terminating nul).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the string in bytes, or -1 if the string is\n                nul-terminated (Note that some encodings may allow nul\n                bytes to occur inside strings. In that case, using -1\n                for the @len parameter is unsafe)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bytes_written", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes stored in\n                the output buffer (not including the terminating nul).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Just (TCArray False (-1) 6 (TBasicType TUInt8))--- throws : True--- Skip return : False--foreign import ccall "g_convert_with_fallback" g_convert_with_fallback :: -    Ptr Word8 ->                            -- str : TCArray False (-1) 1 (TBasicType TUInt8)-    Int64 ->                                -- len : TBasicType TInt64-    CString ->                              -- to_codeset : TBasicType TUTF8-    CString ->                              -- from_codeset : TBasicType TUTF8-    CString ->                              -- fallback : TBasicType TUTF8-    Ptr Word64 ->                           -- bytes_read : TBasicType TUInt64-    Ptr Word64 ->                           -- bytes_written : TBasicType TUInt64-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr Word8)--{- |-Converts a string from one character set to another, possibly-including fallback sequences for characters not representable-in the output. Note that it is not guaranteed that the specification-for the fallback sequences in /@fallback@/ will be honored. Some-systems may do an approximate conversion from /@fromCodeset@/-to /@toCodeset@/ in their @/iconv()/@ functions,-in which case GLib will simply return that approximate conversion.--Note that you should use @/g_iconv()/@ for streaming conversions.-Despite the fact that /@bytesRead@/ can return information about partial-characters, the g_convert_... functions are not generally suitable-for streaming. If the underlying converter maintains internal state,-then this won\'t be preserved across successive calls to 'GI.GLib.Functions.convert',-@/g_convert_with_iconv()/@ or 'GI.GLib.Functions.convertWithFallback'. (An example of-this is the GNU C converter for CP1255 which does not emit a base-character until it knows that the next character is not a mark that-could combine with the base character.)--}-convertWithFallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    ByteString-    {- ^ /@str@/: -               the string to convert. -}-    -> T.Text-    {- ^ /@toCodeset@/: name of character set into which to convert /@str@/ -}-    -> T.Text-    {- ^ /@fromCodeset@/: character set of /@str@/. -}-    -> T.Text-    {- ^ /@fallback@/: UTF-8 string to use in place of characters not-               present in the target encoding. (The string must be-               representable in the target encoding).-               If 'Nothing', characters not in the target encoding will-               be represented as Unicode escapes \\uxxxx or \\Uxxxxyyyy. -}-    -> m ((ByteString, Word64))-    {- ^ __Returns:__ -         If the conversion was successful, a newly allocated buffer-         containing the converted string, which must be freed with 'GI.GLib.Functions.free'.-         Otherwise 'Nothing' and /@error@/ will be set. /(Can throw 'Data.GI.Base.GError.GError')/ -}-convertWithFallback str toCodeset fromCodeset fallback = liftIO $ do-    let len = fromIntegral $ B.length str-    str' <- packByteString str-    toCodeset' <- textToCString toCodeset-    fromCodeset' <- textToCString fromCodeset-    fallback' <- textToCString fallback-    bytesRead <- allocMem :: IO (Ptr Word64)-    bytesWritten <- allocMem :: IO (Ptr Word64)-    onException (do-        result <- propagateGError $ g_convert_with_fallback str' len toCodeset' fromCodeset' fallback' bytesRead bytesWritten-        bytesWritten' <- peek bytesWritten-        checkUnexpectedReturnNULL "convertWithFallback" result-        result' <- (unpackByteStringWithLength bytesWritten') result-        freeMem result-        bytesRead' <- peek bytesRead-        freeMem str'-        freeMem toCodeset'-        freeMem fromCodeset'-        freeMem fallback'-        freeMem bytesRead-        freeMem bytesWritten-        return (result', bytesRead')-     ) (do-        freeMem str'-        freeMem toCodeset'-        freeMem fromCodeset'-        freeMem fallback'-        freeMem bytesRead-        freeMem bytesWritten-     )----- function g_convert_error_quark--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "g_convert_error_quark" g_convert_error_quark :: -    IO Word32--{- |-/No description available in the introspection data./--}-convertErrorQuark ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Word32-convertErrorQuark  = liftIO $ do-    result <- g_convert_error_quark-    return result----- function g_convert--- Args : [Arg {argCName = "str", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "\n                the string to convert.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the string in bytes, or -1 if the string is\n                nul-terminated (Note that some encodings may allow nul\n                bytes to occur inside strings. In that case, using -1\n                for the @len parameter is unsafe)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "to_codeset", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "name of character set into which to convert @str", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "from_codeset", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "character set of @str.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bytes_read", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the number of bytes in\n                the input string that were successfully converted, or %NULL.\n                Even if the conversion was successful, this may be\n                less than @len if there were partial characters\n                at the end of the input. If the error\n                #G_CONVERT_ERROR_ILLEGAL_SEQUENCE occurs, the value\n                stored will be the byte offset after the last valid\n                input sequence.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "bytes_written", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes stored in\n                the output buffer (not including the terminating nul).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the string in bytes, or -1 if the string is\n                nul-terminated (Note that some encodings may allow nul\n                bytes to occur inside strings. In that case, using -1\n                for the @len parameter is unsafe)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bytes_written", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes stored in\n                the output buffer (not including the terminating nul).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Just (TCArray False (-1) 5 (TBasicType TUInt8))--- throws : True--- Skip return : False--foreign import ccall "g_convert" g_convert :: -    Ptr Word8 ->                            -- str : TCArray False (-1) 1 (TBasicType TUInt8)-    Int64 ->                                -- len : TBasicType TInt64-    CString ->                              -- to_codeset : TBasicType TUTF8-    CString ->                              -- from_codeset : TBasicType TUTF8-    Ptr Word64 ->                           -- bytes_read : TBasicType TUInt64-    Ptr Word64 ->                           -- bytes_written : TBasicType TUInt64-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr Word8)--{- |-Converts a string from one character set to another.--Note that you should use @/g_iconv()/@ for streaming conversions.-Despite the fact that /@bytesRead@/ can return information about partial-characters, the g_convert_... functions are not generally suitable-for streaming. If the underlying converter maintains internal state,-then this won\'t be preserved across successive calls to 'GI.GLib.Functions.convert',-@/g_convert_with_iconv()/@ or 'GI.GLib.Functions.convertWithFallback'. (An example of-this is the GNU C converter for CP1255 which does not emit a base-character until it knows that the next character is not a mark that-could combine with the base character.)--Using extensions such as \"\/\/TRANSLIT\" may not work (or may not work-well) on many platforms.  Consider using 'GI.GLib.Functions.strToAscii' instead.--}-convert ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    ByteString-    {- ^ /@str@/: -                the string to convert. -}-    -> T.Text-    {- ^ /@toCodeset@/: name of character set into which to convert /@str@/ -}-    -> T.Text-    {- ^ /@fromCodeset@/: character set of /@str@/. -}-    -> m ((ByteString, Word64))-    {- ^ __Returns:__ -         If the conversion was successful, a newly allocated buffer-         containing the converted string, which must be freed with 'GI.GLib.Functions.free'.-         Otherwise 'Nothing' and /@error@/ will be set. /(Can throw 'Data.GI.Base.GError.GError')/ -}-convert str toCodeset fromCodeset = liftIO $ do-    let len = fromIntegral $ B.length str-    str' <- packByteString str-    toCodeset' <- textToCString toCodeset-    fromCodeset' <- textToCString fromCodeset-    bytesRead <- allocMem :: IO (Ptr Word64)-    bytesWritten <- allocMem :: IO (Ptr Word64)-    onException (do-        result <- propagateGError $ g_convert str' len toCodeset' fromCodeset' bytesRead bytesWritten-        bytesWritten' <- peek bytesWritten-        checkUnexpectedReturnNULL "convert" result-        result' <- (unpackByteStringWithLength bytesWritten') result-        freeMem result-        bytesRead' <- peek bytesRead-        freeMem str'-        freeMem toCodeset'-        freeMem fromCodeset'-        freeMem bytesRead-        freeMem bytesWritten-        return (result', bytesRead')-     ) (do-        freeMem str'-        freeMem toCodeset'-        freeMem fromCodeset'-        freeMem bytesRead-        freeMem bytesWritten-     )----- function g_compute_hmac_for_string--- Args : [Arg {argCName = "digest_type", argType = TInterface (Name {namespace = "GLib", name = "ChecksumType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GChecksumType to use for the HMAC", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the key to use in the HMAC", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key_len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to compute the HMAC for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the string, or -1 if the string is nul-terminated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "key_len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "g_compute_hmac_for_string" g_compute_hmac_for_string :: -    CUInt ->                                -- digest_type : TInterface (Name {namespace = "GLib", name = "ChecksumType"})-    Ptr Word8 ->                            -- key : TCArray False (-1) 2 (TBasicType TUInt8)-    Word64 ->                               -- key_len : TBasicType TUInt64-    CString ->                              -- str : TBasicType TUTF8-    Int64 ->                                -- length : TBasicType TInt64-    IO CString--{- |-Computes the HMAC for a string.--The hexadecimal string returned will be in lower case.--/Since: 2.30/--}-computeHmacForString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Enums.ChecksumType-    {- ^ /@digestType@/: a 'GI.GLib.Enums.ChecksumType' to use for the HMAC -}-    -> ByteString-    {- ^ /@key@/: the key to use in the HMAC -}-    -> T.Text-    {- ^ /@str@/: the string to compute the HMAC for -}-    -> Int64-    {- ^ /@length@/: the length of the string, or -1 if the string is nul-terminated -}-    -> m T.Text-    {- ^ __Returns:__ the HMAC as a hexadecimal string.-    The returned string should be freed with 'GI.GLib.Functions.free'-    when done using it. -}-computeHmacForString digestType key str length_ = liftIO $ do-    let keyLen = fromIntegral $ B.length key-    let digestType' = (fromIntegral . fromEnum) digestType-    key' <- packByteString key-    str' <- textToCString str-    result <- g_compute_hmac_for_string digestType' key' keyLen str' length_-    checkUnexpectedReturnNULL "computeHmacForString" result-    result' <- cstringToText result-    freeMem result-    freeMem key'-    freeMem str'-    return result'----- function g_compute_hmac_for_data--- Args : [Arg {argCName = "digest_type", argType = TInterface (Name {namespace = "GLib", name = "ChecksumType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GChecksumType to use for the HMAC", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the key to use in the HMAC", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key_len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TCArray False (-1) 4 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "binary blob to compute the HMAC of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key_len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "g_compute_hmac_for_data" g_compute_hmac_for_data :: -    CUInt ->                                -- digest_type : TInterface (Name {namespace = "GLib", name = "ChecksumType"})-    Ptr Word8 ->                            -- key : TCArray False (-1) 2 (TBasicType TUInt8)-    Word64 ->                               -- key_len : TBasicType TUInt64-    Ptr Word8 ->                            -- data : TCArray False (-1) 4 (TBasicType TUInt8)-    Word64 ->                               -- length : TBasicType TUInt64-    IO CString--{- |-Computes the HMAC for a binary /@data@/ of /@length@/. This is a-convenience wrapper for @/g_hmac_new()/@, 'GI.GLib.Structs.Hmac.hmacGetString'-and 'GI.GLib.Structs.Hmac.hmacUnref'.--The hexadecimal string returned will be in lower case.--/Since: 2.30/--}-computeHmacForData ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Enums.ChecksumType-    {- ^ /@digestType@/: a 'GI.GLib.Enums.ChecksumType' to use for the HMAC -}-    -> ByteString-    {- ^ /@key@/: the key to use in the HMAC -}-    -> ByteString-    {- ^ /@data@/: binary blob to compute the HMAC of -}-    -> m T.Text-    {- ^ __Returns:__ the HMAC of the binary data as a string in hexadecimal.-  The returned string should be freed with 'GI.GLib.Functions.free' when done using it. -}-computeHmacForData digestType key data_ = liftIO $ do-    let length_ = fromIntegral $ B.length data_-    let keyLen = fromIntegral $ B.length key-    let digestType' = (fromIntegral . fromEnum) digestType-    key' <- packByteString key-    data_' <- packByteString data_-    result <- g_compute_hmac_for_data digestType' key' keyLen data_' length_-    checkUnexpectedReturnNULL "computeHmacForData" result-    result' <- cstringToText result-    freeMem result-    freeMem key'-    freeMem data_'-    return result'----- function g_compute_hmac_for_bytes--- Args : [Arg {argCName = "digest_type", argType = TInterface (Name {namespace = "GLib", name = "ChecksumType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GChecksumType to use for the HMAC", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the key to use in the HMAC", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "binary blob to compute the HMAC of", 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_compute_hmac_for_bytes" g_compute_hmac_for_bytes :: -    CUInt ->                                -- digest_type : TInterface (Name {namespace = "GLib", name = "ChecksumType"})-    Ptr GLib.Bytes.Bytes ->                 -- key : TInterface (Name {namespace = "GLib", name = "Bytes"})-    Ptr GLib.Bytes.Bytes ->                 -- data : TInterface (Name {namespace = "GLib", name = "Bytes"})-    IO CString--{- |-Computes the HMAC for a binary /@data@/. This is a-convenience wrapper for @/g_hmac_new()/@, 'GI.GLib.Structs.Hmac.hmacGetString'-and 'GI.GLib.Structs.Hmac.hmacUnref'.--The hexadecimal string returned will be in lower case.--/Since: 2.50/--}-computeHmacForBytes ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Enums.ChecksumType-    {- ^ /@digestType@/: a 'GI.GLib.Enums.ChecksumType' to use for the HMAC -}-    -> GLib.Bytes.Bytes-    {- ^ /@key@/: the key to use in the HMAC -}-    -> GLib.Bytes.Bytes-    {- ^ /@data@/: binary blob to compute the HMAC of -}-    -> m T.Text-    {- ^ __Returns:__ the HMAC of the binary data as a string in hexadecimal.-  The returned string should be freed with 'GI.GLib.Functions.free' when done using it. -}-computeHmacForBytes digestType key data_ = liftIO $ do-    let digestType' = (fromIntegral . fromEnum) digestType-    key' <- unsafeManagedPtrGetPtr key-    data_' <- unsafeManagedPtrGetPtr data_-    result <- g_compute_hmac_for_bytes digestType' key' data_'-    checkUnexpectedReturnNULL "computeHmacForBytes" result-    result' <- cstringToText result-    freeMem result-    touchManagedPtr key-    touchManagedPtr data_-    return result'----- function g_compute_checksum_for_string--- Args : [Arg {argCName = "checksum_type", argType = TInterface (Name {namespace = "GLib", name = "ChecksumType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GChecksumType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to compute the checksum of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the string, or -1 if the string is null-terminated.", 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_compute_checksum_for_string" g_compute_checksum_for_string :: -    CUInt ->                                -- checksum_type : TInterface (Name {namespace = "GLib", name = "ChecksumType"})-    CString ->                              -- str : TBasicType TUTF8-    Int64 ->                                -- length : TBasicType TInt64-    IO CString--{- |-Computes the checksum of a string.--The hexadecimal string returned will be in lower case.--/Since: 2.16/--}-computeChecksumForString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Enums.ChecksumType-    {- ^ /@checksumType@/: a 'GI.GLib.Enums.ChecksumType' -}-    -> T.Text-    {- ^ /@str@/: the string to compute the checksum of -}-    -> Int64-    {- ^ /@length@/: the length of the string, or -1 if the string is null-terminated. -}-    -> m T.Text-    {- ^ __Returns:__ the checksum as a hexadecimal string. The returned string-  should be freed with 'GI.GLib.Functions.free' when done using it. -}-computeChecksumForString checksumType str length_ = liftIO $ do-    let checksumType' = (fromIntegral . fromEnum) checksumType-    str' <- textToCString str-    result <- g_compute_checksum_for_string checksumType' str' length_-    checkUnexpectedReturnNULL "computeChecksumForString" result-    result' <- cstringToText result-    freeMem result-    freeMem str'-    return result'----- function g_compute_checksum_for_data--- Args : [Arg {argCName = "checksum_type", argType = TInterface (Name {namespace = "GLib", name = "ChecksumType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GChecksumType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "binary blob to compute the digest of", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "g_compute_checksum_for_data" g_compute_checksum_for_data :: -    CUInt ->                                -- checksum_type : TInterface (Name {namespace = "GLib", name = "ChecksumType"})-    Ptr Word8 ->                            -- data : TCArray False (-1) 2 (TBasicType TUInt8)-    Word64 ->                               -- length : TBasicType TUInt64-    IO CString--{- |-Computes the checksum for a binary /@data@/ of /@length@/. This is a-convenience wrapper for 'GI.GLib.Structs.Checksum.checksumNew', 'GI.GLib.Structs.Checksum.checksumGetString'-and 'GI.GLib.Structs.Checksum.checksumFree'.--The hexadecimal string returned will be in lower case.--/Since: 2.16/--}-computeChecksumForData ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Enums.ChecksumType-    {- ^ /@checksumType@/: a 'GI.GLib.Enums.ChecksumType' -}-    -> ByteString-    {- ^ /@data@/: binary blob to compute the digest of -}-    -> m T.Text-    {- ^ __Returns:__ the digest of the binary data as a string in hexadecimal.-  The returned string should be freed with 'GI.GLib.Functions.free' when done using it. -}-computeChecksumForData checksumType data_ = liftIO $ do-    let length_ = fromIntegral $ B.length data_-    let checksumType' = (fromIntegral . fromEnum) checksumType-    data_' <- packByteString data_-    result <- g_compute_checksum_for_data checksumType' data_' length_-    checkUnexpectedReturnNULL "computeChecksumForData" result-    result' <- cstringToText result-    freeMem result-    freeMem data_'-    return result'----- function g_compute_checksum_for_bytes--- Args : [Arg {argCName = "checksum_type", argType = TInterface (Name {namespace = "GLib", name = "ChecksumType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GChecksumType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "binary blob to compute the digest of", 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_compute_checksum_for_bytes" g_compute_checksum_for_bytes :: -    CUInt ->                                -- checksum_type : TInterface (Name {namespace = "GLib", name = "ChecksumType"})-    Ptr GLib.Bytes.Bytes ->                 -- data : TInterface (Name {namespace = "GLib", name = "Bytes"})-    IO CString--{- |-Computes the checksum for a binary /@data@/. This is a-convenience wrapper for 'GI.GLib.Structs.Checksum.checksumNew', 'GI.GLib.Structs.Checksum.checksumGetString'-and 'GI.GLib.Structs.Checksum.checksumFree'.--The hexadecimal string returned will be in lower case.--/Since: 2.34/--}-computeChecksumForBytes ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Enums.ChecksumType-    {- ^ /@checksumType@/: a 'GI.GLib.Enums.ChecksumType' -}-    -> GLib.Bytes.Bytes-    {- ^ /@data@/: binary blob to compute the digest of -}-    -> m T.Text-    {- ^ __Returns:__ the digest of the binary data as a string in hexadecimal.-  The returned string should be freed with 'GI.GLib.Functions.free' when done using it. -}-computeChecksumForBytes checksumType data_ = liftIO $ do-    let checksumType' = (fromIntegral . fromEnum) checksumType-    data_' <- unsafeManagedPtrGetPtr data_-    result <- g_compute_checksum_for_bytes checksumType' data_'-    checkUnexpectedReturnNULL "computeChecksumForBytes" result-    result' <- cstringToText result-    freeMem result-    touchManagedPtr data_-    return result'----- function g_close--- Args : [Arg {argCName = "fd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A file descriptor", 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_close" g_close :: -    Int32 ->                                -- fd : TBasicType TInt-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-This wraps the @/close()/@ call; in case of error, @/errno/@ will be-preserved, but the error will also be stored as a 'GError' in /@error@/.--Besides using 'GError', there is another major reason to prefer this-function over the call provided by the system; on Unix, it will-attempt to correctly handle @/EINTR/@, which has platform-specific-semantics.--/Since: 2.36/--}-close ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@fd@/: A file descriptor -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-close fd = liftIO $ do-    onException (do-        _ <- propagateGError $ g_close fd-        return ()-     ) (do-        return ()-     )----- function g_clear_error--- Args : []--- Lengths : []--- returnType : Nothing--- throws : True--- Skip return : False--foreign import ccall "g_clear_error" g_clear_error :: -    Ptr (Ptr GError) ->                     -- error-    IO ()--{- |-If /@err@/ or */@err@/ is 'Nothing', does nothing. Otherwise,-calls 'GI.GLib.Structs.Error.errorFree' on */@err@/ and sets */@err@/ to 'Nothing'.--}-clearError ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-clearError  = liftIO $ do-    onException (do-        propagateGError $ g_clear_error-        return ()-     ) (do-        return ()-     )----- function g_child_watch_source_new--- Args : [Arg {argCName = "pid", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "process to watch. On POSIX the positive pid of a child process. On\nWindows a handle for a process (which doesn't have to be a child).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Source"}))--- throws : False--- Skip return : False--foreign import ccall "g_child_watch_source_new" g_child_watch_source_new :: -    Int32 ->                                -- pid : TBasicType TInt-    IO (Ptr GLib.Source.Source)--{- |-Creates a new child_watch source.--The source will not initially be associated with any 'GI.GLib.Structs.MainContext.MainContext'-and must be added to one with 'GI.GLib.Structs.Source.sourceAttach' before it will be-executed.--Note that child watch sources can only be used in conjunction with-@g_spawn...@ when the 'GI.GLib.Flags.SpawnFlagsDoNotReapChild' flag is used.--Note that on platforms where @/GPid/@ must be explicitly closed-(see 'GI.GLib.Functions.spawnClosePid') /@pid@/ must not be closed while the-source is still active. Typically, you will want to call-'GI.GLib.Functions.spawnClosePid' in the callback function for the source.--On POSIX platforms, the following restrictions apply to this API-due to limitations in POSIX process interfaces:--* /@pid@/ must be a child of this process-* /@pid@/ must be positive-* the application must not call @waitpid@ with a non-positive-  first argument, for instance in another thread-* the application must not wait for /@pid@/ to exit by any other-  mechanism, including @waitpid(pid, ...)@ or a second child-watch-  source for the same /@pid@/-* the application must not ignore SIGCHILD--If any of those conditions are not met, this and related APIs will-not work correctly. This can often be diagnosed via a GLib warning-stating that @ECHILD@ was received by @waitpid@.--Calling @waitpid@ for specific processes other than /@pid@/ remains a-valid thing to do.--/Since: 2.4/--}-childWatchSourceNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@pid@/: process to watch. On POSIX the positive pid of a child process. On-Windows a handle for a process (which doesn\'t have to be a child). -}-    -> m GLib.Source.Source-    {- ^ __Returns:__ the newly-created child watch source -}-childWatchSourceNew pid = liftIO $ do-    result <- g_child_watch_source_new pid-    checkUnexpectedReturnNULL "childWatchSourceNew" result-    result' <- (wrapBoxed GLib.Source.Source) result-    return result'----- function g_child_watch_add_full--- Args : [Arg {argCName = "priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the priority of the idle source. Typically this will be in the\n           range between #G_PRIORITY_DEFAULT_IDLE and #G_PRIORITY_HIGH_IDLE.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pid", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "process to watch. On POSIX the positive pid of a child process. On\nWindows a handle for a process (which doesn't have to be a child).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "function", argType = TInterface (Name {namespace = "GLib", name = "ChildWatchFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to call", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to pass to @function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "function to call when the idle is removed, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_child_watch_add_full" g_child_watch_add_full :: -    Int32 ->                                -- priority : TBasicType TInt-    Int32 ->                                -- pid : TBasicType TInt-    FunPtr GLib.Callbacks.C_ChildWatchFunc -> -- function : TInterface (Name {namespace = "GLib", name = "ChildWatchFunc"})-    Ptr () ->                               -- data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO Word32--{- |-Sets a function to be called when the child indicated by /@pid@/-exits, at the priority /@priority@/.--If you obtain /@pid@/ from 'GI.GLib.Functions.spawnAsync' or 'GI.GLib.Functions.spawnAsyncWithPipes'-you will need to pass @/G_SPAWN_DO_NOT_REAP_CHILD/@ as flag to-the spawn function for the child watching to work.--In many programs, you will want to call 'GI.GLib.Functions.spawnCheckExitStatus'-in the callback to determine whether or not the child exited-successfully.--Also, note that on platforms where @/GPid/@ must be explicitly closed-(see 'GI.GLib.Functions.spawnClosePid') /@pid@/ must not be closed while the source-is still active.  Typically, you should invoke 'GI.GLib.Functions.spawnClosePid'-in the callback function for the source.--GLib supports only a single callback per process id.-On POSIX platforms, the same restrictions mentioned for-'GI.GLib.Functions.childWatchSourceNew' apply to this function.--This internally creates a main loop source using-'GI.GLib.Functions.childWatchSourceNew' and attaches it to the main loop context-using 'GI.GLib.Structs.Source.sourceAttach'. You can do these steps manually if you-need greater control.--/Since: 2.4/--}-childWatchAdd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@priority@/: the priority of the idle source. Typically this will be in the-           range between 'GI.GLib.Constants.PRIORITY_DEFAULT_IDLE' and 'GI.GLib.Constants.PRIORITY_HIGH_IDLE'. -}-    -> Int32-    {- ^ /@pid@/: process to watch. On POSIX the positive pid of a child process. On-Windows a handle for a process (which doesn\'t have to be a child). -}-    -> GLib.Callbacks.ChildWatchFunc-    {- ^ /@function@/: function to call -}-    -> m Word32-    {- ^ __Returns:__ the ID (greater than 0) of the event source. -}-childWatchAdd priority pid function = liftIO $ do-    function' <- GLib.Callbacks.mk_ChildWatchFunc (GLib.Callbacks.wrap_ChildWatchFunc Nothing (GLib.Callbacks.drop_closures_ChildWatchFunc function))-    let data_ = castFunPtrToPtr function'-    let notify = safeFreeFunPtrPtr-    result <- g_child_watch_add_full priority pid function' data_ notify-    return result----- function glib_check_version--- Args : [Arg {argCName = "required_major", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the required major version", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "required_minor", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the required minor version", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "required_micro", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the required micro version", 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 "glib_check_version" glib_check_version :: -    Word32 ->                               -- required_major : TBasicType TUInt-    Word32 ->                               -- required_minor : TBasicType TUInt-    Word32 ->                               -- required_micro : TBasicType TUInt-    IO CString--{- |-Checks that the GLib library in use is compatible with the-given version. Generally you would pass in the constants-'GI.GLib.Constants.MAJOR_VERSION', 'GI.GLib.Constants.MINOR_VERSION', 'GI.GLib.Constants.MICRO_VERSION'-as the three arguments to this function; that produces-a check that the library in use is compatible with-the version of GLib the application or module was compiled-against.--Compatibility is defined by two things: first the version-of the running library is newer than the version-/@requiredMajor@/.required_minor./@requiredMicro@/. Second-the running library must be binary compatible with the-version /@requiredMajor@/.required_minor./@requiredMicro@/-(same major version.)--/Since: 2.6/--}-checkVersion ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@requiredMajor@/: the required major version -}-    -> Word32-    {- ^ /@requiredMinor@/: the required minor version -}-    -> Word32-    {- ^ /@requiredMicro@/: the required micro version -}-    -> m T.Text-    {- ^ __Returns:__ 'Nothing' if the GLib library is compatible with the-    given version, or a string describing the version mismatch.-    The returned string is owned by GLib and must not be modified-    or freed. -}-checkVersion requiredMajor requiredMinor requiredMicro = liftIO $ do-    result <- glib_check_version requiredMajor requiredMinor requiredMicro-    checkUnexpectedReturnNULL "checkVersion" result-    result' <- cstringToText result-    return result'----- function g_chdir--- Args : [Arg {argCName = "path", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pathname in the GLib file name encoding\n    (UTF-8 on Windows)", 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_chdir" g_chdir :: -    CString ->                              -- path : TBasicType TFileName-    IO Int32--{- |-A wrapper for the POSIX @/chdir()/@ function. The function changes the-current directory of the process to /@path@/.--See your C library manual for more details about @/chdir()/@.--/Since: 2.8/--}-chdir ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@path@/: a pathname in the GLib file name encoding-    (UTF-8 on Windows) -}-    -> m Int32-    {- ^ __Returns:__ 0 on success, -1 if an error occurred. -}-chdir path = liftIO $ do-    path' <- stringToCString path-    result <- g_chdir path'-    freeMem path'-    return result----- function g_canonicalize_filename--- Args : [Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the file", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relative_to", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the relative directory, or %NULL\nto use the current working directory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "g_canonicalize_filename" g_canonicalize_filename :: -    CString ->                              -- filename : TBasicType TFileName-    CString ->                              -- relative_to : TBasicType TFileName-    IO CString--{- |-Gets the canonical file name from /@filename@/. All triple slashes are turned into-single slashes, and all @..@ and @.@s resolved against /@relativeTo@/.--Symlinks are not followed, and the returned path is guaranteed to be absolute.--If /@filename@/ is an absolute path, /@relativeTo@/ is ignored. Otherwise,-/@relativeTo@/ will be prepended to /@filename@/ to make it absolute. /@relativeTo@/-must be an absolute path, or 'Nothing'. If /@relativeTo@/ is 'Nothing', it\'ll fallback-to 'GI.GLib.Functions.getCurrentDir'.--This function never fails, and will canonicalize file paths even if they don\'t-exist.--No file system I\/O is done.--/Since: 2.58/--}-canonicalizeFilename ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@filename@/: the name of the file -}-    -> Maybe ([Char])-    {- ^ /@relativeTo@/: the relative directory, or 'Nothing'-to use the current working directory -}-    -> m [Char]-    {- ^ __Returns:__ a newly allocated string with the-canonical file path -}-canonicalizeFilename filename relativeTo = liftIO $ do-    filename' <- stringToCString filename-    maybeRelativeTo <- case relativeTo of-        Nothing -> return nullPtr-        Just jRelativeTo -> do-            jRelativeTo' <- stringToCString jRelativeTo-            return jRelativeTo'-    result <- g_canonicalize_filename filename' maybeRelativeTo-    checkUnexpectedReturnNULL "canonicalizeFilename" result-    result' <- cstringToString result-    freeMem result-    freeMem filename'-    freeMem maybeRelativeTo-    return result'----- function g_build_pathv--- Args : [Arg {argCName = "separator", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string used to separator the elements of the path.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "args", argType = TCArray True (-1) (-1) (TBasicType TFileName), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%NULL-terminated\n    array of strings containing the path elements.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "g_build_pathv" g_build_pathv :: -    CString ->                              -- separator : TBasicType TUTF8-    Ptr CString ->                          -- args : TCArray True (-1) (-1) (TBasicType TFileName)-    IO CString--{- |-Behaves exactly like @/g_build_path()/@, but takes the path elements-as a string array, instead of varargs. This function is mainly-meant for language bindings.--/Since: 2.8/--}-buildPathv ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@separator@/: a string used to separator the elements of the path. -}-    -> [[Char]]-    {- ^ /@args@/: 'Nothing'-terminated-    array of strings containing the path elements. -}-    -> m [Char]-    {- ^ __Returns:__ a newly-allocated string that must be freed-    with 'GI.GLib.Functions.free'. -}-buildPathv separator args = liftIO $ do-    separator' <- textToCString separator-    args' <- packZeroTerminatedFileNameArray args-    result <- g_build_pathv separator' args'-    checkUnexpectedReturnNULL "buildPathv" result-    result' <- cstringToString result-    freeMem result-    freeMem separator'-    mapZeroTerminatedCArray freeMem args'-    freeMem args'-    return result'----- function g_build_filenamev--- Args : [Arg {argCName = "args", argType = TCArray True (-1) (-1) (TBasicType TFileName), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%NULL-terminated\n    array of strings containing the path elements.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "g_build_filenamev" g_build_filenamev :: -    Ptr CString ->                          -- args : TCArray True (-1) (-1) (TBasicType TFileName)-    IO CString--{- |-Behaves exactly like @/g_build_filename()/@, but takes the path elements-as a string array, instead of varargs. This function is mainly-meant for language bindings.--/Since: 2.8/--}-buildFilenamev ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [[Char]]-    {- ^ /@args@/: 'Nothing'-terminated-    array of strings containing the path elements. -}-    -> m [Char]-    {- ^ __Returns:__ a newly-allocated string that must be freed-    with 'GI.GLib.Functions.free'. -}-buildFilenamev args = liftIO $ do-    args' <- packZeroTerminatedFileNameArray args-    result <- g_build_filenamev args'-    checkUnexpectedReturnNULL "buildFilenamev" result-    result' <- cstringToString result-    freeMem result-    mapZeroTerminatedCArray freeMem args'-    freeMem args'-    return result'----- function g_bit_unlock--- Args : [Arg {argCName = "address", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to an integer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "lock_bit", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a bit value between 0 and 31", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_bit_unlock" g_bit_unlock :: -    Int32 ->                                -- address : TBasicType TInt-    Int32 ->                                -- lock_bit : TBasicType TInt-    IO ()--{- |-Clears the indicated /@lockBit@/ in /@address@/.  If another thread is-currently blocked in 'GI.GLib.Functions.bitLock' on this same bit then it will be-woken up.--This function accesses /@address@/ atomically.  All other accesses to-/@address@/ must be atomic in order for this function to work-reliably.--/Since: 2.24/--}-bitUnlock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@address@/: a pointer to an integer -}-    -> Int32-    {- ^ /@lockBit@/: a bit value between 0 and 31 -}-    -> m ()-bitUnlock address lockBit = liftIO $ do-    g_bit_unlock address lockBit-    return ()----- function g_bit_trylock--- Args : [Arg {argCName = "address", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to an integer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "lock_bit", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a bit value between 0 and 31", 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_bit_trylock" g_bit_trylock :: -    Int32 ->                                -- address : TBasicType TInt-    Int32 ->                                -- lock_bit : TBasicType TInt-    IO CInt--{- |-Sets the indicated /@lockBit@/ in /@address@/, returning 'True' if-successful.  If the bit is already set, returns 'False' immediately.--Attempting to lock on two different bits within the same integer is-not supported.--The value of the bit that is set is (1u \<\< /@bit@/).  If /@bit@/ is not-between 0 and 31 then the result is undefined.--This function accesses /@address@/ atomically.  All other accesses to-/@address@/ must be atomic in order for this function to work-reliably.--/Since: 2.24/--}-bitTrylock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@address@/: a pointer to an integer -}-    -> Int32-    {- ^ /@lockBit@/: a bit value between 0 and 31 -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the lock was acquired -}-bitTrylock address lockBit = liftIO $ do-    result <- g_bit_trylock address lockBit-    let result' = (/= 0) result-    return result'----- function g_bit_storage--- Args : [Arg {argCName = "number", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #guint", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_bit_storage" g_bit_storage :: -    CULong ->                               -- number : TBasicType TULong-    IO Word32--{- |-Gets the number of bits used to hold /@number@/,-e.g. if /@number@/ is 4, 3 bits are needed.--}-bitStorage ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    CULong-    {- ^ /@number@/: a @/guint/@ -}-    -> m Word32-    {- ^ __Returns:__ the number of bits used to hold /@number@/ -}-bitStorage number = liftIO $ do-    result <- g_bit_storage number-    return result----- function g_bit_nth_msf--- Args : [Arg {argCName = "mask", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gulong containing flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nth_bit", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of the bit to start the search from", 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_bit_nth_msf" g_bit_nth_msf :: -    CULong ->                               -- mask : TBasicType TULong-    Int32 ->                                -- nth_bit : TBasicType TInt-    IO Int32--{- |-Find the position of the first bit set in /@mask@/, searching-from (but not including) /@nthBit@/ downwards. Bits are numbered-from 0 (least significant) to sizeof(@/gulong/@) * 8 - 1 (31 or 63,-usually). To start searching from the last bit, set /@nthBit@/ to--1 or GLIB_SIZEOF_LONG * 8.--}-bitNthMsf ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    CULong-    {- ^ /@mask@/: a @/gulong/@ containing flags -}-    -> Int32-    {- ^ /@nthBit@/: the index of the bit to start the search from -}-    -> m Int32-    {- ^ __Returns:__ the index of the first bit set which is lower than /@nthBit@/, or -1-   if no lower bits are set -}-bitNthMsf mask nthBit = liftIO $ do-    result <- g_bit_nth_msf mask nthBit-    return result----- function g_bit_nth_lsf--- Args : [Arg {argCName = "mask", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #gulong containing flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nth_bit", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the index of the bit to start the search from", 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_bit_nth_lsf" g_bit_nth_lsf :: -    CULong ->                               -- mask : TBasicType TULong-    Int32 ->                                -- nth_bit : TBasicType TInt-    IO Int32--{- |-Find the position of the first bit set in /@mask@/, searching-from (but not including) /@nthBit@/ upwards. Bits are numbered-from 0 (least significant) to sizeof(@/gulong/@) * 8 - 1 (31 or 63,-usually). To start searching from the 0th bit, set /@nthBit@/ to -1.--}-bitNthLsf ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    CULong-    {- ^ /@mask@/: a @/gulong/@ containing flags -}-    -> Int32-    {- ^ /@nthBit@/: the index of the bit to start the search from -}-    -> m Int32-    {- ^ __Returns:__ the index of the first bit set which is higher than /@nthBit@/, or -1-   if no higher bits are set -}-bitNthLsf mask nthBit = liftIO $ do-    result <- g_bit_nth_lsf mask nthBit-    return result----- function g_bit_lock--- Args : [Arg {argCName = "address", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to an integer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "lock_bit", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a bit value between 0 and 31", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_bit_lock" g_bit_lock :: -    Int32 ->                                -- address : TBasicType TInt-    Int32 ->                                -- lock_bit : TBasicType TInt-    IO ()--{- |-Sets the indicated /@lockBit@/ in /@address@/.  If the bit is already-set, this call will block until 'GI.GLib.Functions.bitUnlock' unsets the-corresponding bit.--Attempting to lock on two different bits within the same integer is-not supported and will very probably cause deadlocks.--The value of the bit that is set is (1u \<\< /@bit@/).  If /@bit@/ is not-between 0 and 31 then the result is undefined.--This function accesses /@address@/ atomically.  All other accesses to-/@address@/ must be atomic in order for this function to work-reliably.--/Since: 2.24/--}-bitLock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@address@/: a pointer to an integer -}-    -> Int32-    {- ^ /@lockBit@/: a bit value between 0 and 31 -}-    -> m ()-bitLock address lockBit = liftIO $ do-    g_bit_lock address lockBit-    return ()----- function g_basename--- Args : [Arg {argCName = "file_name", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the file", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "g_basename" g_basename :: -    CString ->                              -- file_name : TBasicType TFileName-    IO CString--{-# DEPRECATED basename ["(Since version 2.2)","Use 'GI.GLib.Functions.pathGetBasename' instead, but notice","    that 'GI.GLib.Functions.pathGetBasename' allocates new memory for the","    returned string, unlike this function which returns a pointer","    into the argument."] #-}-{- |-Gets the name of the file without any leading directory-components. It returns a pointer into the given file name-string.--}-basename ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@fileName@/: the name of the file -}-    -> m [Char]-    {- ^ __Returns:__ the name of the file without any leading-    directory components -}-basename fileName = liftIO $ do-    fileName' <- stringToCString fileName-    result <- g_basename fileName'-    checkUnexpectedReturnNULL "basename" result-    result' <- cstringToString result-    freeMem fileName'-    return result'----- function g_base64_encode--- Args : [Arg {argCName = "data", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the binary data to encode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "g_base64_encode" g_base64_encode :: -    Ptr Word8 ->                            -- data : TCArray False (-1) 1 (TBasicType TUInt8)-    Word64 ->                               -- len : TBasicType TUInt64-    IO CString--{- |-Encode a sequence of binary data into its Base-64 stringified-representation.--/Since: 2.12/--}-base64Encode ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (ByteString)-    {- ^ /@data@/: the binary data to encode -}-    -> m T.Text-    {- ^ __Returns:__ a newly allocated, zero-terminated Base-64-              encoded string representing /@data@/. The returned string must-              be freed with 'GI.GLib.Functions.free'. -}-base64Encode data_ = liftIO $ do-    let len = case data_ of-            Nothing -> 0-            Just jData_ -> fromIntegral $ B.length jData_-    maybeData_ <- case data_ of-        Nothing -> return nullPtr-        Just jData_ -> do-            jData_' <- packByteString jData_-            return jData_'-    result <- g_base64_encode maybeData_ len-    checkUnexpectedReturnNULL "base64Encode" result-    result' <- cstringToText result-    freeMem result-    freeMem maybeData_-    return result'----- function g_base64_decode_inplace--- Args : [Arg {argCName = "text", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "zero-terminated\n       string with base64 text to decode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_len", argType = TBasicType TUInt64, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The length of the decoded data is written here", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "out_len", argType = TBasicType TUInt64, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The length of the decoded data is written here", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TBasicType TUInt8)--- throws : False--- Skip return : False--foreign import ccall "g_base64_decode_inplace" g_base64_decode_inplace :: -    Ptr (Ptr Word8) ->                      -- text : TCArray False (-1) 1 (TBasicType TUInt8)-    Ptr Word64 ->                           -- out_len : TBasicType TUInt64-    IO Word8--{- |-Decode a sequence of Base-64 encoded text into binary data-by overwriting the input data.--/Since: 2.20/--}-base64DecodeInplace ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    ByteString-    {- ^ /@text@/: zero-terminated-       string with base64 text to decode -}-    -> m ((Word8, ByteString))-    {- ^ __Returns:__ The binary data that /@text@/ responds. This pointer-              is the same as the input /@text@/. -}-base64DecodeInplace text = liftIO $ do-    let outLen = fromIntegral $ B.length text-    text' <- packByteString text-    text'' <- allocMem :: IO (Ptr (Ptr Word8))-    poke text'' text'-    outLen' <- allocMem :: IO (Ptr Word64)-    poke outLen' outLen-    result <- g_base64_decode_inplace text'' outLen'-    outLen'' <- peek outLen'-    text''' <- peek text''-    text'''' <- (unpackByteStringWithLength outLen'') text'''-    freeMem text'''-    freeMem text''-    freeMem outLen'-    return (result, text'''')----- function g_base64_decode--- Args : [Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "zero-terminated string with base64 text to decode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_len", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The length of the decoded data is written here", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "out_len", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The length of the decoded data is written here", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Just (TCArray False (-1) 1 (TBasicType TUInt8))--- throws : False--- Skip return : False--foreign import ccall "g_base64_decode" g_base64_decode :: -    CString ->                              -- text : TBasicType TUTF8-    Ptr Word64 ->                           -- out_len : TBasicType TUInt64-    IO (Ptr Word8)--{- |-Decode a sequence of Base-64 encoded text into binary data.  Note-that the returned binary data is not necessarily zero-terminated,-so it should not be used as a character string.--/Since: 2.12/--}-base64Decode ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@text@/: zero-terminated string with base64 text to decode -}-    -> m ByteString-    {- ^ __Returns:__ -              newly allocated buffer containing the binary data-              that /@text@/ represents. The returned buffer must-              be freed with 'GI.GLib.Functions.free'. -}-base64Decode text = liftIO $ do-    text' <- textToCString text-    outLen <- allocMem :: IO (Ptr Word64)-    result <- g_base64_decode text' outLen-    outLen' <- peek outLen-    checkUnexpectedReturnNULL "base64Decode" result-    result' <- (unpackByteStringWithLength outLen') result-    freeMem result-    freeMem text'-    freeMem outLen-    return result'----- function g_atomic_ref_count_init--- Args : [Arg {argCName = "arc", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the address of an atomic reference count variable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_atomic_ref_count_init" g_atomic_ref_count_init :: -    Int32 ->                                -- arc : TBasicType TInt-    IO ()--{- |-Initializes a reference count variable.--/Since: 2.58/--}-atomicRefCountInit ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@arc@/: the address of an atomic reference count variable -}-    -> m ()-atomicRefCountInit arc = liftIO $ do-    g_atomic_ref_count_init arc-    return ()----- function g_atomic_ref_count_inc--- Args : [Arg {argCName = "arc", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the address of an atomic reference count variable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_atomic_ref_count_inc" g_atomic_ref_count_inc :: -    Int32 ->                                -- arc : TBasicType TInt-    IO ()--{- |-Atomically increases the reference count.--/Since: 2.58/--}-atomicRefCountInc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@arc@/: the address of an atomic reference count variable -}-    -> m ()-atomicRefCountInc arc = liftIO $ do-    g_atomic_ref_count_inc arc-    return ()----- function g_atomic_ref_count_dec--- Args : [Arg {argCName = "arc", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the address of an atomic reference count variable", 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_atomic_ref_count_dec" g_atomic_ref_count_dec :: -    Int32 ->                                -- arc : TBasicType TInt-    IO CInt--{- |-Atomically decreases the reference count.--/Since: 2.58/--}-atomicRefCountDec ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@arc@/: the address of an atomic reference count variable -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the reference count reached 0, and 'False' otherwise -}-atomicRefCountDec arc = liftIO $ do-    result <- g_atomic_ref_count_dec arc-    let result' = (/= 0) result-    return result'----- function g_atomic_ref_count_compare--- Args : [Arg {argCName = "arc", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the address of an atomic reference count variable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to compare", 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_atomic_ref_count_compare" g_atomic_ref_count_compare :: -    Int32 ->                                -- arc : TBasicType TInt-    Int32 ->                                -- val : TBasicType TInt-    IO CInt--{- |-Atomically compares the current value of /@arc@/ with /@val@/.--/Since: 2.58/--}-atomicRefCountCompare ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@arc@/: the address of an atomic reference count variable -}-    -> Int32-    {- ^ /@val@/: the value to compare -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the reference count is the same-  as the given value -}-atomicRefCountCompare arc val = liftIO $ do-    result <- g_atomic_ref_count_compare arc val-    let result' = (/= 0) result-    return result'----- function g_atomic_rc_box_release_full--- Args : [Arg {argCName = "mem_block", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to reference counted data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "clear_func", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a function to call when clearing the data", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_atomic_rc_box_release_full" g_atomic_rc_box_release_full :: -    Ptr () ->                               -- mem_block : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- clear_func : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-Atomically releases a reference on the data pointed by /@memBlock@/.--If the reference was the last one, it will call /@clearFunc@/-to clear the contents of /@memBlock@/, and then will free the-resources allocated for /@memBlock@/.--/Since: 2.58/--}-atomicRcBoxReleaseFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@memBlock@/: a pointer to reference counted data -}-    -> GLib.Callbacks.DestroyNotify-    {- ^ /@clearFunc@/: a function to call when clearing the data -}-    -> m ()-atomicRcBoxReleaseFull memBlock clearFunc = liftIO $ do-    ptrclearFunc <- callocMem :: IO (Ptr (FunPtr GLib.Callbacks.C_DestroyNotify))-    clearFunc' <- GLib.Callbacks.mk_DestroyNotify (GLib.Callbacks.wrap_DestroyNotify (Just ptrclearFunc) clearFunc)-    poke ptrclearFunc clearFunc'-    g_atomic_rc_box_release_full memBlock clearFunc'-    return ()----- function g_atomic_rc_box_release--- Args : [Arg {argCName = "mem_block", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to reference counted data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_atomic_rc_box_release" g_atomic_rc_box_release :: -    Ptr () ->                               -- mem_block : TBasicType TPtr-    IO ()--{- |-Atomically releases a reference on the data pointed by /@memBlock@/.--If the reference was the last one, it will free the-resources allocated for /@memBlock@/.--/Since: 2.58/--}-atomicRcBoxRelease ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@memBlock@/: a pointer to reference counted data -}-    -> m ()-atomicRcBoxRelease memBlock = liftIO $ do-    g_atomic_rc_box_release memBlock-    return ()----- function g_atomic_rc_box_get_size--- Args : [Arg {argCName = "mem_block", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to reference counted data", 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_atomic_rc_box_get_size" g_atomic_rc_box_get_size :: -    Ptr () ->                               -- mem_block : TBasicType TPtr-    IO Word64--{- |-Retrieves the size of the reference counted data pointed by /@memBlock@/.--/Since: 2.58/--}-atomicRcBoxGetSize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@memBlock@/: a pointer to reference counted data -}-    -> m Word64-    {- ^ __Returns:__ the size of the data, in bytes -}-atomicRcBoxGetSize memBlock = liftIO $ do-    result <- g_atomic_rc_box_get_size memBlock-    return result----- function g_atomic_rc_box_dup--- Args : [Arg {argCName = "block_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to copy, must be greater than 0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mem_block", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the memory to copy", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_atomic_rc_box_dup" g_atomic_rc_box_dup :: -    Word64 ->                               -- block_size : TBasicType TUInt64-    Ptr () ->                               -- mem_block : TBasicType TPtr-    IO (Ptr ())--{- |-Allocates a new block of data with atomit reference counting-semantics, and copies /@blockSize@/ bytes of /@memBlock@/-into it.--/Since: 2.58/--}-atomicRcBoxDup ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@blockSize@/: the number of bytes to copy, must be greater than 0 -}-    -> Ptr ()-    {- ^ /@memBlock@/: the memory to copy -}-    -> m (Ptr ())-    {- ^ __Returns:__ a pointer to the allocated-  memory -}-atomicRcBoxDup blockSize memBlock = liftIO $ do-    result <- g_atomic_rc_box_dup blockSize memBlock-    return result----- function g_atomic_rc_box_alloc0--- Args : [Arg {argCName = "block_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of the allocation, must be greater than 0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_atomic_rc_box_alloc0" g_atomic_rc_box_alloc0 :: -    Word64 ->                               -- block_size : TBasicType TUInt64-    IO (Ptr ())--{- |-Allocates /@blockSize@/ bytes of memory, and adds atomic-referenc counting semantics to it.--The contents of the returned data is set to zero.--The data will be freed when its reference count drops to-zero.--The allocated data is guaranteed to be suitably aligned for any-built-in type.--/Since: 2.58/--}-atomicRcBoxAlloc0 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@blockSize@/: the size of the allocation, must be greater than 0 -}-    -> m (Ptr ())-    {- ^ __Returns:__ a pointer to the allocated memory -}-atomicRcBoxAlloc0 blockSize = liftIO $ do-    result <- g_atomic_rc_box_alloc0 blockSize-    return result----- function g_atomic_rc_box_alloc--- Args : [Arg {argCName = "block_size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of the allocation, must be greater than 0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_atomic_rc_box_alloc" g_atomic_rc_box_alloc :: -    Word64 ->                               -- block_size : TBasicType TUInt64-    IO (Ptr ())--{- |-Allocates /@blockSize@/ bytes of memory, and adds atomic-reference counting semantics to it.--The data will be freed when its reference count drops to-zero.--The allocated data is guaranteed to be suitably aligned for any-built-in type.--/Since: 2.58/--}-atomicRcBoxAlloc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word64-    {- ^ /@blockSize@/: the size of the allocation, must be greater than 0 -}-    -> m (Ptr ())-    {- ^ __Returns:__ a pointer to the allocated memory -}-atomicRcBoxAlloc blockSize = liftIO $ do-    result <- g_atomic_rc_box_alloc blockSize-    return result----- function g_atomic_rc_box_acquire--- Args : [Arg {argCName = "mem_block", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to reference counted data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_atomic_rc_box_acquire" g_atomic_rc_box_acquire :: -    Ptr () ->                               -- mem_block : TBasicType TPtr-    IO (Ptr ())--{- |-Atomically acquires a reference on the data pointed by /@memBlock@/.--/Since: 2.58/--}-atomicRcBoxAcquire ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@memBlock@/: a pointer to reference counted data -}-    -> m (Ptr ())-    {- ^ __Returns:__ a pointer to the data,-  with its reference count increased -}-atomicRcBoxAcquire memBlock = liftIO $ do-    result <- g_atomic_rc_box_acquire memBlock-    return result----- function g_atomic_pointer_xor--- Args : [Arg {argCName = "atomic", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gpointer-sized value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to 'xor'", 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_atomic_pointer_xor" g_atomic_pointer_xor :: -    Ptr () ->                               -- atomic : TBasicType TPtr-    Word64 ->                               -- val : TBasicType TUInt64-    IO Word64--{- |-Performs an atomic bitwise \'xor\' of the value of /@atomic@/ and /@val@/,-storing the result back in /@atomic@/.--Think of this operation as an atomic version of-@{ tmp = *atomic; *atomic ^= val; return tmp; }@.--This call acts as a full compiler and hardware memory barrier.--/Since: 2.30/--}-atomicPointerXor ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@atomic@/: a pointer to a @/gpointer/@-sized value -}-    -> Word64-    {- ^ /@val@/: the value to \'xor\' -}-    -> m Word64-    {- ^ __Returns:__ the value of /@atomic@/ before the operation, unsigned -}-atomicPointerXor atomic val = liftIO $ do-    result <- g_atomic_pointer_xor atomic val-    return result----- function g_atomic_pointer_set--- Args : [Arg {argCName = "atomic", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gpointer-sized value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "newval", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a new value to store", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_atomic_pointer_set" g_atomic_pointer_set :: -    Ptr () ->                               -- atomic : TBasicType TPtr-    Ptr () ->                               -- newval : TBasicType TPtr-    IO ()--{- |-Sets the value of /@atomic@/ to /@newval@/.--This call acts as a full compiler and hardware-memory barrier (after the set).--/Since: 2.4/--}-atomicPointerSet ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@atomic@/: a pointer to a @/gpointer/@-sized value -}-    -> Ptr ()-    {- ^ /@newval@/: a new value to store -}-    -> m ()-atomicPointerSet atomic newval = liftIO $ do-    g_atomic_pointer_set atomic newval-    return ()----- function g_atomic_pointer_or--- Args : [Arg {argCName = "atomic", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gpointer-sized value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to 'or'", 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_atomic_pointer_or" g_atomic_pointer_or :: -    Ptr () ->                               -- atomic : TBasicType TPtr-    Word64 ->                               -- val : TBasicType TUInt64-    IO Word64--{- |-Performs an atomic bitwise \'or\' of the value of /@atomic@/ and /@val@/,-storing the result back in /@atomic@/.--Think of this operation as an atomic version of-@{ tmp = *atomic; *atomic |= val; return tmp; }@.--This call acts as a full compiler and hardware memory barrier.--/Since: 2.30/--}-atomicPointerOr ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@atomic@/: a pointer to a @/gpointer/@-sized value -}-    -> Word64-    {- ^ /@val@/: the value to \'or\' -}-    -> m Word64-    {- ^ __Returns:__ the value of /@atomic@/ before the operation, unsigned -}-atomicPointerOr atomic val = liftIO $ do-    result <- g_atomic_pointer_or atomic val-    return result----- function g_atomic_pointer_get--- Args : [Arg {argCName = "atomic", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gpointer-sized value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_atomic_pointer_get" g_atomic_pointer_get :: -    Ptr () ->                               -- atomic : TBasicType TPtr-    IO (Ptr ())--{- |-Gets the current value of /@atomic@/.--This call acts as a full compiler and hardware-memory barrier (before the get).--/Since: 2.4/--}-atomicPointerGet ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@atomic@/: a pointer to a @/gpointer/@-sized value -}-    -> m (Ptr ())-    {- ^ __Returns:__ the value of the pointer -}-atomicPointerGet atomic = liftIO $ do-    result <- g_atomic_pointer_get atomic-    return result----- function g_atomic_pointer_compare_and_exchange--- Args : [Arg {argCName = "atomic", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gpointer-sized value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "oldval", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the value to compare with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "newval", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the value to conditionally replace with", 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_atomic_pointer_compare_and_exchange" g_atomic_pointer_compare_and_exchange :: -    Ptr () ->                               -- atomic : TBasicType TPtr-    Ptr () ->                               -- oldval : TBasicType TPtr-    Ptr () ->                               -- newval : TBasicType TPtr-    IO CInt--{- |-Compares /@atomic@/ to /@oldval@/ and, if equal, sets it to /@newval@/.-If /@atomic@/ was not equal to /@oldval@/ then no change occurs.--This compare and exchange is done atomically.--Think of this operation as an atomic version of-@{ if (*atomic == oldval) { *atomic = newval; return TRUE; } else return FALSE; }@.--This call acts as a full compiler and hardware memory barrier.--/Since: 2.4/--}-atomicPointerCompareAndExchange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@atomic@/: a pointer to a @/gpointer/@-sized value -}-    -> Ptr ()-    {- ^ /@oldval@/: the value to compare with -}-    -> Ptr ()-    {- ^ /@newval@/: the value to conditionally replace with -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the exchange took place -}-atomicPointerCompareAndExchange atomic oldval newval = liftIO $ do-    result <- g_atomic_pointer_compare_and_exchange atomic oldval newval-    let result' = (/= 0) result-    return result'----- function g_atomic_pointer_and--- Args : [Arg {argCName = "atomic", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gpointer-sized value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to 'and'", 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_atomic_pointer_and" g_atomic_pointer_and :: -    Ptr () ->                               -- atomic : TBasicType TPtr-    Word64 ->                               -- val : TBasicType TUInt64-    IO Word64--{- |-Performs an atomic bitwise \'and\' of the value of /@atomic@/ and /@val@/,-storing the result back in /@atomic@/.--Think of this operation as an atomic version of-@{ tmp = *atomic; *atomic &= val; return tmp; }@.--This call acts as a full compiler and hardware memory barrier.--/Since: 2.30/--}-atomicPointerAnd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@atomic@/: a pointer to a @/gpointer/@-sized value -}-    -> Word64-    {- ^ /@val@/: the value to \'and\' -}-    -> m Word64-    {- ^ __Returns:__ the value of /@atomic@/ before the operation, unsigned -}-atomicPointerAnd atomic val = liftIO $ do-    result <- g_atomic_pointer_and atomic val-    return result----- function g_atomic_pointer_add--- Args : [Arg {argCName = "atomic", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gpointer-sized value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to add", 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_atomic_pointer_add" g_atomic_pointer_add :: -    Ptr () ->                               -- atomic : TBasicType TPtr-    Int64 ->                                -- val : TBasicType TInt64-    IO Int64--{- |-Atomically adds /@val@/ to the value of /@atomic@/.--Think of this operation as an atomic version of-@{ tmp = *atomic; *atomic += val; return tmp; }@.--This call acts as a full compiler and hardware memory barrier.--/Since: 2.30/--}-atomicPointerAdd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@atomic@/: a pointer to a @/gpointer/@-sized value -}-    -> Int64-    {- ^ /@val@/: the value to add -}-    -> m Int64-    {- ^ __Returns:__ the value of /@atomic@/ before the add, signed -}-atomicPointerAdd atomic val = liftIO $ do-    result <- g_atomic_pointer_add atomic val-    return result----- function g_atomic_int_xor--- Args : [Arg {argCName = "atomic", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gint or #guint", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to 'xor'", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_atomic_int_xor" g_atomic_int_xor :: -    Word32 ->                               -- atomic : TBasicType TUInt-    Word32 ->                               -- val : TBasicType TUInt-    IO Word32--{- |-Performs an atomic bitwise \'xor\' of the value of /@atomic@/ and /@val@/,-storing the result back in /@atomic@/.--Think of this operation as an atomic version of-@{ tmp = *atomic; *atomic ^= val; return tmp; }@.--This call acts as a full compiler and hardware memory barrier.--/Since: 2.30/--}-atomicIntXor ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@atomic@/: a pointer to a @/gint/@ or @/guint/@ -}-    -> Word32-    {- ^ /@val@/: the value to \'xor\' -}-    -> m Word32-    {- ^ __Returns:__ the value of /@atomic@/ before the operation, unsigned -}-atomicIntXor atomic val = liftIO $ do-    result <- g_atomic_int_xor atomic val-    return result----- function g_atomic_int_set--- Args : [Arg {argCName = "atomic", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gint or #guint", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "newval", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a new value to store", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_atomic_int_set" g_atomic_int_set :: -    Int32 ->                                -- atomic : TBasicType TInt-    Int32 ->                                -- newval : TBasicType TInt-    IO ()--{- |-Sets the value of /@atomic@/ to /@newval@/.--This call acts as a full compiler and hardware-memory barrier (after the set).--/Since: 2.4/--}-atomicIntSet ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@atomic@/: a pointer to a @/gint/@ or @/guint/@ -}-    -> Int32-    {- ^ /@newval@/: a new value to store -}-    -> m ()-atomicIntSet atomic newval = liftIO $ do-    g_atomic_int_set atomic newval-    return ()----- function g_atomic_int_or--- Args : [Arg {argCName = "atomic", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gint or #guint", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to 'or'", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_atomic_int_or" g_atomic_int_or :: -    Word32 ->                               -- atomic : TBasicType TUInt-    Word32 ->                               -- val : TBasicType TUInt-    IO Word32--{- |-Performs an atomic bitwise \'or\' of the value of /@atomic@/ and /@val@/,-storing the result back in /@atomic@/.--Think of this operation as an atomic version of-@{ tmp = *atomic; *atomic |= val; return tmp; }@.--This call acts as a full compiler and hardware memory barrier.--/Since: 2.30/--}-atomicIntOr ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@atomic@/: a pointer to a @/gint/@ or @/guint/@ -}-    -> Word32-    {- ^ /@val@/: the value to \'or\' -}-    -> m Word32-    {- ^ __Returns:__ the value of /@atomic@/ before the operation, unsigned -}-atomicIntOr atomic val = liftIO $ do-    result <- g_atomic_int_or atomic val-    return result----- function g_atomic_int_inc--- Args : [Arg {argCName = "atomic", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gint or #guint", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_atomic_int_inc" g_atomic_int_inc :: -    Int32 ->                                -- atomic : TBasicType TInt-    IO ()--{- |-Increments the value of /@atomic@/ by 1.--Think of this operation as an atomic version of @{ *atomic += 1; }@.--This call acts as a full compiler and hardware memory barrier.--/Since: 2.4/--}-atomicIntInc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@atomic@/: a pointer to a @/gint/@ or @/guint/@ -}-    -> m ()-atomicIntInc atomic = liftIO $ do-    g_atomic_int_inc atomic-    return ()----- function g_atomic_int_get--- Args : [Arg {argCName = "atomic", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gint or #guint", 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_atomic_int_get" g_atomic_int_get :: -    Int32 ->                                -- atomic : TBasicType TInt-    IO Int32--{- |-Gets the current value of /@atomic@/.--This call acts as a full compiler and hardware-memory barrier (before the get).--/Since: 2.4/--}-atomicIntGet ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@atomic@/: a pointer to a @/gint/@ or @/guint/@ -}-    -> m Int32-    {- ^ __Returns:__ the value of the integer -}-atomicIntGet atomic = liftIO $ do-    result <- g_atomic_int_get atomic-    return result----- function g_atomic_int_exchange_and_add--- Args : [Arg {argCName = "atomic", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gint", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to add", 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_atomic_int_exchange_and_add" g_atomic_int_exchange_and_add :: -    Int32 ->                                -- atomic : TBasicType TInt-    Int32 ->                                -- val : TBasicType TInt-    IO Int32--{-# DEPRECATED atomicIntExchangeAndAdd ["(Since version 2.30)","Use 'GI.GLib.Functions.atomicIntAdd' instead."] #-}-{- |-This function existed before 'GI.GLib.Functions.atomicIntAdd' returned the prior-value of the integer (which it now does).  It is retained only for-compatibility reasons.  Don\'t use this function in new code.--/Since: 2.4/--}-atomicIntExchangeAndAdd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@atomic@/: a pointer to a @/gint/@ -}-    -> Int32-    {- ^ /@val@/: the value to add -}-    -> m Int32-    {- ^ __Returns:__ the value of /@atomic@/ before the add, signed -}-atomicIntExchangeAndAdd atomic val = liftIO $ do-    result <- g_atomic_int_exchange_and_add atomic val-    return result----- function g_atomic_int_dec_and_test--- Args : [Arg {argCName = "atomic", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gint or #guint", 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_atomic_int_dec_and_test" g_atomic_int_dec_and_test :: -    Int32 ->                                -- atomic : TBasicType TInt-    IO CInt--{- |-Decrements the value of /@atomic@/ by 1.--Think of this operation as an atomic version of-@{ *atomic -= 1; return (*atomic == 0); }@.--This call acts as a full compiler and hardware memory barrier.--/Since: 2.4/--}-atomicIntDecAndTest ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@atomic@/: a pointer to a @/gint/@ or @/guint/@ -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the resultant value is zero -}-atomicIntDecAndTest atomic = liftIO $ do-    result <- g_atomic_int_dec_and_test atomic-    let result' = (/= 0) result-    return result'----- function g_atomic_int_compare_and_exchange--- Args : [Arg {argCName = "atomic", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gint or #guint", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "oldval", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to compare with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "newval", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to conditionally replace with", 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_atomic_int_compare_and_exchange" g_atomic_int_compare_and_exchange :: -    Int32 ->                                -- atomic : TBasicType TInt-    Int32 ->                                -- oldval : TBasicType TInt-    Int32 ->                                -- newval : TBasicType TInt-    IO CInt--{- |-Compares /@atomic@/ to /@oldval@/ and, if equal, sets it to /@newval@/.-If /@atomic@/ was not equal to /@oldval@/ then no change occurs.--This compare and exchange is done atomically.--Think of this operation as an atomic version of-@{ if (*atomic == oldval) { *atomic = newval; return TRUE; } else return FALSE; }@.--This call acts as a full compiler and hardware memory barrier.--/Since: 2.4/--}-atomicIntCompareAndExchange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@atomic@/: a pointer to a @/gint/@ or @/guint/@ -}-    -> Int32-    {- ^ /@oldval@/: the value to compare with -}-    -> Int32-    {- ^ /@newval@/: the value to conditionally replace with -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the exchange took place -}-atomicIntCompareAndExchange atomic oldval newval = liftIO $ do-    result <- g_atomic_int_compare_and_exchange atomic oldval newval-    let result' = (/= 0) result-    return result'----- function g_atomic_int_and--- Args : [Arg {argCName = "atomic", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gint or #guint", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to 'and'", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_atomic_int_and" g_atomic_int_and :: -    Word32 ->                               -- atomic : TBasicType TUInt-    Word32 ->                               -- val : TBasicType TUInt-    IO Word32--{- |-Performs an atomic bitwise \'and\' of the value of /@atomic@/ and /@val@/,-storing the result back in /@atomic@/.--This call acts as a full compiler and hardware memory barrier.--Think of this operation as an atomic version of-@{ tmp = *atomic; *atomic &= val; return tmp; }@.--/Since: 2.30/--}-atomicIntAnd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@atomic@/: a pointer to a @/gint/@ or @/guint/@ -}-    -> Word32-    {- ^ /@val@/: the value to \'and\' -}-    -> m Word32-    {- ^ __Returns:__ the value of /@atomic@/ before the operation, unsigned -}-atomicIntAnd atomic val = liftIO $ do-    result <- g_atomic_int_and atomic val-    return result----- function g_atomic_int_add--- Args : [Arg {argCName = "atomic", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #gint or #guint", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to add", 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_atomic_int_add" g_atomic_int_add :: -    Int32 ->                                -- atomic : TBasicType TInt-    Int32 ->                                -- val : TBasicType TInt-    IO Int32--{- |-Atomically adds /@val@/ to the value of /@atomic@/.--Think of this operation as an atomic version of-@{ tmp = *atomic; *atomic += val; return tmp; }@.--This call acts as a full compiler and hardware memory barrier.--Before version 2.30, this function did not return a value-(but 'GI.GLib.Functions.atomicIntExchangeAndAdd' did, and had the same meaning).--/Since: 2.4/--}-atomicIntAdd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@atomic@/: a pointer to a @/gint/@ or @/guint/@ -}-    -> Int32-    {- ^ /@val@/: the value to add -}-    -> m Int32-    {- ^ __Returns:__ the value of /@atomic@/ before the add, signed -}-atomicIntAdd atomic val = liftIO $ do-    result <- g_atomic_int_add atomic val-    return result----- function g_atexit--- Args : [Arg {argCName = "func", argType = TInterface (Name {namespace = "GLib", name = "VoidFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the function to call on normal program termination.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_atexit" g_atexit :: -    FunPtr GLib.Callbacks.C_VoidFunc ->     -- func : TInterface (Name {namespace = "GLib", name = "VoidFunc"})-    IO ()--{-# DEPRECATED atexit ["(Since version 2.32)","It is best to avoid 'GI.GLib.Functions.atexit'."] #-}-{- |-Specifies a function to be called at normal program termination.--Since GLib 2.8.2, on Windows 'GI.GLib.Functions.atexit' actually is a preprocessor-macro that maps to a call to the @/atexit()/@ function in the C-library. This means that in case the code that calls 'GI.GLib.Functions.atexit',-i.e. @/atexit()/@, is in a DLL, the function will be called when the-DLL is detached from the program. This typically makes more sense-than that the function is called when the GLib DLL is detached,-which happened earlier when 'GI.GLib.Functions.atexit' was a function in the GLib-DLL.--The behaviour of @/atexit()/@ in the context of dynamically loaded-modules is not formally specified and varies wildly.--On POSIX systems, calling 'GI.GLib.Functions.atexit' (or @/atexit()/@) in a dynamically-loaded module which is unloaded before the program terminates might-well cause a crash at program exit.--Some POSIX systems implement @/atexit()/@ like Windows, and have each-dynamically loaded module maintain an own atexit chain that is-called when the module is unloaded.--On other POSIX systems, before a dynamically loaded module is-unloaded, the registered atexit functions (if any) residing in that-module are called, regardless where the code that registered them-resided. This is presumably the most robust approach.--As can be seen from the above, for portability it\'s best to avoid-calling 'GI.GLib.Functions.atexit' (or @/atexit()/@) except in the main executable of a-program.--}-atexit ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Callbacks.VoidFunc-    {- ^ /@func@/: the function to call on normal program termination. -}-    -> m ()-atexit func = liftIO $ do-    ptrfunc <- callocMem :: IO (Ptr (FunPtr GLib.Callbacks.C_VoidFunc))-    func' <- GLib.Callbacks.mk_VoidFunc (GLib.Callbacks.wrap_VoidFunc (Just ptrfunc) func)-    poke ptrfunc func'-    g_atexit func'-    return ()----- function g_assertion_message_error--- Args : [Arg {argCName = "domain", 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 = "file", 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 = "line", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", 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 = "expr", 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 = "error", argType = TError, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "error_domain", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "error_code", argType = TBasicType TInt, 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_assertion_message_error" g_assertion_message_error :: -    CString ->                              -- domain : TBasicType TUTF8-    CString ->                              -- file : TBasicType TUTF8-    Int32 ->                                -- line : TBasicType TInt-    CString ->                              -- func : TBasicType TUTF8-    CString ->                              -- expr : TBasicType TUTF8-    Ptr GError ->                           -- error : TError-    Word32 ->                               -- error_domain : TBasicType TUInt32-    Int32 ->                                -- error_code : TBasicType TInt-    IO ()--{- |-/No description available in the introspection data./--}-assertionMessageError ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    -> T.Text-    -> Int32-    -> T.Text-    -> T.Text-    -> GError-    -> Word32-    -> Int32-    -> m ()-assertionMessageError domain file line func expr error_ errorDomain errorCode = liftIO $ do-    domain' <- textToCString domain-    file' <- textToCString file-    func' <- textToCString func-    expr' <- textToCString expr-    error_' <- unsafeManagedPtrGetPtr error_-    g_assertion_message_error domain' file' line func' expr' error_' errorDomain errorCode-    touchManagedPtr error_-    freeMem domain'-    freeMem file'-    freeMem func'-    freeMem expr'-    return ()----- function g_assertion_message_cmpstr--- Args : [Arg {argCName = "domain", 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 = "file", 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 = "line", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", 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 = "expr", 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 = "arg1", 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 = "cmp", 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 = "arg2", 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_assertion_message_cmpstr" g_assertion_message_cmpstr :: -    CString ->                              -- domain : TBasicType TUTF8-    CString ->                              -- file : TBasicType TUTF8-    Int32 ->                                -- line : TBasicType TInt-    CString ->                              -- func : TBasicType TUTF8-    CString ->                              -- expr : TBasicType TUTF8-    CString ->                              -- arg1 : TBasicType TUTF8-    CString ->                              -- cmp : TBasicType TUTF8-    CString ->                              -- arg2 : TBasicType TUTF8-    IO ()--{- |-/No description available in the introspection data./--}-assertionMessageCmpstr ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    -> T.Text-    -> Int32-    -> T.Text-    -> T.Text-    -> T.Text-    -> T.Text-    -> T.Text-    -> m ()-assertionMessageCmpstr domain file line func expr arg1 cmp arg2 = liftIO $ do-    domain' <- textToCString domain-    file' <- textToCString file-    func' <- textToCString func-    expr' <- textToCString expr-    arg1' <- textToCString arg1-    cmp' <- textToCString cmp-    arg2' <- textToCString arg2-    g_assertion_message_cmpstr domain' file' line func' expr' arg1' cmp' arg2'-    freeMem domain'-    freeMem file'-    freeMem func'-    freeMem expr'-    freeMem arg1'-    freeMem cmp'-    freeMem arg2'-    return ()----- function g_assertion_message--- Args : [Arg {argCName = "domain", 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 = "file", 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 = "line", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", 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 = "message", 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_assertion_message" g_assertion_message :: -    CString ->                              -- domain : TBasicType TUTF8-    CString ->                              -- file : TBasicType TUTF8-    Int32 ->                                -- line : TBasicType TInt-    CString ->                              -- func : TBasicType TUTF8-    CString ->                              -- message : TBasicType TUTF8-    IO ()--{- |-/No description available in the introspection data./--}-assertionMessage ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    -> T.Text-    -> Int32-    -> T.Text-    -> T.Text-    -> m ()-assertionMessage domain file line func message = liftIO $ do-    domain' <- textToCString domain-    file' <- textToCString file-    func' <- textToCString func-    message' <- textToCString message-    g_assertion_message domain' file' line func' message'-    freeMem domain'-    freeMem file'-    freeMem func'-    freeMem message'-    return ()----- function g_assert_warning--- Args : [Arg {argCName = "log_domain", 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 = "file", 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 = "line", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pretty_function", 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 = "expression", 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_assert_warning" g_assert_warning :: -    CString ->                              -- log_domain : TBasicType TUTF8-    CString ->                              -- file : TBasicType TUTF8-    Int32 ->                                -- line : TBasicType TInt-    CString ->                              -- pretty_function : TBasicType TUTF8-    CString ->                              -- expression : TBasicType TUTF8-    IO ()--{- |-/No description available in the introspection data./--}-assertWarning ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    -> T.Text-    -> Int32-    -> T.Text-    -> T.Text-    -> m ()-assertWarning logDomain file line prettyFunction expression = liftIO $ do-    logDomain' <- textToCString logDomain-    file' <- textToCString file-    prettyFunction' <- textToCString prettyFunction-    expression' <- textToCString expression-    g_assert_warning logDomain' file' line prettyFunction' expression'-    freeMem logDomain'-    freeMem file'-    freeMem prettyFunction'-    freeMem expression'-    return ()----- function g_ascii_xdigit_value--- Args : [Arg {argCName = "c", argType = TBasicType TInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an ASCII character.", 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_ascii_xdigit_value" g_ascii_xdigit_value :: -    Int8 ->                                 -- c : TBasicType TInt8-    IO Int32--{- |-Determines the numeric value of a character as a hexidecimal-digit. Differs from 'GI.GLib.Functions.unicharXdigitValue' because it takes-a char, so there\'s no worry about sign extension if characters-are signed.--}-asciiXdigitValue ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int8-    {- ^ /@c@/: an ASCII character. -}-    -> m Int32-    {- ^ __Returns:__ If /@c@/ is a hex digit (according to @/g_ascii_isxdigit()/@),-    its numeric value. Otherwise, -1. -}-asciiXdigitValue c = liftIO $ do-    result <- g_ascii_xdigit_value c-    return result----- function g_ascii_toupper--- Args : [Arg {argCName = "c", argType = TBasicType TInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "any character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt8)--- throws : False--- Skip return : False--foreign import ccall "g_ascii_toupper" g_ascii_toupper :: -    Int8 ->                                 -- c : TBasicType TInt8-    IO Int8--{- |-Convert a character to ASCII upper case.--Unlike the standard C library @/toupper()/@ function, this only-recognizes standard ASCII letters and ignores the locale, returning-all non-ASCII characters unchanged, even if they are upper case-letters in a particular character set. Also unlike the standard-library function, this takes and returns a char, not an int, so-don\'t call it on @/EOF/@ but no need to worry about casting to @/guchar/@-before passing a possibly non-ASCII character in.--}-asciiToupper ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int8-    {- ^ /@c@/: any character -}-    -> m Int8-    {- ^ __Returns:__ the result of converting /@c@/ to upper case. If /@c@/ is not-   an ASCII lower case letter, /@c@/ is returned unchanged. -}-asciiToupper c = liftIO $ do-    result <- g_ascii_toupper c-    return result----- function g_ascii_tolower--- Args : [Arg {argCName = "c", argType = TBasicType TInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "any character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt8)--- throws : False--- Skip return : False--foreign import ccall "g_ascii_tolower" g_ascii_tolower :: -    Int8 ->                                 -- c : TBasicType TInt8-    IO Int8--{- |-Convert a character to ASCII lower case.--Unlike the standard C library @/tolower()/@ function, this only-recognizes standard ASCII letters and ignores the locale, returning-all non-ASCII characters unchanged, even if they are lower case-letters in a particular character set. Also unlike the standard-library function, this takes and returns a char, not an int, so-don\'t call it on @/EOF/@ but no need to worry about casting to @/guchar/@-before passing a possibly non-ASCII character in.--}-asciiTolower ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int8-    {- ^ /@c@/: any character -}-    -> m Int8-    {- ^ __Returns:__ the result of converting /@c@/ to lower case. If /@c@/ is-    not an ASCII upper case letter, /@c@/ is returned unchanged. -}-asciiTolower c = liftIO $ do-    result <- g_ascii_tolower c-    return result----- function g_ascii_strup--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @str in bytes, or -1 if @str is nul-terminated", 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_ascii_strup" g_ascii_strup :: -    CString ->                              -- str : TBasicType TUTF8-    Int64 ->                                -- len : TBasicType TInt64-    IO CString--{- |-Converts all lower case ASCII letters to upper case ASCII letters.--}-asciiStrup ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a string -}-    -> Int64-    {- ^ /@len@/: length of /@str@/ in bytes, or -1 if /@str@/ is nul-terminated -}-    -> m T.Text-    {- ^ __Returns:__ a newly allocated string, with all the lower case-    characters in /@str@/ converted to upper case, with semantics that-    exactly match 'GI.GLib.Functions.asciiToupper'. (Note that this is unlike the-    old 'GI.GLib.Functions.strup', which modified the string in place.) -}-asciiStrup str len = liftIO $ do-    str' <- textToCString str-    result <- g_ascii_strup str' len-    checkUnexpectedReturnNULL "asciiStrup" result-    result' <- cstringToText result-    freeMem result-    freeMem str'-    return result'----- function g_ascii_strtoull--- Args : [Arg {argCName = "nptr", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to convert to a numeric value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "endptr", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if non-%NULL, it returns the\n          character after the last character used in the conversion.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "base", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "to be used for the conversion, 2..36 or 0", 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_ascii_strtoull" g_ascii_strtoull :: -    CString ->                              -- nptr : TBasicType TUTF8-    Ptr CString ->                          -- endptr : TBasicType TUTF8-    Word32 ->                               -- base : TBasicType TUInt-    IO Word64--{- |-Converts a string to a @/guint64/@ value.-This function behaves like the standard @/strtoull()/@ function-does in the C locale. It does this without actually-changing the current locale, since that would not be-thread-safe.--Note that input with a leading minus sign (@-@) is accepted, and will return-the negation of the parsed number, unless that would overflow a @/guint64/@.-Critically, this means you cannot assume that a short fixed length input will-never result in a low return value, as the input could have a leading @-@.--This function is typically used when reading configuration-files or other non-user input that should be locale independent.-To handle input from the user you should normally use the-locale-sensitive system @/strtoull()/@ function.--If the correct value would cause overflow, 'GI.GLib.Constants.MAXUINT64'-is returned, and @ERANGE@ is stored in @errno@.-If the base is outside the valid range, zero is returned, and-@EINVAL@ is stored in @errno@.-If the string conversion fails, zero is returned, and /@endptr@/ returns-/@nptr@/ (if /@endptr@/ is non-'Nothing').--/Since: 2.2/--}-asciiStrtoull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@nptr@/: the string to convert to a numeric value. -}-    -> Word32-    {- ^ /@base@/: to be used for the conversion, 2..36 or 0 -}-    -> m ((Word64, T.Text))-    {- ^ __Returns:__ the @/guint64/@ value or zero on error. -}-asciiStrtoull nptr base = liftIO $ do-    nptr' <- textToCString nptr-    endptr <- allocMem :: IO (Ptr CString)-    result <- g_ascii_strtoull nptr' endptr base-    endptr' <- peek endptr-    endptr'' <- cstringToText endptr'-    freeMem nptr'-    freeMem endptr-    return (result, endptr'')----- function g_ascii_strtoll--- Args : [Arg {argCName = "nptr", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to convert to a numeric value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "endptr", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if non-%NULL, it returns the\n          character after the last character used in the conversion.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "base", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "to be used for the conversion, 2..36 or 0", 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_ascii_strtoll" g_ascii_strtoll :: -    CString ->                              -- nptr : TBasicType TUTF8-    Ptr CString ->                          -- endptr : TBasicType TUTF8-    Word32 ->                               -- base : TBasicType TUInt-    IO Int64--{- |-Converts a string to a @/gint64/@ value.-This function behaves like the standard @/strtoll()/@ function-does in the C locale. It does this without actually-changing the current locale, since that would not be-thread-safe.--This function is typically used when reading configuration-files or other non-user input that should be locale independent.-To handle input from the user you should normally use the-locale-sensitive system @/strtoll()/@ function.--If the correct value would cause overflow, 'GI.GLib.Constants.MAXINT64' or 'GI.GLib.Constants.MININT64'-is returned, and @ERANGE@ is stored in @errno@.-If the base is outside the valid range, zero is returned, and-@EINVAL@ is stored in @errno@. If the-string conversion fails, zero is returned, and /@endptr@/ returns /@nptr@/-(if /@endptr@/ is non-'Nothing').--/Since: 2.12/--}-asciiStrtoll ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@nptr@/: the string to convert to a numeric value. -}-    -> Word32-    {- ^ /@base@/: to be used for the conversion, 2..36 or 0 -}-    -> m ((Int64, T.Text))-    {- ^ __Returns:__ the @/gint64/@ value or zero on error. -}-asciiStrtoll nptr base = liftIO $ do-    nptr' <- textToCString nptr-    endptr <- allocMem :: IO (Ptr CString)-    result <- g_ascii_strtoll nptr' endptr base-    endptr' <- peek endptr-    endptr'' <- cstringToText endptr'-    freeMem nptr'-    freeMem endptr-    return (result, endptr'')----- function g_ascii_strtod--- Args : [Arg {argCName = "nptr", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to convert to a numeric value.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "endptr", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if non-%NULL, it returns the\n          character after the last character used in the conversion.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TDouble)--- throws : False--- Skip return : False--foreign import ccall "g_ascii_strtod" g_ascii_strtod :: -    CString ->                              -- nptr : TBasicType TUTF8-    Ptr CString ->                          -- endptr : TBasicType TUTF8-    IO CDouble--{- |-Converts a string to a @/gdouble/@ value.--This function behaves like the standard @/strtod()/@ function-does in the C locale. It does this without actually changing-the current locale, since that would not be thread-safe.-A limitation of the implementation is that this function-will still accept localized versions of infinities and NANs.--This function is typically used when reading configuration-files or other non-user input that should be locale independent.-To handle input from the user you should normally use the-locale-sensitive system @/strtod()/@ function.--To convert from a @/gdouble/@ to a string in a locale-insensitive-way, use 'GI.GLib.Functions.asciiDtostr'.--If the correct value would cause overflow, plus or minus @/HUGE_VAL/@-is returned (according to the sign of the value), and @/ERANGE/@ is-stored in @/errno/@. If the correct value would cause underflow,-zero is returned and @/ERANGE/@ is stored in @/errno/@.--This function resets @/errno/@ before calling @/strtod()/@ so that-you can reliably detect overflow and underflow.--}-asciiStrtod ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@nptr@/: the string to convert to a numeric value. -}-    -> m ((Double, T.Text))-    {- ^ __Returns:__ the @/gdouble/@ value. -}-asciiStrtod nptr = liftIO $ do-    nptr' <- textToCString nptr-    endptr <- allocMem :: IO (Ptr CString)-    result <- g_ascii_strtod nptr' endptr-    let result' = realToFrac result-    endptr' <- peek endptr-    endptr'' <- cstringToText endptr'-    freeMem nptr'-    freeMem endptr-    return (result', endptr'')----- function g_ascii_strncasecmp--- Args : [Arg {argCName = "s1", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "string to compare with @s2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "s2", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "string to compare with @s1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of characters to compare", 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_ascii_strncasecmp" g_ascii_strncasecmp :: -    CString ->                              -- s1 : TBasicType TUTF8-    CString ->                              -- s2 : TBasicType TUTF8-    Word64 ->                               -- n : TBasicType TUInt64-    IO Int32--{- |-Compare /@s1@/ and /@s2@/, ignoring the case of ASCII characters and any-characters after the first /@n@/ in each string.--Unlike the BSD @/strcasecmp()/@ function, this only recognizes standard-ASCII letters and ignores the locale, treating all non-ASCII-characters as if they are not letters.--The same warning as in 'GI.GLib.Functions.asciiStrcasecmp' applies: Use this-function only on strings known to be in encodings where bytes-corresponding to ASCII letters always represent themselves.--}-asciiStrncasecmp ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@s1@/: string to compare with /@s2@/ -}-    -> T.Text-    {- ^ /@s2@/: string to compare with /@s1@/ -}-    -> Word64-    {- ^ /@n@/: number of characters to compare -}-    -> m Int32-    {- ^ __Returns:__ 0 if the strings match, a negative value if /@s1@/ \< /@s2@/,-    or a positive value if /@s1@/ > /@s2@/. -}-asciiStrncasecmp s1 s2 n = liftIO $ do-    s1' <- textToCString s1-    s2' <- textToCString s2-    result <- g_ascii_strncasecmp s1' s2' n-    freeMem s1'-    freeMem s2'-    return result----- function g_ascii_string_to_unsigned--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "base", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "base of a parsed number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a lower bound (inclusive)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an upper bound (inclusive)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_num", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a return location for a number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : True--- Skip return : False--foreign import ccall "g_ascii_string_to_unsigned" g_ascii_string_to_unsigned :: -    CString ->                              -- str : TBasicType TUTF8-    Word32 ->                               -- base : TBasicType TUInt-    Word64 ->                               -- min : TBasicType TUInt64-    Word64 ->                               -- max : TBasicType TUInt64-    Ptr Word64 ->                           -- out_num : TBasicType TUInt64-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-A convenience function for converting a string to an unsigned number.--This function assumes that /@str@/ contains only a number of the given-/@base@/ that is within inclusive bounds limited by /@min@/ and /@max@/. If-this is true, then the converted number is stored in /@outNum@/. An-empty string is not a valid input. A string with leading or-trailing whitespace is also an invalid input. A string with a leading sign-(@-@ or @+@) is not a valid input for the unsigned parser.--/@base@/ can be between 2 and 36 inclusive. Hexadecimal numbers must-not be prefixed with \"0x\" or \"0X\". Such a problem does not exist-for octal numbers, since they were usually prefixed with a zero-which does not change the value of the parsed number.--Parsing failures result in an error with the @/G_NUMBER_PARSER_ERROR/@-domain. If the input is invalid, the error code will be-'GI.GLib.Enums.NumberParserErrorInvalid'. If the parsed number is out of-bounds - 'GI.GLib.Enums.NumberParserErrorOutOfBounds'.--See 'GI.GLib.Functions.asciiStrtoull' if you have more complex needs such as-parsing a string which starts with a number, but then has other-characters.--/Since: 2.54/--}-asciiStringToUnsigned ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a string -}-    -> Word32-    {- ^ /@base@/: base of a parsed number -}-    -> Word64-    {- ^ /@min@/: a lower bound (inclusive) -}-    -> Word64-    {- ^ /@max@/: an upper bound (inclusive) -}-    -> m (Word64)-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-asciiStringToUnsigned str base min max = liftIO $ do-    str' <- textToCString str-    outNum <- allocMem :: IO (Ptr Word64)-    onException (do-        _ <- propagateGError $ g_ascii_string_to_unsigned str' base min max outNum-        outNum' <- peek outNum-        freeMem str'-        freeMem outNum-        return outNum'-     ) (do-        freeMem str'-        freeMem outNum-     )----- function g_ascii_string_to_signed--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "base", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "base of a parsed number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a lower bound (inclusive)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an upper bound (inclusive)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_num", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a return location for a number", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : True--- Skip return : False--foreign import ccall "g_ascii_string_to_signed" g_ascii_string_to_signed :: -    CString ->                              -- str : TBasicType TUTF8-    Word32 ->                               -- base : TBasicType TUInt-    Int64 ->                                -- min : TBasicType TInt64-    Int64 ->                                -- max : TBasicType TInt64-    Ptr Int64 ->                            -- out_num : TBasicType TInt64-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-A convenience function for converting a string to a signed number.--This function assumes that /@str@/ contains only a number of the given-/@base@/ that is within inclusive bounds limited by /@min@/ and /@max@/. If-this is true, then the converted number is stored in /@outNum@/. An-empty string is not a valid input. A string with leading or-trailing whitespace is also an invalid input.--/@base@/ can be between 2 and 36 inclusive. Hexadecimal numbers must-not be prefixed with \"0x\" or \"0X\". Such a problem does not exist-for octal numbers, since they were usually prefixed with a zero-which does not change the value of the parsed number.--Parsing failures result in an error with the @/G_NUMBER_PARSER_ERROR/@-domain. If the input is invalid, the error code will be-'GI.GLib.Enums.NumberParserErrorInvalid'. If the parsed number is out of-bounds - 'GI.GLib.Enums.NumberParserErrorOutOfBounds'.--See 'GI.GLib.Functions.asciiStrtoll' if you have more complex needs such as-parsing a string which starts with a number, but then has other-characters.--/Since: 2.54/--}-asciiStringToSigned ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a string -}-    -> Word32-    {- ^ /@base@/: base of a parsed number -}-    -> Int64-    {- ^ /@min@/: a lower bound (inclusive) -}-    -> Int64-    {- ^ /@max@/: an upper bound (inclusive) -}-    -> m (Int64)-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-asciiStringToSigned str base min max = liftIO $ do-    str' <- textToCString str-    outNum <- allocMem :: IO (Ptr Int64)-    onException (do-        _ <- propagateGError $ g_ascii_string_to_signed str' base min max outNum-        outNum' <- peek outNum-        freeMem str'-        freeMem outNum-        return outNum'-     ) (do-        freeMem str'-        freeMem outNum-     )----- function g_ascii_strdown--- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @str in bytes, or -1 if @str is nul-terminated", 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_ascii_strdown" g_ascii_strdown :: -    CString ->                              -- str : TBasicType TUTF8-    Int64 ->                                -- len : TBasicType TInt64-    IO CString--{- |-Converts all upper case ASCII letters to lower case ASCII letters.--}-asciiStrdown ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@str@/: a string -}-    -> Int64-    {- ^ /@len@/: length of /@str@/ in bytes, or -1 if /@str@/ is nul-terminated -}-    -> m T.Text-    {- ^ __Returns:__ a newly-allocated string, with all the upper case-    characters in /@str@/ converted to lower case, with semantics that-    exactly match 'GI.GLib.Functions.asciiTolower'. (Note that this is unlike the-    old 'GI.GLib.Functions.strdown', which modified the string in place.) -}-asciiStrdown str len = liftIO $ do-    str' <- textToCString str-    result <- g_ascii_strdown str' len-    checkUnexpectedReturnNULL "asciiStrdown" result-    result' <- cstringToText result-    freeMem result-    freeMem str'-    return result'----- function g_ascii_strcasecmp--- Args : [Arg {argCName = "s1", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "string to compare with @s2", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "s2", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "string to compare with @s1", 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_ascii_strcasecmp" g_ascii_strcasecmp :: -    CString ->                              -- s1 : TBasicType TUTF8-    CString ->                              -- s2 : TBasicType TUTF8-    IO Int32--{- |-Compare two strings, ignoring the case of ASCII characters.--Unlike the BSD @/strcasecmp()/@ function, this only recognizes standard-ASCII letters and ignores the locale, treating all non-ASCII-bytes as if they are not letters.--This function should be used only on strings that are known to be-in encodings where the bytes corresponding to ASCII letters always-represent themselves. This includes UTF-8 and the ISO-8859-*-charsets, but not for instance double-byte encodings like the-Windows Codepage 932, where the trailing bytes of double-byte-characters include all ASCII letters. If you compare two CP932-strings using this function, you will get false matches.--Both /@s1@/ and /@s2@/ must be non-'Nothing'.--}-asciiStrcasecmp ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@s1@/: string to compare with /@s2@/ -}-    -> T.Text-    {- ^ /@s2@/: string to compare with /@s1@/ -}-    -> m Int32-    {- ^ __Returns:__ 0 if the strings match, a negative value if /@s1@/ \< /@s2@/,-    or a positive value if /@s1@/ > /@s2@/. -}-asciiStrcasecmp s1 s2 = liftIO $ do-    s1' <- textToCString s1-    s2' <- textToCString s2-    result <- g_ascii_strcasecmp s1' s2'-    freeMem s1'-    freeMem s2'-    return result----- function g_ascii_formatd--- Args : [Arg {argCName = "buffer", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A buffer to place the resulting string in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buf_len", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The length of the buffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The printf()-style format to use for the\n         code to use for converting.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "d", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #gdouble to convert", 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_ascii_formatd" g_ascii_formatd :: -    CString ->                              -- buffer : TBasicType TUTF8-    Int32 ->                                -- buf_len : TBasicType TInt-    CString ->                              -- format : TBasicType TUTF8-    CDouble ->                              -- d : TBasicType TDouble-    IO CString--{- |-Converts a @/gdouble/@ to a string, using the \'.\' as-decimal point. To format the number you pass in-a @/printf()/@-style format string. Allowed conversion-specifiers are \'e\', \'E\', \'f\', \'F\', \'g\' and \'G\'.--The returned buffer is guaranteed to be nul-terminated.--If you just want to want to serialize the value into a-string, use 'GI.GLib.Functions.asciiDtostr'.--}-asciiFormatd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@buffer@/: A buffer to place the resulting string in -}-    -> Int32-    {- ^ /@bufLen@/: The length of the buffer. -}-    -> T.Text-    {- ^ /@format@/: The @/printf()/@-style format to use for the-         code to use for converting. -}-    -> Double-    {- ^ /@d@/: The @/gdouble/@ to convert -}-    -> m T.Text-    {- ^ __Returns:__ The pointer to the buffer with the converted string. -}-asciiFormatd buffer bufLen format d = liftIO $ do-    buffer' <- textToCString buffer-    format' <- textToCString format-    let d' = realToFrac d-    result <- g_ascii_formatd buffer' bufLen format' d'-    checkUnexpectedReturnNULL "asciiFormatd" result-    result' <- cstringToText result-    freeMem result-    freeMem buffer'-    freeMem format'-    return result'----- function g_ascii_dtostr--- Args : [Arg {argCName = "buffer", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A buffer to place the resulting string in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buf_len", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The length of the buffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "d", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #gdouble to convert", 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_ascii_dtostr" g_ascii_dtostr :: -    CString ->                              -- buffer : TBasicType TUTF8-    Int32 ->                                -- buf_len : TBasicType TInt-    CDouble ->                              -- d : TBasicType TDouble-    IO CString--{- |-Converts a @/gdouble/@ to a string, using the \'.\' as-decimal point.--This function generates enough precision that converting-the string back using 'GI.GLib.Functions.asciiStrtod' gives the same machine-number-(on machines with IEEE compatible 64bit doubles). It is-guaranteed that the size of the resulting string will never-be larger than /@gASCIIDTOSTRBUFSIZE@/ bytes, including the terminating-nul character, which is always added.--}-asciiDtostr ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@buffer@/: A buffer to place the resulting string in -}-    -> Int32-    {- ^ /@bufLen@/: The length of the buffer. -}-    -> Double-    {- ^ /@d@/: The @/gdouble/@ to convert -}-    -> m T.Text-    {- ^ __Returns:__ The pointer to the buffer with the converted string. -}-asciiDtostr buffer bufLen d = liftIO $ do-    buffer' <- textToCString buffer-    let d' = realToFrac d-    result <- g_ascii_dtostr buffer' bufLen d'-    checkUnexpectedReturnNULL "asciiDtostr" result-    result' <- cstringToText result-    freeMem result-    freeMem buffer'-    return result'----- function g_ascii_digit_value--- Args : [Arg {argCName = "c", argType = TBasicType TInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an ASCII character", 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_ascii_digit_value" g_ascii_digit_value :: -    Int8 ->                                 -- c : TBasicType TInt8-    IO Int32--{- |-Determines the numeric value of a character as a decimal digit.-Differs from 'GI.GLib.Functions.unicharDigitValue' because it takes a char, so-there\'s no worry about sign extension if characters are signed.--}-asciiDigitValue ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int8-    {- ^ /@c@/: an ASCII character -}-    -> m Int32-    {- ^ __Returns:__ If /@c@/ is a decimal digit (according to @/g_ascii_isdigit()/@),-   its numeric value. Otherwise, -1. -}-asciiDigitValue c = liftIO $ do-    result <- g_ascii_digit_value c-    return result----- function g_access--- Args : [Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pathname in the GLib file name encoding\n    (UTF-8 on Windows)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "as in access()", 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_access" g_access :: -    CString ->                              -- filename : TBasicType TFileName-    Int32 ->                                -- mode : TBasicType TInt-    IO Int32--{- |-A wrapper for the POSIX @/access()/@ function. This function is used to-test a pathname for one or several of read, write or execute-permissions, or just existence.--On Windows, the file protection mechanism is not at all POSIX-like,-and the underlying function in the C library only checks the-FAT-style READONLY attribute, and does not look at the ACL of a-file at all. This function is this in practise almost useless on-Windows. Software that needs to handle file permissions on Windows-more exactly should use the Win32 API.--See your C library manual for more details about @/access()/@.--/Since: 2.8/--}-access ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@filename@/: a pathname in the GLib file name encoding-    (UTF-8 on Windows) -}-    -> Int32-    {- ^ /@mode@/: as in @/access()/@ -}-    -> m Int32-    {- ^ __Returns:__ zero if the pathname refers to an existing file system-    object that has all the tested permissions, or -1 otherwise-    or on error. -}-access filename mode = liftIO $ do-    filename' <- stringToCString filename-    result <- g_access filename' mode-    freeMem filename'-    return result---
− GI/GLib/Structs.hs
@@ -1,167 +0,0 @@---{- |-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.GLib.Structs-    (     module GI.GLib.Structs.AsyncQueue       ,-    module GI.GLib.Structs.BookmarkFile     ,-    module GI.GLib.Structs.ByteArray        ,-    module GI.GLib.Structs.Bytes            ,-    module GI.GLib.Structs.Checksum         ,-    module GI.GLib.Structs.Cond             ,-    module GI.GLib.Structs.Data             ,-    module GI.GLib.Structs.Date             ,-    module GI.GLib.Structs.DateTime         ,-    module GI.GLib.Structs.DebugKey         ,-    module GI.GLib.Structs.Dir              ,-    module GI.GLib.Structs.HashTableIter    ,-    module GI.GLib.Structs.Hmac             ,-    module GI.GLib.Structs.Hook             ,-    module GI.GLib.Structs.HookList         ,-    module GI.GLib.Structs.IOChannel        ,-    module GI.GLib.Structs.IOFuncs          ,-    module GI.GLib.Structs.KeyFile          ,-    module GI.GLib.Structs.LogField         ,-    module GI.GLib.Structs.MainContext      ,-    module GI.GLib.Structs.MainLoop         ,-    module GI.GLib.Structs.MappedFile       ,-    module GI.GLib.Structs.MarkupParseContext,-    module GI.GLib.Structs.MarkupParser     ,-    module GI.GLib.Structs.MatchInfo        ,-    module GI.GLib.Structs.MemVTable        ,-    module GI.GLib.Structs.Node             ,-    module GI.GLib.Structs.Once             ,-    module GI.GLib.Structs.OptionContext    ,-    module GI.GLib.Structs.OptionEntry      ,-    module GI.GLib.Structs.OptionGroup      ,-    module GI.GLib.Structs.PatternSpec      ,-    module GI.GLib.Structs.PollFD           ,-    module GI.GLib.Structs.PtrArray         ,-    module GI.GLib.Structs.Queue            ,-    module GI.GLib.Structs.RWLock           ,-    module GI.GLib.Structs.Rand             ,-    module GI.GLib.Structs.RecMutex         ,-    module GI.GLib.Structs.Regex            ,-    module GI.GLib.Structs.Scanner          ,-    module GI.GLib.Structs.ScannerConfig    ,-    module GI.GLib.Structs.Sequence         ,-    module GI.GLib.Structs.SequenceIter     ,-    module GI.GLib.Structs.Source           ,-    module GI.GLib.Structs.SourceCallbackFuncs,-    module GI.GLib.Structs.SourceFuncs      ,-    module GI.GLib.Structs.StatBuf          ,-    module GI.GLib.Structs.String           ,-    module GI.GLib.Structs.StringChunk      ,-    module GI.GLib.Structs.TestCase         ,-    module GI.GLib.Structs.TestConfig       ,-    module GI.GLib.Structs.TestLogBuffer    ,-    module GI.GLib.Structs.TestLogMsg       ,-    module GI.GLib.Structs.TestSuite        ,-    module GI.GLib.Structs.Thread           ,-    module GI.GLib.Structs.ThreadPool       ,-    module GI.GLib.Structs.TimeVal          ,-    module GI.GLib.Structs.TimeZone         ,-    module GI.GLib.Structs.Timer            ,-    module GI.GLib.Structs.TrashStack       ,-    module GI.GLib.Structs.Tree             ,-    module GI.GLib.Structs.VariantBuilder   ,-    module GI.GLib.Structs.VariantDict      ,-    module GI.GLib.Structs.VariantType      ,---    ) where--import GI.GLib.Structs.AsyncQueue-import GI.GLib.Structs.BookmarkFile-import GI.GLib.Structs.ByteArray-import GI.GLib.Structs.Bytes-import GI.GLib.Structs.Checksum-import GI.GLib.Structs.Cond-import GI.GLib.Structs.Data-import GI.GLib.Structs.Date-import GI.GLib.Structs.DateTime-import GI.GLib.Structs.DebugKey-import GI.GLib.Structs.Dir-import GI.GLib.Structs.HashTableIter-import GI.GLib.Structs.Hmac-import GI.GLib.Structs.Hook-import GI.GLib.Structs.HookList-import GI.GLib.Structs.IOChannel-import GI.GLib.Structs.IOFuncs-import GI.GLib.Structs.KeyFile-import GI.GLib.Structs.LogField-import GI.GLib.Structs.MainContext-import GI.GLib.Structs.MainLoop-import GI.GLib.Structs.MappedFile-import GI.GLib.Structs.MarkupParseContext-import GI.GLib.Structs.MarkupParser-import GI.GLib.Structs.MatchInfo-import GI.GLib.Structs.MemVTable-import GI.GLib.Structs.Node-import GI.GLib.Structs.Once-import GI.GLib.Structs.OptionContext-import GI.GLib.Structs.OptionEntry-import GI.GLib.Structs.OptionGroup-import GI.GLib.Structs.PatternSpec-import GI.GLib.Structs.PollFD-import GI.GLib.Structs.PtrArray-import GI.GLib.Structs.Queue-import GI.GLib.Structs.RWLock-import GI.GLib.Structs.Rand-import GI.GLib.Structs.RecMutex-import GI.GLib.Structs.Regex-import GI.GLib.Structs.Scanner-import GI.GLib.Structs.ScannerConfig-import GI.GLib.Structs.Sequence-import GI.GLib.Structs.SequenceIter-import GI.GLib.Structs.Source-import GI.GLib.Structs.SourceCallbackFuncs-import GI.GLib.Structs.SourceFuncs-import GI.GLib.Structs.StatBuf-import GI.GLib.Structs.String-import GI.GLib.Structs.StringChunk-import GI.GLib.Structs.TestCase-import GI.GLib.Structs.TestConfig-import GI.GLib.Structs.TestLogBuffer-import GI.GLib.Structs.TestLogMsg-import GI.GLib.Structs.TestSuite-import GI.GLib.Structs.Thread-import GI.GLib.Structs.ThreadPool-import GI.GLib.Structs.TimeVal-import GI.GLib.Structs.TimeZone-import GI.GLib.Structs.Timer-import GI.GLib.Structs.TrashStack-import GI.GLib.Structs.Tree-import GI.GLib.Structs.VariantBuilder-import GI.GLib.Structs.VariantDict-import GI.GLib.Structs.VariantType--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/GLib/Structs/AsyncQueue.hs
@@ -1,1109 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The GAsyncQueue struct is an opaque data structure which represents-an asynchronous queue. It should only be accessed through the-g_async_queue_* functions.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.AsyncQueue-    ( ---- * Exported types-    AsyncQueue(..)                          ,-    noAsyncQueue                            ,--- -- * Methods--- ** length #method:length#--#if ENABLE_OVERLOADING-    AsyncQueueLengthMethodInfo              ,-#endif-    asyncQueueLength                        ,----- ** lengthUnlocked #method:lengthUnlocked#--#if ENABLE_OVERLOADING-    AsyncQueueLengthUnlockedMethodInfo      ,-#endif-    asyncQueueLengthUnlocked                ,----- ** lock #method:lock#--#if ENABLE_OVERLOADING-    AsyncQueueLockMethodInfo                ,-#endif-    asyncQueueLock                          ,----- ** pop #method:pop#--#if ENABLE_OVERLOADING-    AsyncQueuePopMethodInfo                 ,-#endif-    asyncQueuePop                           ,----- ** popUnlocked #method:popUnlocked#--#if ENABLE_OVERLOADING-    AsyncQueuePopUnlockedMethodInfo         ,-#endif-    asyncQueuePopUnlocked                   ,----- ** push #method:push#--#if ENABLE_OVERLOADING-    AsyncQueuePushMethodInfo                ,-#endif-    asyncQueuePush                          ,----- ** pushFront #method:pushFront#--#if ENABLE_OVERLOADING-    AsyncQueuePushFrontMethodInfo           ,-#endif-    asyncQueuePushFront                     ,----- ** pushFrontUnlocked #method:pushFrontUnlocked#--#if ENABLE_OVERLOADING-    AsyncQueuePushFrontUnlockedMethodInfo   ,-#endif-    asyncQueuePushFrontUnlocked             ,----- ** pushUnlocked #method:pushUnlocked#--#if ENABLE_OVERLOADING-    AsyncQueuePushUnlockedMethodInfo        ,-#endif-    asyncQueuePushUnlocked                  ,----- ** refUnlocked #method:refUnlocked#--#if ENABLE_OVERLOADING-    AsyncQueueRefUnlockedMethodInfo         ,-#endif-    asyncQueueRefUnlocked                   ,----- ** remove #method:remove#--#if ENABLE_OVERLOADING-    AsyncQueueRemoveMethodInfo              ,-#endif-    asyncQueueRemove                        ,----- ** removeUnlocked #method:removeUnlocked#--#if ENABLE_OVERLOADING-    AsyncQueueRemoveUnlockedMethodInfo      ,-#endif-    asyncQueueRemoveUnlocked                ,----- ** timedPop #method:timedPop#--#if ENABLE_OVERLOADING-    AsyncQueueTimedPopMethodInfo            ,-#endif-    asyncQueueTimedPop                      ,----- ** timedPopUnlocked #method:timedPopUnlocked#--#if ENABLE_OVERLOADING-    AsyncQueueTimedPopUnlockedMethodInfo    ,-#endif-    asyncQueueTimedPopUnlocked              ,----- ** timeoutPop #method:timeoutPop#--#if ENABLE_OVERLOADING-    AsyncQueueTimeoutPopMethodInfo          ,-#endif-    asyncQueueTimeoutPop                    ,----- ** timeoutPopUnlocked #method:timeoutPopUnlocked#--#if ENABLE_OVERLOADING-    AsyncQueueTimeoutPopUnlockedMethodInfo  ,-#endif-    asyncQueueTimeoutPopUnlocked            ,----- ** tryPop #method:tryPop#--#if ENABLE_OVERLOADING-    AsyncQueueTryPopMethodInfo              ,-#endif-    asyncQueueTryPop                        ,----- ** tryPopUnlocked #method:tryPopUnlocked#--#if ENABLE_OVERLOADING-    AsyncQueueTryPopUnlockedMethodInfo      ,-#endif-    asyncQueueTryPopUnlocked                ,----- ** unlock #method:unlock#--#if ENABLE_OVERLOADING-    AsyncQueueUnlockMethodInfo              ,-#endif-    asyncQueueUnlock                        ,----- ** unref #method:unref#--#if ENABLE_OVERLOADING-    AsyncQueueUnrefMethodInfo               ,-#endif-    asyncQueueUnref                         ,----- ** unrefAndUnlock #method:unrefAndUnlock#--#if ENABLE_OVERLOADING-    AsyncQueueUnrefAndUnlockMethodInfo      ,-#endif-    asyncQueueUnrefAndUnlock                ,-----    ) 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.GLib.Structs.TimeVal as GLib.TimeVal---- | Memory-managed wrapper type.-newtype AsyncQueue = AsyncQueue (ManagedPtr AsyncQueue)--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?-instance WrappedPtr AsyncQueue where-    wrappedPtrCalloc = return nullPtr-    wrappedPtrCopy = return-    wrappedPtrFree = Nothing---- | A convenience alias for `Nothing` :: `Maybe` `AsyncQueue`.-noAsyncQueue :: Maybe AsyncQueue-noAsyncQueue = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList AsyncQueue-type instance O.AttributeList AsyncQueue = AsyncQueueAttributeList-type AsyncQueueAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method AsyncQueue::length--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "AsyncQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncQueue.", 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_async_queue_length" g_async_queue_length :: -    Ptr AsyncQueue ->                       -- queue : TInterface (Name {namespace = "GLib", name = "AsyncQueue"})-    IO Int32--{- |-Returns the length of the queue.--Actually this function returns the number of data items in-the queue minus the number of waiting threads, so a negative-value means waiting threads, and a positive value means available-entries in the /@queue@/. A return value of 0 could mean n entries-in the queue and n threads waiting. This can happen due to locking-of the queue or due to scheduling.--}-asyncQueueLength ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AsyncQueue-    {- ^ /@queue@/: a 'GI.GLib.Structs.AsyncQueue.AsyncQueue'. -}-    -> m Int32-    {- ^ __Returns:__ the length of the /@queue@/ -}-asyncQueueLength queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- g_async_queue_length queue'-    touchManagedPtr queue-    return result--#if ENABLE_OVERLOADING-data AsyncQueueLengthMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo AsyncQueueLengthMethodInfo AsyncQueue signature where-    overloadedMethod _ = asyncQueueLength--#endif---- method AsyncQueue::length_unlocked--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "AsyncQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncQueue", 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_async_queue_length_unlocked" g_async_queue_length_unlocked :: -    Ptr AsyncQueue ->                       -- queue : TInterface (Name {namespace = "GLib", name = "AsyncQueue"})-    IO Int32--{- |-Returns the length of the queue.--Actually this function returns the number of data items in-the queue minus the number of waiting threads, so a negative-value means waiting threads, and a positive value means available-entries in the /@queue@/. A return value of 0 could mean n entries-in the queue and n threads waiting. This can happen due to locking-of the queue or due to scheduling.--This function must be called while holding the /@queue@/\'s lock.--}-asyncQueueLengthUnlocked ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AsyncQueue-    {- ^ /@queue@/: a 'GI.GLib.Structs.AsyncQueue.AsyncQueue' -}-    -> m Int32-    {- ^ __Returns:__ the length of the /@queue@/. -}-asyncQueueLengthUnlocked queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- g_async_queue_length_unlocked queue'-    touchManagedPtr queue-    return result--#if ENABLE_OVERLOADING-data AsyncQueueLengthUnlockedMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo AsyncQueueLengthUnlockedMethodInfo AsyncQueue signature where-    overloadedMethod _ = asyncQueueLengthUnlocked--#endif---- method AsyncQueue::lock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "AsyncQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_async_queue_lock" g_async_queue_lock :: -    Ptr AsyncQueue ->                       -- queue : TInterface (Name {namespace = "GLib", name = "AsyncQueue"})-    IO ()--{- |-Acquires the /@queue@/\'s lock. If another thread is already-holding the lock, this call will block until the lock-becomes available.--Call 'GI.GLib.Structs.AsyncQueue.asyncQueueUnlock' to drop the lock again.--While holding the lock, you can only call the-g_async_queue_*@/_unlocked()/@ functions on /@queue@/. Otherwise,-deadlock may occur.--}-asyncQueueLock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AsyncQueue-    {- ^ /@queue@/: a 'GI.GLib.Structs.AsyncQueue.AsyncQueue' -}-    -> m ()-asyncQueueLock queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    g_async_queue_lock queue'-    touchManagedPtr queue-    return ()--#if ENABLE_OVERLOADING-data AsyncQueueLockMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo AsyncQueueLockMethodInfo AsyncQueue signature where-    overloadedMethod _ = asyncQueueLock--#endif---- method AsyncQueue::pop--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "AsyncQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_async_queue_pop" g_async_queue_pop :: -    Ptr AsyncQueue ->                       -- queue : TInterface (Name {namespace = "GLib", name = "AsyncQueue"})-    IO (Ptr ())--{- |-Pops data from the /@queue@/. If /@queue@/ is empty, this function-blocks until data becomes available.--}-asyncQueuePop ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AsyncQueue-    {- ^ /@queue@/: a 'GI.GLib.Structs.AsyncQueue.AsyncQueue' -}-    -> m (Ptr ())-    {- ^ __Returns:__ data from the queue -}-asyncQueuePop queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- g_async_queue_pop queue'-    touchManagedPtr queue-    return result--#if ENABLE_OVERLOADING-data AsyncQueuePopMethodInfo-instance (signature ~ (m (Ptr ())), MonadIO m) => O.MethodInfo AsyncQueuePopMethodInfo AsyncQueue signature where-    overloadedMethod _ = asyncQueuePop--#endif---- method AsyncQueue::pop_unlocked--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "AsyncQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_async_queue_pop_unlocked" g_async_queue_pop_unlocked :: -    Ptr AsyncQueue ->                       -- queue : TInterface (Name {namespace = "GLib", name = "AsyncQueue"})-    IO (Ptr ())--{- |-Pops data from the /@queue@/. If /@queue@/ is empty, this function-blocks until data becomes available.--This function must be called while holding the /@queue@/\'s lock.--}-asyncQueuePopUnlocked ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AsyncQueue-    {- ^ /@queue@/: a 'GI.GLib.Structs.AsyncQueue.AsyncQueue' -}-    -> m (Ptr ())-    {- ^ __Returns:__ data from the queue. -}-asyncQueuePopUnlocked queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- g_async_queue_pop_unlocked queue'-    touchManagedPtr queue-    return result--#if ENABLE_OVERLOADING-data AsyncQueuePopUnlockedMethodInfo-instance (signature ~ (m (Ptr ())), MonadIO m) => O.MethodInfo AsyncQueuePopUnlockedMethodInfo AsyncQueue signature where-    overloadedMethod _ = asyncQueuePopUnlocked--#endif---- method AsyncQueue::push--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "AsyncQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "@data to push into the @queue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_async_queue_push" g_async_queue_push :: -    Ptr AsyncQueue ->                       -- queue : TInterface (Name {namespace = "GLib", name = "AsyncQueue"})-    Ptr () ->                               -- data : TBasicType TPtr-    IO ()--{- |-Pushes the /@data@/ into the /@queue@/. /@data@/ must not be 'Nothing'.--}-asyncQueuePush ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AsyncQueue-    {- ^ /@queue@/: a 'GI.GLib.Structs.AsyncQueue.AsyncQueue' -}-    -> Ptr ()-    {- ^ /@data@/: /@data@/ to push into the /@queue@/ -}-    -> m ()-asyncQueuePush queue data_ = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    g_async_queue_push queue' data_-    touchManagedPtr queue-    return ()--#if ENABLE_OVERLOADING-data AsyncQueuePushMethodInfo-instance (signature ~ (Ptr () -> m ()), MonadIO m) => O.MethodInfo AsyncQueuePushMethodInfo AsyncQueue signature where-    overloadedMethod _ = asyncQueuePush--#endif---- method AsyncQueue::push_front--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "AsyncQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "item", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to push into the @queue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_async_queue_push_front" g_async_queue_push_front :: -    Ptr AsyncQueue ->                       -- queue : TInterface (Name {namespace = "GLib", name = "AsyncQueue"})-    Ptr () ->                               -- item : TBasicType TPtr-    IO ()--{- |-Pushes the /@item@/ into the /@queue@/. /@item@/ must not be 'Nothing'.-In contrast to 'GI.GLib.Structs.AsyncQueue.asyncQueuePush', this function-pushes the new item ahead of the items already in the queue,-so that it will be the next one to be popped off the queue.--/Since: 2.46/--}-asyncQueuePushFront ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AsyncQueue-    {- ^ /@queue@/: a 'GI.GLib.Structs.AsyncQueue.AsyncQueue' -}-    -> Ptr ()-    {- ^ /@item@/: data to push into the /@queue@/ -}-    -> m ()-asyncQueuePushFront queue item = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    g_async_queue_push_front queue' item-    touchManagedPtr queue-    return ()--#if ENABLE_OVERLOADING-data AsyncQueuePushFrontMethodInfo-instance (signature ~ (Ptr () -> m ()), MonadIO m) => O.MethodInfo AsyncQueuePushFrontMethodInfo AsyncQueue signature where-    overloadedMethod _ = asyncQueuePushFront--#endif---- method AsyncQueue::push_front_unlocked--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "AsyncQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "item", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to push into the @queue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_async_queue_push_front_unlocked" g_async_queue_push_front_unlocked :: -    Ptr AsyncQueue ->                       -- queue : TInterface (Name {namespace = "GLib", name = "AsyncQueue"})-    Ptr () ->                               -- item : TBasicType TPtr-    IO ()--{- |-Pushes the /@item@/ into the /@queue@/. /@item@/ must not be 'Nothing'.-In contrast to 'GI.GLib.Structs.AsyncQueue.asyncQueuePushUnlocked', this function-pushes the new item ahead of the items already in the queue,-so that it will be the next one to be popped off the queue.--This function must be called while holding the /@queue@/\'s lock.--/Since: 2.46/--}-asyncQueuePushFrontUnlocked ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AsyncQueue-    {- ^ /@queue@/: a 'GI.GLib.Structs.AsyncQueue.AsyncQueue' -}-    -> Ptr ()-    {- ^ /@item@/: data to push into the /@queue@/ -}-    -> m ()-asyncQueuePushFrontUnlocked queue item = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    g_async_queue_push_front_unlocked queue' item-    touchManagedPtr queue-    return ()--#if ENABLE_OVERLOADING-data AsyncQueuePushFrontUnlockedMethodInfo-instance (signature ~ (Ptr () -> m ()), MonadIO m) => O.MethodInfo AsyncQueuePushFrontUnlockedMethodInfo AsyncQueue signature where-    overloadedMethod _ = asyncQueuePushFrontUnlocked--#endif---- method AsyncQueue::push_unlocked--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "AsyncQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "@data to push into the @queue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_async_queue_push_unlocked" g_async_queue_push_unlocked :: -    Ptr AsyncQueue ->                       -- queue : TInterface (Name {namespace = "GLib", name = "AsyncQueue"})-    Ptr () ->                               -- data : TBasicType TPtr-    IO ()--{- |-Pushes the /@data@/ into the /@queue@/. /@data@/ must not be 'Nothing'.--This function must be called while holding the /@queue@/\'s lock.--}-asyncQueuePushUnlocked ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AsyncQueue-    {- ^ /@queue@/: a 'GI.GLib.Structs.AsyncQueue.AsyncQueue' -}-    -> Ptr ()-    {- ^ /@data@/: /@data@/ to push into the /@queue@/ -}-    -> m ()-asyncQueuePushUnlocked queue data_ = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    g_async_queue_push_unlocked queue' data_-    touchManagedPtr queue-    return ()--#if ENABLE_OVERLOADING-data AsyncQueuePushUnlockedMethodInfo-instance (signature ~ (Ptr () -> m ()), MonadIO m) => O.MethodInfo AsyncQueuePushUnlockedMethodInfo AsyncQueue signature where-    overloadedMethod _ = asyncQueuePushUnlocked--#endif---- method AsyncQueue::ref_unlocked--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "AsyncQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_async_queue_ref_unlocked" g_async_queue_ref_unlocked :: -    Ptr AsyncQueue ->                       -- queue : TInterface (Name {namespace = "GLib", name = "AsyncQueue"})-    IO ()--{-# DEPRECATED asyncQueueRefUnlocked ["(Since version 2.8)","Reference counting is done atomically.","so @/g_async_queue_ref()/@ can be used regardless of the /@queue@/\\'s","lock."] #-}-{- |-Increases the reference count of the asynchronous /@queue@/ by 1.--}-asyncQueueRefUnlocked ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AsyncQueue-    {- ^ /@queue@/: a 'GI.GLib.Structs.AsyncQueue.AsyncQueue' -}-    -> m ()-asyncQueueRefUnlocked queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    g_async_queue_ref_unlocked queue'-    touchManagedPtr queue-    return ()--#if ENABLE_OVERLOADING-data AsyncQueueRefUnlockedMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo AsyncQueueRefUnlockedMethodInfo AsyncQueue signature where-    overloadedMethod _ = asyncQueueRefUnlocked--#endif---- method AsyncQueue::remove--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "AsyncQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "item", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data to remove from the @queue", 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_async_queue_remove" g_async_queue_remove :: -    Ptr AsyncQueue ->                       -- queue : TInterface (Name {namespace = "GLib", name = "AsyncQueue"})-    Ptr () ->                               -- item : TBasicType TPtr-    IO CInt--{- |-Remove an item from the queue.--/Since: 2.46/--}-asyncQueueRemove ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AsyncQueue-    {- ^ /@queue@/: a 'GI.GLib.Structs.AsyncQueue.AsyncQueue' -}-    -> Ptr ()-    {- ^ /@item@/: the data to remove from the /@queue@/ -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the item was removed -}-asyncQueueRemove queue item = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- g_async_queue_remove queue' item-    let result' = (/= 0) result-    touchManagedPtr queue-    return result'--#if ENABLE_OVERLOADING-data AsyncQueueRemoveMethodInfo-instance (signature ~ (Ptr () -> m Bool), MonadIO m) => O.MethodInfo AsyncQueueRemoveMethodInfo AsyncQueue signature where-    overloadedMethod _ = asyncQueueRemove--#endif---- method AsyncQueue::remove_unlocked--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "AsyncQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "item", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data to remove from the @queue", 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_async_queue_remove_unlocked" g_async_queue_remove_unlocked :: -    Ptr AsyncQueue ->                       -- queue : TInterface (Name {namespace = "GLib", name = "AsyncQueue"})-    Ptr () ->                               -- item : TBasicType TPtr-    IO CInt--{- |-Remove an item from the queue.--This function must be called while holding the /@queue@/\'s lock.--/Since: 2.46/--}-asyncQueueRemoveUnlocked ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AsyncQueue-    {- ^ /@queue@/: a 'GI.GLib.Structs.AsyncQueue.AsyncQueue' -}-    -> Ptr ()-    {- ^ /@item@/: the data to remove from the /@queue@/ -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the item was removed -}-asyncQueueRemoveUnlocked queue item = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- g_async_queue_remove_unlocked queue' item-    let result' = (/= 0) result-    touchManagedPtr queue-    return result'--#if ENABLE_OVERLOADING-data AsyncQueueRemoveUnlockedMethodInfo-instance (signature ~ (Ptr () -> m Bool), MonadIO m) => O.MethodInfo AsyncQueueRemoveUnlockedMethodInfo AsyncQueue signature where-    overloadedMethod _ = asyncQueueRemoveUnlocked--#endif---- method AsyncQueue::timed_pop--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "AsyncQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_time", argType = TInterface (Name {namespace = "GLib", name = "TimeVal"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimeVal, determining the final time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_async_queue_timed_pop" g_async_queue_timed_pop :: -    Ptr AsyncQueue ->                       -- queue : TInterface (Name {namespace = "GLib", name = "AsyncQueue"})-    Ptr GLib.TimeVal.TimeVal ->             -- end_time : TInterface (Name {namespace = "GLib", name = "TimeVal"})-    IO (Ptr ())--{-# DEPRECATED asyncQueueTimedPop ["use 'GI.GLib.Structs.AsyncQueue.asyncQueueTimeoutPop'."] #-}-{- |-Pops data from the /@queue@/. If the queue is empty, blocks until-/@endTime@/ or until data becomes available.--If no data is received before /@endTime@/, 'Nothing' is returned.--To easily calculate /@endTime@/, a combination of 'GI.GLib.Functions.getCurrentTime'-and 'GI.GLib.Structs.TimeVal.timeValAdd' can be used.--}-asyncQueueTimedPop ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AsyncQueue-    {- ^ /@queue@/: a 'GI.GLib.Structs.AsyncQueue.AsyncQueue' -}-    -> GLib.TimeVal.TimeVal-    {- ^ /@endTime@/: a 'GI.GLib.Structs.TimeVal.TimeVal', determining the final time -}-    -> m (Ptr ())-    {- ^ __Returns:__ data from the queue or 'Nothing', when no data is-    received before /@endTime@/. -}-asyncQueueTimedPop queue endTime = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    endTime' <- unsafeManagedPtrGetPtr endTime-    result <- g_async_queue_timed_pop queue' endTime'-    touchManagedPtr queue-    touchManagedPtr endTime-    return result--#if ENABLE_OVERLOADING-data AsyncQueueTimedPopMethodInfo-instance (signature ~ (GLib.TimeVal.TimeVal -> m (Ptr ())), MonadIO m) => O.MethodInfo AsyncQueueTimedPopMethodInfo AsyncQueue signature where-    overloadedMethod _ = asyncQueueTimedPop--#endif---- method AsyncQueue::timed_pop_unlocked--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "AsyncQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_time", argType = TInterface (Name {namespace = "GLib", name = "TimeVal"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimeVal, determining the final time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_async_queue_timed_pop_unlocked" g_async_queue_timed_pop_unlocked :: -    Ptr AsyncQueue ->                       -- queue : TInterface (Name {namespace = "GLib", name = "AsyncQueue"})-    Ptr GLib.TimeVal.TimeVal ->             -- end_time : TInterface (Name {namespace = "GLib", name = "TimeVal"})-    IO (Ptr ())--{-# DEPRECATED asyncQueueTimedPopUnlocked ["use 'GI.GLib.Structs.AsyncQueue.asyncQueueTimeoutPopUnlocked'."] #-}-{- |-Pops data from the /@queue@/. If the queue is empty, blocks until-/@endTime@/ or until data becomes available.--If no data is received before /@endTime@/, 'Nothing' is returned.--To easily calculate /@endTime@/, a combination of 'GI.GLib.Functions.getCurrentTime'-and 'GI.GLib.Structs.TimeVal.timeValAdd' can be used.--This function must be called while holding the /@queue@/\'s lock.--}-asyncQueueTimedPopUnlocked ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AsyncQueue-    {- ^ /@queue@/: a 'GI.GLib.Structs.AsyncQueue.AsyncQueue' -}-    -> GLib.TimeVal.TimeVal-    {- ^ /@endTime@/: a 'GI.GLib.Structs.TimeVal.TimeVal', determining the final time -}-    -> m (Ptr ())-    {- ^ __Returns:__ data from the queue or 'Nothing', when no data is-    received before /@endTime@/. -}-asyncQueueTimedPopUnlocked queue endTime = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    endTime' <- unsafeManagedPtrGetPtr endTime-    result <- g_async_queue_timed_pop_unlocked queue' endTime'-    touchManagedPtr queue-    touchManagedPtr endTime-    return result--#if ENABLE_OVERLOADING-data AsyncQueueTimedPopUnlockedMethodInfo-instance (signature ~ (GLib.TimeVal.TimeVal -> m (Ptr ())), MonadIO m) => O.MethodInfo AsyncQueueTimedPopUnlockedMethodInfo AsyncQueue signature where-    overloadedMethod _ = asyncQueueTimedPopUnlocked--#endif---- method AsyncQueue::timeout_pop--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "AsyncQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timeout", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of microseconds to wait", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_async_queue_timeout_pop" g_async_queue_timeout_pop :: -    Ptr AsyncQueue ->                       -- queue : TInterface (Name {namespace = "GLib", name = "AsyncQueue"})-    Word64 ->                               -- timeout : TBasicType TUInt64-    IO (Ptr ())--{- |-Pops data from the /@queue@/. If the queue is empty, blocks for-/@timeout@/ microseconds, or until data becomes available.--If no data is received before the timeout, 'Nothing' is returned.--}-asyncQueueTimeoutPop ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AsyncQueue-    {- ^ /@queue@/: a 'GI.GLib.Structs.AsyncQueue.AsyncQueue' -}-    -> Word64-    {- ^ /@timeout@/: the number of microseconds to wait -}-    -> m (Ptr ())-    {- ^ __Returns:__ data from the queue or 'Nothing', when no data is-    received before the timeout. -}-asyncQueueTimeoutPop queue timeout = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- g_async_queue_timeout_pop queue' timeout-    touchManagedPtr queue-    return result--#if ENABLE_OVERLOADING-data AsyncQueueTimeoutPopMethodInfo-instance (signature ~ (Word64 -> m (Ptr ())), MonadIO m) => O.MethodInfo AsyncQueueTimeoutPopMethodInfo AsyncQueue signature where-    overloadedMethod _ = asyncQueueTimeoutPop--#endif---- method AsyncQueue::timeout_pop_unlocked--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "AsyncQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timeout", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of microseconds to wait", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_async_queue_timeout_pop_unlocked" g_async_queue_timeout_pop_unlocked :: -    Ptr AsyncQueue ->                       -- queue : TInterface (Name {namespace = "GLib", name = "AsyncQueue"})-    Word64 ->                               -- timeout : TBasicType TUInt64-    IO (Ptr ())--{- |-Pops data from the /@queue@/. If the queue is empty, blocks for-/@timeout@/ microseconds, or until data becomes available.--If no data is received before the timeout, 'Nothing' is returned.--This function must be called while holding the /@queue@/\'s lock.--}-asyncQueueTimeoutPopUnlocked ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AsyncQueue-    {- ^ /@queue@/: a 'GI.GLib.Structs.AsyncQueue.AsyncQueue' -}-    -> Word64-    {- ^ /@timeout@/: the number of microseconds to wait -}-    -> m (Ptr ())-    {- ^ __Returns:__ data from the queue or 'Nothing', when no data is-    received before the timeout. -}-asyncQueueTimeoutPopUnlocked queue timeout = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- g_async_queue_timeout_pop_unlocked queue' timeout-    touchManagedPtr queue-    return result--#if ENABLE_OVERLOADING-data AsyncQueueTimeoutPopUnlockedMethodInfo-instance (signature ~ (Word64 -> m (Ptr ())), MonadIO m) => O.MethodInfo AsyncQueueTimeoutPopUnlockedMethodInfo AsyncQueue signature where-    overloadedMethod _ = asyncQueueTimeoutPopUnlocked--#endif---- method AsyncQueue::try_pop--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "AsyncQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_async_queue_try_pop" g_async_queue_try_pop :: -    Ptr AsyncQueue ->                       -- queue : TInterface (Name {namespace = "GLib", name = "AsyncQueue"})-    IO (Ptr ())--{- |-Tries to pop data from the /@queue@/. If no data is available,-'Nothing' is returned.--}-asyncQueueTryPop ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AsyncQueue-    {- ^ /@queue@/: a 'GI.GLib.Structs.AsyncQueue.AsyncQueue' -}-    -> m (Ptr ())-    {- ^ __Returns:__ data from the queue or 'Nothing', when no data is-    available immediately. -}-asyncQueueTryPop queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- g_async_queue_try_pop queue'-    touchManagedPtr queue-    return result--#if ENABLE_OVERLOADING-data AsyncQueueTryPopMethodInfo-instance (signature ~ (m (Ptr ())), MonadIO m) => O.MethodInfo AsyncQueueTryPopMethodInfo AsyncQueue signature where-    overloadedMethod _ = asyncQueueTryPop--#endif---- method AsyncQueue::try_pop_unlocked--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "AsyncQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_async_queue_try_pop_unlocked" g_async_queue_try_pop_unlocked :: -    Ptr AsyncQueue ->                       -- queue : TInterface (Name {namespace = "GLib", name = "AsyncQueue"})-    IO (Ptr ())--{- |-Tries to pop data from the /@queue@/. If no data is available,-'Nothing' is returned.--This function must be called while holding the /@queue@/\'s lock.--}-asyncQueueTryPopUnlocked ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AsyncQueue-    {- ^ /@queue@/: a 'GI.GLib.Structs.AsyncQueue.AsyncQueue' -}-    -> m (Ptr ())-    {- ^ __Returns:__ data from the queue or 'Nothing', when no data is-    available immediately. -}-asyncQueueTryPopUnlocked queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- g_async_queue_try_pop_unlocked queue'-    touchManagedPtr queue-    return result--#if ENABLE_OVERLOADING-data AsyncQueueTryPopUnlockedMethodInfo-instance (signature ~ (m (Ptr ())), MonadIO m) => O.MethodInfo AsyncQueueTryPopUnlockedMethodInfo AsyncQueue signature where-    overloadedMethod _ = asyncQueueTryPopUnlocked--#endif---- method AsyncQueue::unlock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "AsyncQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_async_queue_unlock" g_async_queue_unlock :: -    Ptr AsyncQueue ->                       -- queue : TInterface (Name {namespace = "GLib", name = "AsyncQueue"})-    IO ()--{- |-Releases the queue\'s lock.--Calling this function when you have not acquired-the with 'GI.GLib.Structs.AsyncQueue.asyncQueueLock' leads to undefined-behaviour.--}-asyncQueueUnlock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AsyncQueue-    {- ^ /@queue@/: a 'GI.GLib.Structs.AsyncQueue.AsyncQueue' -}-    -> m ()-asyncQueueUnlock queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    g_async_queue_unlock queue'-    touchManagedPtr queue-    return ()--#if ENABLE_OVERLOADING-data AsyncQueueUnlockMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo AsyncQueueUnlockMethodInfo AsyncQueue signature where-    overloadedMethod _ = asyncQueueUnlock--#endif---- method AsyncQueue::unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "AsyncQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncQueue.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_async_queue_unref" g_async_queue_unref :: -    Ptr AsyncQueue ->                       -- queue : TInterface (Name {namespace = "GLib", name = "AsyncQueue"})-    IO ()--{- |-Decreases the reference count of the asynchronous /@queue@/ by 1.--If the reference count went to 0, the /@queue@/ will be destroyed-and the memory allocated will be freed. So you are not allowed-to use the /@queue@/ afterwards, as it might have disappeared.-You do not need to hold the lock to call this function.--}-asyncQueueUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AsyncQueue-    {- ^ /@queue@/: a 'GI.GLib.Structs.AsyncQueue.AsyncQueue'. -}-    -> m ()-asyncQueueUnref queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    g_async_queue_unref queue'-    touchManagedPtr queue-    return ()--#if ENABLE_OVERLOADING-data AsyncQueueUnrefMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo AsyncQueueUnrefMethodInfo AsyncQueue signature where-    overloadedMethod _ = asyncQueueUnref--#endif---- method AsyncQueue::unref_and_unlock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "AsyncQueue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_async_queue_unref_and_unlock" g_async_queue_unref_and_unlock :: -    Ptr AsyncQueue ->                       -- queue : TInterface (Name {namespace = "GLib", name = "AsyncQueue"})-    IO ()--{-# DEPRECATED asyncQueueUnrefAndUnlock ["(Since version 2.8)","Reference counting is done atomically.","so 'GI.GLib.Structs.AsyncQueue.asyncQueueUnref' can be used regardless of the /@queue@/\\'s","lock."] #-}-{- |-Decreases the reference count of the asynchronous /@queue@/ by 1-and releases the lock. This function must be called while holding-the /@queue@/\'s lock. If the reference count went to 0, the /@queue@/-will be destroyed and the memory allocated will be freed.--}-asyncQueueUnrefAndUnlock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    AsyncQueue-    {- ^ /@queue@/: a 'GI.GLib.Structs.AsyncQueue.AsyncQueue' -}-    -> m ()-asyncQueueUnrefAndUnlock queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    g_async_queue_unref_and_unlock queue'-    touchManagedPtr queue-    return ()--#if ENABLE_OVERLOADING-data AsyncQueueUnrefAndUnlockMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo AsyncQueueUnrefAndUnlockMethodInfo AsyncQueue signature where-    overloadedMethod _ = asyncQueueUnrefAndUnlock--#endif--#if ENABLE_OVERLOADING-type family ResolveAsyncQueueMethod (t :: Symbol) (o :: *) :: * where-    ResolveAsyncQueueMethod "length" o = AsyncQueueLengthMethodInfo-    ResolveAsyncQueueMethod "lengthUnlocked" o = AsyncQueueLengthUnlockedMethodInfo-    ResolveAsyncQueueMethod "lock" o = AsyncQueueLockMethodInfo-    ResolveAsyncQueueMethod "pop" o = AsyncQueuePopMethodInfo-    ResolveAsyncQueueMethod "popUnlocked" o = AsyncQueuePopUnlockedMethodInfo-    ResolveAsyncQueueMethod "push" o = AsyncQueuePushMethodInfo-    ResolveAsyncQueueMethod "pushFront" o = AsyncQueuePushFrontMethodInfo-    ResolveAsyncQueueMethod "pushFrontUnlocked" o = AsyncQueuePushFrontUnlockedMethodInfo-    ResolveAsyncQueueMethod "pushUnlocked" o = AsyncQueuePushUnlockedMethodInfo-    ResolveAsyncQueueMethod "refUnlocked" o = AsyncQueueRefUnlockedMethodInfo-    ResolveAsyncQueueMethod "remove" o = AsyncQueueRemoveMethodInfo-    ResolveAsyncQueueMethod "removeUnlocked" o = AsyncQueueRemoveUnlockedMethodInfo-    ResolveAsyncQueueMethod "timedPop" o = AsyncQueueTimedPopMethodInfo-    ResolveAsyncQueueMethod "timedPopUnlocked" o = AsyncQueueTimedPopUnlockedMethodInfo-    ResolveAsyncQueueMethod "timeoutPop" o = AsyncQueueTimeoutPopMethodInfo-    ResolveAsyncQueueMethod "timeoutPopUnlocked" o = AsyncQueueTimeoutPopUnlockedMethodInfo-    ResolveAsyncQueueMethod "tryPop" o = AsyncQueueTryPopMethodInfo-    ResolveAsyncQueueMethod "tryPopUnlocked" o = AsyncQueueTryPopUnlockedMethodInfo-    ResolveAsyncQueueMethod "unlock" o = AsyncQueueUnlockMethodInfo-    ResolveAsyncQueueMethod "unref" o = AsyncQueueUnrefMethodInfo-    ResolveAsyncQueueMethod "unrefAndUnlock" o = AsyncQueueUnrefAndUnlockMethodInfo-    ResolveAsyncQueueMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveAsyncQueueMethod t AsyncQueue, O.MethodInfo info AsyncQueue p) => OL.IsLabel t (AsyncQueue -> 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/GLib/Structs/AsyncQueue.hs-boot
@@ -1,89 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.AsyncQueue 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 AsyncQueue = AsyncQueue (ManagedPtr AsyncQueue)-instance WrappedPtr AsyncQueue where-#if ENABLE_OVERLOADING-data AsyncQueueLengthMethodInfo-#endif-#if ENABLE_OVERLOADING-data AsyncQueueLengthUnlockedMethodInfo-#endif-#if ENABLE_OVERLOADING-data AsyncQueueLockMethodInfo-#endif-#if ENABLE_OVERLOADING-data AsyncQueuePopMethodInfo-#endif-#if ENABLE_OVERLOADING-data AsyncQueuePopUnlockedMethodInfo-#endif-#if ENABLE_OVERLOADING-data AsyncQueuePushMethodInfo-#endif-#if ENABLE_OVERLOADING-data AsyncQueuePushFrontMethodInfo-#endif-#if ENABLE_OVERLOADING-data AsyncQueuePushFrontUnlockedMethodInfo-#endif-#if ENABLE_OVERLOADING-data AsyncQueuePushUnlockedMethodInfo-#endif-#if ENABLE_OVERLOADING-data AsyncQueueRefUnlockedMethodInfo-#endif-#if ENABLE_OVERLOADING-data AsyncQueueRemoveMethodInfo-#endif-#if ENABLE_OVERLOADING-data AsyncQueueRemoveUnlockedMethodInfo-#endif-#if ENABLE_OVERLOADING-data AsyncQueueTimedPopMethodInfo-#endif-#if ENABLE_OVERLOADING-data AsyncQueueTimedPopUnlockedMethodInfo-#endif-#if ENABLE_OVERLOADING-data AsyncQueueTimeoutPopMethodInfo-#endif-#if ENABLE_OVERLOADING-data AsyncQueueTimeoutPopUnlockedMethodInfo-#endif-#if ENABLE_OVERLOADING-data AsyncQueueTryPopMethodInfo-#endif-#if ENABLE_OVERLOADING-data AsyncQueueTryPopUnlockedMethodInfo-#endif-#if ENABLE_OVERLOADING-data AsyncQueueUnlockMethodInfo-#endif-#if ENABLE_OVERLOADING-data AsyncQueueUnrefMethodInfo-#endif-#if ENABLE_OVERLOADING-data AsyncQueueUnrefAndUnlockMethodInfo-#endif
− GI/GLib/Structs/BookmarkFile.hs
@@ -1,2515 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The @GBookmarkFile@ structure contains only-private data and should not be directly accessed.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.BookmarkFile-    ( ---- * Exported types-    BookmarkFile(..)                        ,-    noBookmarkFile                          ,--- -- * Methods--- ** addApplication #method:addApplication#--#if ENABLE_OVERLOADING-    BookmarkFileAddApplicationMethodInfo    ,-#endif-    bookmarkFileAddApplication              ,----- ** addGroup #method:addGroup#--#if ENABLE_OVERLOADING-    BookmarkFileAddGroupMethodInfo          ,-#endif-    bookmarkFileAddGroup                    ,----- ** errorQuark #method:errorQuark#--    bookmarkFileErrorQuark                  ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    BookmarkFileFreeMethodInfo              ,-#endif-    bookmarkFileFree                        ,----- ** getAdded #method:getAdded#--#if ENABLE_OVERLOADING-    BookmarkFileGetAddedMethodInfo          ,-#endif-    bookmarkFileGetAdded                    ,----- ** getAppInfo #method:getAppInfo#--#if ENABLE_OVERLOADING-    BookmarkFileGetAppInfoMethodInfo        ,-#endif-    bookmarkFileGetAppInfo                  ,----- ** getApplications #method:getApplications#--#if ENABLE_OVERLOADING-    BookmarkFileGetApplicationsMethodInfo   ,-#endif-    bookmarkFileGetApplications             ,----- ** getDescription #method:getDescription#--#if ENABLE_OVERLOADING-    BookmarkFileGetDescriptionMethodInfo    ,-#endif-    bookmarkFileGetDescription              ,----- ** getGroups #method:getGroups#--#if ENABLE_OVERLOADING-    BookmarkFileGetGroupsMethodInfo         ,-#endif-    bookmarkFileGetGroups                   ,----- ** getIcon #method:getIcon#--#if ENABLE_OVERLOADING-    BookmarkFileGetIconMethodInfo           ,-#endif-    bookmarkFileGetIcon                     ,----- ** getIsPrivate #method:getIsPrivate#--#if ENABLE_OVERLOADING-    BookmarkFileGetIsPrivateMethodInfo      ,-#endif-    bookmarkFileGetIsPrivate                ,----- ** getMimeType #method:getMimeType#--#if ENABLE_OVERLOADING-    BookmarkFileGetMimeTypeMethodInfo       ,-#endif-    bookmarkFileGetMimeType                 ,----- ** getModified #method:getModified#--#if ENABLE_OVERLOADING-    BookmarkFileGetModifiedMethodInfo       ,-#endif-    bookmarkFileGetModified                 ,----- ** getSize #method:getSize#--#if ENABLE_OVERLOADING-    BookmarkFileGetSizeMethodInfo           ,-#endif-    bookmarkFileGetSize                     ,----- ** getTitle #method:getTitle#--#if ENABLE_OVERLOADING-    BookmarkFileGetTitleMethodInfo          ,-#endif-    bookmarkFileGetTitle                    ,----- ** getUris #method:getUris#--#if ENABLE_OVERLOADING-    BookmarkFileGetUrisMethodInfo           ,-#endif-    bookmarkFileGetUris                     ,----- ** getVisited #method:getVisited#--#if ENABLE_OVERLOADING-    BookmarkFileGetVisitedMethodInfo        ,-#endif-    bookmarkFileGetVisited                  ,----- ** hasApplication #method:hasApplication#--#if ENABLE_OVERLOADING-    BookmarkFileHasApplicationMethodInfo    ,-#endif-    bookmarkFileHasApplication              ,----- ** hasGroup #method:hasGroup#--#if ENABLE_OVERLOADING-    BookmarkFileHasGroupMethodInfo          ,-#endif-    bookmarkFileHasGroup                    ,----- ** hasItem #method:hasItem#--#if ENABLE_OVERLOADING-    BookmarkFileHasItemMethodInfo           ,-#endif-    bookmarkFileHasItem                     ,----- ** loadFromData #method:loadFromData#--#if ENABLE_OVERLOADING-    BookmarkFileLoadFromDataMethodInfo      ,-#endif-    bookmarkFileLoadFromData                ,----- ** loadFromDataDirs #method:loadFromDataDirs#--#if ENABLE_OVERLOADING-    BookmarkFileLoadFromDataDirsMethodInfo  ,-#endif-    bookmarkFileLoadFromDataDirs            ,----- ** loadFromFile #method:loadFromFile#--#if ENABLE_OVERLOADING-    BookmarkFileLoadFromFileMethodInfo      ,-#endif-    bookmarkFileLoadFromFile                ,----- ** moveItem #method:moveItem#--#if ENABLE_OVERLOADING-    BookmarkFileMoveItemMethodInfo          ,-#endif-    bookmarkFileMoveItem                    ,----- ** removeApplication #method:removeApplication#--#if ENABLE_OVERLOADING-    BookmarkFileRemoveApplicationMethodInfo ,-#endif-    bookmarkFileRemoveApplication           ,----- ** removeGroup #method:removeGroup#--#if ENABLE_OVERLOADING-    BookmarkFileRemoveGroupMethodInfo       ,-#endif-    bookmarkFileRemoveGroup                 ,----- ** removeItem #method:removeItem#--#if ENABLE_OVERLOADING-    BookmarkFileRemoveItemMethodInfo        ,-#endif-    bookmarkFileRemoveItem                  ,----- ** setAdded #method:setAdded#--#if ENABLE_OVERLOADING-    BookmarkFileSetAddedMethodInfo          ,-#endif-    bookmarkFileSetAdded                    ,----- ** setAppInfo #method:setAppInfo#--#if ENABLE_OVERLOADING-    BookmarkFileSetAppInfoMethodInfo        ,-#endif-    bookmarkFileSetAppInfo                  ,----- ** setDescription #method:setDescription#--#if ENABLE_OVERLOADING-    BookmarkFileSetDescriptionMethodInfo    ,-#endif-    bookmarkFileSetDescription              ,----- ** setGroups #method:setGroups#--#if ENABLE_OVERLOADING-    BookmarkFileSetGroupsMethodInfo         ,-#endif-    bookmarkFileSetGroups                   ,----- ** setIcon #method:setIcon#--#if ENABLE_OVERLOADING-    BookmarkFileSetIconMethodInfo           ,-#endif-    bookmarkFileSetIcon                     ,----- ** setIsPrivate #method:setIsPrivate#--#if ENABLE_OVERLOADING-    BookmarkFileSetIsPrivateMethodInfo      ,-#endif-    bookmarkFileSetIsPrivate                ,----- ** setMimeType #method:setMimeType#--#if ENABLE_OVERLOADING-    BookmarkFileSetMimeTypeMethodInfo       ,-#endif-    bookmarkFileSetMimeType                 ,----- ** setModified #method:setModified#--#if ENABLE_OVERLOADING-    BookmarkFileSetModifiedMethodInfo       ,-#endif-    bookmarkFileSetModified                 ,----- ** setTitle #method:setTitle#--#if ENABLE_OVERLOADING-    BookmarkFileSetTitleMethodInfo          ,-#endif-    bookmarkFileSetTitle                    ,----- ** setVisited #method:setVisited#--#if ENABLE_OVERLOADING-    BookmarkFileSetVisitedMethodInfo        ,-#endif-    bookmarkFileSetVisited                  ,----- ** toData #method:toData#--#if ENABLE_OVERLOADING-    BookmarkFileToDataMethodInfo            ,-#endif-    bookmarkFileToData                      ,----- ** toFile #method:toFile#--#if ENABLE_OVERLOADING-    BookmarkFileToFileMethodInfo            ,-#endif-    bookmarkFileToFile                      ,-----    ) 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 BookmarkFile = BookmarkFile (ManagedPtr BookmarkFile)--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?-instance WrappedPtr BookmarkFile where-    wrappedPtrCalloc = return nullPtr-    wrappedPtrCopy = return-    wrappedPtrFree = Nothing---- | A convenience alias for `Nothing` :: `Maybe` `BookmarkFile`.-noBookmarkFile :: Maybe BookmarkFile-noBookmarkFile = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList BookmarkFile-type instance O.AttributeList BookmarkFile = BookmarkFileAttributeList-type BookmarkFileAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method BookmarkFile::add_application--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the name of the application registering the bookmark\n  or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "exec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "command line to be used to launch the bookmark or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_bookmark_file_add_application" g_bookmark_file_add_application :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    CString ->                              -- name : TBasicType TUTF8-    CString ->                              -- exec : TBasicType TUTF8-    IO ()--{- |-Adds the application with /@name@/ and /@exec@/ to the list of-applications that have registered a bookmark for /@uri@/ into-/@bookmark@/.--Every bookmark inside a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' must have at least an-application registered.  Each application must provide a name, a-command line useful for launching the bookmark, the number of times-the bookmark has been registered by the application and the last-time the application registered this bookmark.--If /@name@/ is 'Nothing', the name of the application will be the-same returned by 'GI.GLib.Functions.getApplicationName'; if /@exec@/ is 'Nothing', the-command line will be a composition of the program name as-returned by 'GI.GLib.Functions.getPrgname' and the \"%u\" modifier, which will be-expanded to the bookmark\'s URI.--This function will automatically take care of updating the-registrations count and timestamping in case an application-with the same /@name@/ had already registered a bookmark for-/@uri@/ inside /@bookmark@/.--If no bookmark for /@uri@/ is found, one is created.--/Since: 2.12/--}-bookmarkFileAddApplication ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> Maybe (T.Text)-    {- ^ /@name@/: the name of the application registering the bookmark-  or 'Nothing' -}-    -> Maybe (T.Text)-    {- ^ /@exec@/: command line to be used to launch the bookmark or 'Nothing' -}-    -> m ()-bookmarkFileAddApplication bookmark uri name exec = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    maybeName <- case name of-        Nothing -> return nullPtr-        Just jName -> do-            jName' <- textToCString jName-            return jName'-    maybeExec <- case exec of-        Nothing -> return nullPtr-        Just jExec -> do-            jExec' <- textToCString jExec-            return jExec'-    g_bookmark_file_add_application bookmark' uri' maybeName maybeExec-    touchManagedPtr bookmark-    freeMem uri'-    freeMem maybeName-    freeMem maybeExec-    return ()--#if ENABLE_OVERLOADING-data BookmarkFileAddApplicationMethodInfo-instance (signature ~ (T.Text -> Maybe (T.Text) -> Maybe (T.Text) -> m ()), MonadIO m) => O.MethodInfo BookmarkFileAddApplicationMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileAddApplication--#endif---- method BookmarkFile::add_group--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the group name to be added", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_bookmark_file_add_group" g_bookmark_file_add_group :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    CString ->                              -- group : TBasicType TUTF8-    IO ()--{- |-Adds /@group@/ to the list of groups to which the bookmark for /@uri@/-belongs to.--If no bookmark for /@uri@/ is found then it is created.--/Since: 2.12/--}-bookmarkFileAddGroup ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> T.Text-    {- ^ /@group@/: the group name to be added -}-    -> m ()-bookmarkFileAddGroup bookmark uri group = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    group' <- textToCString group-    g_bookmark_file_add_group bookmark' uri' group'-    touchManagedPtr bookmark-    freeMem uri'-    freeMem group'-    return ()--#if ENABLE_OVERLOADING-data BookmarkFileAddGroupMethodInfo-instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m) => O.MethodInfo BookmarkFileAddGroupMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileAddGroup--#endif---- method BookmarkFile::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_bookmark_file_free" g_bookmark_file_free :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    IO ()--{- |-Frees a 'GI.GLib.Structs.BookmarkFile.BookmarkFile'.--/Since: 2.12/--}-bookmarkFileFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> m ()-bookmarkFileFree bookmark = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    g_bookmark_file_free bookmark'-    touchManagedPtr bookmark-    return ()--#if ENABLE_OVERLOADING-data BookmarkFileFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo BookmarkFileFreeMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileFree--#endif---- method BookmarkFile::get_added--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TLong)--- throws : True--- Skip return : False--foreign import ccall "g_bookmark_file_get_added" g_bookmark_file_get_added :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CLong--{- |-Gets the time the bookmark for /@uri@/ was added to /@bookmark@/--In the event the URI cannot be found, -1 is returned and-/@error@/ is set to @/G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND/@.--/Since: 2.12/--}-bookmarkFileGetAdded ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> m CLong-    {- ^ __Returns:__ a timestamp /(Can throw 'Data.GI.Base.GError.GError')/ -}-bookmarkFileGetAdded bookmark uri = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    onException (do-        result <- propagateGError $ g_bookmark_file_get_added bookmark' uri'-        touchManagedPtr bookmark-        freeMem uri'-        return result-     ) (do-        freeMem uri'-     )--#if ENABLE_OVERLOADING-data BookmarkFileGetAddedMethodInfo-instance (signature ~ (T.Text -> m CLong), MonadIO m) => O.MethodInfo BookmarkFileGetAddedMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileGetAdded--#endif---- method BookmarkFile::get_app_info--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", 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 "an application's name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "exec", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the command line of the application, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "count", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the registration count, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "stamp", argType = TBasicType TLong, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the last registration time, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : True--- Skip return : False--foreign import ccall "g_bookmark_file_get_app_info" g_bookmark_file_get_app_info :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    CString ->                              -- name : TBasicType TUTF8-    Ptr CString ->                          -- exec : TBasicType TUTF8-    Ptr Word32 ->                           -- count : TBasicType TUInt-    Ptr CLong ->                            -- stamp : TBasicType TLong-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Gets the registration information of /@appName@/ for the bookmark for-/@uri@/.  See 'GI.GLib.Structs.BookmarkFile.bookmarkFileSetAppInfo' for more information about-the returned data.--The string returned in /@appExec@/ must be freed.--In the event the URI cannot be found, 'False' is returned and-/@error@/ is set to @/G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND/@.  In the-event that no application with name /@appName@/ has registered a bookmark-for /@uri@/,  'False' is returned and error is set to-@/G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED/@. In the event that unquoting-the command line fails, an error of the @/G_SHELL_ERROR/@ domain is-set and 'False' is returned.--/Since: 2.12/--}-bookmarkFileGetAppInfo ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> T.Text-    {- ^ /@name@/: an application\'s name -}-    -> m ((T.Text, Word32, CLong))-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-bookmarkFileGetAppInfo bookmark uri name = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    name' <- textToCString name-    exec <- allocMem :: IO (Ptr CString)-    count <- allocMem :: IO (Ptr Word32)-    stamp <- allocMem :: IO (Ptr CLong)-    onException (do-        _ <- propagateGError $ g_bookmark_file_get_app_info bookmark' uri' name' exec count stamp-        exec' <- peek exec-        exec'' <- cstringToText exec'-        freeMem exec'-        count' <- peek count-        stamp' <- peek stamp-        touchManagedPtr bookmark-        freeMem uri'-        freeMem name'-        freeMem exec-        freeMem count-        freeMem stamp-        return (exec'', count', stamp')-     ) (do-        freeMem uri'-        freeMem name'-        freeMem exec-        freeMem count-        freeMem stamp-     )--#if ENABLE_OVERLOADING-data BookmarkFileGetAppInfoMethodInfo-instance (signature ~ (T.Text -> T.Text -> m ((T.Text, Word32, CLong))), MonadIO m) => O.MethodInfo BookmarkFileGetAppInfoMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileGetAppInfo--#endif---- method BookmarkFile::get_applications--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location of the length of the returned list, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location of the length of the returned list, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Just (TCArray False (-1) 2 (TBasicType TUTF8))--- throws : True--- Skip return : False--foreign import ccall "g_bookmark_file_get_applications" g_bookmark_file_get_applications :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    Ptr Word64 ->                           -- length : TBasicType TUInt64-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr CString)--{- |-Retrieves the names of the applications that have registered the-bookmark for /@uri@/.--In the event the URI cannot be found, 'Nothing' is returned and-/@error@/ is set to @/G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND/@.--/Since: 2.12/--}-bookmarkFileGetApplications ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> m [T.Text]-    {- ^ __Returns:__ a newly allocated 'Nothing'-terminated array of strings.-  Use 'GI.GLib.Functions.strfreev' to free it. /(Can throw 'Data.GI.Base.GError.GError')/ -}-bookmarkFileGetApplications bookmark uri = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    length_ <- allocMem :: IO (Ptr Word64)-    onException (do-        result <- propagateGError $ g_bookmark_file_get_applications bookmark' uri' length_-        length_' <- peek length_-        checkUnexpectedReturnNULL "bookmarkFileGetApplications" result-        result' <- (unpackUTF8CArrayWithLength length_') result-        (mapCArrayWithLength length_') freeMem result-        freeMem result-        touchManagedPtr bookmark-        freeMem uri'-        freeMem length_-        return result'-     ) (do-        freeMem uri'-        freeMem length_-     )--#if ENABLE_OVERLOADING-data BookmarkFileGetApplicationsMethodInfo-instance (signature ~ (T.Text -> m [T.Text]), MonadIO m) => O.MethodInfo BookmarkFileGetApplicationsMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileGetApplications--#endif---- method BookmarkFile::get_description--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", 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_bookmark_file_get_description" g_bookmark_file_get_description :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CString--{- |-Retrieves the description of the bookmark for /@uri@/.--In the event the URI cannot be found, 'Nothing' is returned and-/@error@/ is set to @/G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND/@.--/Since: 2.12/--}-bookmarkFileGetDescription ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> m T.Text-    {- ^ __Returns:__ a newly allocated string or 'Nothing' if the specified-  URI cannot be found. /(Can throw 'Data.GI.Base.GError.GError')/ -}-bookmarkFileGetDescription bookmark uri = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    onException (do-        result <- propagateGError $ g_bookmark_file_get_description bookmark' uri'-        checkUnexpectedReturnNULL "bookmarkFileGetDescription" result-        result' <- cstringToText result-        freeMem result-        touchManagedPtr bookmark-        freeMem uri'-        return result'-     ) (do-        freeMem uri'-     )--#if ENABLE_OVERLOADING-data BookmarkFileGetDescriptionMethodInfo-instance (signature ~ (T.Text -> m T.Text), MonadIO m) => O.MethodInfo BookmarkFileGetDescriptionMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileGetDescription--#endif---- method BookmarkFile::get_groups--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the length of the returned string, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the length of the returned string, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Just (TCArray False (-1) 2 (TBasicType TUTF8))--- throws : True--- Skip return : False--foreign import ccall "g_bookmark_file_get_groups" g_bookmark_file_get_groups :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    Ptr Word64 ->                           -- length : TBasicType TUInt64-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr CString)--{- |-Retrieves the list of group names of the bookmark for /@uri@/.--In the event the URI cannot be found, 'Nothing' is returned and-/@error@/ is set to @/G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND/@.--The returned array is 'Nothing' terminated, so /@length@/ may optionally-be 'Nothing'.--/Since: 2.12/--}-bookmarkFileGetGroups ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> m [T.Text]-    {- ^ __Returns:__ a newly allocated 'Nothing'-terminated array of group names.-  Use 'GI.GLib.Functions.strfreev' to free it. /(Can throw 'Data.GI.Base.GError.GError')/ -}-bookmarkFileGetGroups bookmark uri = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    length_ <- allocMem :: IO (Ptr Word64)-    onException (do-        result <- propagateGError $ g_bookmark_file_get_groups bookmark' uri' length_-        length_' <- peek length_-        checkUnexpectedReturnNULL "bookmarkFileGetGroups" result-        result' <- (unpackUTF8CArrayWithLength length_') result-        (mapCArrayWithLength length_') freeMem result-        freeMem result-        touchManagedPtr bookmark-        freeMem uri'-        freeMem length_-        return result'-     ) (do-        freeMem uri'-        freeMem length_-     )--#if ENABLE_OVERLOADING-data BookmarkFileGetGroupsMethodInfo-instance (signature ~ (T.Text -> m [T.Text]), MonadIO m) => O.MethodInfo BookmarkFileGetGroupsMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileGetGroups--#endif---- method BookmarkFile::get_icon--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "href", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the icon's location or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "mime_type", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the icon's MIME type or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : True--- Skip return : False--foreign import ccall "g_bookmark_file_get_icon" g_bookmark_file_get_icon :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    Ptr CString ->                          -- href : TBasicType TUTF8-    Ptr CString ->                          -- mime_type : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Gets the icon of the bookmark for /@uri@/.--In the event the URI cannot be found, 'False' is returned and-/@error@/ is set to @/G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND/@.--/Since: 2.12/--}-bookmarkFileGetIcon ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> m ((T.Text, T.Text))-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-bookmarkFileGetIcon bookmark uri = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    href <- allocMem :: IO (Ptr CString)-    mimeType <- allocMem :: IO (Ptr CString)-    onException (do-        _ <- propagateGError $ g_bookmark_file_get_icon bookmark' uri' href mimeType-        href' <- peek href-        href'' <- cstringToText href'-        freeMem href'-        mimeType' <- peek mimeType-        mimeType'' <- cstringToText mimeType'-        freeMem mimeType'-        touchManagedPtr bookmark-        freeMem uri'-        freeMem href-        freeMem mimeType-        return (href'', mimeType'')-     ) (do-        freeMem uri'-        freeMem href-        freeMem mimeType-     )--#if ENABLE_OVERLOADING-data BookmarkFileGetIconMethodInfo-instance (signature ~ (T.Text -> m ((T.Text, T.Text))), MonadIO m) => O.MethodInfo BookmarkFileGetIconMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileGetIcon--#endif---- method BookmarkFile::get_is_private--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", 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_bookmark_file_get_is_private" g_bookmark_file_get_is_private :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Gets whether the private flag of the bookmark for /@uri@/ is set.--In the event the URI cannot be found, 'False' is returned and-/@error@/ is set to @/G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND/@.  In the-event that the private flag cannot be found, 'False' is returned and-/@error@/ is set to @/G_BOOKMARK_FILE_ERROR_INVALID_VALUE/@.--/Since: 2.12/--}-bookmarkFileGetIsPrivate ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-bookmarkFileGetIsPrivate bookmark uri = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    onException (do-        _ <- propagateGError $ g_bookmark_file_get_is_private bookmark' uri'-        touchManagedPtr bookmark-        freeMem uri'-        return ()-     ) (do-        freeMem uri'-     )--#if ENABLE_OVERLOADING-data BookmarkFileGetIsPrivateMethodInfo-instance (signature ~ (T.Text -> m ()), MonadIO m) => O.MethodInfo BookmarkFileGetIsPrivateMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileGetIsPrivate--#endif---- method BookmarkFile::get_mime_type--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", 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_bookmark_file_get_mime_type" g_bookmark_file_get_mime_type :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CString--{- |-Retrieves the MIME type of the resource pointed by /@uri@/.--In the event the URI cannot be found, 'Nothing' is returned and-/@error@/ is set to @/G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND/@.  In the-event that the MIME type cannot be found, 'Nothing' is returned and-/@error@/ is set to @/G_BOOKMARK_FILE_ERROR_INVALID_VALUE/@.--/Since: 2.12/--}-bookmarkFileGetMimeType ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> m T.Text-    {- ^ __Returns:__ a newly allocated string or 'Nothing' if the specified-  URI cannot be found. /(Can throw 'Data.GI.Base.GError.GError')/ -}-bookmarkFileGetMimeType bookmark uri = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    onException (do-        result <- propagateGError $ g_bookmark_file_get_mime_type bookmark' uri'-        checkUnexpectedReturnNULL "bookmarkFileGetMimeType" result-        result' <- cstringToText result-        freeMem result-        touchManagedPtr bookmark-        freeMem uri'-        return result'-     ) (do-        freeMem uri'-     )--#if ENABLE_OVERLOADING-data BookmarkFileGetMimeTypeMethodInfo-instance (signature ~ (T.Text -> m T.Text), MonadIO m) => O.MethodInfo BookmarkFileGetMimeTypeMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileGetMimeType--#endif---- method BookmarkFile::get_modified--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TLong)--- throws : True--- Skip return : False--foreign import ccall "g_bookmark_file_get_modified" g_bookmark_file_get_modified :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CLong--{- |-Gets the time when the bookmark for /@uri@/ was last modified.--In the event the URI cannot be found, -1 is returned and-/@error@/ is set to @/G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND/@.--/Since: 2.12/--}-bookmarkFileGetModified ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> m CLong-    {- ^ __Returns:__ a timestamp /(Can throw 'Data.GI.Base.GError.GError')/ -}-bookmarkFileGetModified bookmark uri = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    onException (do-        result <- propagateGError $ g_bookmark_file_get_modified bookmark' uri'-        touchManagedPtr bookmark-        freeMem uri'-        return result-     ) (do-        freeMem uri'-     )--#if ENABLE_OVERLOADING-data BookmarkFileGetModifiedMethodInfo-instance (signature ~ (T.Text -> m CLong), MonadIO m) => O.MethodInfo BookmarkFileGetModifiedMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileGetModified--#endif---- method BookmarkFile::get_size--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", 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_bookmark_file_get_size" g_bookmark_file_get_size :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    IO Int32--{- |-Gets the number of bookmarks inside /@bookmark@/.--/Since: 2.12/--}-bookmarkFileGetSize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> m Int32-    {- ^ __Returns:__ the number of bookmarks -}-bookmarkFileGetSize bookmark = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    result <- g_bookmark_file_get_size bookmark'-    touchManagedPtr bookmark-    return result--#if ENABLE_OVERLOADING-data BookmarkFileGetSizeMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo BookmarkFileGetSizeMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileGetSize--#endif---- method BookmarkFile::get_title--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a valid URI or %NULL", 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_bookmark_file_get_title" g_bookmark_file_get_title :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CString--{- |-Returns the title of the bookmark for /@uri@/.--If /@uri@/ is 'Nothing', the title of /@bookmark@/ is returned.--In the event the URI cannot be found, 'Nothing' is returned and-/@error@/ is set to @/G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND/@.--/Since: 2.12/--}-bookmarkFileGetTitle ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> Maybe (T.Text)-    {- ^ /@uri@/: a valid URI or 'Nothing' -}-    -> m T.Text-    {- ^ __Returns:__ a newly allocated string or 'Nothing' if the specified-  URI cannot be found. /(Can throw 'Data.GI.Base.GError.GError')/ -}-bookmarkFileGetTitle bookmark uri = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    maybeUri <- case uri of-        Nothing -> return nullPtr-        Just jUri -> do-            jUri' <- textToCString jUri-            return jUri'-    onException (do-        result <- propagateGError $ g_bookmark_file_get_title bookmark' maybeUri-        checkUnexpectedReturnNULL "bookmarkFileGetTitle" result-        result' <- cstringToText result-        freeMem result-        touchManagedPtr bookmark-        freeMem maybeUri-        return result'-     ) (do-        freeMem maybeUri-     )--#if ENABLE_OVERLOADING-data BookmarkFileGetTitleMethodInfo-instance (signature ~ (Maybe (T.Text) -> m T.Text), MonadIO m) => O.MethodInfo BookmarkFileGetTitleMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileGetTitle--#endif---- method BookmarkFile::get_uris--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the number of returned URIs, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the number of returned URIs, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Just (TCArray False (-1) 1 (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "g_bookmark_file_get_uris" g_bookmark_file_get_uris :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    Ptr Word64 ->                           -- length : TBasicType TUInt64-    IO (Ptr CString)--{- |-Returns all URIs of the bookmarks in the bookmark file /@bookmark@/.-The array of returned URIs will be 'Nothing'-terminated, so /@length@/ may-optionally be 'Nothing'.--/Since: 2.12/--}-bookmarkFileGetUris ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> m [T.Text]-    {- ^ __Returns:__ a newly allocated 'Nothing'-terminated array of strings.-  Use 'GI.GLib.Functions.strfreev' to free it. -}-bookmarkFileGetUris bookmark = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    length_ <- allocMem :: IO (Ptr Word64)-    result <- g_bookmark_file_get_uris bookmark' length_-    length_' <- peek length_-    checkUnexpectedReturnNULL "bookmarkFileGetUris" result-    result' <- (unpackUTF8CArrayWithLength length_') result-    (mapCArrayWithLength length_') freeMem result-    freeMem result-    touchManagedPtr bookmark-    freeMem length_-    return result'--#if ENABLE_OVERLOADING-data BookmarkFileGetUrisMethodInfo-instance (signature ~ (m [T.Text]), MonadIO m) => O.MethodInfo BookmarkFileGetUrisMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileGetUris--#endif---- method BookmarkFile::get_visited--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TLong)--- throws : True--- Skip return : False--foreign import ccall "g_bookmark_file_get_visited" g_bookmark_file_get_visited :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CLong--{- |-Gets the time the bookmark for /@uri@/ was last visited.--In the event the URI cannot be found, -1 is returned and-/@error@/ is set to @/G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND/@.--/Since: 2.12/--}-bookmarkFileGetVisited ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> m CLong-    {- ^ __Returns:__ a timestamp. /(Can throw 'Data.GI.Base.GError.GError')/ -}-bookmarkFileGetVisited bookmark uri = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    onException (do-        result <- propagateGError $ g_bookmark_file_get_visited bookmark' uri'-        touchManagedPtr bookmark-        freeMem uri'-        return result-     ) (do-        freeMem uri'-     )--#if ENABLE_OVERLOADING-data BookmarkFileGetVisitedMethodInfo-instance (signature ~ (T.Text -> m CLong), MonadIO m) => O.MethodInfo BookmarkFileGetVisitedMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileGetVisited--#endif---- method BookmarkFile::has_application--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", 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 the application", 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_bookmark_file_has_application" g_bookmark_file_has_application :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    CString ->                              -- name : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Checks whether the bookmark for /@uri@/ inside /@bookmark@/ has been-registered by application /@name@/.--In the event the URI cannot be found, 'False' is returned and-/@error@/ is set to @/G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND/@.--/Since: 2.12/--}-bookmarkFileHasApplication ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> T.Text-    {- ^ /@name@/: the name of the application -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-bookmarkFileHasApplication bookmark uri name = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    name' <- textToCString name-    onException (do-        _ <- propagateGError $ g_bookmark_file_has_application bookmark' uri' name'-        touchManagedPtr bookmark-        freeMem uri'-        freeMem name'-        return ()-     ) (do-        freeMem uri'-        freeMem name'-     )--#if ENABLE_OVERLOADING-data BookmarkFileHasApplicationMethodInfo-instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m) => O.MethodInfo BookmarkFileHasApplicationMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileHasApplication--#endif---- method BookmarkFile::has_group--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the group name to be searched", 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_bookmark_file_has_group" g_bookmark_file_has_group :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    CString ->                              -- group : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Checks whether /@group@/ appears in the list of groups to which-the bookmark for /@uri@/ belongs to.--In the event the URI cannot be found, 'False' is returned and-/@error@/ is set to @/G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND/@.--/Since: 2.12/--}-bookmarkFileHasGroup ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> T.Text-    {- ^ /@group@/: the group name to be searched -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-bookmarkFileHasGroup bookmark uri group = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    group' <- textToCString group-    onException (do-        _ <- propagateGError $ g_bookmark_file_has_group bookmark' uri' group'-        touchManagedPtr bookmark-        freeMem uri'-        freeMem group'-        return ()-     ) (do-        freeMem uri'-        freeMem group'-     )--#if ENABLE_OVERLOADING-data BookmarkFileHasGroupMethodInfo-instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m) => O.MethodInfo BookmarkFileHasGroupMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileHasGroup--#endif---- method BookmarkFile::has_item--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", 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_bookmark_file_has_item" g_bookmark_file_has_item :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    IO CInt--{- |-Looks whether the desktop bookmark has an item with its URI set to /@uri@/.--/Since: 2.12/--}-bookmarkFileHasItem ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@uri@/ is inside /@bookmark@/, 'False' otherwise -}-bookmarkFileHasItem bookmark uri = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    result <- g_bookmark_file_has_item bookmark' uri'-    let result' = (/= 0) result-    touchManagedPtr bookmark-    freeMem uri'-    return result'--#if ENABLE_OVERLOADING-data BookmarkFileHasItemMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo BookmarkFileHasItemMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileHasItem--#endif---- method BookmarkFile::load_from_data--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an empty #GBookmarkFile struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "desktop bookmarks\n   loaded in memory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @data in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @data in bytes", 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_bookmark_file_load_from_data" g_bookmark_file_load_from_data :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    Ptr Word8 ->                            -- data : TCArray False (-1) 2 (TBasicType TUInt8)-    Word64 ->                               -- length : TBasicType TUInt64-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Loads a bookmark file from memory into an empty 'GI.GLib.Structs.BookmarkFile.BookmarkFile'-structure.  If the object cannot be created then /@error@/ is set to a-'GI.GLib.Enums.BookmarkFileError'.--/Since: 2.12/--}-bookmarkFileLoadFromData ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: an empty 'GI.GLib.Structs.BookmarkFile.BookmarkFile' struct -}-    -> ByteString-    {- ^ /@data@/: desktop bookmarks-   loaded in memory -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-bookmarkFileLoadFromData bookmark data_ = liftIO $ do-    let length_ = fromIntegral $ B.length data_-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    data_' <- packByteString data_-    onException (do-        _ <- propagateGError $ g_bookmark_file_load_from_data bookmark' data_' length_-        touchManagedPtr bookmark-        freeMem data_'-        return ()-     ) (do-        freeMem data_'-     )--#if ENABLE_OVERLOADING-data BookmarkFileLoadFromDataMethodInfo-instance (signature ~ (ByteString -> m ()), MonadIO m) => O.MethodInfo BookmarkFileLoadFromDataMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileLoadFromData--#endif---- method BookmarkFile::load_from_data_dirs--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a relative path to a filename to open and parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "full_path", argType = TBasicType TFileName, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "return location for a string\n   containing the full path of the file, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : True--- Skip return : False--foreign import ccall "g_bookmark_file_load_from_data_dirs" g_bookmark_file_load_from_data_dirs :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- file : TBasicType TFileName-    Ptr CString ->                          -- full_path : TBasicType TFileName-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-This function looks for a desktop bookmark file named /@file@/ in the-paths returned from 'GI.GLib.Functions.getUserDataDir' and 'GI.GLib.Functions.getSystemDataDirs',-loads the file into /@bookmark@/ and returns the file\'s full path in-/@fullPath@/.  If the file could not be loaded then /@error@/ is-set to either a 'GI.GLib.Enums.FileError' or 'GI.GLib.Enums.BookmarkFileError'.--/Since: 2.12/--}-bookmarkFileLoadFromDataDirs ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> [Char]-    {- ^ /@file@/: a relative path to a filename to open and parse -}-    -> m ((Maybe [Char]))-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-bookmarkFileLoadFromDataDirs bookmark file = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    file' <- stringToCString file-    fullPath <- allocMem :: IO (Ptr CString)-    onException (do-        _ <- propagateGError $ g_bookmark_file_load_from_data_dirs bookmark' file' fullPath-        fullPath' <- peek fullPath-        maybeFullPath' <- convertIfNonNull fullPath' $ \fullPath'' -> do-            fullPath''' <- cstringToString fullPath''-            return fullPath'''-        freeMem fullPath'-        touchManagedPtr bookmark-        freeMem file'-        freeMem fullPath-        return maybeFullPath'-     ) (do-        freeMem file'-        freeMem fullPath-     )--#if ENABLE_OVERLOADING-data BookmarkFileLoadFromDataDirsMethodInfo-instance (signature ~ ([Char] -> m ((Maybe [Char]))), MonadIO m) => O.MethodInfo BookmarkFileLoadFromDataDirsMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileLoadFromDataDirs--#endif---- method BookmarkFile::load_from_file--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an empty #GBookmarkFile struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the path of a filename to load, in the\n    GLib file name encoding", 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_bookmark_file_load_from_file" g_bookmark_file_load_from_file :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- filename : TBasicType TFileName-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Loads a desktop bookmark file into an empty 'GI.GLib.Structs.BookmarkFile.BookmarkFile' structure.-If the file could not be loaded then /@error@/ is set to either a 'GI.GLib.Enums.FileError'-or 'GI.GLib.Enums.BookmarkFileError'.--/Since: 2.12/--}-bookmarkFileLoadFromFile ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: an empty 'GI.GLib.Structs.BookmarkFile.BookmarkFile' struct -}-    -> [Char]-    {- ^ /@filename@/: the path of a filename to load, in the-    GLib file name encoding -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-bookmarkFileLoadFromFile bookmark filename = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    filename' <- stringToCString filename-    onException (do-        _ <- propagateGError $ g_bookmark_file_load_from_file bookmark' filename'-        touchManagedPtr bookmark-        freeMem filename'-        return ()-     ) (do-        freeMem filename'-     )--#if ENABLE_OVERLOADING-data BookmarkFileLoadFromFileMethodInfo-instance (signature ~ ([Char] -> m ()), MonadIO m) => O.MethodInfo BookmarkFileLoadFromFileMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileLoadFromFile--#endif---- method BookmarkFile::move_item--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "old_uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a valid URI, or %NULL", 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_bookmark_file_move_item" g_bookmark_file_move_item :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- old_uri : TBasicType TUTF8-    CString ->                              -- new_uri : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Changes the URI of a bookmark item from /@oldUri@/ to /@newUri@/.  Any-existing bookmark for /@newUri@/ will be overwritten.  If /@newUri@/ is-'Nothing', then the bookmark is removed.--In the event the URI cannot be found, 'False' is returned and-/@error@/ is set to @/G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND/@.--/Since: 2.12/--}-bookmarkFileMoveItem ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@oldUri@/: a valid URI -}-    -> Maybe (T.Text)-    {- ^ /@newUri@/: a valid URI, or 'Nothing' -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-bookmarkFileMoveItem bookmark oldUri newUri = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    oldUri' <- textToCString oldUri-    maybeNewUri <- case newUri of-        Nothing -> return nullPtr-        Just jNewUri -> do-            jNewUri' <- textToCString jNewUri-            return jNewUri'-    onException (do-        _ <- propagateGError $ g_bookmark_file_move_item bookmark' oldUri' maybeNewUri-        touchManagedPtr bookmark-        freeMem oldUri'-        freeMem maybeNewUri-        return ()-     ) (do-        freeMem oldUri'-        freeMem maybeNewUri-     )--#if ENABLE_OVERLOADING-data BookmarkFileMoveItemMethodInfo-instance (signature ~ (T.Text -> Maybe (T.Text) -> m ()), MonadIO m) => O.MethodInfo BookmarkFileMoveItemMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileMoveItem--#endif---- method BookmarkFile::remove_application--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", 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 the application", 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_bookmark_file_remove_application" g_bookmark_file_remove_application :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    CString ->                              -- name : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Removes application registered with /@name@/ from the list of applications-that have registered a bookmark for /@uri@/ inside /@bookmark@/.--In the event the URI cannot be found, 'False' is returned and-/@error@/ is set to @/G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND/@.-In the event that no application with name /@appName@/ has registered-a bookmark for /@uri@/,  'False' is returned and error is set to-@/G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED/@.--/Since: 2.12/--}-bookmarkFileRemoveApplication ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> T.Text-    {- ^ /@name@/: the name of the application -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-bookmarkFileRemoveApplication bookmark uri name = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    name' <- textToCString name-    onException (do-        _ <- propagateGError $ g_bookmark_file_remove_application bookmark' uri' name'-        touchManagedPtr bookmark-        freeMem uri'-        freeMem name'-        return ()-     ) (do-        freeMem uri'-        freeMem name'-     )--#if ENABLE_OVERLOADING-data BookmarkFileRemoveApplicationMethodInfo-instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m) => O.MethodInfo BookmarkFileRemoveApplicationMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileRemoveApplication--#endif---- method BookmarkFile::remove_group--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the group name to be removed", 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_bookmark_file_remove_group" g_bookmark_file_remove_group :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    CString ->                              -- group : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Removes /@group@/ from the list of groups to which the bookmark-for /@uri@/ belongs to.--In the event the URI cannot be found, 'False' is returned and-/@error@/ is set to @/G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND/@.-In the event no group was defined, 'False' is returned and-/@error@/ is set to @/G_BOOKMARK_FILE_ERROR_INVALID_VALUE/@.--/Since: 2.12/--}-bookmarkFileRemoveGroup ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> T.Text-    {- ^ /@group@/: the group name to be removed -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-bookmarkFileRemoveGroup bookmark uri group = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    group' <- textToCString group-    onException (do-        _ <- propagateGError $ g_bookmark_file_remove_group bookmark' uri' group'-        touchManagedPtr bookmark-        freeMem uri'-        freeMem group'-        return ()-     ) (do-        freeMem uri'-        freeMem group'-     )--#if ENABLE_OVERLOADING-data BookmarkFileRemoveGroupMethodInfo-instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m) => O.MethodInfo BookmarkFileRemoveGroupMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileRemoveGroup--#endif---- method BookmarkFile::remove_item--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", 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_bookmark_file_remove_item" g_bookmark_file_remove_item :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Removes the bookmark for /@uri@/ from the bookmark file /@bookmark@/.--/Since: 2.12/--}-bookmarkFileRemoveItem ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-bookmarkFileRemoveItem bookmark uri = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    onException (do-        _ <- propagateGError $ g_bookmark_file_remove_item bookmark' uri'-        touchManagedPtr bookmark-        freeMem uri'-        return ()-     ) (do-        freeMem uri'-     )--#if ENABLE_OVERLOADING-data BookmarkFileRemoveItemMethodInfo-instance (signature ~ (T.Text -> m ()), MonadIO m) => O.MethodInfo BookmarkFileRemoveItemMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileRemoveItem--#endif---- method BookmarkFile::set_added--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "added", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a timestamp or -1 to use the current time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_bookmark_file_set_added" g_bookmark_file_set_added :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    CLong ->                                -- added : TBasicType TLong-    IO ()--{- |-Sets the time the bookmark for /@uri@/ was added into /@bookmark@/.--If no bookmark for /@uri@/ is found then it is created.--/Since: 2.12/--}-bookmarkFileSetAdded ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> CLong-    {- ^ /@added@/: a timestamp or -1 to use the current time -}-    -> m ()-bookmarkFileSetAdded bookmark uri added = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    g_bookmark_file_set_added bookmark' uri' added-    touchManagedPtr bookmark-    freeMem uri'-    return ()--#if ENABLE_OVERLOADING-data BookmarkFileSetAddedMethodInfo-instance (signature ~ (T.Text -> CLong -> m ()), MonadIO m) => O.MethodInfo BookmarkFileSetAddedMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileSetAdded--#endif---- method BookmarkFile::set_app_info--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", 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 "an application's name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "exec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an application's command line", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of registrations done for this application", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stamp", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the time of the last registration for this application", 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_bookmark_file_set_app_info" g_bookmark_file_set_app_info :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    CString ->                              -- name : TBasicType TUTF8-    CString ->                              -- exec : TBasicType TUTF8-    Int32 ->                                -- count : TBasicType TInt-    CLong ->                                -- stamp : TBasicType TLong-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Sets the meta-data of application /@name@/ inside the list of-applications that have registered a bookmark for /@uri@/ inside-/@bookmark@/.--You should rarely use this function; use 'GI.GLib.Structs.BookmarkFile.bookmarkFileAddApplication'-and 'GI.GLib.Structs.BookmarkFile.bookmarkFileRemoveApplication' instead.--/@name@/ can be any UTF-8 encoded string used to identify an-application.-/@exec@/ can have one of these two modifiers: \"%f\", which will-be expanded as the local file name retrieved from the bookmark\'s-URI; \"%u\", which will be expanded as the bookmark\'s URI.-The expansion is done automatically when retrieving the stored-command line using the 'GI.GLib.Structs.BookmarkFile.bookmarkFileGetAppInfo' function.-/@count@/ is the number of times the application has registered the-bookmark; if is \< 0, the current registration count will be increased-by one, if is 0, the application with /@name@/ will be removed from-the list of registered applications.-/@stamp@/ is the Unix time of the last registration; if it is -1, the-current time will be used.--If you try to remove an application by setting its registration count to-zero, and no bookmark for /@uri@/ is found, 'False' is returned and-/@error@/ is set to @/G_BOOKMARK_FILE_ERROR_URI_NOT_FOUND/@; similarly,-in the event that no application /@name@/ has registered a bookmark-for /@uri@/,  'False' is returned and error is set to-@/G_BOOKMARK_FILE_ERROR_APP_NOT_REGISTERED/@.  Otherwise, if no bookmark-for /@uri@/ is found, one is created.--/Since: 2.12/--}-bookmarkFileSetAppInfo ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> T.Text-    {- ^ /@name@/: an application\'s name -}-    -> T.Text-    {- ^ /@exec@/: an application\'s command line -}-    -> Int32-    {- ^ /@count@/: the number of registrations done for this application -}-    -> CLong-    {- ^ /@stamp@/: the time of the last registration for this application -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-bookmarkFileSetAppInfo bookmark uri name exec count stamp = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    name' <- textToCString name-    exec' <- textToCString exec-    onException (do-        _ <- propagateGError $ g_bookmark_file_set_app_info bookmark' uri' name' exec' count stamp-        touchManagedPtr bookmark-        freeMem uri'-        freeMem name'-        freeMem exec'-        return ()-     ) (do-        freeMem uri'-        freeMem name'-        freeMem exec'-     )--#if ENABLE_OVERLOADING-data BookmarkFileSetAppInfoMethodInfo-instance (signature ~ (T.Text -> T.Text -> T.Text -> Int32 -> CLong -> m ()), MonadIO m) => O.MethodInfo BookmarkFileSetAppInfoMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileSetAppInfo--#endif---- method BookmarkFile::set_description--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a valid URI or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_bookmark_file_set_description" g_bookmark_file_set_description :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    CString ->                              -- description : TBasicType TUTF8-    IO ()--{- |-Sets /@description@/ as the description of the bookmark for /@uri@/.--If /@uri@/ is 'Nothing', the description of /@bookmark@/ is set.--If a bookmark for /@uri@/ cannot be found then it is created.--/Since: 2.12/--}-bookmarkFileSetDescription ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> Maybe (T.Text)-    {- ^ /@uri@/: a valid URI or 'Nothing' -}-    -> T.Text-    {- ^ /@description@/: a string -}-    -> m ()-bookmarkFileSetDescription bookmark uri description = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    maybeUri <- case uri of-        Nothing -> return nullPtr-        Just jUri -> do-            jUri' <- textToCString jUri-            return jUri'-    description' <- textToCString description-    g_bookmark_file_set_description bookmark' maybeUri description'-    touchManagedPtr bookmark-    freeMem maybeUri-    freeMem description'-    return ()--#if ENABLE_OVERLOADING-data BookmarkFileSetDescriptionMethodInfo-instance (signature ~ (Maybe (T.Text) -> T.Text -> m ()), MonadIO m) => O.MethodInfo BookmarkFileSetDescriptionMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileSetDescription--#endif---- method BookmarkFile::set_groups--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an item's URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "groups", argType = TCArray False (-1) 3 (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an array of\n   group names, or %NULL to remove all groups", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of group name values in @groups", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of group name values in @groups", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_bookmark_file_set_groups" g_bookmark_file_set_groups :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    Ptr CString ->                          -- groups : TCArray False (-1) 3 (TBasicType TUTF8)-    Word64 ->                               -- length : TBasicType TUInt64-    IO ()--{- |-Sets a list of group names for the item with URI /@uri@/.  Each previously-set group name list is removed.--If /@uri@/ cannot be found then an item for it is created.--/Since: 2.12/--}-bookmarkFileSetGroups ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: an item\'s URI -}-    -> Maybe ([T.Text])-    {- ^ /@groups@/: an array of-   group names, or 'Nothing' to remove all groups -}-    -> m ()-bookmarkFileSetGroups bookmark uri groups = liftIO $ do-    let length_ = case groups of-            Nothing -> 0-            Just jGroups -> fromIntegral $ length jGroups-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    maybeGroups <- case groups of-        Nothing -> return nullPtr-        Just jGroups -> do-            jGroups' <- packUTF8CArray jGroups-            return jGroups'-    g_bookmark_file_set_groups bookmark' uri' maybeGroups length_-    touchManagedPtr bookmark-    freeMem uri'-    (mapCArrayWithLength length_) freeMem maybeGroups-    freeMem maybeGroups-    return ()--#if ENABLE_OVERLOADING-data BookmarkFileSetGroupsMethodInfo-instance (signature ~ (T.Text -> Maybe ([T.Text]) -> m ()), MonadIO m) => O.MethodInfo BookmarkFileSetGroupsMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileSetGroups--#endif---- method BookmarkFile::set_icon--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "href", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the URI of the icon for the bookmark, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mime_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the MIME type of the icon for the bookmark", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_bookmark_file_set_icon" g_bookmark_file_set_icon :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    CString ->                              -- href : TBasicType TUTF8-    CString ->                              -- mime_type : TBasicType TUTF8-    IO ()--{- |-Sets the icon for the bookmark for /@uri@/. If /@href@/ is 'Nothing', unsets-the currently set icon. /@href@/ can either be a full URL for the icon-file or the icon name following the Icon Naming specification.--If no bookmark for /@uri@/ is found one is created.--/Since: 2.12/--}-bookmarkFileSetIcon ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> Maybe (T.Text)-    {- ^ /@href@/: the URI of the icon for the bookmark, or 'Nothing' -}-    -> T.Text-    {- ^ /@mimeType@/: the MIME type of the icon for the bookmark -}-    -> m ()-bookmarkFileSetIcon bookmark uri href mimeType = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    maybeHref <- case href of-        Nothing -> return nullPtr-        Just jHref -> do-            jHref' <- textToCString jHref-            return jHref'-    mimeType' <- textToCString mimeType-    g_bookmark_file_set_icon bookmark' uri' maybeHref mimeType'-    touchManagedPtr bookmark-    freeMem uri'-    freeMem maybeHref-    freeMem mimeType'-    return ()--#if ENABLE_OVERLOADING-data BookmarkFileSetIconMethodInfo-instance (signature ~ (T.Text -> Maybe (T.Text) -> T.Text -> m ()), MonadIO m) => O.MethodInfo BookmarkFileSetIconMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileSetIcon--#endif---- method BookmarkFile::set_is_private--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_private", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if the bookmark should be marked as private", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_bookmark_file_set_is_private" g_bookmark_file_set_is_private :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    CInt ->                                 -- is_private : TBasicType TBoolean-    IO ()--{- |-Sets the private flag of the bookmark for /@uri@/.--If a bookmark for /@uri@/ cannot be found then it is created.--/Since: 2.12/--}-bookmarkFileSetIsPrivate ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> Bool-    {- ^ /@isPrivate@/: 'True' if the bookmark should be marked as private -}-    -> m ()-bookmarkFileSetIsPrivate bookmark uri isPrivate = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    let isPrivate' = (fromIntegral . fromEnum) isPrivate-    g_bookmark_file_set_is_private bookmark' uri' isPrivate'-    touchManagedPtr bookmark-    freeMem uri'-    return ()--#if ENABLE_OVERLOADING-data BookmarkFileSetIsPrivateMethodInfo-instance (signature ~ (T.Text -> Bool -> m ()), MonadIO m) => O.MethodInfo BookmarkFileSetIsPrivateMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileSetIsPrivate--#endif---- method BookmarkFile::set_mime_type--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mime_type", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a MIME type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_bookmark_file_set_mime_type" g_bookmark_file_set_mime_type :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    CString ->                              -- mime_type : TBasicType TUTF8-    IO ()--{- |-Sets /@mimeType@/ as the MIME type of the bookmark for /@uri@/.--If a bookmark for /@uri@/ cannot be found then it is created.--/Since: 2.12/--}-bookmarkFileSetMimeType ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> T.Text-    {- ^ /@mimeType@/: a MIME type -}-    -> m ()-bookmarkFileSetMimeType bookmark uri mimeType = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    mimeType' <- textToCString mimeType-    g_bookmark_file_set_mime_type bookmark' uri' mimeType'-    touchManagedPtr bookmark-    freeMem uri'-    freeMem mimeType'-    return ()--#if ENABLE_OVERLOADING-data BookmarkFileSetMimeTypeMethodInfo-instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m) => O.MethodInfo BookmarkFileSetMimeTypeMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileSetMimeType--#endif---- method BookmarkFile::set_modified--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modified", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a timestamp or -1 to use the current time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_bookmark_file_set_modified" g_bookmark_file_set_modified :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    CLong ->                                -- modified : TBasicType TLong-    IO ()--{- |-Sets the last time the bookmark for /@uri@/ was last modified.--If no bookmark for /@uri@/ is found then it is created.--The \"modified\" time should only be set when the bookmark\'s meta-data-was actually changed.  Every function of 'GI.GLib.Structs.BookmarkFile.BookmarkFile' that-modifies a bookmark also changes the modification time, except for-'GI.GLib.Structs.BookmarkFile.bookmarkFileSetVisited'.--/Since: 2.12/--}-bookmarkFileSetModified ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> CLong-    {- ^ /@modified@/: a timestamp or -1 to use the current time -}-    -> m ()-bookmarkFileSetModified bookmark uri modified = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    g_bookmark_file_set_modified bookmark' uri' modified-    touchManagedPtr bookmark-    freeMem uri'-    return ()--#if ENABLE_OVERLOADING-data BookmarkFileSetModifiedMethodInfo-instance (signature ~ (T.Text -> CLong -> m ()), MonadIO m) => O.MethodInfo BookmarkFileSetModifiedMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileSetModified--#endif---- method BookmarkFile::set_title--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a valid URI or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a UTF-8 encoded string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_bookmark_file_set_title" g_bookmark_file_set_title :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    CString ->                              -- title : TBasicType TUTF8-    IO ()--{- |-Sets /@title@/ as the title of the bookmark for /@uri@/ inside the-bookmark file /@bookmark@/.--If /@uri@/ is 'Nothing', the title of /@bookmark@/ is set.--If a bookmark for /@uri@/ cannot be found then it is created.--/Since: 2.12/--}-bookmarkFileSetTitle ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> Maybe (T.Text)-    {- ^ /@uri@/: a valid URI or 'Nothing' -}-    -> T.Text-    {- ^ /@title@/: a UTF-8 encoded string -}-    -> m ()-bookmarkFileSetTitle bookmark uri title = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    maybeUri <- case uri of-        Nothing -> return nullPtr-        Just jUri -> do-            jUri' <- textToCString jUri-            return jUri'-    title' <- textToCString title-    g_bookmark_file_set_title bookmark' maybeUri title'-    touchManagedPtr bookmark-    freeMem maybeUri-    freeMem title'-    return ()--#if ENABLE_OVERLOADING-data BookmarkFileSetTitleMethodInfo-instance (signature ~ (Maybe (T.Text) -> T.Text -> m ()), MonadIO m) => O.MethodInfo BookmarkFileSetTitleMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileSetTitle--#endif---- method BookmarkFile::set_visited--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uri", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid URI", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "visited", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a timestamp or -1 to use the current time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_bookmark_file_set_visited" g_bookmark_file_set_visited :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- uri : TBasicType TUTF8-    CLong ->                                -- visited : TBasicType TLong-    IO ()--{- |-Sets the time the bookmark for /@uri@/ was last visited.--If no bookmark for /@uri@/ is found then it is created.--The \"visited\" time should only be set if the bookmark was launched,-either using the command line retrieved by 'GI.GLib.Structs.BookmarkFile.bookmarkFileGetAppInfo'-or by the default application for the bookmark\'s MIME type, retrieved-using 'GI.GLib.Structs.BookmarkFile.bookmarkFileGetMimeType'.  Changing the \"visited\" time-does not affect the \"modified\" time.--/Since: 2.12/--}-bookmarkFileSetVisited ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> T.Text-    {- ^ /@uri@/: a valid URI -}-    -> CLong-    {- ^ /@visited@/: a timestamp or -1 to use the current time -}-    -> m ()-bookmarkFileSetVisited bookmark uri visited = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    uri' <- textToCString uri-    g_bookmark_file_set_visited bookmark' uri' visited-    touchManagedPtr bookmark-    freeMem uri'-    return ()--#if ENABLE_OVERLOADING-data BookmarkFileSetVisitedMethodInfo-instance (signature ~ (T.Text -> CLong -> m ()), MonadIO m) => O.MethodInfo BookmarkFileSetVisitedMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileSetVisited--#endif---- method BookmarkFile::to_data--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the length of the returned string, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the length of the returned string, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Just (TCArray False (-1) 1 (TBasicType TUInt8))--- throws : True--- Skip return : False--foreign import ccall "g_bookmark_file_to_data" g_bookmark_file_to_data :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    Ptr Word64 ->                           -- length : TBasicType TUInt64-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr Word8)--{- |-This function outputs /@bookmark@/ as a string.--/Since: 2.12/--}-bookmarkFileToData ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> m ByteString-    {- ^ __Returns:__ -  a newly allocated string holding the contents of the 'GI.GLib.Structs.BookmarkFile.BookmarkFile' /(Can throw 'Data.GI.Base.GError.GError')/ -}-bookmarkFileToData bookmark = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    length_ <- allocMem :: IO (Ptr Word64)-    onException (do-        result <- propagateGError $ g_bookmark_file_to_data bookmark' length_-        length_' <- peek length_-        checkUnexpectedReturnNULL "bookmarkFileToData" result-        result' <- (unpackByteStringWithLength length_') result-        freeMem result-        touchManagedPtr bookmark-        freeMem length_-        return result'-     ) (do-        freeMem length_-     )--#if ENABLE_OVERLOADING-data BookmarkFileToDataMethodInfo-instance (signature ~ (m ByteString), MonadIO m) => O.MethodInfo BookmarkFileToDataMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileToData--#endif---- method BookmarkFile::to_file--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bookmark", argType = TInterface (Name {namespace = "GLib", name = "BookmarkFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBookmarkFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "path of the output file", 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_bookmark_file_to_file" g_bookmark_file_to_file :: -    Ptr BookmarkFile ->                     -- bookmark : TInterface (Name {namespace = "GLib", name = "BookmarkFile"})-    CString ->                              -- filename : TBasicType TFileName-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-This function outputs /@bookmark@/ into a file.  The write process is-guaranteed to be atomic by using 'GI.GLib.Functions.fileSetContents' internally.--/Since: 2.12/--}-bookmarkFileToFile ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    BookmarkFile-    {- ^ /@bookmark@/: a 'GI.GLib.Structs.BookmarkFile.BookmarkFile' -}-    -> [Char]-    {- ^ /@filename@/: path of the output file -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-bookmarkFileToFile bookmark filename = liftIO $ do-    bookmark' <- unsafeManagedPtrGetPtr bookmark-    filename' <- stringToCString filename-    onException (do-        _ <- propagateGError $ g_bookmark_file_to_file bookmark' filename'-        touchManagedPtr bookmark-        freeMem filename'-        return ()-     ) (do-        freeMem filename'-     )--#if ENABLE_OVERLOADING-data BookmarkFileToFileMethodInfo-instance (signature ~ ([Char] -> m ()), MonadIO m) => O.MethodInfo BookmarkFileToFileMethodInfo BookmarkFile signature where-    overloadedMethod _ = bookmarkFileToFile--#endif---- method BookmarkFile::error_quark--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "g_bookmark_file_error_quark" g_bookmark_file_error_quark :: -    IO Word32--{- |-/No description available in the introspection data./--}-bookmarkFileErrorQuark ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Word32-bookmarkFileErrorQuark  = liftIO $ do-    result <- g_bookmark_file_error_quark-    return result--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveBookmarkFileMethod (t :: Symbol) (o :: *) :: * where-    ResolveBookmarkFileMethod "addApplication" o = BookmarkFileAddApplicationMethodInfo-    ResolveBookmarkFileMethod "addGroup" o = BookmarkFileAddGroupMethodInfo-    ResolveBookmarkFileMethod "free" o = BookmarkFileFreeMethodInfo-    ResolveBookmarkFileMethod "hasApplication" o = BookmarkFileHasApplicationMethodInfo-    ResolveBookmarkFileMethod "hasGroup" o = BookmarkFileHasGroupMethodInfo-    ResolveBookmarkFileMethod "hasItem" o = BookmarkFileHasItemMethodInfo-    ResolveBookmarkFileMethod "loadFromData" o = BookmarkFileLoadFromDataMethodInfo-    ResolveBookmarkFileMethod "loadFromDataDirs" o = BookmarkFileLoadFromDataDirsMethodInfo-    ResolveBookmarkFileMethod "loadFromFile" o = BookmarkFileLoadFromFileMethodInfo-    ResolveBookmarkFileMethod "moveItem" o = BookmarkFileMoveItemMethodInfo-    ResolveBookmarkFileMethod "removeApplication" o = BookmarkFileRemoveApplicationMethodInfo-    ResolveBookmarkFileMethod "removeGroup" o = BookmarkFileRemoveGroupMethodInfo-    ResolveBookmarkFileMethod "removeItem" o = BookmarkFileRemoveItemMethodInfo-    ResolveBookmarkFileMethod "toData" o = BookmarkFileToDataMethodInfo-    ResolveBookmarkFileMethod "toFile" o = BookmarkFileToFileMethodInfo-    ResolveBookmarkFileMethod "getAdded" o = BookmarkFileGetAddedMethodInfo-    ResolveBookmarkFileMethod "getAppInfo" o = BookmarkFileGetAppInfoMethodInfo-    ResolveBookmarkFileMethod "getApplications" o = BookmarkFileGetApplicationsMethodInfo-    ResolveBookmarkFileMethod "getDescription" o = BookmarkFileGetDescriptionMethodInfo-    ResolveBookmarkFileMethod "getGroups" o = BookmarkFileGetGroupsMethodInfo-    ResolveBookmarkFileMethod "getIcon" o = BookmarkFileGetIconMethodInfo-    ResolveBookmarkFileMethod "getIsPrivate" o = BookmarkFileGetIsPrivateMethodInfo-    ResolveBookmarkFileMethod "getMimeType" o = BookmarkFileGetMimeTypeMethodInfo-    ResolveBookmarkFileMethod "getModified" o = BookmarkFileGetModifiedMethodInfo-    ResolveBookmarkFileMethod "getSize" o = BookmarkFileGetSizeMethodInfo-    ResolveBookmarkFileMethod "getTitle" o = BookmarkFileGetTitleMethodInfo-    ResolveBookmarkFileMethod "getUris" o = BookmarkFileGetUrisMethodInfo-    ResolveBookmarkFileMethod "getVisited" o = BookmarkFileGetVisitedMethodInfo-    ResolveBookmarkFileMethod "setAdded" o = BookmarkFileSetAddedMethodInfo-    ResolveBookmarkFileMethod "setAppInfo" o = BookmarkFileSetAppInfoMethodInfo-    ResolveBookmarkFileMethod "setDescription" o = BookmarkFileSetDescriptionMethodInfo-    ResolveBookmarkFileMethod "setGroups" o = BookmarkFileSetGroupsMethodInfo-    ResolveBookmarkFileMethod "setIcon" o = BookmarkFileSetIconMethodInfo-    ResolveBookmarkFileMethod "setIsPrivate" o = BookmarkFileSetIsPrivateMethodInfo-    ResolveBookmarkFileMethod "setMimeType" o = BookmarkFileSetMimeTypeMethodInfo-    ResolveBookmarkFileMethod "setModified" o = BookmarkFileSetModifiedMethodInfo-    ResolveBookmarkFileMethod "setTitle" o = BookmarkFileSetTitleMethodInfo-    ResolveBookmarkFileMethod "setVisited" o = BookmarkFileSetVisitedMethodInfo-    ResolveBookmarkFileMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveBookmarkFileMethod t BookmarkFile, O.MethodInfo info BookmarkFile p) => OL.IsLabel t (BookmarkFile -> 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/GLib/Structs/BookmarkFile.hs-boot
@@ -1,140 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.BookmarkFile 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 BookmarkFile = BookmarkFile (ManagedPtr BookmarkFile)-instance WrappedPtr BookmarkFile where-#if ENABLE_OVERLOADING-data BookmarkFileAddApplicationMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileAddGroupMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileGetAddedMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileGetAppInfoMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileGetApplicationsMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileGetDescriptionMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileGetGroupsMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileGetIconMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileGetIsPrivateMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileGetMimeTypeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileGetModifiedMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileGetSizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileGetTitleMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileGetUrisMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileGetVisitedMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileHasApplicationMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileHasGroupMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileHasItemMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileLoadFromDataMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileLoadFromDataDirsMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileLoadFromFileMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileMoveItemMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileRemoveApplicationMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileRemoveGroupMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileRemoveItemMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileSetAddedMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileSetAppInfoMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileSetDescriptionMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileSetGroupsMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileSetIconMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileSetIsPrivateMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileSetMimeTypeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileSetModifiedMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileSetTitleMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileSetVisitedMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileToDataMethodInfo-#endif-#if ENABLE_OVERLOADING-data BookmarkFileToFileMethodInfo-#endif
− GI/GLib/Structs/ByteArray.hs
@@ -1,410 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Contains the public fields of a GByteArray.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.ByteArray-    ( ---- * Exported types-    ByteArray(..)                           ,-    newZeroByteArray                        ,-    noByteArray                             ,--- -- * Methods--- ** free #method:free#--    byteArrayFree                           ,----- ** freeToBytes #method:freeToBytes#--    byteArrayFreeToBytes                    ,----- ** new #method:new#--    byteArrayNew                            ,----- ** newTake #method:newTake#--    byteArrayNewTake                        ,----- ** unref #method:unref#--    byteArrayUnref                          ,----- -- * Properties--- ** data #attr:data#-{- | a pointer to the element data. The data may be moved as-    elements are added to the 'GI.GLib.Structs.ByteArray.ByteArray'--}-#if ENABLE_OVERLOADING-    byteArray_data                          ,-#endif-    getByteArrayData                        ,-    setByteArrayData                        ,----- ** len #attr:len#-{- | the number of elements in the 'GI.GLib.Structs.ByteArray.ByteArray'--}-#if ENABLE_OVERLOADING-    byteArray_len                           ,-#endif-    getByteArrayLen                         ,-    setByteArrayLen                         ,-----    ) 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.GLib.Structs.Bytes as GLib.Bytes---- | Memory-managed wrapper type.-newtype ByteArray = ByteArray (ManagedPtr ByteArray)-foreign import ccall "g_byte_array_get_type" c_g_byte_array_get_type :: -    IO GType--instance BoxedObject ByteArray where-    boxedType _ = c_g_byte_array_get_type---- | Construct a `ByteArray` struct initialized to zero.-newZeroByteArray :: MonadIO m => m ByteArray-newZeroByteArray = liftIO $ callocBoxedBytes 16 >>= wrapBoxed ByteArray--instance tag ~ 'AttrSet => Constructible ByteArray tag where-    new _ attrs = do-        o <- newZeroByteArray-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `ByteArray`.-noByteArray :: Maybe ByteArray-noByteArray = Nothing--{- |-Get the value of the “@data@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' byteArray #data-@--}-getByteArrayData :: MonadIO m => ByteArray -> m Word8-getByteArrayData s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO Word8-    return val--{- |-Set the value of the “@data@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' byteArray [ #data 'Data.GI.Base.Attributes.:=' value ]-@--}-setByteArrayData :: MonadIO m => ByteArray -> Word8 -> m ()-setByteArrayData s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: Word8)--#if ENABLE_OVERLOADING-data ByteArrayDataFieldInfo-instance AttrInfo ByteArrayDataFieldInfo where-    type AttrAllowedOps ByteArrayDataFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ByteArrayDataFieldInfo = (~) Word8-    type AttrBaseTypeConstraint ByteArrayDataFieldInfo = (~) ByteArray-    type AttrGetType ByteArrayDataFieldInfo = Word8-    type AttrLabel ByteArrayDataFieldInfo = "data"-    type AttrOrigin ByteArrayDataFieldInfo = ByteArray-    attrGet _ = getByteArrayData-    attrSet _ = setByteArrayData-    attrConstruct = undefined-    attrClear _ = undefined--byteArray_data :: AttrLabelProxy "data"-byteArray_data = AttrLabelProxy--#endif---{- |-Get the value of the “@len@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' byteArray #len-@--}-getByteArrayLen :: MonadIO m => ByteArray -> m Word32-getByteArrayLen s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO Word32-    return val--{- |-Set the value of the “@len@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' byteArray [ #len 'Data.GI.Base.Attributes.:=' value ]-@--}-setByteArrayLen :: MonadIO m => ByteArray -> Word32 -> m ()-setByteArrayLen s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Word32)--#if ENABLE_OVERLOADING-data ByteArrayLenFieldInfo-instance AttrInfo ByteArrayLenFieldInfo where-    type AttrAllowedOps ByteArrayLenFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ByteArrayLenFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ByteArrayLenFieldInfo = (~) ByteArray-    type AttrGetType ByteArrayLenFieldInfo = Word32-    type AttrLabel ByteArrayLenFieldInfo = "len"-    type AttrOrigin ByteArrayLenFieldInfo = ByteArray-    attrGet _ = getByteArrayLen-    attrSet _ = setByteArrayLen-    attrConstruct = undefined-    attrClear _ = undefined--byteArray_len :: AttrLabelProxy "len"-byteArray_len = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList ByteArray-type instance O.AttributeList ByteArray = ByteArrayAttributeList-type ByteArrayAttributeList = ('[ '("data", ByteArrayDataFieldInfo), '("len", ByteArrayLenFieldInfo)] :: [(Symbol, *)])-#endif---- method ByteArray::free--- method type : MemberFunction--- Args : [Arg {argCName = "array", argType = TByteArray, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GByteArray", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "free_segment", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if %TRUE the actual byte data is freed as well", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt8)--- throws : False--- Skip return : False--foreign import ccall "g_byte_array_free" g_byte_array_free :: -    Ptr GByteArray ->                       -- array : TByteArray-    CInt ->                                 -- free_segment : TBasicType TBoolean-    IO Word8--{- |-Frees the memory allocated by the 'GI.GLib.Structs.ByteArray.ByteArray'. If /@freeSegment@/ is-'True' it frees the actual byte data. If the reference count of-/@array@/ is greater than one, the 'GI.GLib.Structs.ByteArray.ByteArray' wrapper is preserved but-the size of /@array@/ will be set to zero.--}-byteArrayFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    ByteString-    {- ^ /@array@/: a 'GI.GLib.Structs.ByteArray.ByteArray' -}-    -> Bool-    {- ^ /@freeSegment@/: if 'True' the actual byte data is freed as well -}-    -> m Word8-    {- ^ __Returns:__ the element data if /@freeSegment@/ is 'False', otherwise-         'Nothing'.  The element data should be freed using 'GI.GLib.Functions.free'. -}-byteArrayFree array freeSegment = liftIO $ do-    array' <- packGByteArray array-    let freeSegment' = (fromIntegral . fromEnum) freeSegment-    result <- g_byte_array_free array' freeSegment'-    unrefGByteArray array'-    return result--#if ENABLE_OVERLOADING-#endif---- method ByteArray::free_to_bytes--- method type : MemberFunction--- Args : [Arg {argCName = "array", argType = TByteArray, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GByteArray", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Bytes"}))--- throws : False--- Skip return : False--foreign import ccall "g_byte_array_free_to_bytes" g_byte_array_free_to_bytes :: -    Ptr GByteArray ->                       -- array : TByteArray-    IO (Ptr GLib.Bytes.Bytes)--{- |-Transfers the data from the 'GI.GLib.Structs.ByteArray.ByteArray' into a new immutable 'GI.GLib.Structs.Bytes.Bytes'.--The 'GI.GLib.Structs.ByteArray.ByteArray' is freed unless the reference count of /@array@/ is greater-than one, the 'GI.GLib.Structs.ByteArray.ByteArray' wrapper is preserved but the size of /@array@/-will be set to zero.--This is identical to using 'GI.GLib.Structs.Bytes.bytesNewTake' and 'GI.GLib.Functions.byteArrayFree'-together.--/Since: 2.32/--}-byteArrayFreeToBytes ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    ByteString-    {- ^ /@array@/: a 'GI.GLib.Structs.ByteArray.ByteArray' -}-    -> m GLib.Bytes.Bytes-    {- ^ __Returns:__ a new immutable 'GI.GLib.Structs.Bytes.Bytes' representing same-    byte data that was in the array -}-byteArrayFreeToBytes array = liftIO $ do-    array' <- packGByteArray array-    result <- g_byte_array_free_to_bytes array'-    checkUnexpectedReturnNULL "byteArrayFreeToBytes" result-    result' <- (wrapBoxed GLib.Bytes.Bytes) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method ByteArray::new--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Just TByteArray--- throws : False--- Skip return : False--foreign import ccall "g_byte_array_new" g_byte_array_new :: -    IO (Ptr GByteArray)--{- |-Creates a new 'GI.GLib.Structs.ByteArray.ByteArray' with a reference count of 1.--}-byteArrayNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m ByteString-    {- ^ __Returns:__ the new 'GI.GLib.Structs.ByteArray.ByteArray' -}-byteArrayNew  = liftIO $ do-    result <- g_byte_array_new-    checkUnexpectedReturnNULL "byteArrayNew" result-    result' <- unpackGByteArray result-    unrefGByteArray result-    return result'--#if ENABLE_OVERLOADING-#endif---- method ByteArray::new_take--- method type : MemberFunction--- Args : [Arg {argCName = "data", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "byte data for the array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just TByteArray--- throws : False--- Skip return : False--foreign import ccall "g_byte_array_new_take" g_byte_array_new_take :: -    Ptr Word8 ->                            -- data : TCArray False (-1) 1 (TBasicType TUInt8)-    Word64 ->                               -- len : TBasicType TUInt64-    IO (Ptr GByteArray)--{- |-Create byte array containing the data. The data will be owned by the array-and will be freed with 'GI.GLib.Functions.free', i.e. it could be allocated using 'GI.GLib.Functions.strdup'.--/Since: 2.32/--}-byteArrayNewTake ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    ByteString-    {- ^ /@data@/: byte data for the array -}-    -> m ByteString-    {- ^ __Returns:__ a new 'GI.GLib.Structs.ByteArray.ByteArray' -}-byteArrayNewTake data_ = liftIO $ do-    let len = fromIntegral $ B.length data_-    data_' <- packByteString data_-    result <- g_byte_array_new_take data_' len-    checkUnexpectedReturnNULL "byteArrayNewTake" result-    result' <- unpackGByteArray result-    unrefGByteArray result-    return result'--#if ENABLE_OVERLOADING-#endif---- method ByteArray::unref--- method type : MemberFunction--- Args : [Arg {argCName = "array", argType = TByteArray, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GByteArray", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_byte_array_unref" g_byte_array_unref :: -    Ptr GByteArray ->                       -- array : TByteArray-    IO ()--{- |-Atomically decrements the reference count of /@array@/ by one. If the-reference count drops to 0, all memory allocated by the array is-released. This function is thread-safe and may be called from any-thread.--/Since: 2.22/--}-byteArrayUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    ByteString-    {- ^ /@array@/: A 'GI.GLib.Structs.ByteArray.ByteArray' -}-    -> m ()-byteArrayUnref array = liftIO $ do-    array' <- packGByteArray array-    g_byte_array_unref array'-    unrefGByteArray array'-    return ()--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveByteArrayMethod (t :: Symbol) (o :: *) :: * where-    ResolveByteArrayMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveByteArrayMethod t ByteArray, O.MethodInfo info ByteArray p) => OL.IsLabel t (ByteArray -> 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/GLib/Structs/ByteArray.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.ByteArray 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 ByteArray = ByteArray (ManagedPtr ByteArray)-instance BoxedObject ByteArray where
− GI/GLib/Structs/Bytes.hs
@@ -1,750 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A simple refcounted data type representing an immutable sequence of zero or-more bytes from an unspecified origin.--The purpose of a 'GI.GLib.Structs.Bytes.Bytes' is to keep the memory region that it holds-alive for as long as anyone holds a reference to the bytes.  When-the last reference count is dropped, the memory is released. Multiple-unrelated callers can use byte data in the 'GI.GLib.Structs.Bytes.Bytes' without coordinating-their activities, resting assured that the byte data will not change or-move while they hold a reference.--A 'GI.GLib.Structs.Bytes.Bytes' can come from many different origins that may have-different procedures for freeing the memory region.  Examples are-memory from 'GI.GLib.Functions.malloc', from memory slices, from a 'GI.GLib.Structs.MappedFile.MappedFile' or-memory from other allocators.--'GI.GLib.Structs.Bytes.Bytes' work well as keys in 'GI.GLib.Structs.HashTable.HashTable'. Use 'GI.GLib.Structs.Bytes.bytesEqual' and-'GI.GLib.Structs.Bytes.bytesHash' as parameters to @/g_hash_table_new()/@ or @/g_hash_table_new_full()/@.-'GI.GLib.Structs.Bytes.Bytes' can also be used as keys in a 'GI.GLib.Structs.Tree.Tree' by passing the 'GI.GLib.Structs.Bytes.bytesCompare'-function to @/g_tree_new()/@.--The data pointed to by this bytes must not be modified. For a mutable-array of bytes see 'GI.GLib.Structs.ByteArray.ByteArray'. Use 'GI.GLib.Structs.Bytes.bytesUnrefToArray' to create a-mutable array for a 'GI.GLib.Structs.Bytes.Bytes' sequence. To create an immutable 'GI.GLib.Structs.Bytes.Bytes' from-a mutable 'GI.GLib.Structs.ByteArray.ByteArray', use the 'GI.GLib.Functions.byteArrayFreeToBytes' function.--/Since: 2.32/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.Bytes-    ( ---- * Exported types-    Bytes(..)                               ,-    noBytes                                 ,--- -- * Methods--- ** compare #method:compare#--#if ENABLE_OVERLOADING-    BytesCompareMethodInfo                  ,-#endif-    bytesCompare                            ,----- ** equal #method:equal#--#if ENABLE_OVERLOADING-    BytesEqualMethodInfo                    ,-#endif-    bytesEqual                              ,----- ** getData #method:getData#--#if ENABLE_OVERLOADING-    BytesGetDataMethodInfo                  ,-#endif-    bytesGetData                            ,----- ** getSize #method:getSize#--#if ENABLE_OVERLOADING-    BytesGetSizeMethodInfo                  ,-#endif-    bytesGetSize                            ,----- ** hash #method:hash#--#if ENABLE_OVERLOADING-    BytesHashMethodInfo                     ,-#endif-    bytesHash                               ,----- ** new #method:new#--    bytesNew                                ,----- ** newFromBytes #method:newFromBytes#--#if ENABLE_OVERLOADING-    BytesNewFromBytesMethodInfo             ,-#endif-    bytesNewFromBytes                       ,----- ** newTake #method:newTake#--    bytesNewTake                            ,----- ** ref #method:ref#--#if ENABLE_OVERLOADING-    BytesRefMethodInfo                      ,-#endif-    bytesRef                                ,----- ** unref #method:unref#--#if ENABLE_OVERLOADING-    BytesUnrefMethodInfo                    ,-#endif-    bytesUnref                              ,----- ** unrefToArray #method:unrefToArray#--#if ENABLE_OVERLOADING-    BytesUnrefToArrayMethodInfo             ,-#endif-    bytesUnrefToArray                       ,----- ** unrefToData #method:unrefToData#--#if ENABLE_OVERLOADING-    BytesUnrefToDataMethodInfo              ,-#endif-    bytesUnrefToData                        ,-----    ) 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 Bytes = Bytes (ManagedPtr Bytes)-foreign import ccall "g_bytes_get_type" c_g_bytes_get_type :: -    IO GType--instance BoxedObject Bytes where-    boxedType _ = c_g_bytes_get_type---- | A convenience alias for `Nothing` :: `Maybe` `Bytes`.-noBytes :: Maybe Bytes-noBytes = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList Bytes-type instance O.AttributeList Bytes = BytesAttributeList-type BytesAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method Bytes::new--- method type : Constructor--- Args : [Arg {argCName = "data", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "\n       the data to be used for the bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Bytes"}))--- throws : False--- Skip return : False--foreign import ccall "g_bytes_new" g_bytes_new :: -    Ptr Word8 ->                            -- data : TCArray False (-1) 1 (TBasicType TUInt8)-    Word64 ->                               -- size : TBasicType TUInt64-    IO (Ptr Bytes)--{- |-Creates a new 'GI.GLib.Structs.Bytes.Bytes' from /@data@/.--/@data@/ is copied. If /@size@/ is 0, /@data@/ may be 'Nothing'.--/Since: 2.32/--}-bytesNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (ByteString)-    {- ^ /@data@/: -       the data to be used for the bytes -}-    -> m Bytes-    {- ^ __Returns:__ a new 'GI.GLib.Structs.Bytes.Bytes' -}-bytesNew data_ = liftIO $ do-    let size = case data_ of-            Nothing -> 0-            Just jData_ -> fromIntegral $ B.length jData_-    maybeData_ <- case data_ of-        Nothing -> return nullPtr-        Just jData_ -> do-            jData_' <- packByteString jData_-            return jData_'-    result <- g_bytes_new maybeData_ size-    checkUnexpectedReturnNULL "bytesNew" result-    result' <- (wrapBoxed Bytes) result-    freeMem maybeData_-    return result'--#if ENABLE_OVERLOADING-#endif---- method Bytes::new_take--- method type : Constructor--- Args : [Arg {argCName = "data", argType = TCArray False (-1) 1 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "\n       the data to be used for the bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of @data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Bytes"}))--- throws : False--- Skip return : False--foreign import ccall "g_bytes_new_take" g_bytes_new_take :: -    Ptr Word8 ->                            -- data : TCArray False (-1) 1 (TBasicType TUInt8)-    Word64 ->                               -- size : TBasicType TUInt64-    IO (Ptr Bytes)--{- |-Creates a new 'GI.GLib.Structs.Bytes.Bytes' from /@data@/.--After this call, /@data@/ belongs to the bytes and may no longer be-modified by the caller.  'GI.GLib.Functions.free' will be called on /@data@/ when the-bytes is no longer in use. Because of this /@data@/ must have been created by-a call to 'GI.GLib.Functions.malloc', 'GI.GLib.Functions.malloc0' or 'GI.GLib.Functions.realloc' or by one of the many-functions that wrap these calls (such as @/g_new()/@, 'GI.GLib.Functions.strdup', etc).--For creating 'GI.GLib.Structs.Bytes.Bytes' with memory from other allocators, see-@/g_bytes_new_with_free_func()/@.--/@data@/ may be 'Nothing' if /@size@/ is 0.--/Since: 2.32/--}-bytesNewTake ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (ByteString)-    {- ^ /@data@/: -       the data to be used for the bytes -}-    -> m Bytes-    {- ^ __Returns:__ a new 'GI.GLib.Structs.Bytes.Bytes' -}-bytesNewTake data_ = liftIO $ do-    let size = case data_ of-            Nothing -> 0-            Just jData_ -> fromIntegral $ B.length jData_-    maybeData_ <- case data_ of-        Nothing -> return nullPtr-        Just jData_ -> do-            jData_' <- packByteString jData_-            return jData_'-    result <- g_bytes_new_take maybeData_ size-    checkUnexpectedReturnNULL "bytesNewTake" result-    result' <- (wrapBoxed Bytes) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Bytes::compare--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bytes1", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GBytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bytes2", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GBytes to compare with @bytes1", 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_bytes_compare" g_bytes_compare :: -    Ptr Bytes ->                            -- bytes1 : TInterface (Name {namespace = "GLib", name = "Bytes"})-    Ptr Bytes ->                            -- bytes2 : TInterface (Name {namespace = "GLib", name = "Bytes"})-    IO Int32--{- |-Compares the two 'GI.GLib.Structs.Bytes.Bytes' values.--This function can be used to sort GBytes instances in lexicographical order.--If /@bytes1@/ and /@bytes2@/ have different length but the shorter one is a-prefix of the longer one then the shorter one is considered to be less than-the longer one. Otherwise the first byte where both differ is used for-comparison. If /@bytes1@/ has a smaller value at that position it is-considered less, otherwise greater than /@bytes2@/.--/Since: 2.32/--}-bytesCompare ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Bytes-    {- ^ /@bytes1@/: a pointer to a 'GI.GLib.Structs.Bytes.Bytes' -}-    -> Bytes-    {- ^ /@bytes2@/: a pointer to a 'GI.GLib.Structs.Bytes.Bytes' to compare with /@bytes1@/ -}-    -> m Int32-    {- ^ __Returns:__ a negative value if /@bytes1@/ is less than /@bytes2@/, a positive value-         if /@bytes1@/ is greater than /@bytes2@/, and zero if /@bytes1@/ is equal to-         /@bytes2@/ -}-bytesCompare bytes1 bytes2 = liftIO $ do-    bytes1' <- unsafeManagedPtrGetPtr bytes1-    bytes2' <- unsafeManagedPtrGetPtr bytes2-    result <- g_bytes_compare bytes1' bytes2'-    touchManagedPtr bytes1-    touchManagedPtr bytes2-    return result--#if ENABLE_OVERLOADING-data BytesCompareMethodInfo-instance (signature ~ (Bytes -> m Int32), MonadIO m) => O.MethodInfo BytesCompareMethodInfo Bytes signature where-    overloadedMethod _ = bytesCompare--#endif---- method Bytes::equal--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bytes1", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GBytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bytes2", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GBytes to compare with @bytes1", 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_bytes_equal" g_bytes_equal :: -    Ptr Bytes ->                            -- bytes1 : TInterface (Name {namespace = "GLib", name = "Bytes"})-    Ptr Bytes ->                            -- bytes2 : TInterface (Name {namespace = "GLib", name = "Bytes"})-    IO CInt--{- |-Compares the two 'GI.GLib.Structs.Bytes.Bytes' values being pointed to and returns-'True' if they are equal.--This function can be passed to @/g_hash_table_new()/@ as the /@keyEqualFunc@/-parameter, when using non-'Nothing' 'GI.GLib.Structs.Bytes.Bytes' pointers as keys in a 'GI.GLib.Structs.HashTable.HashTable'.--/Since: 2.32/--}-bytesEqual ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Bytes-    {- ^ /@bytes1@/: a pointer to a 'GI.GLib.Structs.Bytes.Bytes' -}-    -> Bytes-    {- ^ /@bytes2@/: a pointer to a 'GI.GLib.Structs.Bytes.Bytes' to compare with /@bytes1@/ -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the two keys match. -}-bytesEqual bytes1 bytes2 = liftIO $ do-    bytes1' <- unsafeManagedPtrGetPtr bytes1-    bytes2' <- unsafeManagedPtrGetPtr bytes2-    result <- g_bytes_equal bytes1' bytes2'-    let result' = (/= 0) result-    touchManagedPtr bytes1-    touchManagedPtr bytes2-    return result'--#if ENABLE_OVERLOADING-data BytesEqualMethodInfo-instance (signature ~ (Bytes -> m Bool), MonadIO m) => O.MethodInfo BytesEqualMethodInfo Bytes signature where-    overloadedMethod _ = bytesEqual--#endif---- method Bytes::get_data--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bytes", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to return size of byte data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to return size of byte data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Just (TCArray False (-1) 1 (TBasicType TUInt8))--- throws : False--- Skip return : False--foreign import ccall "g_bytes_get_data" g_bytes_get_data :: -    Ptr Bytes ->                            -- bytes : TInterface (Name {namespace = "GLib", name = "Bytes"})-    Ptr Word64 ->                           -- size : TBasicType TUInt64-    IO (Ptr Word8)--{- |-Get the byte data in the 'GI.GLib.Structs.Bytes.Bytes'. This data should not be modified.--This function will always return the same pointer for a given 'GI.GLib.Structs.Bytes.Bytes'.--'Nothing' may be returned if /@size@/ is 0. This is not guaranteed, as the 'GI.GLib.Structs.Bytes.Bytes'-may represent an empty string with /@data@/ non-'Nothing' and /@size@/ as 0. 'Nothing' will-not be returned if /@size@/ is non-zero.--/Since: 2.32/--}-bytesGetData ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Bytes-    {- ^ /@bytes@/: a 'GI.GLib.Structs.Bytes.Bytes' -}-    -> m (Maybe ByteString)-    {- ^ __Returns:__ -         a pointer to the byte data, or 'Nothing' -}-bytesGetData bytes = liftIO $ do-    bytes' <- unsafeManagedPtrGetPtr bytes-    size <- allocMem :: IO (Ptr Word64)-    result <- g_bytes_get_data bytes' size-    size' <- peek size-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (unpackByteStringWithLength size') result'-        return result''-    touchManagedPtr bytes-    freeMem size-    return maybeResult--#if ENABLE_OVERLOADING-data BytesGetDataMethodInfo-instance (signature ~ (m (Maybe ByteString)), MonadIO m) => O.MethodInfo BytesGetDataMethodInfo Bytes signature where-    overloadedMethod _ = bytesGetData--#endif---- method Bytes::get_size--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bytes", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBytes", 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_bytes_get_size" g_bytes_get_size :: -    Ptr Bytes ->                            -- bytes : TInterface (Name {namespace = "GLib", name = "Bytes"})-    IO Word64--{- |-Get the size of the byte data in the 'GI.GLib.Structs.Bytes.Bytes'.--This function will always return the same value for a given 'GI.GLib.Structs.Bytes.Bytes'.--/Since: 2.32/--}-bytesGetSize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Bytes-    {- ^ /@bytes@/: a 'GI.GLib.Structs.Bytes.Bytes' -}-    -> m Word64-    {- ^ __Returns:__ the size -}-bytesGetSize bytes = liftIO $ do-    bytes' <- unsafeManagedPtrGetPtr bytes-    result <- g_bytes_get_size bytes'-    touchManagedPtr bytes-    return result--#if ENABLE_OVERLOADING-data BytesGetSizeMethodInfo-instance (signature ~ (m Word64), MonadIO m) => O.MethodInfo BytesGetSizeMethodInfo Bytes signature where-    overloadedMethod _ = bytesGetSize--#endif---- method Bytes::hash--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bytes", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GBytes key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_bytes_hash" g_bytes_hash :: -    Ptr Bytes ->                            -- bytes : TInterface (Name {namespace = "GLib", name = "Bytes"})-    IO Word32--{- |-Creates an integer hash code for the byte data in the 'GI.GLib.Structs.Bytes.Bytes'.--This function can be passed to @/g_hash_table_new()/@ as the /@keyHashFunc@/-parameter, when using non-'Nothing' 'GI.GLib.Structs.Bytes.Bytes' pointers as keys in a 'GI.GLib.Structs.HashTable.HashTable'.--/Since: 2.32/--}-bytesHash ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Bytes-    {- ^ /@bytes@/: a pointer to a 'GI.GLib.Structs.Bytes.Bytes' key -}-    -> m Word32-    {- ^ __Returns:__ a hash value corresponding to the key. -}-bytesHash bytes = liftIO $ do-    bytes' <- unsafeManagedPtrGetPtr bytes-    result <- g_bytes_hash bytes'-    touchManagedPtr bytes-    return result--#if ENABLE_OVERLOADING-data BytesHashMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo BytesHashMethodInfo Bytes signature where-    overloadedMethod _ = bytesHash--#endif---- method Bytes::new_from_bytes--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bytes", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "offset which subsection starts at", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of subsection", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Bytes"}))--- throws : False--- Skip return : False--foreign import ccall "g_bytes_new_from_bytes" g_bytes_new_from_bytes :: -    Ptr Bytes ->                            -- bytes : TInterface (Name {namespace = "GLib", name = "Bytes"})-    Word64 ->                               -- offset : TBasicType TUInt64-    Word64 ->                               -- length : TBasicType TUInt64-    IO (Ptr Bytes)--{- |-Creates a 'GI.GLib.Structs.Bytes.Bytes' which is a subsection of another 'GI.GLib.Structs.Bytes.Bytes'. The /@offset@/ +-/@length@/ may not be longer than the size of /@bytes@/.--A reference to /@bytes@/ will be held by the newly created 'GI.GLib.Structs.Bytes.Bytes' until-the byte data is no longer needed.--Since 2.56, if /@offset@/ is 0 and /@length@/ matches the size of /@bytes@/, then-/@bytes@/ will be returned with the reference count incremented by 1. If /@bytes@/-is a slice of another 'GI.GLib.Structs.Bytes.Bytes', then the resulting 'GI.GLib.Structs.Bytes.Bytes' will reference-the same 'GI.GLib.Structs.Bytes.Bytes' instead of /@bytes@/. This allows consumers to simplify the-usage of 'GI.GLib.Structs.Bytes.Bytes' when asynchronously writing to streams.--/Since: 2.32/--}-bytesNewFromBytes ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Bytes-    {- ^ /@bytes@/: a 'GI.GLib.Structs.Bytes.Bytes' -}-    -> Word64-    {- ^ /@offset@/: offset which subsection starts at -}-    -> Word64-    {- ^ /@length@/: length of subsection -}-    -> m Bytes-    {- ^ __Returns:__ a new 'GI.GLib.Structs.Bytes.Bytes' -}-bytesNewFromBytes bytes offset length_ = liftIO $ do-    bytes' <- unsafeManagedPtrGetPtr bytes-    result <- g_bytes_new_from_bytes bytes' offset length_-    checkUnexpectedReturnNULL "bytesNewFromBytes" result-    result' <- (wrapBoxed Bytes) result-    touchManagedPtr bytes-    return result'--#if ENABLE_OVERLOADING-data BytesNewFromBytesMethodInfo-instance (signature ~ (Word64 -> Word64 -> m Bytes), MonadIO m) => O.MethodInfo BytesNewFromBytesMethodInfo Bytes signature where-    overloadedMethod _ = bytesNewFromBytes--#endif---- method Bytes::ref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bytes", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Bytes"}))--- throws : False--- Skip return : False--foreign import ccall "g_bytes_ref" g_bytes_ref :: -    Ptr Bytes ->                            -- bytes : TInterface (Name {namespace = "GLib", name = "Bytes"})-    IO (Ptr Bytes)--{- |-Increase the reference count on /@bytes@/.--/Since: 2.32/--}-bytesRef ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Bytes-    {- ^ /@bytes@/: a 'GI.GLib.Structs.Bytes.Bytes' -}-    -> m Bytes-    {- ^ __Returns:__ the 'GI.GLib.Structs.Bytes.Bytes' -}-bytesRef bytes = liftIO $ do-    bytes' <- unsafeManagedPtrGetPtr bytes-    result <- g_bytes_ref bytes'-    checkUnexpectedReturnNULL "bytesRef" result-    result' <- (wrapBoxed Bytes) result-    touchManagedPtr bytes-    return result'--#if ENABLE_OVERLOADING-data BytesRefMethodInfo-instance (signature ~ (m Bytes), MonadIO m) => O.MethodInfo BytesRefMethodInfo Bytes signature where-    overloadedMethod _ = bytesRef--#endif---- method Bytes::unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bytes", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_bytes_unref" g_bytes_unref :: -    Ptr Bytes ->                            -- bytes : TInterface (Name {namespace = "GLib", name = "Bytes"})-    IO ()--{- |-Releases a reference on /@bytes@/.  This may result in the bytes being-freed. If /@bytes@/ is 'Nothing', it will return immediately.--/Since: 2.32/--}-bytesUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Bytes-    {- ^ /@bytes@/: a 'GI.GLib.Structs.Bytes.Bytes' -}-    -> m ()-bytesUnref bytes = liftIO $ do-    bytes' <- unsafeManagedPtrGetPtr bytes-    g_bytes_unref bytes'-    touchManagedPtr bytes-    return ()--#if ENABLE_OVERLOADING-data BytesUnrefMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo BytesUnrefMethodInfo Bytes signature where-    overloadedMethod _ = bytesUnref--#endif---- method Bytes::unref_to_array--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bytes", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just TByteArray--- throws : False--- Skip return : False--foreign import ccall "g_bytes_unref_to_array" g_bytes_unref_to_array :: -    Ptr Bytes ->                            -- bytes : TInterface (Name {namespace = "GLib", name = "Bytes"})-    IO (Ptr GByteArray)--{- |-Unreferences the bytes, and returns a new mutable 'GI.GLib.Structs.ByteArray.ByteArray' containing-the same byte data.--As an optimization, the byte data is transferred to the array without copying-if this was the last reference to bytes and bytes was created with-'GI.GLib.Structs.Bytes.bytesNew', 'GI.GLib.Structs.Bytes.bytesNewTake' or 'GI.GLib.Functions.byteArrayFreeToBytes'. In all-other cases the data is copied.--/Since: 2.32/--}-bytesUnrefToArray ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Bytes-    {- ^ /@bytes@/: a 'GI.GLib.Structs.Bytes.Bytes' -}-    -> m ByteString-    {- ^ __Returns:__ a new mutable 'GI.GLib.Structs.ByteArray.ByteArray' containing the same byte data -}-bytesUnrefToArray bytes = liftIO $ do-    bytes' <- B.ManagedPtr.disownBoxed bytes-    result <- g_bytes_unref_to_array bytes'-    checkUnexpectedReturnNULL "bytesUnrefToArray" result-    result' <- unpackGByteArray result-    unrefGByteArray result-    touchManagedPtr bytes-    return result'--#if ENABLE_OVERLOADING-data BytesUnrefToArrayMethodInfo-instance (signature ~ (m ByteString), MonadIO m) => O.MethodInfo BytesUnrefToArrayMethodInfo Bytes signature where-    overloadedMethod _ = bytesUnrefToArray--#endif---- method Bytes::unref_to_data--- method type : OrdinaryMethod--- Args : [Arg {argCName = "bytes", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to place the length of the returned data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to place the length of the returned data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Just (TCArray False (-1) 1 (TBasicType TUInt8))--- throws : False--- Skip return : False--foreign import ccall "g_bytes_unref_to_data" g_bytes_unref_to_data :: -    Ptr Bytes ->                            -- bytes : TInterface (Name {namespace = "GLib", name = "Bytes"})-    Ptr Word64 ->                           -- size : TBasicType TUInt64-    IO (Ptr Word8)--{- |-Unreferences the bytes, and returns a pointer the same byte data-contents.--As an optimization, the byte data is returned without copying if this was-the last reference to bytes and bytes was created with 'GI.GLib.Structs.Bytes.bytesNew',-'GI.GLib.Structs.Bytes.bytesNewTake' or 'GI.GLib.Functions.byteArrayFreeToBytes'. In all other cases the-data is copied.--/Since: 2.32/--}-bytesUnrefToData ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Bytes-    {- ^ /@bytes@/: a 'GI.GLib.Structs.Bytes.Bytes' -}-    -> m ByteString-    {- ^ __Returns:__ a pointer to the same byte data, which should be-         freed with 'GI.GLib.Functions.free' -}-bytesUnrefToData bytes = liftIO $ do-    bytes' <- B.ManagedPtr.disownBoxed bytes-    size <- allocMem :: IO (Ptr Word64)-    result <- g_bytes_unref_to_data bytes' size-    size' <- peek size-    checkUnexpectedReturnNULL "bytesUnrefToData" result-    result' <- (unpackByteStringWithLength size') result-    freeMem result-    touchManagedPtr bytes-    freeMem size-    return result'--#if ENABLE_OVERLOADING-data BytesUnrefToDataMethodInfo-instance (signature ~ (m ByteString), MonadIO m) => O.MethodInfo BytesUnrefToDataMethodInfo Bytes signature where-    overloadedMethod _ = bytesUnrefToData--#endif--#if ENABLE_OVERLOADING-type family ResolveBytesMethod (t :: Symbol) (o :: *) :: * where-    ResolveBytesMethod "compare" o = BytesCompareMethodInfo-    ResolveBytesMethod "equal" o = BytesEqualMethodInfo-    ResolveBytesMethod "hash" o = BytesHashMethodInfo-    ResolveBytesMethod "newFromBytes" o = BytesNewFromBytesMethodInfo-    ResolveBytesMethod "ref" o = BytesRefMethodInfo-    ResolveBytesMethod "unref" o = BytesUnrefMethodInfo-    ResolveBytesMethod "unrefToArray" o = BytesUnrefToArrayMethodInfo-    ResolveBytesMethod "unrefToData" o = BytesUnrefToDataMethodInfo-    ResolveBytesMethod "getData" o = BytesGetDataMethodInfo-    ResolveBytesMethod "getSize" o = BytesGetSizeMethodInfo-    ResolveBytesMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveBytesMethod t Bytes, O.MethodInfo info Bytes p) => OL.IsLabel t (Bytes -> 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/GLib/Structs/Bytes.hs-boot
@@ -1,56 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.Bytes 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 Bytes = Bytes (ManagedPtr Bytes)-instance BoxedObject Bytes where-#if ENABLE_OVERLOADING-data BytesCompareMethodInfo-#endif-#if ENABLE_OVERLOADING-data BytesEqualMethodInfo-#endif-#if ENABLE_OVERLOADING-data BytesGetDataMethodInfo-#endif-#if ENABLE_OVERLOADING-data BytesGetSizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data BytesHashMethodInfo-#endif-#if ENABLE_OVERLOADING-data BytesNewFromBytesMethodInfo-#endif-#if ENABLE_OVERLOADING-data BytesRefMethodInfo-#endif-#if ENABLE_OVERLOADING-data BytesUnrefMethodInfo-#endif-#if ENABLE_OVERLOADING-data BytesUnrefToArrayMethodInfo-#endif-#if ENABLE_OVERLOADING-data BytesUnrefToDataMethodInfo-#endif
− GI/GLib/Structs/Checksum.hs
@@ -1,418 +0,0 @@---{- |-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 representing a checksumming operation.-To create a new GChecksum, use 'GI.GLib.Structs.Checksum.checksumNew'. To free-a GChecksum, use 'GI.GLib.Structs.Checksum.checksumFree'.--/Since: 2.16/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.Checksum-    ( ---- * Exported types-    Checksum(..)                            ,-    noChecksum                              ,--- -- * Methods--- ** copy #method:copy#--#if ENABLE_OVERLOADING-    ChecksumCopyMethodInfo                  ,-#endif-    checksumCopy                            ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    ChecksumFreeMethodInfo                  ,-#endif-    checksumFree                            ,----- ** getString #method:getString#--#if ENABLE_OVERLOADING-    ChecksumGetStringMethodInfo             ,-#endif-    checksumGetString                       ,----- ** new #method:new#--    checksumNew                             ,----- ** reset #method:reset#--#if ENABLE_OVERLOADING-    ChecksumResetMethodInfo                 ,-#endif-    checksumReset                           ,----- ** typeGetLength #method:typeGetLength#--    checksumTypeGetLength                   ,----- ** update #method:update#--#if ENABLE_OVERLOADING-    ChecksumUpdateMethodInfo                ,-#endif-    checksumUpdate                          ,-----    ) 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.GLib.Enums as GLib.Enums---- | Memory-managed wrapper type.-newtype Checksum = Checksum (ManagedPtr Checksum)-foreign import ccall "g_checksum_get_type" c_g_checksum_get_type :: -    IO GType--instance BoxedObject Checksum where-    boxedType _ = c_g_checksum_get_type---- | A convenience alias for `Nothing` :: `Maybe` `Checksum`.-noChecksum :: Maybe Checksum-noChecksum = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList Checksum-type instance O.AttributeList Checksum = ChecksumAttributeList-type ChecksumAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method Checksum::new--- method type : Constructor--- Args : [Arg {argCName = "checksum_type", argType = TInterface (Name {namespace = "GLib", name = "ChecksumType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the desired type of checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Checksum"}))--- throws : False--- Skip return : False--foreign import ccall "g_checksum_new" g_checksum_new :: -    CUInt ->                                -- checksum_type : TInterface (Name {namespace = "GLib", name = "ChecksumType"})-    IO (Ptr Checksum)--{- |-Creates a new 'GI.GLib.Structs.Checksum.Checksum', using the checksum algorithm /@checksumType@/.-If the /@checksumType@/ is not known, 'Nothing' is returned.-A 'GI.GLib.Structs.Checksum.Checksum' can be used to compute the checksum, or digest, of an-arbitrary binary blob, using different hashing algorithms.--A 'GI.GLib.Structs.Checksum.Checksum' works by feeding a binary blob through 'GI.GLib.Structs.Checksum.checksumUpdate'-until there is data to be checked; the digest can then be extracted-using 'GI.GLib.Structs.Checksum.checksumGetString', which will return the checksum as a-hexadecimal string; or @/g_checksum_get_digest()/@, which will return a-vector of raw bytes. Once either 'GI.GLib.Structs.Checksum.checksumGetString' or-@/g_checksum_get_digest()/@ have been called on a 'GI.GLib.Structs.Checksum.Checksum', the checksum-will be closed and it won\'t be possible to call 'GI.GLib.Structs.Checksum.checksumUpdate'-on it anymore.--/Since: 2.16/--}-checksumNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Enums.ChecksumType-    {- ^ /@checksumType@/: the desired type of checksum -}-    -> m Checksum-    {- ^ __Returns:__ the newly created 'GI.GLib.Structs.Checksum.Checksum', or 'Nothing'.-  Use 'GI.GLib.Structs.Checksum.checksumFree' to free the memory allocated by it. -}-checksumNew checksumType = liftIO $ do-    let checksumType' = (fromIntegral . fromEnum) checksumType-    result <- g_checksum_new checksumType'-    checkUnexpectedReturnNULL "checksumNew" result-    result' <- (wrapBoxed Checksum) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Checksum::copy--- method type : OrdinaryMethod--- Args : [Arg {argCName = "checksum", argType = TInterface (Name {namespace = "GLib", name = "Checksum"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GChecksum to copy", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Checksum"}))--- throws : False--- Skip return : False--foreign import ccall "g_checksum_copy" g_checksum_copy :: -    Ptr Checksum ->                         -- checksum : TInterface (Name {namespace = "GLib", name = "Checksum"})-    IO (Ptr Checksum)--{- |-Copies a 'GI.GLib.Structs.Checksum.Checksum'. If /@checksum@/ has been closed, by calling-'GI.GLib.Structs.Checksum.checksumGetString' or @/g_checksum_get_digest()/@, the copied-checksum will be closed as well.--/Since: 2.16/--}-checksumCopy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Checksum-    {- ^ /@checksum@/: the 'GI.GLib.Structs.Checksum.Checksum' to copy -}-    -> m Checksum-    {- ^ __Returns:__ the copy of the passed 'GI.GLib.Structs.Checksum.Checksum'. Use 'GI.GLib.Structs.Checksum.checksumFree'-  when finished using it. -}-checksumCopy checksum = liftIO $ do-    checksum' <- unsafeManagedPtrGetPtr checksum-    result <- g_checksum_copy checksum'-    checkUnexpectedReturnNULL "checksumCopy" result-    result' <- (wrapBoxed Checksum) result-    touchManagedPtr checksum-    return result'--#if ENABLE_OVERLOADING-data ChecksumCopyMethodInfo-instance (signature ~ (m Checksum), MonadIO m) => O.MethodInfo ChecksumCopyMethodInfo Checksum signature where-    overloadedMethod _ = checksumCopy--#endif---- method Checksum::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "checksum", argType = TInterface (Name {namespace = "GLib", name = "Checksum"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GChecksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_checksum_free" g_checksum_free :: -    Ptr Checksum ->                         -- checksum : TInterface (Name {namespace = "GLib", name = "Checksum"})-    IO ()--{- |-Frees the memory allocated for /@checksum@/.--/Since: 2.16/--}-checksumFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Checksum-    {- ^ /@checksum@/: a 'GI.GLib.Structs.Checksum.Checksum' -}-    -> m ()-checksumFree checksum = liftIO $ do-    checksum' <- unsafeManagedPtrGetPtr checksum-    g_checksum_free checksum'-    touchManagedPtr checksum-    return ()--#if ENABLE_OVERLOADING-data ChecksumFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo ChecksumFreeMethodInfo Checksum signature where-    overloadedMethod _ = checksumFree--#endif---- method Checksum::get_string--- method type : OrdinaryMethod--- Args : [Arg {argCName = "checksum", argType = TInterface (Name {namespace = "GLib", name = "Checksum"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GChecksum", 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_checksum_get_string" g_checksum_get_string :: -    Ptr Checksum ->                         -- checksum : TInterface (Name {namespace = "GLib", name = "Checksum"})-    IO CString--{- |-Gets the digest as an hexadecimal string.--Once this function has been called the 'GI.GLib.Structs.Checksum.Checksum' can no longer be-updated with 'GI.GLib.Structs.Checksum.checksumUpdate'.--The hexadecimal characters will be lower case.--/Since: 2.16/--}-checksumGetString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Checksum-    {- ^ /@checksum@/: a 'GI.GLib.Structs.Checksum.Checksum' -}-    -> m T.Text-    {- ^ __Returns:__ the hexadecimal representation of the checksum. The-  returned string is owned by the checksum and should not be modified-  or freed. -}-checksumGetString checksum = liftIO $ do-    checksum' <- unsafeManagedPtrGetPtr checksum-    result <- g_checksum_get_string checksum'-    checkUnexpectedReturnNULL "checksumGetString" result-    result' <- cstringToText result-    touchManagedPtr checksum-    return result'--#if ENABLE_OVERLOADING-data ChecksumGetStringMethodInfo-instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo ChecksumGetStringMethodInfo Checksum signature where-    overloadedMethod _ = checksumGetString--#endif---- method Checksum::reset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "checksum", argType = TInterface (Name {namespace = "GLib", name = "Checksum"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GChecksum to reset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_checksum_reset" g_checksum_reset :: -    Ptr Checksum ->                         -- checksum : TInterface (Name {namespace = "GLib", name = "Checksum"})-    IO ()--{- |-Resets the state of the /@checksum@/ back to its initial state.--/Since: 2.18/--}-checksumReset ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Checksum-    {- ^ /@checksum@/: the 'GI.GLib.Structs.Checksum.Checksum' to reset -}-    -> m ()-checksumReset checksum = liftIO $ do-    checksum' <- unsafeManagedPtrGetPtr checksum-    g_checksum_reset checksum'-    touchManagedPtr checksum-    return ()--#if ENABLE_OVERLOADING-data ChecksumResetMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo ChecksumResetMethodInfo Checksum signature where-    overloadedMethod _ = checksumReset--#endif---- method Checksum::update--- method type : OrdinaryMethod--- Args : [Arg {argCName = "checksum", argType = TInterface (Name {namespace = "GLib", name = "Checksum"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GChecksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "buffer used to compute the checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "size of the buffer, or -1 if it is a null-terminated string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "size of the buffer, or -1 if it is a null-terminated string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_checksum_update" g_checksum_update :: -    Ptr Checksum ->                         -- checksum : TInterface (Name {namespace = "GLib", name = "Checksum"})-    Ptr Word8 ->                            -- data : TCArray False (-1) 2 (TBasicType TUInt8)-    Int64 ->                                -- length : TBasicType TInt64-    IO ()--{- |-Feeds /@data@/ into an existing 'GI.GLib.Structs.Checksum.Checksum'. The checksum must still be-open, that is 'GI.GLib.Structs.Checksum.checksumGetString' or @/g_checksum_get_digest()/@ must-not have been called on /@checksum@/.--/Since: 2.16/--}-checksumUpdate ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Checksum-    {- ^ /@checksum@/: a 'GI.GLib.Structs.Checksum.Checksum' -}-    -> ByteString-    {- ^ /@data@/: buffer used to compute the checksum -}-    -> m ()-checksumUpdate checksum data_ = liftIO $ do-    let length_ = fromIntegral $ B.length data_-    checksum' <- unsafeManagedPtrGetPtr checksum-    data_' <- packByteString data_-    g_checksum_update checksum' data_' length_-    touchManagedPtr checksum-    freeMem data_'-    return ()--#if ENABLE_OVERLOADING-data ChecksumUpdateMethodInfo-instance (signature ~ (ByteString -> m ()), MonadIO m) => O.MethodInfo ChecksumUpdateMethodInfo Checksum signature where-    overloadedMethod _ = checksumUpdate--#endif---- method Checksum::type_get_length--- method type : MemberFunction--- Args : [Arg {argCName = "checksum_type", argType = TInterface (Name {namespace = "GLib", name = "ChecksumType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GChecksumType", 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_checksum_type_get_length" g_checksum_type_get_length :: -    CUInt ->                                -- checksum_type : TInterface (Name {namespace = "GLib", name = "ChecksumType"})-    IO Int64--{- |-Gets the length in bytes of digests of type /@checksumType@/--/Since: 2.16/--}-checksumTypeGetLength ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Enums.ChecksumType-    {- ^ /@checksumType@/: a 'GI.GLib.Enums.ChecksumType' -}-    -> m Int64-    {- ^ __Returns:__ the checksum length, or -1 if /@checksumType@/ is-not supported. -}-checksumTypeGetLength checksumType = liftIO $ do-    let checksumType' = (fromIntegral . fromEnum) checksumType-    result <- g_checksum_type_get_length checksumType'-    return result--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveChecksumMethod (t :: Symbol) (o :: *) :: * where-    ResolveChecksumMethod "copy" o = ChecksumCopyMethodInfo-    ResolveChecksumMethod "free" o = ChecksumFreeMethodInfo-    ResolveChecksumMethod "reset" o = ChecksumResetMethodInfo-    ResolveChecksumMethod "update" o = ChecksumUpdateMethodInfo-    ResolveChecksumMethod "getString" o = ChecksumGetStringMethodInfo-    ResolveChecksumMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveChecksumMethod t Checksum, O.MethodInfo info Checksum p) => OL.IsLabel t (Checksum -> 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/GLib/Structs/Checksum.hs-boot
@@ -1,41 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.Checksum 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 Checksum = Checksum (ManagedPtr Checksum)-instance BoxedObject Checksum where-#if ENABLE_OVERLOADING-data ChecksumCopyMethodInfo-#endif-#if ENABLE_OVERLOADING-data ChecksumFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data ChecksumGetStringMethodInfo-#endif-#if ENABLE_OVERLOADING-data ChecksumResetMethodInfo-#endif-#if ENABLE_OVERLOADING-data ChecksumUpdateMethodInfo-#endif
− GI/GLib/Structs/Cond.hs
@@ -1,515 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The 'GI.GLib.Structs.Cond.Cond' struct is an opaque data structure that represents a-condition. Threads can block on a 'GI.GLib.Structs.Cond.Cond' if they find a certain-condition to be false. If other threads change the state of this-condition they signal the 'GI.GLib.Structs.Cond.Cond', and that causes the waiting-threads to be woken up.--Consider the following example of a shared variable.  One or more-threads can wait for data to be published to the variable and when-another thread publishes the data, it can signal one of the waiting-threads to wake up to collect the data.--Here is an example for using GCond to block a thread until a condition-is satisfied:--=== /C code/->->  gpointer current_data = NULL;->  GMutex data_mutex;->  GCond data_cond;->->  void->  push_data (gpointer data)->  {->    g_mutex_lock (&data_mutex);->    current_data = data;->    g_cond_signal (&data_cond);->    g_mutex_unlock (&data_mutex);->  }->->  gpointer->  pop_data (void)->  {->    gpointer data;->->    g_mutex_lock (&data_mutex);->    while (!current_data)->      g_cond_wait (&data_cond, &data_mutex);->    data = current_data;->    current_data = NULL;->    g_mutex_unlock (&data_mutex);->->    return data;->  }--Whenever a thread calls @/pop_data()/@ now, it will wait until-current_data is non-'Nothing', i.e. until some other thread-has called @/push_data()/@.--The example shows that use of a condition variable must always be-paired with a mutex.  Without the use of a mutex, there would be a-race between the check of /@currentData@/ by the while loop in-@/pop_data()/@ and waiting. Specifically, another thread could set-/@currentData@/ after the check, and signal the cond (with nobody-waiting on it) before the first thread goes to sleep. 'GI.GLib.Structs.Cond.Cond' is-specifically useful for its ability to release the mutex and go-to sleep atomically.--It is also important to use the 'GI.GLib.Structs.Cond.condWait' and 'GI.GLib.Structs.Cond.condWaitUntil'-functions only inside a loop which checks for the condition to be-true.  See 'GI.GLib.Structs.Cond.condWait' for an explanation of why the condition may-not be true even after it returns.--If a 'GI.GLib.Structs.Cond.Cond' is allocated in static storage then it can be used-without initialisation.  Otherwise, you should call 'GI.GLib.Structs.Cond.condInit'-on it and 'GI.GLib.Structs.Cond.condClear' when done.--A 'GI.GLib.Structs.Cond.Cond' should only be accessed via the g_cond_ functions.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.Cond-    ( ---- * Exported types-    Cond(..)                                ,-    newZeroCond                             ,-    noCond                                  ,--- -- * Methods--- ** broadcast #method:broadcast#--#if ENABLE_OVERLOADING-    CondBroadcastMethodInfo                 ,-#endif-    condBroadcast                           ,----- ** clear #method:clear#--#if ENABLE_OVERLOADING-    CondClearMethodInfo                     ,-#endif-    condClear                               ,----- ** init #method:init#--#if ENABLE_OVERLOADING-    CondInitMethodInfo                      ,-#endif-    condInit                                ,----- ** signal #method:signal#--#if ENABLE_OVERLOADING-    CondSignalMethodInfo                    ,-#endif-    condSignal                              ,----- ** wait #method:wait#--#if ENABLE_OVERLOADING-    CondWaitMethodInfo                      ,-#endif-    condWait                                ,----- ** waitUntil #method:waitUntil#--#if ENABLE_OVERLOADING-    CondWaitUntilMethodInfo                 ,-#endif-    condWaitUntil                           ,-----    ) 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.GLib.Unions.Mutex as GLib.Mutex---- | Memory-managed wrapper type.-newtype Cond = Cond (ManagedPtr Cond)-instance WrappedPtr Cond where-    wrappedPtrCalloc = callocBytes 16-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 16 >=> wrapPtr Cond)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `Cond` struct initialized to zero.-newZeroCond :: MonadIO m => m Cond-newZeroCond = liftIO $ wrappedPtrCalloc >>= wrapPtr Cond--instance tag ~ 'AttrSet => Constructible Cond tag where-    new _ attrs = do-        o <- newZeroCond-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `Cond`.-noCond :: Maybe Cond-noCond = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList Cond-type instance O.AttributeList Cond = CondAttributeList-type CondAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method Cond::broadcast--- method type : OrdinaryMethod--- Args : [Arg {argCName = "cond", argType = TInterface (Name {namespace = "GLib", name = "Cond"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GCond", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_cond_broadcast" g_cond_broadcast :: -    Ptr Cond ->                             -- cond : TInterface (Name {namespace = "GLib", name = "Cond"})-    IO ()--{- |-If threads are waiting for /@cond@/, all of them are unblocked.-If no threads are waiting for /@cond@/, this function has no effect.-It is good practice to lock the same mutex as the waiting threads-while calling this function, though not required.--}-condBroadcast ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Cond-    {- ^ /@cond@/: a 'GI.GLib.Structs.Cond.Cond' -}-    -> m ()-condBroadcast cond = liftIO $ do-    cond' <- unsafeManagedPtrGetPtr cond-    g_cond_broadcast cond'-    touchManagedPtr cond-    return ()--#if ENABLE_OVERLOADING-data CondBroadcastMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo CondBroadcastMethodInfo Cond signature where-    overloadedMethod _ = condBroadcast--#endif---- method Cond::clear--- method type : OrdinaryMethod--- Args : [Arg {argCName = "cond", argType = TInterface (Name {namespace = "GLib", name = "Cond"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an initialised #GCond", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_cond_clear" g_cond_clear :: -    Ptr Cond ->                             -- cond : TInterface (Name {namespace = "GLib", name = "Cond"})-    IO ()--{- |-Frees the resources allocated to a 'GI.GLib.Structs.Cond.Cond' with 'GI.GLib.Structs.Cond.condInit'.--This function should not be used with a 'GI.GLib.Structs.Cond.Cond' that has been-statically allocated.--Calling 'GI.GLib.Structs.Cond.condClear' for a 'GI.GLib.Structs.Cond.Cond' on which threads are-blocking leads to undefined behaviour.--/Since: 2.32/--}-condClear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Cond-    {- ^ /@cond@/: an initialised 'GI.GLib.Structs.Cond.Cond' -}-    -> m ()-condClear cond = liftIO $ do-    cond' <- unsafeManagedPtrGetPtr cond-    g_cond_clear cond'-    touchManagedPtr cond-    return ()--#if ENABLE_OVERLOADING-data CondClearMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo CondClearMethodInfo Cond signature where-    overloadedMethod _ = condClear--#endif---- method Cond::init--- method type : OrdinaryMethod--- Args : [Arg {argCName = "cond", argType = TInterface (Name {namespace = "GLib", name = "Cond"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an uninitialized #GCond", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_cond_init" g_cond_init :: -    Ptr Cond ->                             -- cond : TInterface (Name {namespace = "GLib", name = "Cond"})-    IO ()--{- |-Initialises a 'GI.GLib.Structs.Cond.Cond' so that it can be used.--This function is useful to initialise a 'GI.GLib.Structs.Cond.Cond' that has been-allocated as part of a larger structure.  It is not necessary to-initialise a 'GI.GLib.Structs.Cond.Cond' that has been statically allocated.--To undo the effect of 'GI.GLib.Structs.Cond.condInit' when a 'GI.GLib.Structs.Cond.Cond' is no longer-needed, use 'GI.GLib.Structs.Cond.condClear'.--Calling 'GI.GLib.Structs.Cond.condInit' on an already-initialised 'GI.GLib.Structs.Cond.Cond' leads-to undefined behaviour.--/Since: 2.32/--}-condInit ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Cond-    {- ^ /@cond@/: an uninitialized 'GI.GLib.Structs.Cond.Cond' -}-    -> m ()-condInit cond = liftIO $ do-    cond' <- unsafeManagedPtrGetPtr cond-    g_cond_init cond'-    touchManagedPtr cond-    return ()--#if ENABLE_OVERLOADING-data CondInitMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo CondInitMethodInfo Cond signature where-    overloadedMethod _ = condInit--#endif---- method Cond::signal--- method type : OrdinaryMethod--- Args : [Arg {argCName = "cond", argType = TInterface (Name {namespace = "GLib", name = "Cond"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GCond", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_cond_signal" g_cond_signal :: -    Ptr Cond ->                             -- cond : TInterface (Name {namespace = "GLib", name = "Cond"})-    IO ()--{- |-If threads are waiting for /@cond@/, at least one of them is unblocked.-If no threads are waiting for /@cond@/, this function has no effect.-It is good practice to hold the same lock as the waiting thread-while calling this function, though not required.--}-condSignal ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Cond-    {- ^ /@cond@/: a 'GI.GLib.Structs.Cond.Cond' -}-    -> m ()-condSignal cond = liftIO $ do-    cond' <- unsafeManagedPtrGetPtr cond-    g_cond_signal cond'-    touchManagedPtr cond-    return ()--#if ENABLE_OVERLOADING-data CondSignalMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo CondSignalMethodInfo Cond signature where-    overloadedMethod _ = condSignal--#endif---- method Cond::wait--- method type : OrdinaryMethod--- Args : [Arg {argCName = "cond", argType = TInterface (Name {namespace = "GLib", name = "Cond"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GCond", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mutex", argType = TInterface (Name {namespace = "GLib", name = "Mutex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMutex that is currently locked", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_cond_wait" g_cond_wait :: -    Ptr Cond ->                             -- cond : TInterface (Name {namespace = "GLib", name = "Cond"})-    Ptr GLib.Mutex.Mutex ->                 -- mutex : TInterface (Name {namespace = "GLib", name = "Mutex"})-    IO ()--{- |-Atomically releases /@mutex@/ and waits until /@cond@/ is signalled.-When this function returns, /@mutex@/ is locked again and owned by the-calling thread.--When using condition variables, it is possible that a spurious wakeup-may occur (ie: 'GI.GLib.Structs.Cond.condWait' returns even though 'GI.GLib.Structs.Cond.condSignal' was-not called).  It\'s also possible that a stolen wakeup may occur.-This is when 'GI.GLib.Structs.Cond.condSignal' is called, but another thread acquires-/@mutex@/ before this thread and modifies the state of the program in-such a way that when 'GI.GLib.Structs.Cond.condWait' is able to return, the expected-condition is no longer met.--For this reason, 'GI.GLib.Structs.Cond.condWait' must always be used in a loop.  See-the documentation for 'GI.GLib.Structs.Cond.Cond' for a complete example.--}-condWait ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Cond-    {- ^ /@cond@/: a 'GI.GLib.Structs.Cond.Cond' -}-    -> GLib.Mutex.Mutex-    {- ^ /@mutex@/: a 'GI.GLib.Unions.Mutex.Mutex' that is currently locked -}-    -> m ()-condWait cond mutex = liftIO $ do-    cond' <- unsafeManagedPtrGetPtr cond-    mutex' <- unsafeManagedPtrGetPtr mutex-    g_cond_wait cond' mutex'-    touchManagedPtr cond-    touchManagedPtr mutex-    return ()--#if ENABLE_OVERLOADING-data CondWaitMethodInfo-instance (signature ~ (GLib.Mutex.Mutex -> m ()), MonadIO m) => O.MethodInfo CondWaitMethodInfo Cond signature where-    overloadedMethod _ = condWait--#endif---- method Cond::wait_until--- method type : OrdinaryMethod--- Args : [Arg {argCName = "cond", argType = TInterface (Name {namespace = "GLib", name = "Cond"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GCond", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mutex", argType = TInterface (Name {namespace = "GLib", name = "Mutex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMutex that is currently locked", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end_time", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the monotonic time to wait until", 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_cond_wait_until" g_cond_wait_until :: -    Ptr Cond ->                             -- cond : TInterface (Name {namespace = "GLib", name = "Cond"})-    Ptr GLib.Mutex.Mutex ->                 -- mutex : TInterface (Name {namespace = "GLib", name = "Mutex"})-    Int64 ->                                -- end_time : TBasicType TInt64-    IO CInt--{- |-Waits until either /@cond@/ is signalled or /@endTime@/ has passed.--As with 'GI.GLib.Structs.Cond.condWait' it is possible that a spurious or stolen wakeup-could occur.  For that reason, waiting on a condition variable should-always be in a loop, based on an explicitly-checked predicate.--'True' is returned if the condition variable was signalled (or in the-case of a spurious wakeup).  'False' is returned if /@endTime@/ has-passed.--The following code shows how to correctly perform a timed wait on a-condition variable (extending the example presented in the-documentation for 'GI.GLib.Structs.Cond.Cond'):---=== /C code/->->gpointer->pop_data_timed (void)->{->  gint64 end_time;->  gpointer data;->->  g_mutex_lock (&data_mutex);->->  end_time = g_get_monotonic_time () + 5 * G_TIME_SPAN_SECOND;->  while (!current_data)->    if (!g_cond_wait_until (&data_cond, &data_mutex, end_time))->      {->        // timeout has passed.->        g_mutex_unlock (&data_mutex);->        return NULL;->      }->->  // there is data for us->  data = current_data;->  current_data = NULL;->->  g_mutex_unlock (&data_mutex);->->  return data;->}---Notice that the end time is calculated once, before entering the-loop and reused.  This is the motivation behind the use of absolute-time on this API -- if a relative time of 5 seconds were passed-directly to the call and a spurious wakeup occurred, the program would-have to start over waiting again (which would lead to a total wait-time of more than 5 seconds).--/Since: 2.32/--}-condWaitUntil ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Cond-    {- ^ /@cond@/: a 'GI.GLib.Structs.Cond.Cond' -}-    -> GLib.Mutex.Mutex-    {- ^ /@mutex@/: a 'GI.GLib.Unions.Mutex.Mutex' that is currently locked -}-    -> Int64-    {- ^ /@endTime@/: the monotonic time to wait until -}-    -> m Bool-    {- ^ __Returns:__ 'True' on a signal, 'False' on a timeout -}-condWaitUntil cond mutex endTime = liftIO $ do-    cond' <- unsafeManagedPtrGetPtr cond-    mutex' <- unsafeManagedPtrGetPtr mutex-    result <- g_cond_wait_until cond' mutex' endTime-    let result' = (/= 0) result-    touchManagedPtr cond-    touchManagedPtr mutex-    return result'--#if ENABLE_OVERLOADING-data CondWaitUntilMethodInfo-instance (signature ~ (GLib.Mutex.Mutex -> Int64 -> m Bool), MonadIO m) => O.MethodInfo CondWaitUntilMethodInfo Cond signature where-    overloadedMethod _ = condWaitUntil--#endif--#if ENABLE_OVERLOADING-type family ResolveCondMethod (t :: Symbol) (o :: *) :: * where-    ResolveCondMethod "broadcast" o = CondBroadcastMethodInfo-    ResolveCondMethod "clear" o = CondClearMethodInfo-    ResolveCondMethod "init" o = CondInitMethodInfo-    ResolveCondMethod "signal" o = CondSignalMethodInfo-    ResolveCondMethod "wait" o = CondWaitMethodInfo-    ResolveCondMethod "waitUntil" o = CondWaitUntilMethodInfo-    ResolveCondMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveCondMethod t Cond, O.MethodInfo info Cond p) => OL.IsLabel t (Cond -> 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/GLib/Structs/Cond.hs-boot
@@ -1,44 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.Cond 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 Cond = Cond (ManagedPtr Cond)-instance WrappedPtr Cond where-#if ENABLE_OVERLOADING-data CondBroadcastMethodInfo-#endif-#if ENABLE_OVERLOADING-data CondClearMethodInfo-#endif-#if ENABLE_OVERLOADING-data CondInitMethodInfo-#endif-#if ENABLE_OVERLOADING-data CondSignalMethodInfo-#endif-#if ENABLE_OVERLOADING-data CondWaitMethodInfo-#endif-#if ENABLE_OVERLOADING-data CondWaitUntilMethodInfo-#endif
− GI/GLib/Structs/Data.hs
@@ -1,79 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The 'GI.GLib.Structs.Data.Data' struct is an opaque data structure to represent a-[Keyed Data List][glib-Keyed-Data-Lists]. It should only be-accessed via the following functions.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.Data-    ( ---- * Exported types-    Data(..)                                ,-    noData                                  ,---    ) 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 Data = Data (ManagedPtr Data)--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?-instance WrappedPtr Data where-    wrappedPtrCalloc = return nullPtr-    wrappedPtrCopy = return-    wrappedPtrFree = Nothing---- | A convenience alias for `Nothing` :: `Maybe` `Data`.-noData :: Maybe Data-noData = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList Data-type instance O.AttributeList Data = DataAttributeList-type DataAttributeList = ('[ ] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveDataMethod (t :: Symbol) (o :: *) :: * where-    ResolveDataMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveDataMethod t Data, O.MethodInfo info Data p) => OL.IsLabel t (Data -> 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/GLib/Structs/Data.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.Data 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 Data = Data (ManagedPtr Data)-instance WrappedPtr Data where
− GI/GLib/Structs/Date.hs
@@ -1,2658 +0,0 @@---{- |-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 day between January 1, Year 1 and a few thousand years in-the future. None of its members should be accessed directly.--If the 'GI.GLib.Structs.Date.Date'-struct is obtained from 'GI.GLib.Structs.Date.dateNew', it will be safe-to mutate but invalid and thus not safe for calendrical computations.--If it\'s declared on the stack, it will contain garbage so must be-initialized with 'GI.GLib.Structs.Date.dateClear'. 'GI.GLib.Structs.Date.dateClear' makes the date invalid-but sane. An invalid date doesn\'t represent a day, it\'s \"empty.\" A date-becomes valid after you set it to a Julian day or you set a day, month,-and year.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.Date-    ( ---- * Exported types-    Date(..)                                ,-    newZeroDate                             ,-    noDate                                  ,--- -- * Methods--- ** addDays #method:addDays#--#if ENABLE_OVERLOADING-    DateAddDaysMethodInfo                   ,-#endif-    dateAddDays                             ,----- ** addMonths #method:addMonths#--#if ENABLE_OVERLOADING-    DateAddMonthsMethodInfo                 ,-#endif-    dateAddMonths                           ,----- ** addYears #method:addYears#--#if ENABLE_OVERLOADING-    DateAddYearsMethodInfo                  ,-#endif-    dateAddYears                            ,----- ** clamp #method:clamp#--#if ENABLE_OVERLOADING-    DateClampMethodInfo                     ,-#endif-    dateClamp                               ,----- ** clear #method:clear#--#if ENABLE_OVERLOADING-    DateClearMethodInfo                     ,-#endif-    dateClear                               ,----- ** compare #method:compare#--#if ENABLE_OVERLOADING-    DateCompareMethodInfo                   ,-#endif-    dateCompare                             ,----- ** copy #method:copy#--#if ENABLE_OVERLOADING-    DateCopyMethodInfo                      ,-#endif-    dateCopy                                ,----- ** daysBetween #method:daysBetween#--#if ENABLE_OVERLOADING-    DateDaysBetweenMethodInfo               ,-#endif-    dateDaysBetween                         ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    DateFreeMethodInfo                      ,-#endif-    dateFree                                ,----- ** getDay #method:getDay#--#if ENABLE_OVERLOADING-    DateGetDayMethodInfo                    ,-#endif-    dateGetDay                              ,----- ** getDayOfYear #method:getDayOfYear#--#if ENABLE_OVERLOADING-    DateGetDayOfYearMethodInfo              ,-#endif-    dateGetDayOfYear                        ,----- ** getDaysInMonth #method:getDaysInMonth#--    dateGetDaysInMonth                      ,----- ** getIso8601WeekOfYear #method:getIso8601WeekOfYear#--#if ENABLE_OVERLOADING-    DateGetIso8601WeekOfYearMethodInfo      ,-#endif-    dateGetIso8601WeekOfYear                ,----- ** getJulian #method:getJulian#--#if ENABLE_OVERLOADING-    DateGetJulianMethodInfo                 ,-#endif-    dateGetJulian                           ,----- ** getMondayWeekOfYear #method:getMondayWeekOfYear#--#if ENABLE_OVERLOADING-    DateGetMondayWeekOfYearMethodInfo       ,-#endif-    dateGetMondayWeekOfYear                 ,----- ** getMondayWeeksInYear #method:getMondayWeeksInYear#--    dateGetMondayWeeksInYear                ,----- ** getMonth #method:getMonth#--#if ENABLE_OVERLOADING-    DateGetMonthMethodInfo                  ,-#endif-    dateGetMonth                            ,----- ** getSundayWeekOfYear #method:getSundayWeekOfYear#--#if ENABLE_OVERLOADING-    DateGetSundayWeekOfYearMethodInfo       ,-#endif-    dateGetSundayWeekOfYear                 ,----- ** getSundayWeeksInYear #method:getSundayWeeksInYear#--    dateGetSundayWeeksInYear                ,----- ** getWeekday #method:getWeekday#--#if ENABLE_OVERLOADING-    DateGetWeekdayMethodInfo                ,-#endif-    dateGetWeekday                          ,----- ** getYear #method:getYear#--#if ENABLE_OVERLOADING-    DateGetYearMethodInfo                   ,-#endif-    dateGetYear                             ,----- ** isFirstOfMonth #method:isFirstOfMonth#--#if ENABLE_OVERLOADING-    DateIsFirstOfMonthMethodInfo            ,-#endif-    dateIsFirstOfMonth                      ,----- ** isLastOfMonth #method:isLastOfMonth#--#if ENABLE_OVERLOADING-    DateIsLastOfMonthMethodInfo             ,-#endif-    dateIsLastOfMonth                       ,----- ** isLeapYear #method:isLeapYear#--    dateIsLeapYear                          ,----- ** new #method:new#--    dateNew                                 ,----- ** newDmy #method:newDmy#--    dateNewDmy                              ,----- ** newJulian #method:newJulian#--    dateNewJulian                           ,----- ** order #method:order#--#if ENABLE_OVERLOADING-    DateOrderMethodInfo                     ,-#endif-    dateOrder                               ,----- ** setDay #method:setDay#--#if ENABLE_OVERLOADING-    DateSetDayMethodInfo                    ,-#endif-    dateSetDay                              ,----- ** setDmy #method:setDmy#--#if ENABLE_OVERLOADING-    DateSetDmyMethodInfo                    ,-#endif-    dateSetDmy                              ,----- ** setJulian #method:setJulian#--#if ENABLE_OVERLOADING-    DateSetJulianMethodInfo                 ,-#endif-    dateSetJulian                           ,----- ** setMonth #method:setMonth#--#if ENABLE_OVERLOADING-    DateSetMonthMethodInfo                  ,-#endif-    dateSetMonth                            ,----- ** setParse #method:setParse#--#if ENABLE_OVERLOADING-    DateSetParseMethodInfo                  ,-#endif-    dateSetParse                            ,----- ** setTime #method:setTime#--#if ENABLE_OVERLOADING-    DateSetTimeMethodInfo                   ,-#endif-    dateSetTime                             ,----- ** setTimeT #method:setTimeT#--#if ENABLE_OVERLOADING-    DateSetTimeTMethodInfo                  ,-#endif-    dateSetTimeT                            ,----- ** setTimeVal #method:setTimeVal#--#if ENABLE_OVERLOADING-    DateSetTimeValMethodInfo                ,-#endif-    dateSetTimeVal                          ,----- ** setYear #method:setYear#--#if ENABLE_OVERLOADING-    DateSetYearMethodInfo                   ,-#endif-    dateSetYear                             ,----- ** strftime #method:strftime#--    dateStrftime                            ,----- ** subtractDays #method:subtractDays#--#if ENABLE_OVERLOADING-    DateSubtractDaysMethodInfo              ,-#endif-    dateSubtractDays                        ,----- ** subtractMonths #method:subtractMonths#--#if ENABLE_OVERLOADING-    DateSubtractMonthsMethodInfo            ,-#endif-    dateSubtractMonths                      ,----- ** subtractYears #method:subtractYears#--#if ENABLE_OVERLOADING-    DateSubtractYearsMethodInfo             ,-#endif-    dateSubtractYears                       ,----- ** toStructTm #method:toStructTm#--#if ENABLE_OVERLOADING-    DateToStructTmMethodInfo                ,-#endif-    dateToStructTm                          ,----- ** valid #method:valid#--#if ENABLE_OVERLOADING-    DateValidMethodInfo                     ,-#endif-    dateValid                               ,----- ** validDay #method:validDay#--    dateValidDay                            ,----- ** validDmy #method:validDmy#--    dateValidDmy                            ,----- ** validJulian #method:validJulian#--    dateValidJulian                         ,----- ** validMonth #method:validMonth#--    dateValidMonth                          ,----- ** validWeekday #method:validWeekday#--    dateValidWeekday                        ,----- ** validYear #method:validYear#--    dateValidYear                           ,----- -- * Properties--- ** day #attr:day#-{- | the day of the day-month-year representation of the date,-    as a number between 1 and 31--}-#if ENABLE_OVERLOADING-    date_day                                ,-#endif-    getDateDay                              ,-    setDateDay                              ,----- ** dmy #attr:dmy#-{- | this is set if /@day@/, /@month@/ and /@year@/ are valid--}-#if ENABLE_OVERLOADING-    date_dmy                                ,-#endif-    getDateDmy                              ,-    setDateDmy                              ,----- ** julian #attr:julian#-{- | this bit is set if /@julianDays@/ is valid--}-#if ENABLE_OVERLOADING-    date_julian                             ,-#endif-    getDateJulian                           ,-    setDateJulian                           ,----- ** julianDays #attr:julianDays#-{- | the Julian representation of the date--}-#if ENABLE_OVERLOADING-    date_julianDays                         ,-#endif-    getDateJulianDays                       ,-    setDateJulianDays                       ,----- ** month #attr:month#-{- | the day of the day-month-year representation of the date,-    as a number between 1 and 12--}-#if ENABLE_OVERLOADING-    date_month                              ,-#endif-    getDateMonth                            ,-    setDateMonth                            ,----- ** year #attr:year#-{- | the day of the day-month-year representation of the date--}-#if ENABLE_OVERLOADING-    date_year                               ,-#endif-    getDateYear                             ,-    setDateYear                             ,-----    ) 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.GLib.Enums as GLib.Enums-import {-# SOURCE #-} qualified GI.GLib.Structs.TimeVal as GLib.TimeVal---- | Memory-managed wrapper type.-newtype Date = Date (ManagedPtr Date)-foreign import ccall "g_date_get_type" c_g_date_get_type :: -    IO GType--instance BoxedObject Date where-    boxedType _ = c_g_date_get_type---- | Construct a `Date` struct initialized to zero.-newZeroDate :: MonadIO m => m Date-newZeroDate = liftIO $ callocBoxedBytes 24 >>= wrapBoxed Date--instance tag ~ 'AttrSet => Constructible Date tag where-    new _ attrs = do-        o <- newZeroDate-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `Date`.-noDate :: Maybe Date-noDate = Nothing--{- |-Get the value of the “@julian_days@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' date #julianDays-@--}-getDateJulianDays :: MonadIO m => Date -> m Word32-getDateJulianDays s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO Word32-    return val--{- |-Set the value of the “@julian_days@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' date [ #julianDays 'Data.GI.Base.Attributes.:=' value ]-@--}-setDateJulianDays :: MonadIO m => Date -> Word32 -> m ()-setDateJulianDays s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: Word32)--#if ENABLE_OVERLOADING-data DateJulianDaysFieldInfo-instance AttrInfo DateJulianDaysFieldInfo where-    type AttrAllowedOps DateJulianDaysFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint DateJulianDaysFieldInfo = (~) Word32-    type AttrBaseTypeConstraint DateJulianDaysFieldInfo = (~) Date-    type AttrGetType DateJulianDaysFieldInfo = Word32-    type AttrLabel DateJulianDaysFieldInfo = "julian_days"-    type AttrOrigin DateJulianDaysFieldInfo = Date-    attrGet _ = getDateJulianDays-    attrSet _ = setDateJulianDays-    attrConstruct = undefined-    attrClear _ = undefined--date_julianDays :: AttrLabelProxy "julianDays"-date_julianDays = AttrLabelProxy--#endif---{- |-Get the value of the “@julian@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' date #julian-@--}-getDateJulian :: MonadIO m => Date -> m Word32-getDateJulian s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 4) :: IO Word32-    return val--{- |-Set the value of the “@julian@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' date [ #julian 'Data.GI.Base.Attributes.:=' value ]-@--}-setDateJulian :: MonadIO m => Date -> Word32 -> m ()-setDateJulian s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 4) (val :: Word32)--#if ENABLE_OVERLOADING-data DateJulianFieldInfo-instance AttrInfo DateJulianFieldInfo where-    type AttrAllowedOps DateJulianFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint DateJulianFieldInfo = (~) Word32-    type AttrBaseTypeConstraint DateJulianFieldInfo = (~) Date-    type AttrGetType DateJulianFieldInfo = Word32-    type AttrLabel DateJulianFieldInfo = "julian"-    type AttrOrigin DateJulianFieldInfo = Date-    attrGet _ = getDateJulian-    attrSet _ = setDateJulian-    attrConstruct = undefined-    attrClear _ = undefined--date_julian :: AttrLabelProxy "julian"-date_julian = AttrLabelProxy--#endif---{- |-Get the value of the “@dmy@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' date #dmy-@--}-getDateDmy :: MonadIO m => Date -> m Word32-getDateDmy s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO Word32-    return val--{- |-Set the value of the “@dmy@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' date [ #dmy 'Data.GI.Base.Attributes.:=' value ]-@--}-setDateDmy :: MonadIO m => Date -> Word32 -> m ()-setDateDmy s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Word32)--#if ENABLE_OVERLOADING-data DateDmyFieldInfo-instance AttrInfo DateDmyFieldInfo where-    type AttrAllowedOps DateDmyFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint DateDmyFieldInfo = (~) Word32-    type AttrBaseTypeConstraint DateDmyFieldInfo = (~) Date-    type AttrGetType DateDmyFieldInfo = Word32-    type AttrLabel DateDmyFieldInfo = "dmy"-    type AttrOrigin DateDmyFieldInfo = Date-    attrGet _ = getDateDmy-    attrSet _ = setDateDmy-    attrConstruct = undefined-    attrClear _ = undefined--date_dmy :: AttrLabelProxy "dmy"-date_dmy = AttrLabelProxy--#endif---{- |-Get the value of the “@day@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' date #day-@--}-getDateDay :: MonadIO m => Date -> m Word32-getDateDay s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 12) :: IO Word32-    return val--{- |-Set the value of the “@day@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' date [ #day 'Data.GI.Base.Attributes.:=' value ]-@--}-setDateDay :: MonadIO m => Date -> Word32 -> m ()-setDateDay s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 12) (val :: Word32)--#if ENABLE_OVERLOADING-data DateDayFieldInfo-instance AttrInfo DateDayFieldInfo where-    type AttrAllowedOps DateDayFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint DateDayFieldInfo = (~) Word32-    type AttrBaseTypeConstraint DateDayFieldInfo = (~) Date-    type AttrGetType DateDayFieldInfo = Word32-    type AttrLabel DateDayFieldInfo = "day"-    type AttrOrigin DateDayFieldInfo = Date-    attrGet _ = getDateDay-    attrSet _ = setDateDay-    attrConstruct = undefined-    attrClear _ = undefined--date_day :: AttrLabelProxy "day"-date_day = AttrLabelProxy--#endif---{- |-Get the value of the “@month@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' date #month-@--}-getDateMonth :: MonadIO m => Date -> m Word32-getDateMonth s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO Word32-    return val--{- |-Set the value of the “@month@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' date [ #month 'Data.GI.Base.Attributes.:=' value ]-@--}-setDateMonth :: MonadIO m => Date -> Word32 -> m ()-setDateMonth s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: Word32)--#if ENABLE_OVERLOADING-data DateMonthFieldInfo-instance AttrInfo DateMonthFieldInfo where-    type AttrAllowedOps DateMonthFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint DateMonthFieldInfo = (~) Word32-    type AttrBaseTypeConstraint DateMonthFieldInfo = (~) Date-    type AttrGetType DateMonthFieldInfo = Word32-    type AttrLabel DateMonthFieldInfo = "month"-    type AttrOrigin DateMonthFieldInfo = Date-    attrGet _ = getDateMonth-    attrSet _ = setDateMonth-    attrConstruct = undefined-    attrClear _ = undefined--date_month :: AttrLabelProxy "month"-date_month = AttrLabelProxy--#endif---{- |-Get the value of the “@year@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' date #year-@--}-getDateYear :: MonadIO m => Date -> m Word32-getDateYear s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 20) :: IO Word32-    return val--{- |-Set the value of the “@year@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' date [ #year 'Data.GI.Base.Attributes.:=' value ]-@--}-setDateYear :: MonadIO m => Date -> Word32 -> m ()-setDateYear s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 20) (val :: Word32)--#if ENABLE_OVERLOADING-data DateYearFieldInfo-instance AttrInfo DateYearFieldInfo where-    type AttrAllowedOps DateYearFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint DateYearFieldInfo = (~) Word32-    type AttrBaseTypeConstraint DateYearFieldInfo = (~) Date-    type AttrGetType DateYearFieldInfo = Word32-    type AttrLabel DateYearFieldInfo = "year"-    type AttrOrigin DateYearFieldInfo = Date-    attrGet _ = getDateYear-    attrSet _ = setDateYear-    attrConstruct = undefined-    attrClear _ = undefined--date_year :: AttrLabelProxy "year"-date_year = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList Date-type instance O.AttributeList Date = DateAttributeList-type DateAttributeList = ('[ '("julianDays", DateJulianDaysFieldInfo), '("julian", DateJulianFieldInfo), '("dmy", DateDmyFieldInfo), '("day", DateDayFieldInfo), '("month", DateMonthFieldInfo), '("year", DateYearFieldInfo)] :: [(Symbol, *)])-#endif---- method Date::new--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Date"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_new" g_date_new :: -    IO (Ptr Date)--{- |-Allocates a 'GI.GLib.Structs.Date.Date' and initializes-it to a sane state. The new date will-be cleared (as if you\'d called 'GI.GLib.Structs.Date.dateClear') but invalid (it won\'t-represent an existing day). Free the return value with 'GI.GLib.Structs.Date.dateFree'.--}-dateNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Date-    {- ^ __Returns:__ a newly-allocated 'GI.GLib.Structs.Date.Date' -}-dateNew  = liftIO $ do-    result <- g_date_new-    checkUnexpectedReturnNULL "dateNew" result-    result' <- (wrapBoxed Date) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Date::new_dmy--- method type : Constructor--- Args : [Arg {argCName = "day", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "day of the month", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "month", argType = TInterface (Name {namespace = "GLib", name = "DateMonth"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "month of the year", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "year", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "year", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Date"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_new_dmy" g_date_new_dmy :: -    Word8 ->                                -- day : TBasicType TUInt8-    CUInt ->                                -- month : TInterface (Name {namespace = "GLib", name = "DateMonth"})-    Word16 ->                               -- year : TBasicType TUInt16-    IO (Ptr Date)--{- |-Like 'GI.GLib.Structs.Date.dateNew', but also sets the value of the date. Assuming the-day-month-year triplet you pass in represents an existing day, the-returned date will be valid.--}-dateNewDmy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word8-    {- ^ /@day@/: day of the month -}-    -> GLib.Enums.DateMonth-    {- ^ /@month@/: month of the year -}-    -> Word16-    {- ^ /@year@/: year -}-    -> m Date-    {- ^ __Returns:__ a newly-allocated 'GI.GLib.Structs.Date.Date' initialized with /@day@/, /@month@/, and /@year@/ -}-dateNewDmy day month year = liftIO $ do-    let month' = (fromIntegral . fromEnum) month-    result <- g_date_new_dmy day month' year-    checkUnexpectedReturnNULL "dateNewDmy" result-    result' <- (wrapBoxed Date) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Date::new_julian--- method type : Constructor--- Args : [Arg {argCName = "julian_day", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "days since January 1, Year 1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Date"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_new_julian" g_date_new_julian :: -    Word32 ->                               -- julian_day : TBasicType TUInt32-    IO (Ptr Date)--{- |-Like 'GI.GLib.Structs.Date.dateNew', but also sets the value of the date. Assuming the-Julian day number you pass in is valid (greater than 0, less than an-unreasonably large number), the returned date will be valid.--}-dateNewJulian ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@julianDay@/: days since January 1, Year 1 -}-    -> m Date-    {- ^ __Returns:__ a newly-allocated 'GI.GLib.Structs.Date.Date' initialized with /@julianDay@/ -}-dateNewJulian julianDay = liftIO $ do-    result <- g_date_new_julian julianDay-    checkUnexpectedReturnNULL "dateNewJulian" result-    result' <- (wrapBoxed Date) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Date::add_days--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate to increment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_days", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of days to move the date forward", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_date_add_days" g_date_add_days :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    Word32 ->                               -- n_days : TBasicType TUInt-    IO ()--{- |-Increments a date some number of days.-To move forward by weeks, add weeks*7 days.-The date must be valid.--}-dateAddDays ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' to increment -}-    -> Word32-    {- ^ /@nDays@/: number of days to move the date forward -}-    -> m ()-dateAddDays date nDays = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    g_date_add_days date' nDays-    touchManagedPtr date-    return ()--#if ENABLE_OVERLOADING-data DateAddDaysMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo DateAddDaysMethodInfo Date signature where-    overloadedMethod _ = dateAddDays--#endif---- method Date::add_months--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate to increment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_months", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of months to move forward", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_date_add_months" g_date_add_months :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    Word32 ->                               -- n_months : TBasicType TUInt-    IO ()--{- |-Increments a date by some number of months.-If the day of the month is greater than 28,-this routine may change the day of the month-(because the destination month may not have-the current day in it). The date must be valid.--}-dateAddMonths ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' to increment -}-    -> Word32-    {- ^ /@nMonths@/: number of months to move forward -}-    -> m ()-dateAddMonths date nMonths = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    g_date_add_months date' nMonths-    touchManagedPtr date-    return ()--#if ENABLE_OVERLOADING-data DateAddMonthsMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo DateAddMonthsMethodInfo Date signature where-    overloadedMethod _ = dateAddMonths--#endif---- method Date::add_years--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate to increment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_years", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of years to move forward", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_date_add_years" g_date_add_years :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    Word32 ->                               -- n_years : TBasicType TUInt-    IO ()--{- |-Increments a date by some number of years.-If the date is February 29, and the destination-year is not a leap year, the date will be changed-to February 28. The date must be valid.--}-dateAddYears ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' to increment -}-    -> Word32-    {- ^ /@nYears@/: number of years to move forward -}-    -> m ()-dateAddYears date nYears = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    g_date_add_years date' nYears-    touchManagedPtr date-    return ()--#if ENABLE_OVERLOADING-data DateAddYearsMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo DateAddYearsMethodInfo Date signature where-    overloadedMethod _ = dateAddYears--#endif---- method Date::clamp--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate to clamp", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "min_date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "minimum accepted value for @date", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "maximum accepted value for @date", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_date_clamp" g_date_clamp :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    Ptr Date ->                             -- min_date : TInterface (Name {namespace = "GLib", name = "Date"})-    Ptr Date ->                             -- max_date : TInterface (Name {namespace = "GLib", name = "Date"})-    IO ()--{- |-If /@date@/ is prior to /@minDate@/, sets /@date@/ equal to /@minDate@/.-If /@date@/ falls after /@maxDate@/, sets /@date@/ equal to /@maxDate@/.-Otherwise, /@date@/ is unchanged.-Either of /@minDate@/ and /@maxDate@/ may be 'Nothing'.-All non-'Nothing' dates must be valid.--}-dateClamp ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' to clamp -}-    -> Date-    {- ^ /@minDate@/: minimum accepted value for /@date@/ -}-    -> Date-    {- ^ /@maxDate@/: maximum accepted value for /@date@/ -}-    -> m ()-dateClamp date minDate maxDate = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    minDate' <- unsafeManagedPtrGetPtr minDate-    maxDate' <- unsafeManagedPtrGetPtr maxDate-    g_date_clamp date' minDate' maxDate'-    touchManagedPtr date-    touchManagedPtr minDate-    touchManagedPtr maxDate-    return ()--#if ENABLE_OVERLOADING-data DateClampMethodInfo-instance (signature ~ (Date -> Date -> m ()), MonadIO m) => O.MethodInfo DateClampMethodInfo Date signature where-    overloadedMethod _ = dateClamp--#endif---- method Date::clear--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to one or more dates to clear", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_dates", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of dates to clear", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_date_clear" g_date_clear :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    Word32 ->                               -- n_dates : TBasicType TUInt-    IO ()--{- |-Initializes one or more 'GI.GLib.Structs.Date.Date' structs to a sane but invalid-state. The cleared dates will not represent an existing date, but will-not contain garbage. Useful to init a date declared on the stack.-Validity can be tested with 'GI.GLib.Structs.Date.dateValid'.--}-dateClear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: pointer to one or more dates to clear -}-    -> Word32-    {- ^ /@nDates@/: number of dates to clear -}-    -> m ()-dateClear date nDates = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    g_date_clear date' nDates-    touchManagedPtr date-    return ()--#if ENABLE_OVERLOADING-data DateClearMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo DateClearMethodInfo Date signature where-    overloadedMethod _ = dateClear--#endif---- method Date::compare--- method type : OrdinaryMethod--- Args : [Arg {argCName = "lhs", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "first date to compare", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rhs", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "second date to compare", 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_date_compare" g_date_compare :: -    Ptr Date ->                             -- lhs : TInterface (Name {namespace = "GLib", name = "Date"})-    Ptr Date ->                             -- rhs : TInterface (Name {namespace = "GLib", name = "Date"})-    IO Int32--{- |-@/qsort()/@-style comparison function for dates.-Both dates must be valid.--}-dateCompare ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@lhs@/: first date to compare -}-    -> Date-    {- ^ /@rhs@/: second date to compare -}-    -> m Int32-    {- ^ __Returns:__ 0 for equal, less than zero if /@lhs@/ is less than /@rhs@/,-    greater than zero if /@lhs@/ is greater than /@rhs@/ -}-dateCompare lhs rhs = liftIO $ do-    lhs' <- unsafeManagedPtrGetPtr lhs-    rhs' <- unsafeManagedPtrGetPtr rhs-    result <- g_date_compare lhs' rhs'-    touchManagedPtr lhs-    touchManagedPtr rhs-    return result--#if ENABLE_OVERLOADING-data DateCompareMethodInfo-instance (signature ~ (Date -> m Int32), MonadIO m) => O.MethodInfo DateCompareMethodInfo Date signature where-    overloadedMethod _ = dateCompare--#endif---- method Date::copy--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate to copy", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Date"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_copy" g_date_copy :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    IO (Ptr Date)--{- |-Copies a GDate to a newly-allocated GDate. If the input was invalid-(as determined by 'GI.GLib.Structs.Date.dateValid'), the invalid state will be copied-as is into the new object.--/Since: 2.56/--}-dateCopy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' to copy -}-    -> m Date-    {- ^ __Returns:__ a newly-allocated 'GI.GLib.Structs.Date.Date' initialized from /@date@/ -}-dateCopy date = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    result <- g_date_copy date'-    checkUnexpectedReturnNULL "dateCopy" result-    result' <- (wrapBoxed Date) result-    touchManagedPtr date-    return result'--#if ENABLE_OVERLOADING-data DateCopyMethodInfo-instance (signature ~ (m Date), MonadIO m) => O.MethodInfo DateCopyMethodInfo Date signature where-    overloadedMethod _ = dateCopy--#endif---- method Date::days_between--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date1", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the first date", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "date2", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the second date", 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_date_days_between" g_date_days_between :: -    Ptr Date ->                             -- date1 : TInterface (Name {namespace = "GLib", name = "Date"})-    Ptr Date ->                             -- date2 : TInterface (Name {namespace = "GLib", name = "Date"})-    IO Int32--{- |-Computes the number of days between two dates.-If /@date2@/ is prior to /@date1@/, the returned value is negative.-Both dates must be valid.--}-dateDaysBetween ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date1@/: the first date -}-    -> Date-    {- ^ /@date2@/: the second date -}-    -> m Int32-    {- ^ __Returns:__ the number of days between /@date1@/ and /@date2@/ -}-dateDaysBetween date1 date2 = liftIO $ do-    date1' <- unsafeManagedPtrGetPtr date1-    date2' <- unsafeManagedPtrGetPtr date2-    result <- g_date_days_between date1' date2'-    touchManagedPtr date1-    touchManagedPtr date2-    return result--#if ENABLE_OVERLOADING-data DateDaysBetweenMethodInfo-instance (signature ~ (Date -> m Int32), MonadIO m) => O.MethodInfo DateDaysBetweenMethodInfo Date signature where-    overloadedMethod _ = dateDaysBetween--#endif---- method Date::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate to free", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_date_free" g_date_free :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    IO ()--{- |-Frees a 'GI.GLib.Structs.Date.Date' returned from 'GI.GLib.Structs.Date.dateNew'.--}-dateFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' to free -}-    -> m ()-dateFree date = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    g_date_free date'-    touchManagedPtr date-    return ()--#if ENABLE_OVERLOADING-data DateFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo DateFreeMethodInfo Date signature where-    overloadedMethod _ = dateFree--#endif---- method Date::get_day--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate to extract the day of the month from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt8)--- throws : False--- Skip return : False--foreign import ccall "g_date_get_day" g_date_get_day :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    IO Word8--{- |-Returns the day of the month. The date must be valid.--}-dateGetDay ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' to extract the day of the month from -}-    -> m Word8-    {- ^ __Returns:__ day of the month -}-dateGetDay date = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    result <- g_date_get_day date'-    touchManagedPtr date-    return result--#if ENABLE_OVERLOADING-data DateGetDayMethodInfo-instance (signature ~ (m Word8), MonadIO m) => O.MethodInfo DateGetDayMethodInfo Date signature where-    overloadedMethod _ = dateGetDay--#endif---- method Date::get_day_of_year--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate to extract day of year from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_date_get_day_of_year" g_date_get_day_of_year :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    IO Word32--{- |-Returns the day of the year, where Jan 1 is the first day of the-year. The date must be valid.--}-dateGetDayOfYear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' to extract day of year from -}-    -> m Word32-    {- ^ __Returns:__ day of the year -}-dateGetDayOfYear date = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    result <- g_date_get_day_of_year date'-    touchManagedPtr date-    return result--#if ENABLE_OVERLOADING-data DateGetDayOfYearMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo DateGetDayOfYearMethodInfo Date signature where-    overloadedMethod _ = dateGetDayOfYear--#endif---- method Date::get_iso8601_week_of_year--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid #GDate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_date_get_iso8601_week_of_year" g_date_get_iso8601_week_of_year :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    IO Word32--{- |-Returns the week of the year, where weeks are interpreted according-to ISO 8601.--/Since: 2.6/--}-dateGetIso8601WeekOfYear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a valid 'GI.GLib.Structs.Date.Date' -}-    -> m Word32-    {- ^ __Returns:__ ISO 8601 week number of the year. -}-dateGetIso8601WeekOfYear date = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    result <- g_date_get_iso8601_week_of_year date'-    touchManagedPtr date-    return result--#if ENABLE_OVERLOADING-data DateGetIso8601WeekOfYearMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo DateGetIso8601WeekOfYearMethodInfo Date signature where-    overloadedMethod _ = dateGetIso8601WeekOfYear--#endif---- method Date::get_julian--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate to extract the Julian day from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "g_date_get_julian" g_date_get_julian :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    IO Word32--{- |-Returns the Julian day or \"serial number\" of the 'GI.GLib.Structs.Date.Date'. The-Julian day is simply the number of days since January 1, Year 1; i.e.,-January 1, Year 1 is Julian day 1; January 2, Year 1 is Julian day 2,-etc. The date must be valid.--}-dateGetJulian ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' to extract the Julian day from -}-    -> m Word32-    {- ^ __Returns:__ Julian day -}-dateGetJulian date = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    result <- g_date_get_julian date'-    touchManagedPtr date-    return result--#if ENABLE_OVERLOADING-data DateGetJulianMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo DateGetJulianMethodInfo Date signature where-    overloadedMethod _ = dateGetJulian--#endif---- method Date::get_monday_week_of_year--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_date_get_monday_week_of_year" g_date_get_monday_week_of_year :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    IO Word32--{- |-Returns the week of the year, where weeks are understood to start on-Monday. If the date is before the first Monday of the year, return 0.-The date must be valid.--}-dateGetMondayWeekOfYear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' -}-    -> m Word32-    {- ^ __Returns:__ week of the year -}-dateGetMondayWeekOfYear date = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    result <- g_date_get_monday_week_of_year date'-    touchManagedPtr date-    return result--#if ENABLE_OVERLOADING-data DateGetMondayWeekOfYearMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo DateGetMondayWeekOfYearMethodInfo Date signature where-    overloadedMethod _ = dateGetMondayWeekOfYear--#endif---- method Date::get_month--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate to get the month from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateMonth"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_get_month" g_date_get_month :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    IO CUInt--{- |-Returns the month of the year. The date must be valid.--}-dateGetMonth ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' to get the month from -}-    -> m GLib.Enums.DateMonth-    {- ^ __Returns:__ month of the year as a 'GI.GLib.Enums.DateMonth' -}-dateGetMonth date = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    result <- g_date_get_month date'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr date-    return result'--#if ENABLE_OVERLOADING-data DateGetMonthMethodInfo-instance (signature ~ (m GLib.Enums.DateMonth), MonadIO m) => O.MethodInfo DateGetMonthMethodInfo Date signature where-    overloadedMethod _ = dateGetMonth--#endif---- method Date::get_sunday_week_of_year--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_date_get_sunday_week_of_year" g_date_get_sunday_week_of_year :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    IO Word32--{- |-Returns the week of the year during which this date falls, if-weeks are understood to begin on Sunday. The date must be valid.-Can return 0 if the day is before the first Sunday of the year.--}-dateGetSundayWeekOfYear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' -}-    -> m Word32-    {- ^ __Returns:__ week number -}-dateGetSundayWeekOfYear date = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    result <- g_date_get_sunday_week_of_year date'-    touchManagedPtr date-    return result--#if ENABLE_OVERLOADING-data DateGetSundayWeekOfYearMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo DateGetSundayWeekOfYearMethodInfo Date signature where-    overloadedMethod _ = dateGetSundayWeekOfYear--#endif---- method Date::get_weekday--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateWeekday"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_get_weekday" g_date_get_weekday :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    IO CUInt--{- |-Returns the day of the week for a 'GI.GLib.Structs.Date.Date'. The date must be valid.--}-dateGetWeekday ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' -}-    -> m GLib.Enums.DateWeekday-    {- ^ __Returns:__ day of the week as a 'GI.GLib.Enums.DateWeekday'. -}-dateGetWeekday date = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    result <- g_date_get_weekday date'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr date-    return result'--#if ENABLE_OVERLOADING-data DateGetWeekdayMethodInfo-instance (signature ~ (m GLib.Enums.DateWeekday), MonadIO m) => O.MethodInfo DateGetWeekdayMethodInfo Date signature where-    overloadedMethod _ = dateGetWeekday--#endif---- method Date::get_year--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt16)--- throws : False--- Skip return : False--foreign import ccall "g_date_get_year" g_date_get_year :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    IO Word16--{- |-Returns the year of a 'GI.GLib.Structs.Date.Date'. The date must be valid.--}-dateGetYear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' -}-    -> m Word16-    {- ^ __Returns:__ year in which the date falls -}-dateGetYear date = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    result <- g_date_get_year date'-    touchManagedPtr date-    return result--#if ENABLE_OVERLOADING-data DateGetYearMethodInfo-instance (signature ~ (m Word16), MonadIO m) => O.MethodInfo DateGetYearMethodInfo Date signature where-    overloadedMethod _ = dateGetYear--#endif---- method Date::is_first_of_month--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate to check", 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_date_is_first_of_month" g_date_is_first_of_month :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    IO CInt--{- |-Returns 'True' if the date is on the first of a month.-The date must be valid.--}-dateIsFirstOfMonth ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' to check -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the date is the first of the month -}-dateIsFirstOfMonth date = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    result <- g_date_is_first_of_month date'-    let result' = (/= 0) result-    touchManagedPtr date-    return result'--#if ENABLE_OVERLOADING-data DateIsFirstOfMonthMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo DateIsFirstOfMonthMethodInfo Date signature where-    overloadedMethod _ = dateIsFirstOfMonth--#endif---- method Date::is_last_of_month--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate to check", 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_date_is_last_of_month" g_date_is_last_of_month :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    IO CInt--{- |-Returns 'True' if the date is the last day of the month.-The date must be valid.--}-dateIsLastOfMonth ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' to check -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the date is the last day of the month -}-dateIsLastOfMonth date = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    result <- g_date_is_last_of_month date'-    let result' = (/= 0) result-    touchManagedPtr date-    return result'--#if ENABLE_OVERLOADING-data DateIsLastOfMonthMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo DateIsLastOfMonthMethodInfo Date signature where-    overloadedMethod _ = dateIsLastOfMonth--#endif---- method Date::order--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date1", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the first date", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "date2", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the second date", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_date_order" g_date_order :: -    Ptr Date ->                             -- date1 : TInterface (Name {namespace = "GLib", name = "Date"})-    Ptr Date ->                             -- date2 : TInterface (Name {namespace = "GLib", name = "Date"})-    IO ()--{- |-Checks if /@date1@/ is less than or equal to /@date2@/,-and swap the values if this is not the case.--}-dateOrder ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date1@/: the first date -}-    -> Date-    {- ^ /@date2@/: the second date -}-    -> m ()-dateOrder date1 date2 = liftIO $ do-    date1' <- unsafeManagedPtrGetPtr date1-    date2' <- unsafeManagedPtrGetPtr date2-    g_date_order date1' date2'-    touchManagedPtr date1-    touchManagedPtr date2-    return ()--#if ENABLE_OVERLOADING-data DateOrderMethodInfo-instance (signature ~ (Date -> m ()), MonadIO m) => O.MethodInfo DateOrderMethodInfo Date signature where-    overloadedMethod _ = dateOrder--#endif---- method Date::set_day--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "day", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "day to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_date_set_day" g_date_set_day :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    Word8 ->                                -- day : TBasicType TUInt8-    IO ()--{- |-Sets the day of the month for a 'GI.GLib.Structs.Date.Date'. If the resulting-day-month-year triplet is invalid, the date will be invalid.--}-dateSetDay ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' -}-    -> Word8-    {- ^ /@day@/: day to set -}-    -> m ()-dateSetDay date day = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    g_date_set_day date' day-    touchManagedPtr date-    return ()--#if ENABLE_OVERLOADING-data DateSetDayMethodInfo-instance (signature ~ (Word8 -> m ()), MonadIO m) => O.MethodInfo DateSetDayMethodInfo Date signature where-    overloadedMethod _ = dateSetDay--#endif---- method Date::set_dmy--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "day", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "day", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "month", argType = TInterface (Name {namespace = "GLib", name = "DateMonth"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "month", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "y", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "year", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_date_set_dmy" g_date_set_dmy :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    Word8 ->                                -- day : TBasicType TUInt8-    CUInt ->                                -- month : TInterface (Name {namespace = "GLib", name = "DateMonth"})-    Word16 ->                               -- y : TBasicType TUInt16-    IO ()--{- |-Sets the value of a 'GI.GLib.Structs.Date.Date' from a day, month, and year.-The day-month-year triplet must be valid; if you aren\'t-sure it is, call 'GI.GLib.Functions.dateValidDmy' to check before you-set it.--}-dateSetDmy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' -}-    -> Word8-    {- ^ /@day@/: day -}-    -> GLib.Enums.DateMonth-    {- ^ /@month@/: month -}-    -> Word16-    {- ^ /@y@/: year -}-    -> m ()-dateSetDmy date day month y = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    let month' = (fromIntegral . fromEnum) month-    g_date_set_dmy date' day month' y-    touchManagedPtr date-    return ()--#if ENABLE_OVERLOADING-data DateSetDmyMethodInfo-instance (signature ~ (Word8 -> GLib.Enums.DateMonth -> Word16 -> m ()), MonadIO m) => O.MethodInfo DateSetDmyMethodInfo Date signature where-    overloadedMethod _ = dateSetDmy--#endif---- method Date::set_julian--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "julian_date", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Julian day number (days since January 1, Year 1)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_date_set_julian" g_date_set_julian :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    Word32 ->                               -- julian_date : TBasicType TUInt32-    IO ()--{- |-Sets the value of a 'GI.GLib.Structs.Date.Date' from a Julian day number.--}-dateSetJulian ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' -}-    -> Word32-    {- ^ /@julianDate@/: Julian day number (days since January 1, Year 1) -}-    -> m ()-dateSetJulian date julianDate = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    g_date_set_julian date' julianDate-    touchManagedPtr date-    return ()--#if ENABLE_OVERLOADING-data DateSetJulianMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo DateSetJulianMethodInfo Date signature where-    overloadedMethod _ = dateSetJulian--#endif---- method Date::set_month--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "month", argType = TInterface (Name {namespace = "GLib", name = "DateMonth"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "month to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_date_set_month" g_date_set_month :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    CUInt ->                                -- month : TInterface (Name {namespace = "GLib", name = "DateMonth"})-    IO ()--{- |-Sets the month of the year for a 'GI.GLib.Structs.Date.Date'.  If the resulting-day-month-year triplet is invalid, the date will be invalid.--}-dateSetMonth ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' -}-    -> GLib.Enums.DateMonth-    {- ^ /@month@/: month to set -}-    -> m ()-dateSetMonth date month = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    let month' = (fromIntegral . fromEnum) month-    g_date_set_month date' month'-    touchManagedPtr date-    return ()--#if ENABLE_OVERLOADING-data DateSetMonthMethodInfo-instance (signature ~ (GLib.Enums.DateMonth -> m ()), MonadIO m) => O.MethodInfo DateSetMonthMethodInfo Date signature where-    overloadedMethod _ = dateSetMonth--#endif---- method Date::set_parse--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate to fill in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "string to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_date_set_parse" g_date_set_parse :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    CString ->                              -- str : TBasicType TUTF8-    IO ()--{- |-Parses a user-inputted string /@str@/, and try to figure out what date it-represents, taking the [current locale][setlocale] into account. If the-string is successfully parsed, the date will be valid after the call.-Otherwise, it will be invalid. You should check using 'GI.GLib.Structs.Date.dateValid'-to see whether the parsing succeeded.--This function is not appropriate for file formats and the like; it-isn\'t very precise, and its exact behavior varies with the locale.-It\'s intended to be a heuristic routine that guesses what the user-means by a given string (and it does work pretty well in that-capacity).--}-dateSetParse ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' to fill in -}-    -> T.Text-    {- ^ /@str@/: string to parse -}-    -> m ()-dateSetParse date str = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    str' <- textToCString str-    g_date_set_parse date' str'-    touchManagedPtr date-    freeMem str'-    return ()--#if ENABLE_OVERLOADING-data DateSetParseMethodInfo-instance (signature ~ (T.Text -> m ()), MonadIO m) => O.MethodInfo DateSetParseMethodInfo Date signature where-    overloadedMethod _ = dateSetParse--#endif---- method Date::set_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GTime value to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_date_set_time" g_date_set_time :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    Int32 ->                                -- time_ : TBasicType TInt32-    IO ()--{-# DEPRECATED dateSetTime ["(Since version 2.10)","Use 'GI.GLib.Structs.Date.dateSetTimeT' instead."] #-}-{- |-Sets the value of a date from a @/GTime/@ value.-The time to date conversion is done using the user\'s current timezone.--}-dateSetTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date'. -}-    -> Int32-    {- ^ /@time_@/: @/GTime/@ value to set. -}-    -> m ()-dateSetTime date time_ = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    g_date_set_time date' time_-    touchManagedPtr date-    return ()--#if ENABLE_OVERLOADING-data DateSetTimeMethodInfo-instance (signature ~ (Int32 -> m ()), MonadIO m) => O.MethodInfo DateSetTimeMethodInfo Date signature where-    overloadedMethod _ = dateSetTime--#endif---- method Date::set_time_t--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timet", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "time_t value to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_date_set_time_t" g_date_set_time_t :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    CLong ->                                -- timet : TBasicType TLong-    IO ()--{- |-Sets the value of a date to the date corresponding to a time-specified as a time_t. The time to date conversion is done using-the user\'s current timezone.--To set the value of a date to the current day, you could write:--=== /C code/->-> time_t now = time (NULL);-> if (now == (time_t) -1)->   // handle the error-> g_date_set_time_t (date, now);---/Since: 2.10/--}-dateSetTimeT ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' -}-    -> CLong-    {- ^ /@timet@/: time_t value to set -}-    -> m ()-dateSetTimeT date timet = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    g_date_set_time_t date' timet-    touchManagedPtr date-    return ()--#if ENABLE_OVERLOADING-data DateSetTimeTMethodInfo-instance (signature ~ (CLong -> m ()), MonadIO m) => O.MethodInfo DateSetTimeTMethodInfo Date signature where-    overloadedMethod _ = dateSetTimeT--#endif---- method Date::set_time_val--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timeval", argType = TInterface (Name {namespace = "GLib", name = "TimeVal"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GTimeVal value to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_date_set_time_val" g_date_set_time_val :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    Ptr GLib.TimeVal.TimeVal ->             -- timeval : TInterface (Name {namespace = "GLib", name = "TimeVal"})-    IO ()--{- |-Sets the value of a date from a 'GI.GLib.Structs.TimeVal.TimeVal' value.  Note that the-/@tvUsec@/ member is ignored, because 'GI.GLib.Structs.Date.Date' can\'t make use of the-additional precision.--The time to date conversion is done using the user\'s current timezone.--/Since: 2.10/--}-dateSetTimeVal ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' -}-    -> GLib.TimeVal.TimeVal-    {- ^ /@timeval@/: 'GI.GLib.Structs.TimeVal.TimeVal' value to set -}-    -> m ()-dateSetTimeVal date timeval = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    timeval' <- unsafeManagedPtrGetPtr timeval-    g_date_set_time_val date' timeval'-    touchManagedPtr date-    touchManagedPtr timeval-    return ()--#if ENABLE_OVERLOADING-data DateSetTimeValMethodInfo-instance (signature ~ (GLib.TimeVal.TimeVal -> m ()), MonadIO m) => O.MethodInfo DateSetTimeValMethodInfo Date signature where-    overloadedMethod _ = dateSetTimeVal--#endif---- method Date::set_year--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "year", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "year to set", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_date_set_year" g_date_set_year :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    Word16 ->                               -- year : TBasicType TUInt16-    IO ()--{- |-Sets the year for a 'GI.GLib.Structs.Date.Date'. If the resulting day-month-year-triplet is invalid, the date will be invalid.--}-dateSetYear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' -}-    -> Word16-    {- ^ /@year@/: year to set -}-    -> m ()-dateSetYear date year = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    g_date_set_year date' year-    touchManagedPtr date-    return ()--#if ENABLE_OVERLOADING-data DateSetYearMethodInfo-instance (signature ~ (Word16 -> m ()), MonadIO m) => O.MethodInfo DateSetYearMethodInfo Date signature where-    overloadedMethod _ = dateSetYear--#endif---- method Date::subtract_days--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate to decrement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_days", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of days to move", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_date_subtract_days" g_date_subtract_days :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    Word32 ->                               -- n_days : TBasicType TUInt-    IO ()--{- |-Moves a date some number of days into the past.-To move by weeks, just move by weeks*7 days.-The date must be valid.--}-dateSubtractDays ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' to decrement -}-    -> Word32-    {- ^ /@nDays@/: number of days to move -}-    -> m ()-dateSubtractDays date nDays = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    g_date_subtract_days date' nDays-    touchManagedPtr date-    return ()--#if ENABLE_OVERLOADING-data DateSubtractDaysMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo DateSubtractDaysMethodInfo Date signature where-    overloadedMethod _ = dateSubtractDays--#endif---- method Date::subtract_months--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate to decrement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_months", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of months to move", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_date_subtract_months" g_date_subtract_months :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    Word32 ->                               -- n_months : TBasicType TUInt-    IO ()--{- |-Moves a date some number of months into the past.-If the current day of the month doesn\'t exist in-the destination month, the day of the month-may change. The date must be valid.--}-dateSubtractMonths ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' to decrement -}-    -> Word32-    {- ^ /@nMonths@/: number of months to move -}-    -> m ()-dateSubtractMonths date nMonths = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    g_date_subtract_months date' nMonths-    touchManagedPtr date-    return ()--#if ENABLE_OVERLOADING-data DateSubtractMonthsMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo DateSubtractMonthsMethodInfo Date signature where-    overloadedMethod _ = dateSubtractMonths--#endif---- method Date::subtract_years--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate to decrement", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_years", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of years to move", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_date_subtract_years" g_date_subtract_years :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    Word32 ->                               -- n_years : TBasicType TUInt-    IO ()--{- |-Moves a date some number of years into the past.-If the current day doesn\'t exist in the destination-year (i.e. it\'s February 29 and you move to a non-leap-year)-then the day is changed to February 29. The date-must be valid.--}-dateSubtractYears ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' to decrement -}-    -> Word32-    {- ^ /@nYears@/: number of years to move -}-    -> m ()-dateSubtractYears date nYears = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    g_date_subtract_years date' nYears-    touchManagedPtr date-    return ()--#if ENABLE_OVERLOADING-data DateSubtractYearsMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo DateSubtractYearsMethodInfo Date signature where-    overloadedMethod _ = dateSubtractYears--#endif---- method Date::to_struct_tm--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate to set the struct tm from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tm", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "struct tm to fill", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_date_to_struct_tm" g_date_to_struct_tm :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    Ptr () ->                               -- tm : TBasicType TPtr-    IO ()--{- |-Fills in the date-related bits of a struct tm using the /@date@/ value.-Initializes the non-date parts with something sane but meaningless.--}-dateToStructTm ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' to set the struct tm from -}-    -> Ptr ()-    {- ^ /@tm@/: struct tm to fill -}-    -> m ()-dateToStructTm date tm = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    g_date_to_struct_tm date' tm-    touchManagedPtr date-    return ()--#if ENABLE_OVERLOADING-data DateToStructTmMethodInfo-instance (signature ~ (Ptr () -> m ()), MonadIO m) => O.MethodInfo DateToStructTmMethodInfo Date signature where-    overloadedMethod _ = dateToStructTm--#endif---- method Date::valid--- method type : OrdinaryMethod--- Args : [Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDate to check", 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_date_valid" g_date_valid :: -    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    IO CInt--{- |-Returns 'True' if the 'GI.GLib.Structs.Date.Date' represents an existing day. The date must not-contain garbage; it should have been initialized with 'GI.GLib.Structs.Date.dateClear'-if it wasn\'t allocated by one of the 'GI.GLib.Structs.Date.dateNew' variants.--}-dateValid ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Date-    {- ^ /@date@/: a 'GI.GLib.Structs.Date.Date' to check -}-    -> m Bool-    {- ^ __Returns:__ Whether the date is valid -}-dateValid date = liftIO $ do-    date' <- unsafeManagedPtrGetPtr date-    result <- g_date_valid date'-    let result' = (/= 0) result-    touchManagedPtr date-    return result'--#if ENABLE_OVERLOADING-data DateValidMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo DateValidMethodInfo Date signature where-    overloadedMethod _ = dateValid--#endif---- method Date::get_days_in_month--- method type : MemberFunction--- Args : [Arg {argCName = "month", argType = TInterface (Name {namespace = "GLib", name = "DateMonth"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "month", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "year", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "year", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt8)--- throws : False--- Skip return : False--foreign import ccall "g_date_get_days_in_month" g_date_get_days_in_month :: -    CUInt ->                                -- month : TInterface (Name {namespace = "GLib", name = "DateMonth"})-    Word16 ->                               -- year : TBasicType TUInt16-    IO Word8--{- |-Returns the number of days in a month, taking leap-years into account.--}-dateGetDaysInMonth ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Enums.DateMonth-    {- ^ /@month@/: month -}-    -> Word16-    {- ^ /@year@/: year -}-    -> m Word8-    {- ^ __Returns:__ number of days in /@month@/ during the /@year@/ -}-dateGetDaysInMonth month year = liftIO $ do-    let month' = (fromIntegral . fromEnum) month-    result <- g_date_get_days_in_month month' year-    return result--#if ENABLE_OVERLOADING-#endif---- method Date::get_monday_weeks_in_year--- method type : MemberFunction--- Args : [Arg {argCName = "year", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a year", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt8)--- throws : False--- Skip return : False--foreign import ccall "g_date_get_monday_weeks_in_year" g_date_get_monday_weeks_in_year :: -    Word16 ->                               -- year : TBasicType TUInt16-    IO Word8--{- |-Returns the number of weeks in the year, where weeks-are taken to start on Monday. Will be 52 or 53. The-date must be valid. (Years always have 52 7-day periods,-plus 1 or 2 extra days depending on whether it\'s a leap-year. This function is basically telling you how many-Mondays are in the year, i.e. there are 53 Mondays if-one of the extra days happens to be a Monday.)--}-dateGetMondayWeeksInYear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word16-    {- ^ /@year@/: a year -}-    -> m Word8-    {- ^ __Returns:__ number of Mondays in the year -}-dateGetMondayWeeksInYear year = liftIO $ do-    result <- g_date_get_monday_weeks_in_year year-    return result--#if ENABLE_OVERLOADING-#endif---- method Date::get_sunday_weeks_in_year--- method type : MemberFunction--- Args : [Arg {argCName = "year", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "year to count weeks in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt8)--- throws : False--- Skip return : False--foreign import ccall "g_date_get_sunday_weeks_in_year" g_date_get_sunday_weeks_in_year :: -    Word16 ->                               -- year : TBasicType TUInt16-    IO Word8--{- |-Returns the number of weeks in the year, where weeks-are taken to start on Sunday. Will be 52 or 53. The-date must be valid. (Years always have 52 7-day periods,-plus 1 or 2 extra days depending on whether it\'s a leap-year. This function is basically telling you how many-Sundays are in the year, i.e. there are 53 Sundays if-one of the extra days happens to be a Sunday.)--}-dateGetSundayWeeksInYear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word16-    {- ^ /@year@/: year to count weeks in -}-    -> m Word8-    {- ^ __Returns:__ the number of weeks in /@year@/ -}-dateGetSundayWeeksInYear year = liftIO $ do-    result <- g_date_get_sunday_weeks_in_year year-    return result--#if ENABLE_OVERLOADING-#endif---- method Date::is_leap_year--- method type : MemberFunction--- Args : [Arg {argCName = "year", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "year to check", 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_date_is_leap_year" g_date_is_leap_year :: -    Word16 ->                               -- year : TBasicType TUInt16-    IO CInt--{- |-Returns 'True' if the year is a leap year.--For the purposes of this function, leap year is every year-divisible by 4 unless that year is divisible by 100. If it-is divisible by 100 it would be a leap year only if that year-is also divisible by 400.--}-dateIsLeapYear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word16-    {- ^ /@year@/: year to check -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the year is a leap year -}-dateIsLeapYear year = liftIO $ do-    result <- g_date_is_leap_year year-    let result' = (/= 0) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Date::strftime--- method type : MemberFunction--- Args : [Arg {argCName = "s", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "destination buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "slen", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "buffer size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "format string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "date", argType = TInterface (Name {namespace = "GLib", name = "Date"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "valid #GDate", 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_date_strftime" g_date_strftime :: -    CString ->                              -- s : TBasicType TUTF8-    Word64 ->                               -- slen : TBasicType TUInt64-    CString ->                              -- format : TBasicType TUTF8-    Ptr Date ->                             -- date : TInterface (Name {namespace = "GLib", name = "Date"})-    IO Word64--{- |-Generates a printed representation of the date, in a-[locale][setlocale]-specific way.-Works just like the platform\'s C library @/strftime()/@ function,-but only accepts date-related formats; time-related formats-give undefined results. Date must be valid. Unlike @/strftime()/@-(which uses the locale encoding), works on a UTF-8 format-string and stores a UTF-8 result.--This function does not provide any conversion specifiers in-addition to those implemented by the platform\'s C library.-For example, don\'t expect that using 'GI.GLib.Functions.dateStrftime' would-make the %F provided by the C99 @/strftime()/@ work on Windows-where the C library only complies to C89.--}-dateStrftime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@s@/: destination buffer -}-    -> Word64-    {- ^ /@slen@/: buffer size -}-    -> T.Text-    {- ^ /@format@/: format string -}-    -> Date-    {- ^ /@date@/: valid 'GI.GLib.Structs.Date.Date' -}-    -> m Word64-    {- ^ __Returns:__ number of characters written to the buffer, or 0 the buffer was too small -}-dateStrftime s slen format date = liftIO $ do-    s' <- textToCString s-    format' <- textToCString format-    date' <- unsafeManagedPtrGetPtr date-    result <- g_date_strftime s' slen format' date'-    touchManagedPtr date-    freeMem s'-    freeMem format'-    return result--#if ENABLE_OVERLOADING-#endif---- method Date::valid_day--- method type : MemberFunction--- Args : [Arg {argCName = "day", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "day to check", 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_date_valid_day" g_date_valid_day :: -    Word8 ->                                -- day : TBasicType TUInt8-    IO CInt--{- |-Returns 'True' if the day of the month is valid (a day is valid if it\'s-between 1 and 31 inclusive).--}-dateValidDay ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word8-    {- ^ /@day@/: day to check -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the day is valid -}-dateValidDay day = liftIO $ do-    result <- g_date_valid_day day-    let result' = (/= 0) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Date::valid_dmy--- method type : MemberFunction--- Args : [Arg {argCName = "day", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "day", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "month", argType = TInterface (Name {namespace = "GLib", name = "DateMonth"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "month", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "year", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "year", 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_date_valid_dmy" g_date_valid_dmy :: -    Word8 ->                                -- day : TBasicType TUInt8-    CUInt ->                                -- month : TInterface (Name {namespace = "GLib", name = "DateMonth"})-    Word16 ->                               -- year : TBasicType TUInt16-    IO CInt--{- |-Returns 'True' if the day-month-year triplet forms a valid, existing day-in the range of days 'GI.GLib.Structs.Date.Date' understands (Year 1 or later, no more than-a few thousand years in the future).--}-dateValidDmy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word8-    {- ^ /@day@/: day -}-    -> GLib.Enums.DateMonth-    {- ^ /@month@/: month -}-    -> Word16-    {- ^ /@year@/: year -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the date is a valid one -}-dateValidDmy day month year = liftIO $ do-    let month' = (fromIntegral . fromEnum) month-    result <- g_date_valid_dmy day month' year-    let result' = (/= 0) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Date::valid_julian--- method type : MemberFunction--- Args : [Arg {argCName = "julian_date", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Julian day to check", 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_date_valid_julian" g_date_valid_julian :: -    Word32 ->                               -- julian_date : TBasicType TUInt32-    IO CInt--{- |-Returns 'True' if the Julian day is valid. Anything greater than zero-is basically a valid Julian, though there is a 32-bit limit.--}-dateValidJulian ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@julianDate@/: Julian day to check -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the Julian day is valid -}-dateValidJulian julianDate = liftIO $ do-    result <- g_date_valid_julian julianDate-    let result' = (/= 0) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Date::valid_month--- method type : MemberFunction--- Args : [Arg {argCName = "month", argType = TInterface (Name {namespace = "GLib", name = "DateMonth"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "month", 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_date_valid_month" g_date_valid_month :: -    CUInt ->                                -- month : TInterface (Name {namespace = "GLib", name = "DateMonth"})-    IO CInt--{- |-Returns 'True' if the month value is valid. The 12 'GI.GLib.Enums.DateMonth'-enumeration values are the only valid months.--}-dateValidMonth ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Enums.DateMonth-    {- ^ /@month@/: month -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the month is valid -}-dateValidMonth month = liftIO $ do-    let month' = (fromIntegral . fromEnum) month-    result <- g_date_valid_month month'-    let result' = (/= 0) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Date::valid_weekday--- method type : MemberFunction--- Args : [Arg {argCName = "weekday", argType = TInterface (Name {namespace = "GLib", name = "DateWeekday"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "weekday", 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_date_valid_weekday" g_date_valid_weekday :: -    CUInt ->                                -- weekday : TInterface (Name {namespace = "GLib", name = "DateWeekday"})-    IO CInt--{- |-Returns 'True' if the weekday is valid. The seven 'GI.GLib.Enums.DateWeekday' enumeration-values are the only valid weekdays.--}-dateValidWeekday ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.Enums.DateWeekday-    {- ^ /@weekday@/: weekday -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the weekday is valid -}-dateValidWeekday weekday = liftIO $ do-    let weekday' = (fromIntegral . fromEnum) weekday-    result <- g_date_valid_weekday weekday'-    let result' = (/= 0) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Date::valid_year--- method type : MemberFunction--- Args : [Arg {argCName = "year", argType = TBasicType TUInt16, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "year", 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_date_valid_year" g_date_valid_year :: -    Word16 ->                               -- year : TBasicType TUInt16-    IO CInt--{- |-Returns 'True' if the year is valid. Any year greater than 0 is valid,-though there is a 16-bit limit to what 'GI.GLib.Structs.Date.Date' will understand.--}-dateValidYear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word16-    {- ^ /@year@/: year -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the year is valid -}-dateValidYear year = liftIO $ do-    result <- g_date_valid_year year-    let result' = (/= 0) result-    return result'--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveDateMethod (t :: Symbol) (o :: *) :: * where-    ResolveDateMethod "addDays" o = DateAddDaysMethodInfo-    ResolveDateMethod "addMonths" o = DateAddMonthsMethodInfo-    ResolveDateMethod "addYears" o = DateAddYearsMethodInfo-    ResolveDateMethod "clamp" o = DateClampMethodInfo-    ResolveDateMethod "clear" o = DateClearMethodInfo-    ResolveDateMethod "compare" o = DateCompareMethodInfo-    ResolveDateMethod "copy" o = DateCopyMethodInfo-    ResolveDateMethod "daysBetween" o = DateDaysBetweenMethodInfo-    ResolveDateMethod "free" o = DateFreeMethodInfo-    ResolveDateMethod "isFirstOfMonth" o = DateIsFirstOfMonthMethodInfo-    ResolveDateMethod "isLastOfMonth" o = DateIsLastOfMonthMethodInfo-    ResolveDateMethod "order" o = DateOrderMethodInfo-    ResolveDateMethod "subtractDays" o = DateSubtractDaysMethodInfo-    ResolveDateMethod "subtractMonths" o = DateSubtractMonthsMethodInfo-    ResolveDateMethod "subtractYears" o = DateSubtractYearsMethodInfo-    ResolveDateMethod "toStructTm" o = DateToStructTmMethodInfo-    ResolveDateMethod "valid" o = DateValidMethodInfo-    ResolveDateMethod "getDay" o = DateGetDayMethodInfo-    ResolveDateMethod "getDayOfYear" o = DateGetDayOfYearMethodInfo-    ResolveDateMethod "getIso8601WeekOfYear" o = DateGetIso8601WeekOfYearMethodInfo-    ResolveDateMethod "getJulian" o = DateGetJulianMethodInfo-    ResolveDateMethod "getMondayWeekOfYear" o = DateGetMondayWeekOfYearMethodInfo-    ResolveDateMethod "getMonth" o = DateGetMonthMethodInfo-    ResolveDateMethod "getSundayWeekOfYear" o = DateGetSundayWeekOfYearMethodInfo-    ResolveDateMethod "getWeekday" o = DateGetWeekdayMethodInfo-    ResolveDateMethod "getYear" o = DateGetYearMethodInfo-    ResolveDateMethod "setDay" o = DateSetDayMethodInfo-    ResolveDateMethod "setDmy" o = DateSetDmyMethodInfo-    ResolveDateMethod "setJulian" o = DateSetJulianMethodInfo-    ResolveDateMethod "setMonth" o = DateSetMonthMethodInfo-    ResolveDateMethod "setParse" o = DateSetParseMethodInfo-    ResolveDateMethod "setTime" o = DateSetTimeMethodInfo-    ResolveDateMethod "setTimeT" o = DateSetTimeTMethodInfo-    ResolveDateMethod "setTimeVal" o = DateSetTimeValMethodInfo-    ResolveDateMethod "setYear" o = DateSetYearMethodInfo-    ResolveDateMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveDateMethod t Date, O.MethodInfo info Date p) => OL.IsLabel t (Date -> 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/GLib/Structs/Date.hs-boot
@@ -1,131 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.Date 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 Date = Date (ManagedPtr Date)-instance BoxedObject Date where-#if ENABLE_OVERLOADING-data DateAddDaysMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateAddMonthsMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateAddYearsMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateClampMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateClearMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateCompareMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateCopyMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateDaysBetweenMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateGetDayMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateGetDayOfYearMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateGetIso8601WeekOfYearMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateGetJulianMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateGetMondayWeekOfYearMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateGetMonthMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateGetSundayWeekOfYearMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateGetWeekdayMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateGetYearMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateIsFirstOfMonthMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateIsLastOfMonthMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateOrderMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateSetDayMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateSetDmyMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateSetJulianMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateSetMonthMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateSetParseMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateSetTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateSetTimeTMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateSetTimeValMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateSetYearMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateSubtractDaysMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateSubtractMonthsMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateSubtractYearsMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateToStructTmMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateValidMethodInfo-#endif
− GI/GLib/Structs/DateTime.hs
@@ -1,2714 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--@GDateTime@ is an opaque structure whose members-cannot be accessed directly.--/Since: 2.26/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.DateTime-    ( ---- * Exported types-    DateTime(..)                            ,-    noDateTime                              ,--- -- * Methods--- ** add #method:add#--#if ENABLE_OVERLOADING-    DateTimeAddMethodInfo                   ,-#endif-    dateTimeAdd                             ,----- ** addDays #method:addDays#--#if ENABLE_OVERLOADING-    DateTimeAddDaysMethodInfo               ,-#endif-    dateTimeAddDays                         ,----- ** addFull #method:addFull#--#if ENABLE_OVERLOADING-    DateTimeAddFullMethodInfo               ,-#endif-    dateTimeAddFull                         ,----- ** addHours #method:addHours#--#if ENABLE_OVERLOADING-    DateTimeAddHoursMethodInfo              ,-#endif-    dateTimeAddHours                        ,----- ** addMinutes #method:addMinutes#--#if ENABLE_OVERLOADING-    DateTimeAddMinutesMethodInfo            ,-#endif-    dateTimeAddMinutes                      ,----- ** addMonths #method:addMonths#--#if ENABLE_OVERLOADING-    DateTimeAddMonthsMethodInfo             ,-#endif-    dateTimeAddMonths                       ,----- ** addSeconds #method:addSeconds#--#if ENABLE_OVERLOADING-    DateTimeAddSecondsMethodInfo            ,-#endif-    dateTimeAddSeconds                      ,----- ** addWeeks #method:addWeeks#--#if ENABLE_OVERLOADING-    DateTimeAddWeeksMethodInfo              ,-#endif-    dateTimeAddWeeks                        ,----- ** addYears #method:addYears#--#if ENABLE_OVERLOADING-    DateTimeAddYearsMethodInfo              ,-#endif-    dateTimeAddYears                        ,----- ** compare #method:compare#--    dateTimeCompare                         ,----- ** difference #method:difference#--#if ENABLE_OVERLOADING-    DateTimeDifferenceMethodInfo            ,-#endif-    dateTimeDifference                      ,----- ** equal #method:equal#--    dateTimeEqual                           ,----- ** format #method:format#--#if ENABLE_OVERLOADING-    DateTimeFormatMethodInfo                ,-#endif-    dateTimeFormat                          ,----- ** getDayOfMonth #method:getDayOfMonth#--#if ENABLE_OVERLOADING-    DateTimeGetDayOfMonthMethodInfo         ,-#endif-    dateTimeGetDayOfMonth                   ,----- ** getDayOfWeek #method:getDayOfWeek#--#if ENABLE_OVERLOADING-    DateTimeGetDayOfWeekMethodInfo          ,-#endif-    dateTimeGetDayOfWeek                    ,----- ** getDayOfYear #method:getDayOfYear#--#if ENABLE_OVERLOADING-    DateTimeGetDayOfYearMethodInfo          ,-#endif-    dateTimeGetDayOfYear                    ,----- ** getHour #method:getHour#--#if ENABLE_OVERLOADING-    DateTimeGetHourMethodInfo               ,-#endif-    dateTimeGetHour                         ,----- ** getMicrosecond #method:getMicrosecond#--#if ENABLE_OVERLOADING-    DateTimeGetMicrosecondMethodInfo        ,-#endif-    dateTimeGetMicrosecond                  ,----- ** getMinute #method:getMinute#--#if ENABLE_OVERLOADING-    DateTimeGetMinuteMethodInfo             ,-#endif-    dateTimeGetMinute                       ,----- ** getMonth #method:getMonth#--#if ENABLE_OVERLOADING-    DateTimeGetMonthMethodInfo              ,-#endif-    dateTimeGetMonth                        ,----- ** getSecond #method:getSecond#--#if ENABLE_OVERLOADING-    DateTimeGetSecondMethodInfo             ,-#endif-    dateTimeGetSecond                       ,----- ** getSeconds #method:getSeconds#--#if ENABLE_OVERLOADING-    DateTimeGetSecondsMethodInfo            ,-#endif-    dateTimeGetSeconds                      ,----- ** getTimezone #method:getTimezone#--#if ENABLE_OVERLOADING-    DateTimeGetTimezoneMethodInfo           ,-#endif-    dateTimeGetTimezone                     ,----- ** getTimezoneAbbreviation #method:getTimezoneAbbreviation#--#if ENABLE_OVERLOADING-    DateTimeGetTimezoneAbbreviationMethodInfo,-#endif-    dateTimeGetTimezoneAbbreviation         ,----- ** getUtcOffset #method:getUtcOffset#--#if ENABLE_OVERLOADING-    DateTimeGetUtcOffsetMethodInfo          ,-#endif-    dateTimeGetUtcOffset                    ,----- ** getWeekNumberingYear #method:getWeekNumberingYear#--#if ENABLE_OVERLOADING-    DateTimeGetWeekNumberingYearMethodInfo  ,-#endif-    dateTimeGetWeekNumberingYear            ,----- ** getWeekOfYear #method:getWeekOfYear#--#if ENABLE_OVERLOADING-    DateTimeGetWeekOfYearMethodInfo         ,-#endif-    dateTimeGetWeekOfYear                   ,----- ** getYear #method:getYear#--#if ENABLE_OVERLOADING-    DateTimeGetYearMethodInfo               ,-#endif-    dateTimeGetYear                         ,----- ** getYmd #method:getYmd#--#if ENABLE_OVERLOADING-    DateTimeGetYmdMethodInfo                ,-#endif-    dateTimeGetYmd                          ,----- ** hash #method:hash#--    dateTimeHash                            ,----- ** isDaylightSavings #method:isDaylightSavings#--#if ENABLE_OVERLOADING-    DateTimeIsDaylightSavingsMethodInfo     ,-#endif-    dateTimeIsDaylightSavings               ,----- ** new #method:new#--    dateTimeNew                             ,----- ** newFromIso8601 #method:newFromIso8601#--    dateTimeNewFromIso8601                  ,----- ** newFromTimevalLocal #method:newFromTimevalLocal#--    dateTimeNewFromTimevalLocal             ,----- ** newFromTimevalUtc #method:newFromTimevalUtc#--    dateTimeNewFromTimevalUtc               ,----- ** newFromUnixLocal #method:newFromUnixLocal#--    dateTimeNewFromUnixLocal                ,----- ** newFromUnixUtc #method:newFromUnixUtc#--    dateTimeNewFromUnixUtc                  ,----- ** newLocal #method:newLocal#--    dateTimeNewLocal                        ,----- ** newNow #method:newNow#--    dateTimeNewNow                          ,----- ** newNowLocal #method:newNowLocal#--    dateTimeNewNowLocal                     ,----- ** newNowUtc #method:newNowUtc#--    dateTimeNewNowUtc                       ,----- ** newUtc #method:newUtc#--    dateTimeNewUtc                          ,----- ** ref #method:ref#--#if ENABLE_OVERLOADING-    DateTimeRefMethodInfo                   ,-#endif-    dateTimeRef                             ,----- ** toLocal #method:toLocal#--#if ENABLE_OVERLOADING-    DateTimeToLocalMethodInfo               ,-#endif-    dateTimeToLocal                         ,----- ** toTimeval #method:toTimeval#--#if ENABLE_OVERLOADING-    DateTimeToTimevalMethodInfo             ,-#endif-    dateTimeToTimeval                       ,----- ** toTimezone #method:toTimezone#--#if ENABLE_OVERLOADING-    DateTimeToTimezoneMethodInfo            ,-#endif-    dateTimeToTimezone                      ,----- ** toUnix #method:toUnix#--#if ENABLE_OVERLOADING-    DateTimeToUnixMethodInfo                ,-#endif-    dateTimeToUnix                          ,----- ** toUtc #method:toUtc#--#if ENABLE_OVERLOADING-    DateTimeToUtcMethodInfo                 ,-#endif-    dateTimeToUtc                           ,----- ** unref #method:unref#--#if ENABLE_OVERLOADING-    DateTimeUnrefMethodInfo                 ,-#endif-    dateTimeUnref                           ,-----    ) 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.GLib.Structs.TimeVal as GLib.TimeVal-import {-# SOURCE #-} qualified GI.GLib.Structs.TimeZone as GLib.TimeZone---- | Memory-managed wrapper type.-newtype DateTime = DateTime (ManagedPtr DateTime)-foreign import ccall "g_date_time_get_type" c_g_date_time_get_type :: -    IO GType--instance BoxedObject DateTime where-    boxedType _ = c_g_date_time_get_type---- | A convenience alias for `Nothing` :: `Maybe` `DateTime`.-noDateTime :: Maybe DateTime-noDateTime = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList DateTime-type instance O.AttributeList DateTime = DateTimeAttributeList-type DateTimeAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method DateTime::new--- method type : Constructor--- Args : [Arg {argCName = "tz", argType = TInterface (Name {namespace = "GLib", name = "TimeZone"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimeZone", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "year", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the year component of the date", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "month", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the month component of the date", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "day", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the day component of the date", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hour", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the hour component of the date", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minute", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minute component of the date", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "seconds", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of seconds past the minute", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_new" g_date_time_new :: -    Ptr GLib.TimeZone.TimeZone ->           -- tz : TInterface (Name {namespace = "GLib", name = "TimeZone"})-    Int32 ->                                -- year : TBasicType TInt-    Int32 ->                                -- month : TBasicType TInt-    Int32 ->                                -- day : TBasicType TInt-    Int32 ->                                -- hour : TBasicType TInt-    Int32 ->                                -- minute : TBasicType TInt-    CDouble ->                              -- seconds : TBasicType TDouble-    IO (Ptr DateTime)--{- |-Creates a new 'GI.GLib.Structs.DateTime.DateTime' corresponding to the given date and time in-the time zone /@tz@/.--The /@year@/ must be between 1 and 9999, /@month@/ between 1 and 12 and /@day@/-between 1 and 28, 29, 30 or 31 depending on the month and the year.--/@hour@/ must be between 0 and 23 and /@minute@/ must be between 0 and 59.--/@seconds@/ must be at least 0.0 and must be strictly less than 60.0.-It will be rounded down to the nearest microsecond.--If the given time is not representable in the given time zone (for-example, 02:30 on March 14th 2010 in Toronto, due to daylight savings-time) then the time will be rounded up to the nearest existing time-(in this case, 03:00).  If this matters to you then you should verify-the return value for containing the same as the numbers you gave.--In the case that the given time is ambiguous in the given time zone-(for example, 01:30 on November 7th 2010 in Toronto, due to daylight-savings time) then the time falling within standard (ie:-non-daylight) time is taken.--It not considered a programmer error for the values to this function-to be out of range, but in the case that they are, the function will-return 'Nothing'.--You should release the return value by calling 'GI.GLib.Structs.DateTime.dateTimeUnref'-when you are done with it.--/Since: 2.26/--}-dateTimeNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.TimeZone.TimeZone-    {- ^ /@tz@/: a 'GI.GLib.Structs.TimeZone.TimeZone' -}-    -> Int32-    {- ^ /@year@/: the year component of the date -}-    -> Int32-    {- ^ /@month@/: the month component of the date -}-    -> Int32-    {- ^ /@day@/: the day component of the date -}-    -> Int32-    {- ^ /@hour@/: the hour component of the date -}-    -> Int32-    {- ^ /@minute@/: the minute component of the date -}-    -> Double-    {- ^ /@seconds@/: the number of seconds past the minute -}-    -> m DateTime-    {- ^ __Returns:__ a new 'GI.GLib.Structs.DateTime.DateTime', or 'Nothing' -}-dateTimeNew tz year month day hour minute seconds = liftIO $ do-    tz' <- unsafeManagedPtrGetPtr tz-    let seconds' = realToFrac seconds-    result <- g_date_time_new tz' year month day hour minute seconds'-    checkUnexpectedReturnNULL "dateTimeNew" result-    result' <- (wrapBoxed DateTime) result-    touchManagedPtr tz-    return result'--#if ENABLE_OVERLOADING-#endif---- method DateTime::new_from_iso8601--- method type : Constructor--- Args : [Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an ISO 8601 formatted time string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_tz", argType = TInterface (Name {namespace = "GLib", name = "TimeZone"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GTimeZone to use if the text doesn't contain a\n                         timezone, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_new_from_iso8601" g_date_time_new_from_iso8601 :: -    CString ->                              -- text : TBasicType TUTF8-    Ptr GLib.TimeZone.TimeZone ->           -- default_tz : TInterface (Name {namespace = "GLib", name = "TimeZone"})-    IO (Ptr DateTime)--{- |-Creates a 'GI.GLib.Structs.DateTime.DateTime' corresponding to the given-<https://en.wikipedia.org/wiki/ISO_8601 ISO 8601 formatted string>-/@text@/. ISO 8601 strings of the form \<date>\<sep>\<time>\<tz> are supported.--\<sep> is the separator and can be either \'T\', \'t\' or \' \'.--\<date> is in the form:--* @YYYY-MM-DD@ - Year\/month\/day, e.g. 2016-08-24.-* @YYYYMMDD@ - Same as above without dividers.-* @YYYY-DDD@ - Ordinal day where DDD is from 001 to 366, e.g. 2016-237.-* @YYYYDDD@ - Same as above without dividers.-* @YYYY-Www-D@ - Week day where ww is from 01 to 52 and D from 1-7,-e.g. 2016-W34-3.-* @YYYYWwwD@ - Same as above without dividers.---\<time> is in the form:--* @hh:mm:ss(.sss)@ - Hours, minutes, seconds (subseconds), e.g. 22:10:42.123.-* @hhmmss(.sss)@ - Same as above without dividers.---\<tz> is an optional timezone suffix of the form:--* @Z@ - UTC.-* @+hh:mm@ or @-hh:mm@ - Offset from UTC in hours and minutes, e.g. +12:00.-* @+hh@ or @-hh@ - Offset from UTC in hours, e.g. +12.---If the timezone is not provided in /@text@/ it must be provided in /@defaultTz@/-(this field is otherwise ignored).--This call can fail (returning 'Nothing') if /@text@/ is not a valid ISO 8601-formatted string.--You should release the return value by calling 'GI.GLib.Structs.DateTime.dateTimeUnref'-when you are done with it.--/Since: 2.56/--}-dateTimeNewFromIso8601 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@text@/: an ISO 8601 formatted time string. -}-    -> Maybe (GLib.TimeZone.TimeZone)-    {- ^ /@defaultTz@/: a 'GI.GLib.Structs.TimeZone.TimeZone' to use if the text doesn\'t contain a-                         timezone, or 'Nothing'. -}-    -> m (Maybe DateTime)-    {- ^ __Returns:__ a new 'GI.GLib.Structs.DateTime.DateTime', or 'Nothing' -}-dateTimeNewFromIso8601 text defaultTz = liftIO $ do-    text' <- textToCString text-    maybeDefaultTz <- case defaultTz of-        Nothing -> return nullPtr-        Just jDefaultTz -> do-            jDefaultTz' <- unsafeManagedPtrGetPtr jDefaultTz-            return jDefaultTz'-    result <- g_date_time_new_from_iso8601 text' maybeDefaultTz-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (wrapBoxed DateTime) result'-        return result''-    whenJust defaultTz touchManagedPtr-    freeMem text'-    return maybeResult--#if ENABLE_OVERLOADING-#endif---- method DateTime::new_from_timeval_local--- method type : Constructor--- Args : [Arg {argCName = "tv", argType = TInterface (Name {namespace = "GLib", name = "TimeVal"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimeVal", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_new_from_timeval_local" g_date_time_new_from_timeval_local :: -    Ptr GLib.TimeVal.TimeVal ->             -- tv : TInterface (Name {namespace = "GLib", name = "TimeVal"})-    IO (Ptr DateTime)--{- |-Creates a 'GI.GLib.Structs.DateTime.DateTime' corresponding to the given 'GI.GLib.Structs.TimeVal.TimeVal' /@tv@/ in the-local time zone.--The time contained in a 'GI.GLib.Structs.TimeVal.TimeVal' is always stored in the form of-seconds elapsed since 1970-01-01 00:00:00 UTC, regardless of the-local time offset.--This call can fail (returning 'Nothing') if /@tv@/ represents a time outside-of the supported range of 'GI.GLib.Structs.DateTime.DateTime'.--You should release the return value by calling 'GI.GLib.Structs.DateTime.dateTimeUnref'-when you are done with it.--/Since: 2.26/--}-dateTimeNewFromTimevalLocal ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.TimeVal.TimeVal-    {- ^ /@tv@/: a 'GI.GLib.Structs.TimeVal.TimeVal' -}-    -> m DateTime-    {- ^ __Returns:__ a new 'GI.GLib.Structs.DateTime.DateTime', or 'Nothing' -}-dateTimeNewFromTimevalLocal tv = liftIO $ do-    tv' <- unsafeManagedPtrGetPtr tv-    result <- g_date_time_new_from_timeval_local tv'-    checkUnexpectedReturnNULL "dateTimeNewFromTimevalLocal" result-    result' <- (wrapBoxed DateTime) result-    touchManagedPtr tv-    return result'--#if ENABLE_OVERLOADING-#endif---- method DateTime::new_from_timeval_utc--- method type : Constructor--- Args : [Arg {argCName = "tv", argType = TInterface (Name {namespace = "GLib", name = "TimeVal"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimeVal", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_new_from_timeval_utc" g_date_time_new_from_timeval_utc :: -    Ptr GLib.TimeVal.TimeVal ->             -- tv : TInterface (Name {namespace = "GLib", name = "TimeVal"})-    IO (Ptr DateTime)--{- |-Creates a 'GI.GLib.Structs.DateTime.DateTime' corresponding to the given 'GI.GLib.Structs.TimeVal.TimeVal' /@tv@/ in UTC.--The time contained in a 'GI.GLib.Structs.TimeVal.TimeVal' is always stored in the form of-seconds elapsed since 1970-01-01 00:00:00 UTC.--This call can fail (returning 'Nothing') if /@tv@/ represents a time outside-of the supported range of 'GI.GLib.Structs.DateTime.DateTime'.--You should release the return value by calling 'GI.GLib.Structs.DateTime.dateTimeUnref'-when you are done with it.--/Since: 2.26/--}-dateTimeNewFromTimevalUtc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.TimeVal.TimeVal-    {- ^ /@tv@/: a 'GI.GLib.Structs.TimeVal.TimeVal' -}-    -> m DateTime-    {- ^ __Returns:__ a new 'GI.GLib.Structs.DateTime.DateTime', or 'Nothing' -}-dateTimeNewFromTimevalUtc tv = liftIO $ do-    tv' <- unsafeManagedPtrGetPtr tv-    result <- g_date_time_new_from_timeval_utc tv'-    checkUnexpectedReturnNULL "dateTimeNewFromTimevalUtc" result-    result' <- (wrapBoxed DateTime) result-    touchManagedPtr tv-    return result'--#if ENABLE_OVERLOADING-#endif---- method DateTime::new_from_unix_local--- method type : Constructor--- Args : [Arg {argCName = "t", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the Unix time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_new_from_unix_local" g_date_time_new_from_unix_local :: -    Int64 ->                                -- t : TBasicType TInt64-    IO (Ptr DateTime)--{- |-Creates a 'GI.GLib.Structs.DateTime.DateTime' corresponding to the given Unix time /@t@/ in the-local time zone.--Unix time is the number of seconds that have elapsed since 1970-01-01-00:00:00 UTC, regardless of the local time offset.--This call can fail (returning 'Nothing') if /@t@/ represents a time outside-of the supported range of 'GI.GLib.Structs.DateTime.DateTime'.--You should release the return value by calling 'GI.GLib.Structs.DateTime.dateTimeUnref'-when you are done with it.--/Since: 2.26/--}-dateTimeNewFromUnixLocal ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int64-    {- ^ /@t@/: the Unix time -}-    -> m DateTime-    {- ^ __Returns:__ a new 'GI.GLib.Structs.DateTime.DateTime', or 'Nothing' -}-dateTimeNewFromUnixLocal t = liftIO $ do-    result <- g_date_time_new_from_unix_local t-    checkUnexpectedReturnNULL "dateTimeNewFromUnixLocal" result-    result' <- (wrapBoxed DateTime) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method DateTime::new_from_unix_utc--- method type : Constructor--- Args : [Arg {argCName = "t", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the Unix time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_new_from_unix_utc" g_date_time_new_from_unix_utc :: -    Int64 ->                                -- t : TBasicType TInt64-    IO (Ptr DateTime)--{- |-Creates a 'GI.GLib.Structs.DateTime.DateTime' corresponding to the given Unix time /@t@/ in UTC.--Unix time is the number of seconds that have elapsed since 1970-01-01-00:00:00 UTC.--This call can fail (returning 'Nothing') if /@t@/ represents a time outside-of the supported range of 'GI.GLib.Structs.DateTime.DateTime'.--You should release the return value by calling 'GI.GLib.Structs.DateTime.dateTimeUnref'-when you are done with it.--/Since: 2.26/--}-dateTimeNewFromUnixUtc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int64-    {- ^ /@t@/: the Unix time -}-    -> m DateTime-    {- ^ __Returns:__ a new 'GI.GLib.Structs.DateTime.DateTime', or 'Nothing' -}-dateTimeNewFromUnixUtc t = liftIO $ do-    result <- g_date_time_new_from_unix_utc t-    checkUnexpectedReturnNULL "dateTimeNewFromUnixUtc" result-    result' <- (wrapBoxed DateTime) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method DateTime::new_local--- method type : Constructor--- Args : [Arg {argCName = "year", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the year component of the date", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "month", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the month component of the date", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "day", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the day component of the date", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hour", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the hour component of the date", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minute", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minute component of the date", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "seconds", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of seconds past the minute", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_new_local" g_date_time_new_local :: -    Int32 ->                                -- year : TBasicType TInt-    Int32 ->                                -- month : TBasicType TInt-    Int32 ->                                -- day : TBasicType TInt-    Int32 ->                                -- hour : TBasicType TInt-    Int32 ->                                -- minute : TBasicType TInt-    CDouble ->                              -- seconds : TBasicType TDouble-    IO (Ptr DateTime)--{- |-Creates a new 'GI.GLib.Structs.DateTime.DateTime' corresponding to the given date and time in-the local time zone.--This call is equivalent to calling 'GI.GLib.Structs.DateTime.dateTimeNew' with the time-zone returned by 'GI.GLib.Structs.TimeZone.timeZoneNewLocal'.--/Since: 2.26/--}-dateTimeNewLocal ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@year@/: the year component of the date -}-    -> Int32-    {- ^ /@month@/: the month component of the date -}-    -> Int32-    {- ^ /@day@/: the day component of the date -}-    -> Int32-    {- ^ /@hour@/: the hour component of the date -}-    -> Int32-    {- ^ /@minute@/: the minute component of the date -}-    -> Double-    {- ^ /@seconds@/: the number of seconds past the minute -}-    -> m DateTime-    {- ^ __Returns:__ a 'GI.GLib.Structs.DateTime.DateTime', or 'Nothing' -}-dateTimeNewLocal year month day hour minute seconds = liftIO $ do-    let seconds' = realToFrac seconds-    result <- g_date_time_new_local year month day hour minute seconds'-    checkUnexpectedReturnNULL "dateTimeNewLocal" result-    result' <- (wrapBoxed DateTime) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method DateTime::new_now--- method type : Constructor--- Args : [Arg {argCName = "tz", argType = TInterface (Name {namespace = "GLib", name = "TimeZone"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimeZone", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_new_now" g_date_time_new_now :: -    Ptr GLib.TimeZone.TimeZone ->           -- tz : TInterface (Name {namespace = "GLib", name = "TimeZone"})-    IO (Ptr DateTime)--{- |-Creates a 'GI.GLib.Structs.DateTime.DateTime' corresponding to this exact instant in the given-time zone /@tz@/.  The time is as accurate as the system allows, to a-maximum accuracy of 1 microsecond.--This function will always succeed unless the system clock is set to-truly insane values (or unless GLib is still being used after the-year 9999).--You should release the return value by calling 'GI.GLib.Structs.DateTime.dateTimeUnref'-when you are done with it.--/Since: 2.26/--}-dateTimeNewNow ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.TimeZone.TimeZone-    {- ^ /@tz@/: a 'GI.GLib.Structs.TimeZone.TimeZone' -}-    -> m DateTime-    {- ^ __Returns:__ a new 'GI.GLib.Structs.DateTime.DateTime', or 'Nothing' -}-dateTimeNewNow tz = liftIO $ do-    tz' <- unsafeManagedPtrGetPtr tz-    result <- g_date_time_new_now tz'-    checkUnexpectedReturnNULL "dateTimeNewNow" result-    result' <- (wrapBoxed DateTime) result-    touchManagedPtr tz-    return result'--#if ENABLE_OVERLOADING-#endif---- method DateTime::new_now_local--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_new_now_local" g_date_time_new_now_local :: -    IO (Ptr DateTime)--{- |-Creates a 'GI.GLib.Structs.DateTime.DateTime' corresponding to this exact instant in the local-time zone.--This is equivalent to calling 'GI.GLib.Structs.DateTime.dateTimeNewNow' with the time-zone returned by 'GI.GLib.Structs.TimeZone.timeZoneNewLocal'.--/Since: 2.26/--}-dateTimeNewNowLocal ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m DateTime-    {- ^ __Returns:__ a new 'GI.GLib.Structs.DateTime.DateTime', or 'Nothing' -}-dateTimeNewNowLocal  = liftIO $ do-    result <- g_date_time_new_now_local-    checkUnexpectedReturnNULL "dateTimeNewNowLocal" result-    result' <- (wrapBoxed DateTime) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method DateTime::new_now_utc--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_new_now_utc" g_date_time_new_now_utc :: -    IO (Ptr DateTime)--{- |-Creates a 'GI.GLib.Structs.DateTime.DateTime' corresponding to this exact instant in UTC.--This is equivalent to calling 'GI.GLib.Structs.DateTime.dateTimeNewNow' with the time-zone returned by 'GI.GLib.Structs.TimeZone.timeZoneNewUtc'.--/Since: 2.26/--}-dateTimeNewNowUtc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m DateTime-    {- ^ __Returns:__ a new 'GI.GLib.Structs.DateTime.DateTime', or 'Nothing' -}-dateTimeNewNowUtc  = liftIO $ do-    result <- g_date_time_new_now_utc-    checkUnexpectedReturnNULL "dateTimeNewNowUtc" result-    result' <- (wrapBoxed DateTime) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method DateTime::new_utc--- method type : Constructor--- Args : [Arg {argCName = "year", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the year component of the date", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "month", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the month component of the date", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "day", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the day component of the date", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hour", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the hour component of the date", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minute", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the minute component of the date", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "seconds", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of seconds past the minute", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_new_utc" g_date_time_new_utc :: -    Int32 ->                                -- year : TBasicType TInt-    Int32 ->                                -- month : TBasicType TInt-    Int32 ->                                -- day : TBasicType TInt-    Int32 ->                                -- hour : TBasicType TInt-    Int32 ->                                -- minute : TBasicType TInt-    CDouble ->                              -- seconds : TBasicType TDouble-    IO (Ptr DateTime)--{- |-Creates a new 'GI.GLib.Structs.DateTime.DateTime' corresponding to the given date and time in-UTC.--This call is equivalent to calling 'GI.GLib.Structs.DateTime.dateTimeNew' with the time-zone returned by 'GI.GLib.Structs.TimeZone.timeZoneNewUtc'.--/Since: 2.26/--}-dateTimeNewUtc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@year@/: the year component of the date -}-    -> Int32-    {- ^ /@month@/: the month component of the date -}-    -> Int32-    {- ^ /@day@/: the day component of the date -}-    -> Int32-    {- ^ /@hour@/: the hour component of the date -}-    -> Int32-    {- ^ /@minute@/: the minute component of the date -}-    -> Double-    {- ^ /@seconds@/: the number of seconds past the minute -}-    -> m DateTime-    {- ^ __Returns:__ a 'GI.GLib.Structs.DateTime.DateTime', or 'Nothing' -}-dateTimeNewUtc year month day hour minute seconds = liftIO $ do-    let seconds' = realToFrac seconds-    result <- g_date_time_new_utc year month day hour minute seconds'-    checkUnexpectedReturnNULL "dateTimeNewUtc" result-    result' <- (wrapBoxed DateTime) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method DateTime::add--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timespan", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimeSpan", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_add" g_date_time_add :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    Int64 ->                                -- timespan : TBasicType TInt64-    IO (Ptr DateTime)--{- |-Creates a copy of /@datetime@/ and adds the specified timespan to the copy.--/Since: 2.26/--}-dateTimeAdd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> Int64-    {- ^ /@timespan@/: a @/GTimeSpan/@ -}-    -> m DateTime-    {- ^ __Returns:__ the newly created 'GI.GLib.Structs.DateTime.DateTime' which should be freed with-  'GI.GLib.Structs.DateTime.dateTimeUnref'. -}-dateTimeAdd datetime timespan = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_add datetime' timespan-    checkUnexpectedReturnNULL "dateTimeAdd" result-    result' <- (wrapBoxed DateTime) result-    touchManagedPtr datetime-    return result'--#if ENABLE_OVERLOADING-data DateTimeAddMethodInfo-instance (signature ~ (Int64 -> m DateTime), MonadIO m) => O.MethodInfo DateTimeAddMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeAdd--#endif---- method DateTime::add_days--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "days", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of days", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_add_days" g_date_time_add_days :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    Int32 ->                                -- days : TBasicType TInt-    IO (Ptr DateTime)--{- |-Creates a copy of /@datetime@/ and adds the specified number of days to the-copy. Add negative values to subtract days.--/Since: 2.26/--}-dateTimeAddDays ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> Int32-    {- ^ /@days@/: the number of days -}-    -> m DateTime-    {- ^ __Returns:__ the newly created 'GI.GLib.Structs.DateTime.DateTime' which should be freed with-  'GI.GLib.Structs.DateTime.dateTimeUnref'. -}-dateTimeAddDays datetime days = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_add_days datetime' days-    checkUnexpectedReturnNULL "dateTimeAddDays" result-    result' <- (wrapBoxed DateTime) result-    touchManagedPtr datetime-    return result'--#if ENABLE_OVERLOADING-data DateTimeAddDaysMethodInfo-instance (signature ~ (Int32 -> m DateTime), MonadIO m) => O.MethodInfo DateTimeAddDaysMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeAddDays--#endif---- method DateTime::add_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "years", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of years to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "months", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of months to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "days", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of days to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hours", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of hours to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minutes", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of minutes to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "seconds", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of seconds to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_add_full" g_date_time_add_full :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    Int32 ->                                -- years : TBasicType TInt-    Int32 ->                                -- months : TBasicType TInt-    Int32 ->                                -- days : TBasicType TInt-    Int32 ->                                -- hours : TBasicType TInt-    Int32 ->                                -- minutes : TBasicType TInt-    CDouble ->                              -- seconds : TBasicType TDouble-    IO (Ptr DateTime)--{- |-Creates a new 'GI.GLib.Structs.DateTime.DateTime' adding the specified values to the current date and-time in /@datetime@/. Add negative values to subtract.--/Since: 2.26/--}-dateTimeAddFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> Int32-    {- ^ /@years@/: the number of years to add -}-    -> Int32-    {- ^ /@months@/: the number of months to add -}-    -> Int32-    {- ^ /@days@/: the number of days to add -}-    -> Int32-    {- ^ /@hours@/: the number of hours to add -}-    -> Int32-    {- ^ /@minutes@/: the number of minutes to add -}-    -> Double-    {- ^ /@seconds@/: the number of seconds to add -}-    -> m DateTime-    {- ^ __Returns:__ the newly created 'GI.GLib.Structs.DateTime.DateTime' that should be freed with-  'GI.GLib.Structs.DateTime.dateTimeUnref'. -}-dateTimeAddFull datetime years months days hours minutes seconds = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    let seconds' = realToFrac seconds-    result <- g_date_time_add_full datetime' years months days hours minutes seconds'-    checkUnexpectedReturnNULL "dateTimeAddFull" result-    result' <- (wrapBoxed DateTime) result-    touchManagedPtr datetime-    return result'--#if ENABLE_OVERLOADING-data DateTimeAddFullMethodInfo-instance (signature ~ (Int32 -> Int32 -> Int32 -> Int32 -> Int32 -> Double -> m DateTime), MonadIO m) => O.MethodInfo DateTimeAddFullMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeAddFull--#endif---- method DateTime::add_hours--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hours", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of hours to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_add_hours" g_date_time_add_hours :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    Int32 ->                                -- hours : TBasicType TInt-    IO (Ptr DateTime)--{- |-Creates a copy of /@datetime@/ and adds the specified number of hours.-Add negative values to subtract hours.--/Since: 2.26/--}-dateTimeAddHours ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> Int32-    {- ^ /@hours@/: the number of hours to add -}-    -> m DateTime-    {- ^ __Returns:__ the newly created 'GI.GLib.Structs.DateTime.DateTime' which should be freed with-  'GI.GLib.Structs.DateTime.dateTimeUnref'. -}-dateTimeAddHours datetime hours = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_add_hours datetime' hours-    checkUnexpectedReturnNULL "dateTimeAddHours" result-    result' <- (wrapBoxed DateTime) result-    touchManagedPtr datetime-    return result'--#if ENABLE_OVERLOADING-data DateTimeAddHoursMethodInfo-instance (signature ~ (Int32 -> m DateTime), MonadIO m) => O.MethodInfo DateTimeAddHoursMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeAddHours--#endif---- method DateTime::add_minutes--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "minutes", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of minutes to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_add_minutes" g_date_time_add_minutes :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    Int32 ->                                -- minutes : TBasicType TInt-    IO (Ptr DateTime)--{- |-Creates a copy of /@datetime@/ adding the specified number of minutes.-Add negative values to subtract minutes.--/Since: 2.26/--}-dateTimeAddMinutes ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> Int32-    {- ^ /@minutes@/: the number of minutes to add -}-    -> m DateTime-    {- ^ __Returns:__ the newly created 'GI.GLib.Structs.DateTime.DateTime' which should be freed with-  'GI.GLib.Structs.DateTime.dateTimeUnref'. -}-dateTimeAddMinutes datetime minutes = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_add_minutes datetime' minutes-    checkUnexpectedReturnNULL "dateTimeAddMinutes" result-    result' <- (wrapBoxed DateTime) result-    touchManagedPtr datetime-    return result'--#if ENABLE_OVERLOADING-data DateTimeAddMinutesMethodInfo-instance (signature ~ (Int32 -> m DateTime), MonadIO m) => O.MethodInfo DateTimeAddMinutesMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeAddMinutes--#endif---- method DateTime::add_months--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "months", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of months", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_add_months" g_date_time_add_months :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    Int32 ->                                -- months : TBasicType TInt-    IO (Ptr DateTime)--{- |-Creates a copy of /@datetime@/ and adds the specified number of months to the-copy. Add negative values to subtract months.--The day of the month of the resulting 'GI.GLib.Structs.DateTime.DateTime' is clamped to the number-of days in the updated calendar month. For example, if adding 1 month to-31st January 2018, the result would be 28th February 2018. In 2020 (a leap-year), the result would be 29th February.--/Since: 2.26/--}-dateTimeAddMonths ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> Int32-    {- ^ /@months@/: the number of months -}-    -> m DateTime-    {- ^ __Returns:__ the newly created 'GI.GLib.Structs.DateTime.DateTime' which should be freed with-  'GI.GLib.Structs.DateTime.dateTimeUnref'. -}-dateTimeAddMonths datetime months = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_add_months datetime' months-    checkUnexpectedReturnNULL "dateTimeAddMonths" result-    result' <- (wrapBoxed DateTime) result-    touchManagedPtr datetime-    return result'--#if ENABLE_OVERLOADING-data DateTimeAddMonthsMethodInfo-instance (signature ~ (Int32 -> m DateTime), MonadIO m) => O.MethodInfo DateTimeAddMonthsMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeAddMonths--#endif---- method DateTime::add_seconds--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "seconds", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of seconds to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_add_seconds" g_date_time_add_seconds :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    CDouble ->                              -- seconds : TBasicType TDouble-    IO (Ptr DateTime)--{- |-Creates a copy of /@datetime@/ and adds the specified number of seconds.-Add negative values to subtract seconds.--/Since: 2.26/--}-dateTimeAddSeconds ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> Double-    {- ^ /@seconds@/: the number of seconds to add -}-    -> m DateTime-    {- ^ __Returns:__ the newly created 'GI.GLib.Structs.DateTime.DateTime' which should be freed with-  'GI.GLib.Structs.DateTime.dateTimeUnref'. -}-dateTimeAddSeconds datetime seconds = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    let seconds' = realToFrac seconds-    result <- g_date_time_add_seconds datetime' seconds'-    checkUnexpectedReturnNULL "dateTimeAddSeconds" result-    result' <- (wrapBoxed DateTime) result-    touchManagedPtr datetime-    return result'--#if ENABLE_OVERLOADING-data DateTimeAddSecondsMethodInfo-instance (signature ~ (Double -> m DateTime), MonadIO m) => O.MethodInfo DateTimeAddSecondsMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeAddSeconds--#endif---- method DateTime::add_weeks--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "weeks", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of weeks", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_add_weeks" g_date_time_add_weeks :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    Int32 ->                                -- weeks : TBasicType TInt-    IO (Ptr DateTime)--{- |-Creates a copy of /@datetime@/ and adds the specified number of weeks to the-copy. Add negative values to subtract weeks.--/Since: 2.26/--}-dateTimeAddWeeks ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> Int32-    {- ^ /@weeks@/: the number of weeks -}-    -> m DateTime-    {- ^ __Returns:__ the newly created 'GI.GLib.Structs.DateTime.DateTime' which should be freed with-  'GI.GLib.Structs.DateTime.dateTimeUnref'. -}-dateTimeAddWeeks datetime weeks = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_add_weeks datetime' weeks-    checkUnexpectedReturnNULL "dateTimeAddWeeks" result-    result' <- (wrapBoxed DateTime) result-    touchManagedPtr datetime-    return result'--#if ENABLE_OVERLOADING-data DateTimeAddWeeksMethodInfo-instance (signature ~ (Int32 -> m DateTime), MonadIO m) => O.MethodInfo DateTimeAddWeeksMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeAddWeeks--#endif---- method DateTime::add_years--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "years", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of years", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_add_years" g_date_time_add_years :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    Int32 ->                                -- years : TBasicType TInt-    IO (Ptr DateTime)--{- |-Creates a copy of /@datetime@/ and adds the specified number of years to the-copy. Add negative values to subtract years.--As with 'GI.GLib.Structs.DateTime.dateTimeAddMonths', if the resulting date would be 29th-February on a non-leap year, the day will be clamped to 28th February.--/Since: 2.26/--}-dateTimeAddYears ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> Int32-    {- ^ /@years@/: the number of years -}-    -> m DateTime-    {- ^ __Returns:__ the newly created 'GI.GLib.Structs.DateTime.DateTime' which should be freed with-  'GI.GLib.Structs.DateTime.dateTimeUnref'. -}-dateTimeAddYears datetime years = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_add_years datetime' years-    checkUnexpectedReturnNULL "dateTimeAddYears" result-    result' <- (wrapBoxed DateTime) result-    touchManagedPtr datetime-    return result'--#if ENABLE_OVERLOADING-data DateTimeAddYearsMethodInfo-instance (signature ~ (Int32 -> m DateTime), MonadIO m) => O.MethodInfo DateTimeAddYearsMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeAddYears--#endif---- method DateTime::difference--- method type : OrdinaryMethod--- Args : [Arg {argCName = "end", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "begin", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", 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_date_time_difference" g_date_time_difference :: -    Ptr DateTime ->                         -- end : TInterface (Name {namespace = "GLib", name = "DateTime"})-    Ptr DateTime ->                         -- begin : TInterface (Name {namespace = "GLib", name = "DateTime"})-    IO Int64--{- |-Calculates the difference in time between /@end@/ and /@begin@/.  The-@/GTimeSpan/@ that is returned is effectively /@end@/ - /@begin@/ (ie:-positive if the first parameter is larger).--/Since: 2.26/--}-dateTimeDifference ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@end@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> DateTime-    {- ^ /@begin@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m Int64-    {- ^ __Returns:__ the difference between the two 'GI.GLib.Structs.DateTime.DateTime', as a time-  span expressed in microseconds. -}-dateTimeDifference end begin = liftIO $ do-    end' <- unsafeManagedPtrGetPtr end-    begin' <- unsafeManagedPtrGetPtr begin-    result <- g_date_time_difference end' begin'-    touchManagedPtr end-    touchManagedPtr begin-    return result--#if ENABLE_OVERLOADING-data DateTimeDifferenceMethodInfo-instance (signature ~ (DateTime -> m Int64), MonadIO m) => O.MethodInfo DateTimeDifferenceMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeDifference--#endif---- method DateTime::format--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "format", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid UTF-8 string, containing the format for the\n         #GDateTime", 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_date_time_format" g_date_time_format :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    CString ->                              -- format : TBasicType TUTF8-    IO CString--{- |-Creates a newly allocated string representing the requested /@format@/.--The format strings understood by this function are a subset of the-@/strftime()/@ format language as specified by C99.  The %D, %U and %W-conversions are not supported, nor is the \'E\' modifier.  The GNU-extensions %k, %l, %s and %P are supported, however, as are the-\'0\', \'_\' and \'-\' modifiers.--In contrast to @/strftime()/@, this function always produces a UTF-8-string, regardless of the current locale.  Note that the rendering of-many formats is locale-dependent and may not match the @/strftime()/@-output exactly.--The following format specifiers are supported:--* %a: the abbreviated weekday name according to the current locale-* %A: the full weekday name according to the current locale-* %b: the abbreviated month name according to the current locale-* %B: the full month name according to the current locale-* %c: the preferred date and time representation for the current locale-* %C: the century number (year\/100) as a 2-digit integer (00-99)-* %d: the day of the month as a decimal number (range 01 to 31)-* %e: the day of the month as a decimal number (range  1 to 31)-* %F: equivalent to @%Y-%m-%d@ (the ISO 8601 date format)-* %g: the last two digits of the ISO 8601 week-based year as a-decimal number (00-99). This works well with %V and %u.-* %G: the ISO 8601 week-based year as a decimal number. This works-well with %V and %u.-* %h: equivalent to %b-* %H: the hour as a decimal number using a 24-hour clock (range 00 to 23)-* %I: the hour as a decimal number using a 12-hour clock (range 01 to 12)-* %j: the day of the year as a decimal number (range 001 to 366)-* %k: the hour (24-hour clock) as a decimal number (range 0 to 23);-single digits are preceded by a blank-* %l: the hour (12-hour clock) as a decimal number (range 1 to 12);-single digits are preceded by a blank-* %m: the month as a decimal number (range 01 to 12)-* %M: the minute as a decimal number (range 00 to 59)-* %p: either \"AM\" or \"PM\" according to the given time value, or the-corresponding  strings for the current locale.  Noon is treated as-\"PM\" and midnight as \"AM\".-* %P: like %p but lowercase: \"am\" or \"pm\" or a corresponding string for-the current locale-* %r: the time in a.m. or p.m. notation-* %R: the time in 24-hour notation (%H:%M)-* %s: the number of seconds since the Epoch, that is, since 1970-01-01-00:00:00 UTC-* %S: the second as a decimal number (range 00 to 60)-* %t: a tab character-* %T: the time in 24-hour notation with seconds (%H:%M:%S)-* %u: the ISO 8601 standard day of the week as a decimal, range 1 to 7,- Monday being 1. This works well with %G and %V.-* %V: the ISO 8601 standard week number of the current year as a decimal-number, range 01 to 53, where week 1 is the first week that has at-least 4 days in the new year. See 'GI.GLib.Structs.DateTime.dateTimeGetWeekOfYear'.-This works well with %G and %u.-* %w: the day of the week as a decimal, range 0 to 6, Sunday being 0.-This is not the ISO 8601 standard format -- use %u instead.-* %x: the preferred date representation for the current locale without-the time-* %X: the preferred time representation for the current locale without-the date-* %y: the year as a decimal number without the century-* %Y: the year as a decimal number including the century-* %z: the time zone as an offset from UTC (+hhmm)-* %:z: the time zone as an offset from UTC (+hh:mm).-This is a gnulib @/strftime()/@ extension. Since: 2.38-* %::z: the time zone as an offset from UTC (+hh:mm:ss). This is a-gnulib @/strftime()/@ extension. Since: 2.38-* %:::z: the time zone as an offset from UTC, with : to necessary-precision (e.g., -04, +05:30). This is a gnulib @/strftime()/@ extension. Since: 2.38-* %Z: the time zone or name or abbreviation-* %%: a literal % character---Some conversion specifications can be modified by preceding the-conversion specifier by one or more modifier characters. The-following modifiers are supported for many of the numeric-conversions:--* O: Use alternative numeric symbols, if the current locale supports those.-* _: Pad a numeric result with spaces. This overrides the default padding-for the specifier.-* -: Do not pad a numeric result. This overrides the default padding-for the specifier.-* 0: Pad a numeric result with zeros. This overrides the default padding-for the specifier.---Additionally, when O is used with B, b, or h, it produces the alternative-form of a month name. The alternative form should be used when the month-name is used without a day number (e.g., standalone). It is required in-some languages (Baltic, Slavic, Greek, and more) due to their grammatical-rules. For other languages there is no difference. %OB is a GNU and BSD-@/strftime()/@ extension expected to be added to the future POSIX specification,-%Ob and %Oh are GNU @/strftime()/@ extensions. Since: 2.56--/Since: 2.26/--}-dateTimeFormat ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: A 'GI.GLib.Structs.DateTime.DateTime' -}-    -> T.Text-    {- ^ /@format@/: a valid UTF-8 string, containing the format for the-         'GI.GLib.Structs.DateTime.DateTime' -}-    -> m T.Text-    {- ^ __Returns:__ a newly allocated string formatted to the requested format-    or 'Nothing' in the case that there was an error (such as a format specifier-    not being supported in the current locale). The string-    should be freed with 'GI.GLib.Functions.free'. -}-dateTimeFormat datetime format = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    format' <- textToCString format-    result <- g_date_time_format datetime' format'-    checkUnexpectedReturnNULL "dateTimeFormat" result-    result' <- cstringToText result-    freeMem result-    touchManagedPtr datetime-    freeMem format'-    return result'--#if ENABLE_OVERLOADING-data DateTimeFormatMethodInfo-instance (signature ~ (T.Text -> m T.Text), MonadIO m) => O.MethodInfo DateTimeFormatMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeFormat--#endif---- method DateTime::get_day_of_month--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", 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_date_time_get_day_of_month" g_date_time_get_day_of_month :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    IO Int32--{- |-Retrieves the day of the month represented by /@datetime@/ in the gregorian-calendar.--/Since: 2.26/--}-dateTimeGetDayOfMonth ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m Int32-    {- ^ __Returns:__ the day of the month -}-dateTimeGetDayOfMonth datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_get_day_of_month datetime'-    touchManagedPtr datetime-    return result--#if ENABLE_OVERLOADING-data DateTimeGetDayOfMonthMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetDayOfMonthMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetDayOfMonth--#endif---- method DateTime::get_day_of_week--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", 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_date_time_get_day_of_week" g_date_time_get_day_of_week :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    IO Int32--{- |-Retrieves the ISO 8601 day of the week on which /@datetime@/ falls (1 is-Monday, 2 is Tuesday... 7 is Sunday).--/Since: 2.26/--}-dateTimeGetDayOfWeek ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m Int32-    {- ^ __Returns:__ the day of the week -}-dateTimeGetDayOfWeek datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_get_day_of_week datetime'-    touchManagedPtr datetime-    return result--#if ENABLE_OVERLOADING-data DateTimeGetDayOfWeekMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetDayOfWeekMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetDayOfWeek--#endif---- method DateTime::get_day_of_year--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", 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_date_time_get_day_of_year" g_date_time_get_day_of_year :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    IO Int32--{- |-Retrieves the day of the year represented by /@datetime@/ in the Gregorian-calendar.--/Since: 2.26/--}-dateTimeGetDayOfYear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m Int32-    {- ^ __Returns:__ the day of the year -}-dateTimeGetDayOfYear datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_get_day_of_year datetime'-    touchManagedPtr datetime-    return result--#if ENABLE_OVERLOADING-data DateTimeGetDayOfYearMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetDayOfYearMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetDayOfYear--#endif---- method DateTime::get_hour--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", 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_date_time_get_hour" g_date_time_get_hour :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    IO Int32--{- |-Retrieves the hour of the day represented by /@datetime@/--/Since: 2.26/--}-dateTimeGetHour ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m Int32-    {- ^ __Returns:__ the hour of the day -}-dateTimeGetHour datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_get_hour datetime'-    touchManagedPtr datetime-    return result--#if ENABLE_OVERLOADING-data DateTimeGetHourMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetHourMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetHour--#endif---- method DateTime::get_microsecond--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", 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_date_time_get_microsecond" g_date_time_get_microsecond :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    IO Int32--{- |-Retrieves the microsecond of the date represented by /@datetime@/--/Since: 2.26/--}-dateTimeGetMicrosecond ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m Int32-    {- ^ __Returns:__ the microsecond of the second -}-dateTimeGetMicrosecond datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_get_microsecond datetime'-    touchManagedPtr datetime-    return result--#if ENABLE_OVERLOADING-data DateTimeGetMicrosecondMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetMicrosecondMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetMicrosecond--#endif---- method DateTime::get_minute--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", 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_date_time_get_minute" g_date_time_get_minute :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    IO Int32--{- |-Retrieves the minute of the hour represented by /@datetime@/--/Since: 2.26/--}-dateTimeGetMinute ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m Int32-    {- ^ __Returns:__ the minute of the hour -}-dateTimeGetMinute datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_get_minute datetime'-    touchManagedPtr datetime-    return result--#if ENABLE_OVERLOADING-data DateTimeGetMinuteMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetMinuteMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetMinute--#endif---- method DateTime::get_month--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", 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_date_time_get_month" g_date_time_get_month :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    IO Int32--{- |-Retrieves the month of the year represented by /@datetime@/ in the Gregorian-calendar.--/Since: 2.26/--}-dateTimeGetMonth ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m Int32-    {- ^ __Returns:__ the month represented by /@datetime@/ -}-dateTimeGetMonth datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_get_month datetime'-    touchManagedPtr datetime-    return result--#if ENABLE_OVERLOADING-data DateTimeGetMonthMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetMonthMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetMonth--#endif---- method DateTime::get_second--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", 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_date_time_get_second" g_date_time_get_second :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    IO Int32--{- |-Retrieves the second of the minute represented by /@datetime@/--/Since: 2.26/--}-dateTimeGetSecond ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m Int32-    {- ^ __Returns:__ the second represented by /@datetime@/ -}-dateTimeGetSecond datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_get_second datetime'-    touchManagedPtr datetime-    return result--#if ENABLE_OVERLOADING-data DateTimeGetSecondMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetSecondMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetSecond--#endif---- method DateTime::get_seconds--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TDouble)--- throws : False--- Skip return : False--foreign import ccall "g_date_time_get_seconds" g_date_time_get_seconds :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    IO CDouble--{- |-Retrieves the number of seconds since the start of the last minute,-including the fractional part.--/Since: 2.26/--}-dateTimeGetSeconds ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m Double-    {- ^ __Returns:__ the number of seconds -}-dateTimeGetSeconds datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_get_seconds datetime'-    let result' = realToFrac result-    touchManagedPtr datetime-    return result'--#if ENABLE_OVERLOADING-data DateTimeGetSecondsMethodInfo-instance (signature ~ (m Double), MonadIO m) => O.MethodInfo DateTimeGetSecondsMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetSeconds--#endif---- method DateTime::get_timezone--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "TimeZone"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_get_timezone" g_date_time_get_timezone :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    IO (Ptr GLib.TimeZone.TimeZone)--{- |-Get the time zone for this /@datetime@/.--/Since: 2.58/--}-dateTimeGetTimezone ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m GLib.TimeZone.TimeZone-    {- ^ __Returns:__ the time zone -}-dateTimeGetTimezone datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_get_timezone datetime'-    checkUnexpectedReturnNULL "dateTimeGetTimezone" result-    result' <- (newBoxed GLib.TimeZone.TimeZone) result-    touchManagedPtr datetime-    return result'--#if ENABLE_OVERLOADING-data DateTimeGetTimezoneMethodInfo-instance (signature ~ (m GLib.TimeZone.TimeZone), MonadIO m) => O.MethodInfo DateTimeGetTimezoneMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetTimezone--#endif---- method DateTime::get_timezone_abbreviation--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", 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_date_time_get_timezone_abbreviation" g_date_time_get_timezone_abbreviation :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    IO CString--{- |-Determines the time zone abbreviation to be used at the time and in-the time zone of /@datetime@/.--For example, in Toronto this is currently \"EST\" during the winter-months and \"EDT\" during the summer months when daylight savings-time is in effect.--/Since: 2.26/--}-dateTimeGetTimezoneAbbreviation ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m T.Text-    {- ^ __Returns:__ the time zone abbreviation. The returned-         string is owned by the 'GI.GLib.Structs.DateTime.DateTime' and it should not be-         modified or freed -}-dateTimeGetTimezoneAbbreviation datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_get_timezone_abbreviation datetime'-    checkUnexpectedReturnNULL "dateTimeGetTimezoneAbbreviation" result-    result' <- cstringToText result-    touchManagedPtr datetime-    return result'--#if ENABLE_OVERLOADING-data DateTimeGetTimezoneAbbreviationMethodInfo-instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo DateTimeGetTimezoneAbbreviationMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetTimezoneAbbreviation--#endif---- method DateTime::get_utc_offset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", 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_date_time_get_utc_offset" g_date_time_get_utc_offset :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    IO Int64--{- |-Determines the offset to UTC in effect at the time and in the time-zone of /@datetime@/.--The offset is the number of microseconds that you add to UTC time to-arrive at local time for the time zone (ie: negative numbers for time-zones west of GMT, positive numbers for east).--If /@datetime@/ represents UTC time, then the offset is always zero.--/Since: 2.26/--}-dateTimeGetUtcOffset ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m Int64-    {- ^ __Returns:__ the number of microseconds that should be added to UTC to-         get the local time -}-dateTimeGetUtcOffset datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_get_utc_offset datetime'-    touchManagedPtr datetime-    return result--#if ENABLE_OVERLOADING-data DateTimeGetUtcOffsetMethodInfo-instance (signature ~ (m Int64), MonadIO m) => O.MethodInfo DateTimeGetUtcOffsetMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetUtcOffset--#endif---- method DateTime::get_week_numbering_year--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", 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_date_time_get_week_numbering_year" g_date_time_get_week_numbering_year :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    IO Int32--{- |-Returns the ISO 8601 week-numbering year in which the week containing-/@datetime@/ falls.--This function, taken together with 'GI.GLib.Structs.DateTime.dateTimeGetWeekOfYear' and-'GI.GLib.Structs.DateTime.dateTimeGetDayOfWeek' can be used to determine the full ISO-week date on which /@datetime@/ falls.--This is usually equal to the normal Gregorian year (as returned by-'GI.GLib.Structs.DateTime.dateTimeGetYear'), except as detailed below:--For Thursday, the week-numbering year is always equal to the usual-calendar year.  For other days, the number is such that every day-within a complete week (Monday to Sunday) is contained within the-same week-numbering year.--For Monday, Tuesday and Wednesday occurring near the end of the year,-this may mean that the week-numbering year is one greater than the-calendar year (so that these days have the same week-numbering year-as the Thursday occurring early in the next year).--For Friday, Saturday and Sunday occurring near the start of the year,-this may mean that the week-numbering year is one less than the-calendar year (so that these days have the same week-numbering year-as the Thursday occurring late in the previous year).--An equivalent description is that the week-numbering year is equal to-the calendar year containing the majority of the days in the current-week (Monday to Sunday).--Note that January 1 0001 in the proleptic Gregorian calendar is a-Monday, so this function never returns 0.--/Since: 2.26/--}-dateTimeGetWeekNumberingYear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m Int32-    {- ^ __Returns:__ the ISO 8601 week-numbering year for /@datetime@/ -}-dateTimeGetWeekNumberingYear datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_get_week_numbering_year datetime'-    touchManagedPtr datetime-    return result--#if ENABLE_OVERLOADING-data DateTimeGetWeekNumberingYearMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetWeekNumberingYearMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetWeekNumberingYear--#endif---- method DateTime::get_week_of_year--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", 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_date_time_get_week_of_year" g_date_time_get_week_of_year :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    IO Int32--{- |-Returns the ISO 8601 week number for the week containing /@datetime@/.-The ISO 8601 week number is the same for every day of the week (from-Moday through Sunday).  That can produce some unusual results-(described below).--The first week of the year is week 1.  This is the week that contains-the first Thursday of the year.  Equivalently, this is the first week-that has more than 4 of its days falling within the calendar year.--The value 0 is never returned by this function.  Days contained-within a year but occurring before the first ISO 8601 week of that-year are considered as being contained in the last week of the-previous year.  Similarly, the final days of a calendar year may be-considered as being part of the first ISO 8601 week of the next year-if 4 or more days of that week are contained within the new year.--/Since: 2.26/--}-dateTimeGetWeekOfYear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m Int32-    {- ^ __Returns:__ the ISO 8601 week number for /@datetime@/. -}-dateTimeGetWeekOfYear datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_get_week_of_year datetime'-    touchManagedPtr datetime-    return result--#if ENABLE_OVERLOADING-data DateTimeGetWeekOfYearMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetWeekOfYearMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetWeekOfYear--#endif---- method DateTime::get_year--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GDateTime", 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_date_time_get_year" g_date_time_get_year :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    IO Int32--{- |-Retrieves the year represented by /@datetime@/ in the Gregorian calendar.--/Since: 2.26/--}-dateTimeGetYear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: A 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m Int32-    {- ^ __Returns:__ the year represented by /@datetime@/ -}-dateTimeGetYear datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_get_year datetime'-    touchManagedPtr datetime-    return result--#if ENABLE_OVERLOADING-data DateTimeGetYearMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo DateTimeGetYearMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetYear--#endif---- method DateTime::get_ymd--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "year", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the return location for the gregorian year, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "month", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the return location for the month of the year, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "day", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the return location for the day of the month, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_date_time_get_ymd" g_date_time_get_ymd :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    Ptr Int32 ->                            -- year : TBasicType TInt-    Ptr Int32 ->                            -- month : TBasicType TInt-    Ptr Int32 ->                            -- day : TBasicType TInt-    IO ()--{- |-Retrieves the Gregorian day, month, and year of a given 'GI.GLib.Structs.DateTime.DateTime'.--/Since: 2.26/--}-dateTimeGetYmd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime'. -}-    -> m ((Int32, Int32, Int32))-dateTimeGetYmd datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    year <- allocMem :: IO (Ptr Int32)-    month <- allocMem :: IO (Ptr Int32)-    day <- allocMem :: IO (Ptr Int32)-    g_date_time_get_ymd datetime' year month day-    year' <- peek year-    month' <- peek month-    day' <- peek day-    touchManagedPtr datetime-    freeMem year-    freeMem month-    freeMem day-    return (year', month', day')--#if ENABLE_OVERLOADING-data DateTimeGetYmdMethodInfo-instance (signature ~ (m ((Int32, Int32, Int32))), MonadIO m) => O.MethodInfo DateTimeGetYmdMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeGetYmd--#endif---- method DateTime::is_daylight_savings--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", 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_date_time_is_daylight_savings" g_date_time_is_daylight_savings :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    IO CInt--{- |-Determines if daylight savings time is in effect at the time and in-the time zone of /@datetime@/.--/Since: 2.26/--}-dateTimeIsDaylightSavings ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if daylight savings time is in effect -}-dateTimeIsDaylightSavings datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_is_daylight_savings datetime'-    let result' = (/= 0) result-    touchManagedPtr datetime-    return result'--#if ENABLE_OVERLOADING-data DateTimeIsDaylightSavingsMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo DateTimeIsDaylightSavingsMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeIsDaylightSavings--#endif---- method DateTime::ref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_ref" g_date_time_ref :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    IO (Ptr DateTime)--{- |-Atomically increments the reference count of /@datetime@/ by one.--/Since: 2.26/--}-dateTimeRef ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m DateTime-    {- ^ __Returns:__ the 'GI.GLib.Structs.DateTime.DateTime' with the reference count increased -}-dateTimeRef datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_ref datetime'-    checkUnexpectedReturnNULL "dateTimeRef" result-    result' <- (wrapBoxed DateTime) result-    touchManagedPtr datetime-    return result'--#if ENABLE_OVERLOADING-data DateTimeRefMethodInfo-instance (signature ~ (m DateTime), MonadIO m) => O.MethodInfo DateTimeRefMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeRef--#endif---- method DateTime::to_local--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_to_local" g_date_time_to_local :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    IO (Ptr DateTime)--{- |-Creates a new 'GI.GLib.Structs.DateTime.DateTime' corresponding to the same instant in time as-/@datetime@/, but in the local time zone.--This call is equivalent to calling 'GI.GLib.Structs.DateTime.dateTimeToTimezone' with the-time zone returned by 'GI.GLib.Structs.TimeZone.timeZoneNewLocal'.--/Since: 2.26/--}-dateTimeToLocal ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m DateTime-    {- ^ __Returns:__ the newly created 'GI.GLib.Structs.DateTime.DateTime' -}-dateTimeToLocal datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_to_local datetime'-    checkUnexpectedReturnNULL "dateTimeToLocal" result-    result' <- (wrapBoxed DateTime) result-    touchManagedPtr datetime-    return result'--#if ENABLE_OVERLOADING-data DateTimeToLocalMethodInfo-instance (signature ~ (m DateTime), MonadIO m) => O.MethodInfo DateTimeToLocalMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeToLocal--#endif---- method DateTime::to_timeval--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tv", argType = TInterface (Name {namespace = "GLib", name = "TimeVal"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimeVal to modify", 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_date_time_to_timeval" g_date_time_to_timeval :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    Ptr GLib.TimeVal.TimeVal ->             -- tv : TInterface (Name {namespace = "GLib", name = "TimeVal"})-    IO CInt--{- |-Stores the instant in time that /@datetime@/ represents into /@tv@/.--The time contained in a 'GI.GLib.Structs.TimeVal.TimeVal' is always stored in the form of-seconds elapsed since 1970-01-01 00:00:00 UTC, regardless of the time-zone associated with /@datetime@/.--On systems where \'long\' is 32bit (ie: all 32bit systems and all-Windows systems), a 'GI.GLib.Structs.TimeVal.TimeVal' is incapable of storing the entire-range of values that 'GI.GLib.Structs.DateTime.DateTime' is capable of expressing.  On those-systems, this function returns 'False' to indicate that the time is-out of range.--On systems where \'long\' is 64bit, this function never fails.--/Since: 2.26/--}-dateTimeToTimeval ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> GLib.TimeVal.TimeVal-    {- ^ /@tv@/: a 'GI.GLib.Structs.TimeVal.TimeVal' to modify -}-    -> m Bool-    {- ^ __Returns:__ 'True' if successful, else 'False' -}-dateTimeToTimeval datetime tv = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    tv' <- unsafeManagedPtrGetPtr tv-    result <- g_date_time_to_timeval datetime' tv'-    let result' = (/= 0) result-    touchManagedPtr datetime-    touchManagedPtr tv-    return result'--#if ENABLE_OVERLOADING-data DateTimeToTimevalMethodInfo-instance (signature ~ (GLib.TimeVal.TimeVal -> m Bool), MonadIO m) => O.MethodInfo DateTimeToTimevalMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeToTimeval--#endif---- method DateTime::to_timezone--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tz", argType = TInterface (Name {namespace = "GLib", name = "TimeZone"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new #GTimeZone", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_to_timezone" g_date_time_to_timezone :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    Ptr GLib.TimeZone.TimeZone ->           -- tz : TInterface (Name {namespace = "GLib", name = "TimeZone"})-    IO (Ptr DateTime)--{- |-Create a new 'GI.GLib.Structs.DateTime.DateTime' corresponding to the same instant in time as-/@datetime@/, but in the time zone /@tz@/.--This call can fail in the case that the time goes out of bounds.  For-example, converting 0001-01-01 00:00:00 UTC to a time zone west of-Greenwich will fail (due to the year 0 being out of range).--You should release the return value by calling 'GI.GLib.Structs.DateTime.dateTimeUnref'-when you are done with it.--/Since: 2.26/--}-dateTimeToTimezone ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> GLib.TimeZone.TimeZone-    {- ^ /@tz@/: the new 'GI.GLib.Structs.TimeZone.TimeZone' -}-    -> m DateTime-    {- ^ __Returns:__ a new 'GI.GLib.Structs.DateTime.DateTime', or 'Nothing' -}-dateTimeToTimezone datetime tz = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    tz' <- unsafeManagedPtrGetPtr tz-    result <- g_date_time_to_timezone datetime' tz'-    checkUnexpectedReturnNULL "dateTimeToTimezone" result-    result' <- (wrapBoxed DateTime) result-    touchManagedPtr datetime-    touchManagedPtr tz-    return result'--#if ENABLE_OVERLOADING-data DateTimeToTimezoneMethodInfo-instance (signature ~ (GLib.TimeZone.TimeZone -> m DateTime), MonadIO m) => O.MethodInfo DateTimeToTimezoneMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeToTimezone--#endif---- method DateTime::to_unix--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", 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_date_time_to_unix" g_date_time_to_unix :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    IO Int64--{- |-Gives the Unix time corresponding to /@datetime@/, rounding down to the-nearest second.--Unix time is the number of seconds that have elapsed since 1970-01-01-00:00:00 UTC, regardless of the time zone associated with /@datetime@/.--/Since: 2.26/--}-dateTimeToUnix ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m Int64-    {- ^ __Returns:__ the Unix time corresponding to /@datetime@/ -}-dateTimeToUnix datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_to_unix datetime'-    touchManagedPtr datetime-    return result--#if ENABLE_OVERLOADING-data DateTimeToUnixMethodInfo-instance (signature ~ (m Int64), MonadIO m) => O.MethodInfo DateTimeToUnixMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeToUnix--#endif---- method DateTime::to_utc--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "DateTime"}))--- throws : False--- Skip return : False--foreign import ccall "g_date_time_to_utc" g_date_time_to_utc :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    IO (Ptr DateTime)--{- |-Creates a new 'GI.GLib.Structs.DateTime.DateTime' corresponding to the same instant in time as-/@datetime@/, but in UTC.--This call is equivalent to calling 'GI.GLib.Structs.DateTime.dateTimeToTimezone' with the-time zone returned by 'GI.GLib.Structs.TimeZone.timeZoneNewUtc'.--/Since: 2.26/--}-dateTimeToUtc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m DateTime-    {- ^ __Returns:__ the newly created 'GI.GLib.Structs.DateTime.DateTime' -}-dateTimeToUtc datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    result <- g_date_time_to_utc datetime'-    checkUnexpectedReturnNULL "dateTimeToUtc" result-    result' <- (wrapBoxed DateTime) result-    touchManagedPtr datetime-    return result'--#if ENABLE_OVERLOADING-data DateTimeToUtcMethodInfo-instance (signature ~ (m DateTime), MonadIO m) => O.MethodInfo DateTimeToUtcMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeToUtc--#endif---- method DateTime::unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "datetime", argType = TInterface (Name {namespace = "GLib", name = "DateTime"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_date_time_unref" g_date_time_unref :: -    Ptr DateTime ->                         -- datetime : TInterface (Name {namespace = "GLib", name = "DateTime"})-    IO ()--{- |-Atomically decrements the reference count of /@datetime@/ by one.--When the reference count reaches zero, the resources allocated by-/@datetime@/ are freed--/Since: 2.26/--}-dateTimeUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    DateTime-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m ()-dateTimeUnref datetime = liftIO $ do-    datetime' <- unsafeManagedPtrGetPtr datetime-    g_date_time_unref datetime'-    touchManagedPtr datetime-    return ()--#if ENABLE_OVERLOADING-data DateTimeUnrefMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo DateTimeUnrefMethodInfo DateTime signature where-    overloadedMethod _ = dateTimeUnref--#endif---- method DateTime::compare--- method type : MemberFunction--- Args : [Arg {argCName = "dt1", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "first #GDateTime to compare", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dt2", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "second #GDateTime to compare", 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_date_time_compare" g_date_time_compare :: -    Ptr () ->                               -- dt1 : TBasicType TPtr-    Ptr () ->                               -- dt2 : TBasicType TPtr-    IO Int32--{- |-A comparison function for @/GDateTimes/@ that is suitable-as a 'GI.GLib.Callbacks.CompareFunc'. Both @/GDateTimes/@ must be non-'Nothing'.--/Since: 2.26/--}-dateTimeCompare ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@dt1@/: first 'GI.GLib.Structs.DateTime.DateTime' to compare -}-    -> Ptr ()-    {- ^ /@dt2@/: second 'GI.GLib.Structs.DateTime.DateTime' to compare -}-    -> m Int32-    {- ^ __Returns:__ -1, 0 or 1 if /@dt1@/ is less than, equal to or greater-  than /@dt2@/. -}-dateTimeCompare dt1 dt2 = liftIO $ do-    result <- g_date_time_compare dt1 dt2-    return result--#if ENABLE_OVERLOADING-#endif---- method DateTime::equal--- method type : MemberFunction--- Args : [Arg {argCName = "dt1", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dt2", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", 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_date_time_equal" g_date_time_equal :: -    Ptr () ->                               -- dt1 : TBasicType TPtr-    Ptr () ->                               -- dt2 : TBasicType TPtr-    IO CInt--{- |-Checks to see if /@dt1@/ and /@dt2@/ are equal.--Equal here means that they represent the same moment after converting-them to the same time zone.--/Since: 2.26/--}-dateTimeEqual ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@dt1@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> Ptr ()-    {- ^ /@dt2@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@dt1@/ and /@dt2@/ are equal -}-dateTimeEqual dt1 dt2 = liftIO $ do-    result <- g_date_time_equal dt1 dt2-    let result' = (/= 0) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method DateTime::hash--- method type : MemberFunction--- Args : [Arg {argCName = "datetime", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDateTime", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_date_time_hash" g_date_time_hash :: -    Ptr () ->                               -- datetime : TBasicType TPtr-    IO Word32--{- |-Hashes /@datetime@/ into a @/guint/@, suitable for use within 'GI.GLib.Structs.HashTable.HashTable'.--/Since: 2.26/--}-dateTimeHash ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@datetime@/: a 'GI.GLib.Structs.DateTime.DateTime' -}-    -> m Word32-    {- ^ __Returns:__ a @/guint/@ containing the hash -}-dateTimeHash datetime = liftIO $ do-    result <- g_date_time_hash datetime-    return result--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveDateTimeMethod (t :: Symbol) (o :: *) :: * where-    ResolveDateTimeMethod "add" o = DateTimeAddMethodInfo-    ResolveDateTimeMethod "addDays" o = DateTimeAddDaysMethodInfo-    ResolveDateTimeMethod "addFull" o = DateTimeAddFullMethodInfo-    ResolveDateTimeMethod "addHours" o = DateTimeAddHoursMethodInfo-    ResolveDateTimeMethod "addMinutes" o = DateTimeAddMinutesMethodInfo-    ResolveDateTimeMethod "addMonths" o = DateTimeAddMonthsMethodInfo-    ResolveDateTimeMethod "addSeconds" o = DateTimeAddSecondsMethodInfo-    ResolveDateTimeMethod "addWeeks" o = DateTimeAddWeeksMethodInfo-    ResolveDateTimeMethod "addYears" o = DateTimeAddYearsMethodInfo-    ResolveDateTimeMethod "difference" o = DateTimeDifferenceMethodInfo-    ResolveDateTimeMethod "format" o = DateTimeFormatMethodInfo-    ResolveDateTimeMethod "isDaylightSavings" o = DateTimeIsDaylightSavingsMethodInfo-    ResolveDateTimeMethod "ref" o = DateTimeRefMethodInfo-    ResolveDateTimeMethod "toLocal" o = DateTimeToLocalMethodInfo-    ResolveDateTimeMethod "toTimeval" o = DateTimeToTimevalMethodInfo-    ResolveDateTimeMethod "toTimezone" o = DateTimeToTimezoneMethodInfo-    ResolveDateTimeMethod "toUnix" o = DateTimeToUnixMethodInfo-    ResolveDateTimeMethod "toUtc" o = DateTimeToUtcMethodInfo-    ResolveDateTimeMethod "unref" o = DateTimeUnrefMethodInfo-    ResolveDateTimeMethod "getDayOfMonth" o = DateTimeGetDayOfMonthMethodInfo-    ResolveDateTimeMethod "getDayOfWeek" o = DateTimeGetDayOfWeekMethodInfo-    ResolveDateTimeMethod "getDayOfYear" o = DateTimeGetDayOfYearMethodInfo-    ResolveDateTimeMethod "getHour" o = DateTimeGetHourMethodInfo-    ResolveDateTimeMethod "getMicrosecond" o = DateTimeGetMicrosecondMethodInfo-    ResolveDateTimeMethod "getMinute" o = DateTimeGetMinuteMethodInfo-    ResolveDateTimeMethod "getMonth" o = DateTimeGetMonthMethodInfo-    ResolveDateTimeMethod "getSecond" o = DateTimeGetSecondMethodInfo-    ResolveDateTimeMethod "getSeconds" o = DateTimeGetSecondsMethodInfo-    ResolveDateTimeMethod "getTimezone" o = DateTimeGetTimezoneMethodInfo-    ResolveDateTimeMethod "getTimezoneAbbreviation" o = DateTimeGetTimezoneAbbreviationMethodInfo-    ResolveDateTimeMethod "getUtcOffset" o = DateTimeGetUtcOffsetMethodInfo-    ResolveDateTimeMethod "getWeekNumberingYear" o = DateTimeGetWeekNumberingYearMethodInfo-    ResolveDateTimeMethod "getWeekOfYear" o = DateTimeGetWeekOfYearMethodInfo-    ResolveDateTimeMethod "getYear" o = DateTimeGetYearMethodInfo-    ResolveDateTimeMethod "getYmd" o = DateTimeGetYmdMethodInfo-    ResolveDateTimeMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveDateTimeMethod t DateTime, O.MethodInfo info DateTime p) => OL.IsLabel t (DateTime -> 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/GLib/Structs/DateTime.hs-boot
@@ -1,131 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.DateTime 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 DateTime = DateTime (ManagedPtr DateTime)-instance BoxedObject DateTime where-#if ENABLE_OVERLOADING-data DateTimeAddMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeAddDaysMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeAddFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeAddHoursMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeAddMinutesMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeAddMonthsMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeAddSecondsMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeAddWeeksMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeAddYearsMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeDifferenceMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeFormatMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeGetDayOfMonthMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeGetDayOfWeekMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeGetDayOfYearMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeGetHourMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeGetMicrosecondMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeGetMinuteMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeGetMonthMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeGetSecondMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeGetSecondsMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeGetTimezoneMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeGetTimezoneAbbreviationMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeGetUtcOffsetMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeGetWeekNumberingYearMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeGetWeekOfYearMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeGetYearMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeGetYmdMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeIsDaylightSavingsMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeRefMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeToLocalMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeToTimevalMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeToTimezoneMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeToUnixMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeToUtcMethodInfo-#endif-#if ENABLE_OVERLOADING-data DateTimeUnrefMethodInfo-#endif
− GI/GLib/Structs/DebugKey.hs
@@ -1,218 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Associates a string with a bit flag.-Used in 'GI.GLib.Functions.parseDebugString'.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.DebugKey-    ( ---- * Exported types-    DebugKey(..)                            ,-    newZeroDebugKey                         ,-    noDebugKey                              ,--- -- * Properties--- ** key #attr:key#-{- | the string--}-    clearDebugKeyKey                        ,-#if ENABLE_OVERLOADING-    debugKey_key                            ,-#endif-    getDebugKeyKey                          ,-    setDebugKeyKey                          ,----- ** value #attr:value#-{- | the flag--}-#if ENABLE_OVERLOADING-    debugKey_value                          ,-#endif-    getDebugKeyValue                        ,-    setDebugKeyValue                        ,-----    ) 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 DebugKey = DebugKey (ManagedPtr DebugKey)-instance WrappedPtr DebugKey where-    wrappedPtrCalloc = callocBytes 16-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 16 >=> wrapPtr DebugKey)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `DebugKey` struct initialized to zero.-newZeroDebugKey :: MonadIO m => m DebugKey-newZeroDebugKey = liftIO $ wrappedPtrCalloc >>= wrapPtr DebugKey--instance tag ~ 'AttrSet => Constructible DebugKey tag where-    new _ attrs = do-        o <- newZeroDebugKey-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `DebugKey`.-noDebugKey :: Maybe DebugKey-noDebugKey = Nothing--{- |-Get the value of the “@key@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' debugKey #key-@--}-getDebugKeyKey :: MonadIO m => DebugKey -> m (Maybe T.Text)-getDebugKeyKey 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 “@key@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' debugKey [ #key 'Data.GI.Base.Attributes.:=' value ]-@--}-setDebugKeyKey :: MonadIO m => DebugKey -> CString -> m ()-setDebugKeyKey s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: CString)--{- |-Set the value of the “@key@” 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' #key-@--}-clearDebugKeyKey :: MonadIO m => DebugKey -> m ()-clearDebugKeyKey s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data DebugKeyKeyFieldInfo-instance AttrInfo DebugKeyKeyFieldInfo where-    type AttrAllowedOps DebugKeyKeyFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint DebugKeyKeyFieldInfo = (~) CString-    type AttrBaseTypeConstraint DebugKeyKeyFieldInfo = (~) DebugKey-    type AttrGetType DebugKeyKeyFieldInfo = Maybe T.Text-    type AttrLabel DebugKeyKeyFieldInfo = "key"-    type AttrOrigin DebugKeyKeyFieldInfo = DebugKey-    attrGet _ = getDebugKeyKey-    attrSet _ = setDebugKeyKey-    attrConstruct = undefined-    attrClear _ = clearDebugKeyKey--debugKey_key :: AttrLabelProxy "key"-debugKey_key = AttrLabelProxy--#endif---{- |-Get the value of the “@value@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' debugKey #value-@--}-getDebugKeyValue :: MonadIO m => DebugKey -> m Word32-getDebugKeyValue s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO Word32-    return val--{- |-Set the value of the “@value@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' debugKey [ #value 'Data.GI.Base.Attributes.:=' value ]-@--}-setDebugKeyValue :: MonadIO m => DebugKey -> Word32 -> m ()-setDebugKeyValue s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Word32)--#if ENABLE_OVERLOADING-data DebugKeyValueFieldInfo-instance AttrInfo DebugKeyValueFieldInfo where-    type AttrAllowedOps DebugKeyValueFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint DebugKeyValueFieldInfo = (~) Word32-    type AttrBaseTypeConstraint DebugKeyValueFieldInfo = (~) DebugKey-    type AttrGetType DebugKeyValueFieldInfo = Word32-    type AttrLabel DebugKeyValueFieldInfo = "value"-    type AttrOrigin DebugKeyValueFieldInfo = DebugKey-    attrGet _ = getDebugKeyValue-    attrSet _ = setDebugKeyValue-    attrConstruct = undefined-    attrClear _ = undefined--debugKey_value :: AttrLabelProxy "value"-debugKey_value = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList DebugKey-type instance O.AttributeList DebugKey = DebugKeyAttributeList-type DebugKeyAttributeList = ('[ '("key", DebugKeyKeyFieldInfo), '("value", DebugKeyValueFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveDebugKeyMethod (t :: Symbol) (o :: *) :: * where-    ResolveDebugKeyMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveDebugKeyMethod t DebugKey, O.MethodInfo info DebugKey p) => OL.IsLabel t (DebugKey -> 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/GLib/Structs/DebugKey.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.DebugKey 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 DebugKey = DebugKey (ManagedPtr DebugKey)-instance WrappedPtr DebugKey where
− GI/GLib/Structs/Dir.hs
@@ -1,287 +0,0 @@---{- |-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 representing an opened directory.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.Dir-    ( ---- * Exported types-    Dir(..)                                 ,-    noDir                                   ,--- -- * Methods--- ** close #method:close#--#if ENABLE_OVERLOADING-    DirCloseMethodInfo                      ,-#endif-    dirClose                                ,----- ** makeTmp #method:makeTmp#--    dirMakeTmp                              ,----- ** readName #method:readName#--#if ENABLE_OVERLOADING-    DirReadNameMethodInfo                   ,-#endif-    dirReadName                             ,----- ** rewind #method:rewind#--#if ENABLE_OVERLOADING-    DirRewindMethodInfo                     ,-#endif-    dirRewind                               ,-----    ) 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 Dir = Dir (ManagedPtr Dir)--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?-instance WrappedPtr Dir where-    wrappedPtrCalloc = return nullPtr-    wrappedPtrCopy = return-    wrappedPtrFree = Nothing---- | A convenience alias for `Nothing` :: `Maybe` `Dir`.-noDir :: Maybe Dir-noDir = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList Dir-type instance O.AttributeList Dir = DirAttributeList-type DirAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method Dir::close--- method type : OrdinaryMethod--- Args : [Arg {argCName = "dir", argType = TInterface (Name {namespace = "GLib", name = "Dir"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDir* created by g_dir_open()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_dir_close" g_dir_close :: -    Ptr Dir ->                              -- dir : TInterface (Name {namespace = "GLib", name = "Dir"})-    IO ()--{- |-Closes the directory and deallocates all related resources.--}-dirClose ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Dir-    {- ^ /@dir@/: a 'GI.GLib.Structs.Dir.Dir'* created by @/g_dir_open()/@ -}-    -> m ()-dirClose dir = liftIO $ do-    dir' <- unsafeManagedPtrGetPtr dir-    g_dir_close dir'-    touchManagedPtr dir-    return ()--#if ENABLE_OVERLOADING-data DirCloseMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo DirCloseMethodInfo Dir signature where-    overloadedMethod _ = dirClose--#endif---- method Dir::read_name--- method type : OrdinaryMethod--- Args : [Arg {argCName = "dir", argType = TInterface (Name {namespace = "GLib", name = "Dir"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDir* created by g_dir_open()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : False--- Skip return : False--foreign import ccall "g_dir_read_name" g_dir_read_name :: -    Ptr Dir ->                              -- dir : TInterface (Name {namespace = "GLib", name = "Dir"})-    IO CString--{- |-Retrieves the name of another entry in the directory, or 'Nothing'.-The order of entries returned from this function is not defined,-and may vary by file system or other operating-system dependent-factors.--'Nothing' may also be returned in case of errors. On Unix, you can-check @errno@ to find out if 'Nothing' was returned because of an error.--On Unix, the \'.\' and \'..\' entries are omitted, and the returned-name is in the on-disk encoding.--On Windows, as is true of all GLib functions which operate on-filenames, the returned name is in UTF-8.--}-dirReadName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Dir-    {- ^ /@dir@/: a 'GI.GLib.Structs.Dir.Dir'* created by @/g_dir_open()/@ -}-    -> m [Char]-    {- ^ __Returns:__ The entry\'s name or 'Nothing' if there are no-  more entries. The return value is owned by GLib and-  must not be modified or freed. -}-dirReadName dir = liftIO $ do-    dir' <- unsafeManagedPtrGetPtr dir-    result <- g_dir_read_name dir'-    checkUnexpectedReturnNULL "dirReadName" result-    result' <- cstringToString result-    touchManagedPtr dir-    return result'--#if ENABLE_OVERLOADING-data DirReadNameMethodInfo-instance (signature ~ (m [Char]), MonadIO m) => O.MethodInfo DirReadNameMethodInfo Dir signature where-    overloadedMethod _ = dirReadName--#endif---- method Dir::rewind--- method type : OrdinaryMethod--- Args : [Arg {argCName = "dir", argType = TInterface (Name {namespace = "GLib", name = "Dir"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GDir* created by g_dir_open()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_dir_rewind" g_dir_rewind :: -    Ptr Dir ->                              -- dir : TInterface (Name {namespace = "GLib", name = "Dir"})-    IO ()--{- |-Resets the given directory. The next call to 'GI.GLib.Structs.Dir.dirReadName'-will return the first entry again.--}-dirRewind ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Dir-    {- ^ /@dir@/: a 'GI.GLib.Structs.Dir.Dir'* created by @/g_dir_open()/@ -}-    -> m ()-dirRewind dir = liftIO $ do-    dir' <- unsafeManagedPtrGetPtr dir-    g_dir_rewind dir'-    touchManagedPtr dir-    return ()--#if ENABLE_OVERLOADING-data DirRewindMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo DirRewindMethodInfo Dir signature where-    overloadedMethod _ = dirRewind--#endif---- method Dir::make_tmp--- method type : MemberFunction--- Args : [Arg {argCName = "tmpl", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Template for directory name,\n    as in g_mkdtemp(), basename only, or %NULL for a default template", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TFileName)--- throws : True--- Skip return : False--foreign import ccall "g_dir_make_tmp" g_dir_make_tmp :: -    CString ->                              -- tmpl : TBasicType TFileName-    Ptr (Ptr GError) ->                     -- error-    IO CString--{- |-Creates a subdirectory in the preferred directory for temporary-files (as returned by 'GI.GLib.Functions.getTmpDir').--/@tmpl@/ should be a string in the GLib file name encoding containing-a sequence of six \'X\' characters, as the parameter to @/g_mkstemp()/@.-However, unlike these functions, the template should only be a-basename, no directory components are allowed. If template is-'Nothing', a default template is used.--Note that in contrast to @/g_mkdtemp()/@ (and @/mkdtemp()/@) /@tmpl@/ is not-modified, and might thus be a read-only literal string.--/Since: 2.30/--}-dirMakeTmp ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe ([Char])-    {- ^ /@tmpl@/: Template for directory name,-    as in @/g_mkdtemp()/@, basename only, or 'Nothing' for a default template -}-    -> m [Char]-    {- ^ __Returns:__ The actual name used. This string-    should be freed with 'GI.GLib.Functions.free' when not needed any longer and is-    is in the GLib file name encoding. In case of errors, 'Nothing' is-    returned and /@error@/ will be set. /(Can throw 'Data.GI.Base.GError.GError')/ -}-dirMakeTmp tmpl = liftIO $ do-    maybeTmpl <- case tmpl of-        Nothing -> return nullPtr-        Just jTmpl -> do-            jTmpl' <- stringToCString jTmpl-            return jTmpl'-    onException (do-        result <- propagateGError $ g_dir_make_tmp maybeTmpl-        checkUnexpectedReturnNULL "dirMakeTmp" result-        result' <- cstringToString result-        freeMem result-        freeMem maybeTmpl-        return result'-     ) (do-        freeMem maybeTmpl-     )--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveDirMethod (t :: Symbol) (o :: *) :: * where-    ResolveDirMethod "close" o = DirCloseMethodInfo-    ResolveDirMethod "readName" o = DirReadNameMethodInfo-    ResolveDirMethod "rewind" o = DirRewindMethodInfo-    ResolveDirMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveDirMethod t Dir, O.MethodInfo info Dir p) => OL.IsLabel t (Dir -> 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/GLib/Structs/Dir.hs-boot
@@ -1,35 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.Dir 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 Dir = Dir (ManagedPtr Dir)-instance WrappedPtr Dir where-#if ENABLE_OVERLOADING-data DirCloseMethodInfo-#endif-#if ENABLE_OVERLOADING-data DirReadNameMethodInfo-#endif-#if ENABLE_OVERLOADING-data DirRewindMethodInfo-#endif
− GI/GLib/Structs/HashTableIter.hs
@@ -1,379 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A GHashTableIter structure represents an iterator that can be used-to iterate over the elements of a 'GI.GLib.Structs.HashTable.HashTable'. GHashTableIter-structures are typically allocated on the stack and then initialized-with 'GI.GLib.Structs.HashTableIter.hashTableIterInit'.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.HashTableIter-    ( ---- * Exported types-    HashTableIter(..)                       ,-    newZeroHashTableIter                    ,-    noHashTableIter                         ,--- -- * Methods--- ** init #method:init#--#if ENABLE_OVERLOADING-    HashTableIterInitMethodInfo             ,-#endif-    hashTableIterInit                       ,----- ** next #method:next#--#if ENABLE_OVERLOADING-    HashTableIterNextMethodInfo             ,-#endif-    hashTableIterNext                       ,----- ** remove #method:remove#--#if ENABLE_OVERLOADING-    HashTableIterRemoveMethodInfo           ,-#endif-    hashTableIterRemove                     ,----- ** replace #method:replace#--#if ENABLE_OVERLOADING-    HashTableIterReplaceMethodInfo          ,-#endif-    hashTableIterReplace                    ,----- ** steal #method:steal#--#if ENABLE_OVERLOADING-    HashTableIterStealMethodInfo            ,-#endif-    hashTableIterSteal                      ,-----    ) 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 HashTableIter = HashTableIter (ManagedPtr HashTableIter)-instance WrappedPtr HashTableIter where-    wrappedPtrCalloc = callocBytes 40-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 40 >=> wrapPtr HashTableIter)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `HashTableIter` struct initialized to zero.-newZeroHashTableIter :: MonadIO m => m HashTableIter-newZeroHashTableIter = liftIO $ wrappedPtrCalloc >>= wrapPtr HashTableIter--instance tag ~ 'AttrSet => Constructible HashTableIter tag where-    new _ attrs = do-        o <- newZeroHashTableIter-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `HashTableIter`.-noHashTableIter :: Maybe HashTableIter-noHashTableIter = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList HashTableIter-type instance O.AttributeList HashTableIter = HashTableIterAttributeList-type HashTableIterAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method HashTableIter::init--- method type : OrdinaryMethod--- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "GLib", name = "HashTableIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an uninitialized #GHashTableIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hash_table", argType = TGHash (TBasicType TPtr) (TBasicType TPtr), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHashTable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_hash_table_iter_init" g_hash_table_iter_init :: -    Ptr HashTableIter ->                    -- iter : TInterface (Name {namespace = "GLib", name = "HashTableIter"})-    Ptr (GHashTable (Ptr ()) (Ptr ())) ->   -- hash_table : TGHash (TBasicType TPtr) (TBasicType TPtr)-    IO ()--{- |-Initializes a key\/value pair iterator and associates it with-/@hashTable@/. Modifying the hash table after calling this function-invalidates the returned iterator.--=== /C code/->->GHashTableIter iter;->gpointer key, value;->->g_hash_table_iter_init (&iter, hash_table);->while (g_hash_table_iter_next (&iter, &key, &value))->  {->    // do something with key and value->  }---/Since: 2.16/--}-hashTableIterInit ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    HashTableIter-    {- ^ /@iter@/: an uninitialized 'GI.GLib.Structs.HashTableIter.HashTableIter' -}-    -> Map.Map (Ptr ()) (Ptr ())-    {- ^ /@hashTable@/: a 'GI.GLib.Structs.HashTable.HashTable' -}-    -> m ()-hashTableIterInit iter hashTable = liftIO $ do-    iter' <- unsafeManagedPtrGetPtr iter-    let hashTable' = Map.toList hashTable-    let hashTable'' = mapFirst ptrPackPtr hashTable'-    let hashTable''' = mapSecond ptrPackPtr hashTable''-    hashTable'''' <- packGHashTable gDirectHash gDirectEqual Nothing Nothing hashTable'''-    g_hash_table_iter_init iter' hashTable''''-    touchManagedPtr iter-    unrefGHashTable hashTable''''-    return ()--#if ENABLE_OVERLOADING-data HashTableIterInitMethodInfo-instance (signature ~ (Map.Map (Ptr ()) (Ptr ()) -> m ()), MonadIO m) => O.MethodInfo HashTableIterInitMethodInfo HashTableIter signature where-    overloadedMethod _ = hashTableIterInit--#endif---- method HashTableIter::next--- method type : OrdinaryMethod--- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "GLib", name = "HashTableIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an initialized #GHashTableIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TPtr, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a location to store the key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "value", argType = TBasicType TPtr, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a location to store the value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "g_hash_table_iter_next" g_hash_table_iter_next :: -    Ptr HashTableIter ->                    -- iter : TInterface (Name {namespace = "GLib", name = "HashTableIter"})-    Ptr (Ptr ()) ->                         -- key : TBasicType TPtr-    Ptr (Ptr ()) ->                         -- value : TBasicType TPtr-    IO CInt--{- |-Advances /@iter@/ and retrieves the key and\/or value that are now-pointed to as a result of this advancement. If 'False' is returned,-/@key@/ and /@value@/ are not set, and the iterator becomes invalid.--/Since: 2.16/--}-hashTableIterNext ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    HashTableIter-    {- ^ /@iter@/: an initialized 'GI.GLib.Structs.HashTableIter.HashTableIter' -}-    -> m ((Bool, Ptr (), Ptr ()))-    {- ^ __Returns:__ 'False' if the end of the 'GI.GLib.Structs.HashTable.HashTable' has been reached. -}-hashTableIterNext iter = liftIO $ do-    iter' <- unsafeManagedPtrGetPtr iter-    key <- allocMem :: IO (Ptr (Ptr ()))-    value <- allocMem :: IO (Ptr (Ptr ()))-    result <- g_hash_table_iter_next iter' key value-    let result' = (/= 0) result-    key' <- peek key-    value' <- peek value-    touchManagedPtr iter-    freeMem key-    freeMem value-    return (result', key', value')--#if ENABLE_OVERLOADING-data HashTableIterNextMethodInfo-instance (signature ~ (m ((Bool, Ptr (), Ptr ()))), MonadIO m) => O.MethodInfo HashTableIterNextMethodInfo HashTableIter signature where-    overloadedMethod _ = hashTableIterNext--#endif---- method HashTableIter::remove--- method type : OrdinaryMethod--- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "GLib", name = "HashTableIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an initialized #GHashTableIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_hash_table_iter_remove" g_hash_table_iter_remove :: -    Ptr HashTableIter ->                    -- iter : TInterface (Name {namespace = "GLib", name = "HashTableIter"})-    IO ()--{- |-Removes the key\/value pair currently pointed to by the iterator-from its associated 'GI.GLib.Structs.HashTable.HashTable'. Can only be called after-'GI.GLib.Structs.HashTableIter.hashTableIterNext' returned 'True', and cannot be called-more than once for the same key\/value pair.--If the 'GI.GLib.Structs.HashTable.HashTable' was created using @/g_hash_table_new_full()/@,-the key and value are freed using the supplied destroy functions,-otherwise you have to make sure that any dynamically allocated-values are freed yourself.--It is safe to continue iterating the 'GI.GLib.Structs.HashTable.HashTable' afterward:--=== /C code/->->while (g_hash_table_iter_next (&iter, &key, &value))->  {->    if (condition)->      g_hash_table_iter_remove (&iter);->  }---/Since: 2.16/--}-hashTableIterRemove ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    HashTableIter-    {- ^ /@iter@/: an initialized 'GI.GLib.Structs.HashTableIter.HashTableIter' -}-    -> m ()-hashTableIterRemove iter = liftIO $ do-    iter' <- unsafeManagedPtrGetPtr iter-    g_hash_table_iter_remove iter'-    touchManagedPtr iter-    return ()--#if ENABLE_OVERLOADING-data HashTableIterRemoveMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo HashTableIterRemoveMethodInfo HashTableIter signature where-    overloadedMethod _ = hashTableIterRemove--#endif---- method HashTableIter::replace--- method type : OrdinaryMethod--- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "GLib", name = "HashTableIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an initialized #GHashTableIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the value to replace with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_hash_table_iter_replace" g_hash_table_iter_replace :: -    Ptr HashTableIter ->                    -- iter : TInterface (Name {namespace = "GLib", name = "HashTableIter"})-    Ptr () ->                               -- value : TBasicType TPtr-    IO ()--{- |-Replaces the value currently pointed to by the iterator-from its associated 'GI.GLib.Structs.HashTable.HashTable'. Can only be called after-'GI.GLib.Structs.HashTableIter.hashTableIterNext' returned 'True'.--If you supplied a /@valueDestroyFunc@/ when creating the-'GI.GLib.Structs.HashTable.HashTable', the old value is freed using that function.--/Since: 2.30/--}-hashTableIterReplace ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    HashTableIter-    {- ^ /@iter@/: an initialized 'GI.GLib.Structs.HashTableIter.HashTableIter' -}-    -> Ptr ()-    {- ^ /@value@/: the value to replace with -}-    -> m ()-hashTableIterReplace iter value = liftIO $ do-    iter' <- unsafeManagedPtrGetPtr iter-    g_hash_table_iter_replace iter' value-    touchManagedPtr iter-    return ()--#if ENABLE_OVERLOADING-data HashTableIterReplaceMethodInfo-instance (signature ~ (Ptr () -> m ()), MonadIO m) => O.MethodInfo HashTableIterReplaceMethodInfo HashTableIter signature where-    overloadedMethod _ = hashTableIterReplace--#endif---- method HashTableIter::steal--- method type : OrdinaryMethod--- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "GLib", name = "HashTableIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an initialized #GHashTableIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_hash_table_iter_steal" g_hash_table_iter_steal :: -    Ptr HashTableIter ->                    -- iter : TInterface (Name {namespace = "GLib", name = "HashTableIter"})-    IO ()--{- |-Removes the key\/value pair currently pointed to by the-iterator from its associated 'GI.GLib.Structs.HashTable.HashTable', without calling-the key and value destroy functions. Can only be called-after 'GI.GLib.Structs.HashTableIter.hashTableIterNext' returned 'True', and cannot-be called more than once for the same key\/value pair.--/Since: 2.16/--}-hashTableIterSteal ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    HashTableIter-    {- ^ /@iter@/: an initialized 'GI.GLib.Structs.HashTableIter.HashTableIter' -}-    -> m ()-hashTableIterSteal iter = liftIO $ do-    iter' <- unsafeManagedPtrGetPtr iter-    g_hash_table_iter_steal iter'-    touchManagedPtr iter-    return ()--#if ENABLE_OVERLOADING-data HashTableIterStealMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo HashTableIterStealMethodInfo HashTableIter signature where-    overloadedMethod _ = hashTableIterSteal--#endif--#if ENABLE_OVERLOADING-type family ResolveHashTableIterMethod (t :: Symbol) (o :: *) :: * where-    ResolveHashTableIterMethod "init" o = HashTableIterInitMethodInfo-    ResolveHashTableIterMethod "next" o = HashTableIterNextMethodInfo-    ResolveHashTableIterMethod "remove" o = HashTableIterRemoveMethodInfo-    ResolveHashTableIterMethod "replace" o = HashTableIterReplaceMethodInfo-    ResolveHashTableIterMethod "steal" o = HashTableIterStealMethodInfo-    ResolveHashTableIterMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveHashTableIterMethod t HashTableIter, O.MethodInfo info HashTableIter p) => OL.IsLabel t (HashTableIter -> 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/GLib/Structs/HashTableIter.hs-boot
@@ -1,41 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.HashTableIter 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 HashTableIter = HashTableIter (ManagedPtr HashTableIter)-instance WrappedPtr HashTableIter where-#if ENABLE_OVERLOADING-data HashTableIterInitMethodInfo-#endif-#if ENABLE_OVERLOADING-data HashTableIterNextMethodInfo-#endif-#if ENABLE_OVERLOADING-data HashTableIterRemoveMethodInfo-#endif-#if ENABLE_OVERLOADING-data HashTableIterReplaceMethodInfo-#endif-#if ENABLE_OVERLOADING-data HashTableIterStealMethodInfo-#endif
− GI/GLib/Structs/Hmac.hs
@@ -1,300 +0,0 @@---{- |-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 representing a HMAC operation.-To create a new GHmac, use @/g_hmac_new()/@. To free-a GHmac, use 'GI.GLib.Structs.Hmac.hmacUnref'.--/Since: 2.30/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.Hmac-    ( ---- * Exported types-    Hmac(..)                                ,-    noHmac                                  ,--- -- * Methods--- ** getDigest #method:getDigest#--#if ENABLE_OVERLOADING-    HmacGetDigestMethodInfo                 ,-#endif-    hmacGetDigest                           ,----- ** getString #method:getString#--#if ENABLE_OVERLOADING-    HmacGetStringMethodInfo                 ,-#endif-    hmacGetString                           ,----- ** unref #method:unref#--#if ENABLE_OVERLOADING-    HmacUnrefMethodInfo                     ,-#endif-    hmacUnref                               ,----- ** update #method:update#--#if ENABLE_OVERLOADING-    HmacUpdateMethodInfo                    ,-#endif-    hmacUpdate                              ,-----    ) 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 Hmac = Hmac (ManagedPtr Hmac)--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?-instance WrappedPtr Hmac where-    wrappedPtrCalloc = return nullPtr-    wrappedPtrCopy = return-    wrappedPtrFree = Nothing---- | A convenience alias for `Nothing` :: `Maybe` `Hmac`.-noHmac :: Maybe Hmac-noHmac = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList Hmac-type instance O.AttributeList Hmac = HmacAttributeList-type HmacAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method Hmac::get_digest--- method type : OrdinaryMethod--- Args : [Arg {argCName = "hmac", argType = TInterface (Name {namespace = "GLib", name = "Hmac"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHmac", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffer", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "output buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "digest_len", argType = TBasicType TUInt64, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an inout parameter. The caller initializes it to the\n  size of @buffer. After the call it contains the length of the digest", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "digest_len", argType = TBasicType TUInt64, direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an inout parameter. The caller initializes it to the\n  size of @buffer. After the call it contains the length of the digest", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_hmac_get_digest" g_hmac_get_digest :: -    Ptr Hmac ->                             -- hmac : TInterface (Name {namespace = "GLib", name = "Hmac"})-    Ptr Word8 ->                            -- buffer : TCArray False (-1) 2 (TBasicType TUInt8)-    Ptr Word64 ->                           -- digest_len : TBasicType TUInt64-    IO ()--{- |-Gets the digest from /@checksum@/ as a raw binary array and places it-into /@buffer@/. The size of the digest depends on the type of checksum.--Once this function has been called, the 'GI.GLib.Structs.Hmac.Hmac' is closed and can-no longer be updated with 'GI.GLib.Structs.Checksum.checksumUpdate'.--/Since: 2.30/--}-hmacGetDigest ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Hmac-    {- ^ /@hmac@/: a 'GI.GLib.Structs.Hmac.Hmac' -}-    -> ByteString-    {- ^ /@buffer@/: output buffer -}-    -> m ()-hmacGetDigest hmac buffer = liftIO $ do-    let digestLen = fromIntegral $ B.length buffer-    hmac' <- unsafeManagedPtrGetPtr hmac-    buffer' <- packByteString buffer-    digestLen' <- allocMem :: IO (Ptr Word64)-    poke digestLen' digestLen-    g_hmac_get_digest hmac' buffer' digestLen'-    digestLen'' <- peek digestLen'-    touchManagedPtr hmac-    freeMem buffer'-    freeMem digestLen'-    return ()--#if ENABLE_OVERLOADING-data HmacGetDigestMethodInfo-instance (signature ~ (ByteString -> m ()), MonadIO m) => O.MethodInfo HmacGetDigestMethodInfo Hmac signature where-    overloadedMethod _ = hmacGetDigest--#endif---- method Hmac::get_string--- method type : OrdinaryMethod--- Args : [Arg {argCName = "hmac", argType = TInterface (Name {namespace = "GLib", name = "Hmac"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHmac", 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_hmac_get_string" g_hmac_get_string :: -    Ptr Hmac ->                             -- hmac : TInterface (Name {namespace = "GLib", name = "Hmac"})-    IO CString--{- |-Gets the HMAC as an hexadecimal string.--Once this function has been called the 'GI.GLib.Structs.Hmac.Hmac' can no longer be-updated with 'GI.GLib.Structs.Hmac.hmacUpdate'.--The hexadecimal characters will be lower case.--/Since: 2.30/--}-hmacGetString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Hmac-    {- ^ /@hmac@/: a 'GI.GLib.Structs.Hmac.Hmac' -}-    -> m T.Text-    {- ^ __Returns:__ the hexadecimal representation of the HMAC. The-  returned string is owned by the HMAC and should not be modified-  or freed. -}-hmacGetString hmac = liftIO $ do-    hmac' <- unsafeManagedPtrGetPtr hmac-    result <- g_hmac_get_string hmac'-    checkUnexpectedReturnNULL "hmacGetString" result-    result' <- cstringToText result-    touchManagedPtr hmac-    return result'--#if ENABLE_OVERLOADING-data HmacGetStringMethodInfo-instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo HmacGetStringMethodInfo Hmac signature where-    overloadedMethod _ = hmacGetString--#endif---- method Hmac::unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "hmac", argType = TInterface (Name {namespace = "GLib", name = "Hmac"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHmac", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_hmac_unref" g_hmac_unref :: -    Ptr Hmac ->                             -- hmac : TInterface (Name {namespace = "GLib", name = "Hmac"})-    IO ()--{- |-Atomically decrements the reference count of /@hmac@/ by one.--If the reference count drops to 0, all keys and values will be-destroyed, and all memory allocated by the hash table is released.-This function is MT-safe and may be called from any thread.-Frees the memory allocated for /@hmac@/.--/Since: 2.30/--}-hmacUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Hmac-    {- ^ /@hmac@/: a 'GI.GLib.Structs.Hmac.Hmac' -}-    -> m ()-hmacUnref hmac = liftIO $ do-    hmac' <- unsafeManagedPtrGetPtr hmac-    g_hmac_unref hmac'-    touchManagedPtr hmac-    return ()--#if ENABLE_OVERLOADING-data HmacUnrefMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo HmacUnrefMethodInfo Hmac signature where-    overloadedMethod _ = hmacUnref--#endif---- method Hmac::update--- method type : OrdinaryMethod--- Args : [Arg {argCName = "hmac", argType = TInterface (Name {namespace = "GLib", name = "Hmac"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHmac", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "buffer used to compute the checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "size of the buffer, or -1 if it is a nul-terminated string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "length", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "size of the buffer, or -1 if it is a nul-terminated string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_hmac_update" g_hmac_update :: -    Ptr Hmac ->                             -- hmac : TInterface (Name {namespace = "GLib", name = "Hmac"})-    Ptr Word8 ->                            -- data : TCArray False (-1) 2 (TBasicType TUInt8)-    Int64 ->                                -- length : TBasicType TInt64-    IO ()--{- |-Feeds /@data@/ into an existing 'GI.GLib.Structs.Hmac.Hmac'.--The HMAC must still be open, that is 'GI.GLib.Structs.Hmac.hmacGetString' or-'GI.GLib.Structs.Hmac.hmacGetDigest' must not have been called on /@hmac@/.--/Since: 2.30/--}-hmacUpdate ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Hmac-    {- ^ /@hmac@/: a 'GI.GLib.Structs.Hmac.Hmac' -}-    -> ByteString-    {- ^ /@data@/: buffer used to compute the checksum -}-    -> m ()-hmacUpdate hmac data_ = liftIO $ do-    let length_ = fromIntegral $ B.length data_-    hmac' <- unsafeManagedPtrGetPtr hmac-    data_' <- packByteString data_-    g_hmac_update hmac' data_' length_-    touchManagedPtr hmac-    freeMem data_'-    return ()--#if ENABLE_OVERLOADING-data HmacUpdateMethodInfo-instance (signature ~ (ByteString -> m ()), MonadIO m) => O.MethodInfo HmacUpdateMethodInfo Hmac signature where-    overloadedMethod _ = hmacUpdate--#endif--#if ENABLE_OVERLOADING-type family ResolveHmacMethod (t :: Symbol) (o :: *) :: * where-    ResolveHmacMethod "unref" o = HmacUnrefMethodInfo-    ResolveHmacMethod "update" o = HmacUpdateMethodInfo-    ResolveHmacMethod "getDigest" o = HmacGetDigestMethodInfo-    ResolveHmacMethod "getString" o = HmacGetStringMethodInfo-    ResolveHmacMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveHmacMethod t Hmac, O.MethodInfo info Hmac p) => OL.IsLabel t (Hmac -> 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/GLib/Structs/Hmac.hs-boot
@@ -1,38 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.Hmac 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 Hmac = Hmac (ManagedPtr Hmac)-instance WrappedPtr Hmac where-#if ENABLE_OVERLOADING-data HmacGetDigestMethodInfo-#endif-#if ENABLE_OVERLOADING-data HmacGetStringMethodInfo-#endif-#if ENABLE_OVERLOADING-data HmacUnrefMethodInfo-#endif-#if ENABLE_OVERLOADING-data HmacUpdateMethodInfo-#endif
− GI/GLib/Structs/Hook.hs
@@ -1,909 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The 'GI.GLib.Structs.Hook.Hook' struct represents a single hook function in a 'GI.GLib.Structs.HookList.HookList'.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.Hook-    ( ---- * Exported types-    Hook(..)                                ,-    newZeroHook                             ,-    noHook                                  ,--- -- * Methods--- ** compareIds #method:compareIds#--#if ENABLE_OVERLOADING-    HookCompareIdsMethodInfo                ,-#endif-    hookCompareIds                          ,----- ** destroy #method:destroy#--    hookDestroy                             ,----- ** destroyLink #method:destroyLink#--    hookDestroyLink                         ,----- ** free #method:free#--    hookFree                                ,----- ** insertBefore #method:insertBefore#--    hookInsertBefore                        ,----- ** prepend #method:prepend#--    hookPrepend                             ,----- ** unref #method:unref#--    hookUnref                               ,----- -- * Properties--- ** data #attr:data#-{- | data which is passed to func when this hook is invoked--}-    clearHookData                           ,-    getHookData                             ,-#if ENABLE_OVERLOADING-    hook_data                               ,-#endif-    setHookData                             ,----- ** destroy #attr:destroy#-{- | the default /@finalizeHook@/ function of a 'GI.GLib.Structs.HookList.HookList' calls-    this member of the hook that is being finalized--}-    clearHookDestroy                        ,-    getHookDestroy                          ,-#if ENABLE_OVERLOADING-    hook_destroy                            ,-#endif-    setHookDestroy                          ,----- ** flags #attr:flags#-{- | flags which are set for this hook. See 'GI.GLib.Flags.HookFlagMask' for-    predefined flags--}-    getHookFlags                            ,-#if ENABLE_OVERLOADING-    hook_flags                              ,-#endif-    setHookFlags                            ,----- ** func #attr:func#-{- | the function to call when this hook is invoked. The possible-    signatures for this function are 'GI.GLib.Callbacks.HookFunc' and 'GI.GLib.Callbacks.HookCheckFunc'--}-    clearHookFunc                           ,-    getHookFunc                             ,-#if ENABLE_OVERLOADING-    hook_func                               ,-#endif-    setHookFunc                             ,----- ** hookId #attr:hookId#-{- | the id of this hook, which is unique within its list--}-    getHookHookId                           ,-#if ENABLE_OVERLOADING-    hook_hookId                             ,-#endif-    setHookHookId                           ,----- ** next #attr:next#-{- | pointer to the next hook in the list--}-    clearHookNext                           ,-    getHookNext                             ,-#if ENABLE_OVERLOADING-    hook_next                               ,-#endif-    setHookNext                             ,----- ** prev #attr:prev#-{- | pointer to the previous hook in the list--}-    clearHookPrev                           ,-    getHookPrev                             ,-#if ENABLE_OVERLOADING-    hook_prev                               ,-#endif-    setHookPrev                             ,----- ** refCount #attr:refCount#-{- | the reference count of this hook--}-    getHookRefCount                         ,-#if ENABLE_OVERLOADING-    hook_refCount                           ,-#endif-    setHookRefCount                         ,-----    ) 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 qualified GI.GLib.Callbacks as GLib.Callbacks-import {-# SOURCE #-} qualified GI.GLib.Structs.HookList as GLib.HookList---- | Memory-managed wrapper type.-newtype Hook = Hook (ManagedPtr Hook)-instance WrappedPtr Hook where-    wrappedPtrCalloc = callocBytes 64-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 64 >=> wrapPtr Hook)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `Hook` struct initialized to zero.-newZeroHook :: MonadIO m => m Hook-newZeroHook = liftIO $ wrappedPtrCalloc >>= wrapPtr Hook--instance tag ~ 'AttrSet => Constructible Hook tag where-    new _ attrs = do-        o <- newZeroHook-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `Hook`.-noHook :: Maybe Hook-noHook = Nothing--{- |-Get the value of the “@data@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' hook #data-@--}-getHookData :: MonadIO m => Hook -> m (Ptr ())-getHookData s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr ())-    return val--{- |-Set the value of the “@data@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' hook [ #data 'Data.GI.Base.Attributes.:=' value ]-@--}-setHookData :: MonadIO m => Hook -> Ptr () -> m ()-setHookData s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: Ptr ())--{- |-Set the value of the “@data@” 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' #data-@--}-clearHookData :: MonadIO m => Hook -> m ()-clearHookData s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr ())--#if ENABLE_OVERLOADING-data HookDataFieldInfo-instance AttrInfo HookDataFieldInfo where-    type AttrAllowedOps HookDataFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint HookDataFieldInfo = (~) (Ptr ())-    type AttrBaseTypeConstraint HookDataFieldInfo = (~) Hook-    type AttrGetType HookDataFieldInfo = Ptr ()-    type AttrLabel HookDataFieldInfo = "data"-    type AttrOrigin HookDataFieldInfo = Hook-    attrGet _ = getHookData-    attrSet _ = setHookData-    attrConstruct = undefined-    attrClear _ = clearHookData--hook_data :: AttrLabelProxy "data"-hook_data = AttrLabelProxy--#endif---{- |-Get the value of the “@next@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' hook #next-@--}-getHookNext :: MonadIO m => Hook -> m (Maybe Hook)-getHookNext s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Hook)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newPtr Hook) val'-        return val''-    return result--{- |-Set the value of the “@next@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' hook [ #next 'Data.GI.Base.Attributes.:=' value ]-@--}-setHookNext :: MonadIO m => Hook -> Ptr Hook -> m ()-setHookNext s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Ptr Hook)--{- |-Set the value of the “@next@” 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' #next-@--}-clearHookNext :: MonadIO m => Hook -> m ()-clearHookNext s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Hook)--#if ENABLE_OVERLOADING-data HookNextFieldInfo-instance AttrInfo HookNextFieldInfo where-    type AttrAllowedOps HookNextFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint HookNextFieldInfo = (~) (Ptr Hook)-    type AttrBaseTypeConstraint HookNextFieldInfo = (~) Hook-    type AttrGetType HookNextFieldInfo = Maybe Hook-    type AttrLabel HookNextFieldInfo = "next"-    type AttrOrigin HookNextFieldInfo = Hook-    attrGet _ = getHookNext-    attrSet _ = setHookNext-    attrConstruct = undefined-    attrClear _ = clearHookNext--hook_next :: AttrLabelProxy "next"-hook_next = AttrLabelProxy--#endif---{- |-Get the value of the “@prev@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' hook #prev-@--}-getHookPrev :: MonadIO m => Hook -> m (Maybe Hook)-getHookPrev s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO (Ptr Hook)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newPtr Hook) val'-        return val''-    return result--{- |-Set the value of the “@prev@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' hook [ #prev 'Data.GI.Base.Attributes.:=' value ]-@--}-setHookPrev :: MonadIO m => Hook -> Ptr Hook -> m ()-setHookPrev s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: Ptr Hook)--{- |-Set the value of the “@prev@” 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' #prev-@--}-clearHookPrev :: MonadIO m => Hook -> m ()-clearHookPrev s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (FP.nullPtr :: Ptr Hook)--#if ENABLE_OVERLOADING-data HookPrevFieldInfo-instance AttrInfo HookPrevFieldInfo where-    type AttrAllowedOps HookPrevFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint HookPrevFieldInfo = (~) (Ptr Hook)-    type AttrBaseTypeConstraint HookPrevFieldInfo = (~) Hook-    type AttrGetType HookPrevFieldInfo = Maybe Hook-    type AttrLabel HookPrevFieldInfo = "prev"-    type AttrOrigin HookPrevFieldInfo = Hook-    attrGet _ = getHookPrev-    attrSet _ = setHookPrev-    attrConstruct = undefined-    attrClear _ = clearHookPrev--hook_prev :: AttrLabelProxy "prev"-hook_prev = AttrLabelProxy--#endif---{- |-Get the value of the “@ref_count@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' hook #refCount-@--}-getHookRefCount :: MonadIO m => Hook -> m Word32-getHookRefCount s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO Word32-    return val--{- |-Set the value of the “@ref_count@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' hook [ #refCount 'Data.GI.Base.Attributes.:=' value ]-@--}-setHookRefCount :: MonadIO m => Hook -> Word32 -> m ()-setHookRefCount s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (val :: Word32)--#if ENABLE_OVERLOADING-data HookRefCountFieldInfo-instance AttrInfo HookRefCountFieldInfo where-    type AttrAllowedOps HookRefCountFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint HookRefCountFieldInfo = (~) Word32-    type AttrBaseTypeConstraint HookRefCountFieldInfo = (~) Hook-    type AttrGetType HookRefCountFieldInfo = Word32-    type AttrLabel HookRefCountFieldInfo = "ref_count"-    type AttrOrigin HookRefCountFieldInfo = Hook-    attrGet _ = getHookRefCount-    attrSet _ = setHookRefCount-    attrConstruct = undefined-    attrClear _ = undefined--hook_refCount :: AttrLabelProxy "refCount"-hook_refCount = AttrLabelProxy--#endif---{- |-Get the value of the “@hook_id@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' hook #hookId-@--}-getHookHookId :: MonadIO m => Hook -> m CULong-getHookHookId s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO CULong-    return val--{- |-Set the value of the “@hook_id@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' hook [ #hookId 'Data.GI.Base.Attributes.:=' value ]-@--}-setHookHookId :: MonadIO m => Hook -> CULong -> m ()-setHookHookId s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (val :: CULong)--#if ENABLE_OVERLOADING-data HookHookIdFieldInfo-instance AttrInfo HookHookIdFieldInfo where-    type AttrAllowedOps HookHookIdFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint HookHookIdFieldInfo = (~) CULong-    type AttrBaseTypeConstraint HookHookIdFieldInfo = (~) Hook-    type AttrGetType HookHookIdFieldInfo = CULong-    type AttrLabel HookHookIdFieldInfo = "hook_id"-    type AttrOrigin HookHookIdFieldInfo = Hook-    attrGet _ = getHookHookId-    attrSet _ = setHookHookId-    attrConstruct = undefined-    attrClear _ = undefined--hook_hookId :: AttrLabelProxy "hookId"-hook_hookId = AttrLabelProxy--#endif---{- |-Get the value of the “@flags@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' hook #flags-@--}-getHookFlags :: MonadIO m => Hook -> m Word32-getHookFlags s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 40) :: IO Word32-    return val--{- |-Set the value of the “@flags@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' hook [ #flags 'Data.GI.Base.Attributes.:=' value ]-@--}-setHookFlags :: MonadIO m => Hook -> Word32 -> m ()-setHookFlags s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 40) (val :: Word32)--#if ENABLE_OVERLOADING-data HookFlagsFieldInfo-instance AttrInfo HookFlagsFieldInfo where-    type AttrAllowedOps HookFlagsFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint HookFlagsFieldInfo = (~) Word32-    type AttrBaseTypeConstraint HookFlagsFieldInfo = (~) Hook-    type AttrGetType HookFlagsFieldInfo = Word32-    type AttrLabel HookFlagsFieldInfo = "flags"-    type AttrOrigin HookFlagsFieldInfo = Hook-    attrGet _ = getHookFlags-    attrSet _ = setHookFlags-    attrConstruct = undefined-    attrClear _ = undefined--hook_flags :: AttrLabelProxy "flags"-hook_flags = AttrLabelProxy--#endif---{- |-Get the value of the “@func@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' hook #func-@--}-getHookFunc :: MonadIO m => Hook -> m (Ptr ())-getHookFunc s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 48) :: IO (Ptr ())-    return val--{- |-Set the value of the “@func@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' hook [ #func 'Data.GI.Base.Attributes.:=' value ]-@--}-setHookFunc :: MonadIO m => Hook -> Ptr () -> m ()-setHookFunc s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 48) (val :: Ptr ())--{- |-Set the value of the “@func@” 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' #func-@--}-clearHookFunc :: MonadIO m => Hook -> m ()-clearHookFunc s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 48) (FP.nullPtr :: Ptr ())--#if ENABLE_OVERLOADING-data HookFuncFieldInfo-instance AttrInfo HookFuncFieldInfo where-    type AttrAllowedOps HookFuncFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint HookFuncFieldInfo = (~) (Ptr ())-    type AttrBaseTypeConstraint HookFuncFieldInfo = (~) Hook-    type AttrGetType HookFuncFieldInfo = Ptr ()-    type AttrLabel HookFuncFieldInfo = "func"-    type AttrOrigin HookFuncFieldInfo = Hook-    attrGet _ = getHookFunc-    attrSet _ = setHookFunc-    attrConstruct = undefined-    attrClear _ = clearHookFunc--hook_func :: AttrLabelProxy "func"-hook_func = AttrLabelProxy--#endif---{- |-Get the value of the “@destroy@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' hook #destroy-@--}-getHookDestroy :: MonadIO m => Hook -> m (Maybe GLib.Callbacks.DestroyNotify)-getHookDestroy s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 56) :: IO (FunPtr GLib.Callbacks.C_DestroyNotify)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_DestroyNotify val'-        return val''-    return result--{- |-Set the value of the “@destroy@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' hook [ #destroy 'Data.GI.Base.Attributes.:=' value ]-@--}-setHookDestroy :: MonadIO m => Hook -> FunPtr GLib.Callbacks.C_DestroyNotify -> m ()-setHookDestroy s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 56) (val :: FunPtr GLib.Callbacks.C_DestroyNotify)--{- |-Set the value of the “@destroy@” 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' #destroy-@--}-clearHookDestroy :: MonadIO m => Hook -> m ()-clearHookDestroy s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 56) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_DestroyNotify)--#if ENABLE_OVERLOADING-data HookDestroyFieldInfo-instance AttrInfo HookDestroyFieldInfo where-    type AttrAllowedOps HookDestroyFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint HookDestroyFieldInfo = (~) (FunPtr GLib.Callbacks.C_DestroyNotify)-    type AttrBaseTypeConstraint HookDestroyFieldInfo = (~) Hook-    type AttrGetType HookDestroyFieldInfo = Maybe GLib.Callbacks.DestroyNotify-    type AttrLabel HookDestroyFieldInfo = "destroy"-    type AttrOrigin HookDestroyFieldInfo = Hook-    attrGet _ = getHookDestroy-    attrSet _ = setHookDestroy-    attrConstruct = undefined-    attrClear _ = clearHookDestroy--hook_destroy :: AttrLabelProxy "destroy"-hook_destroy = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList Hook-type instance O.AttributeList Hook = HookAttributeList-type HookAttributeList = ('[ '("data", HookDataFieldInfo), '("next", HookNextFieldInfo), '("prev", HookPrevFieldInfo), '("refCount", HookRefCountFieldInfo), '("hookId", HookHookIdFieldInfo), '("flags", HookFlagsFieldInfo), '("func", HookFuncFieldInfo), '("destroy", HookDestroyFieldInfo)] :: [(Symbol, *)])-#endif---- method Hook::compare_ids--- method type : OrdinaryMethod--- Args : [Arg {argCName = "new_hook", argType = TInterface (Name {namespace = "GLib", name = "Hook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHook", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sibling", argType = TInterface (Name {namespace = "GLib", name = "Hook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHook to compare with @new_hook", 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_hook_compare_ids" g_hook_compare_ids :: -    Ptr Hook ->                             -- new_hook : TInterface (Name {namespace = "GLib", name = "Hook"})-    Ptr Hook ->                             -- sibling : TInterface (Name {namespace = "GLib", name = "Hook"})-    IO Int32--{- |-Compares the ids of two 'GI.GLib.Structs.Hook.Hook' elements, returning a negative value-if the second id is greater than the first.--}-hookCompareIds ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Hook-    {- ^ /@newHook@/: a 'GI.GLib.Structs.Hook.Hook' -}-    -> Hook-    {- ^ /@sibling@/: a 'GI.GLib.Structs.Hook.Hook' to compare with /@newHook@/ -}-    -> m Int32-    {- ^ __Returns:__ a value \<= 0 if the id of /@sibling@/ is >= the id of /@newHook@/ -}-hookCompareIds newHook sibling = liftIO $ do-    newHook' <- unsafeManagedPtrGetPtr newHook-    sibling' <- unsafeManagedPtrGetPtr sibling-    result <- g_hook_compare_ids newHook' sibling'-    touchManagedPtr newHook-    touchManagedPtr sibling-    return result--#if ENABLE_OVERLOADING-data HookCompareIdsMethodInfo-instance (signature ~ (Hook -> m Int32), MonadIO m) => O.MethodInfo HookCompareIdsMethodInfo Hook signature where-    overloadedMethod _ = hookCompareIds--#endif---- method Hook::destroy--- method type : MemberFunction--- Args : [Arg {argCName = "hook_list", argType = TInterface (Name {namespace = "GLib", name = "HookList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHookList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hook_id", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a hook ID", 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_hook_destroy" g_hook_destroy :: -    Ptr GLib.HookList.HookList ->           -- hook_list : TInterface (Name {namespace = "GLib", name = "HookList"})-    CULong ->                               -- hook_id : TBasicType TULong-    IO CInt--{- |-Destroys a 'GI.GLib.Structs.Hook.Hook', given its ID.--}-hookDestroy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.HookList.HookList-    {- ^ /@hookList@/: a 'GI.GLib.Structs.HookList.HookList' -}-    -> CULong-    {- ^ /@hookId@/: a hook ID -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the 'GI.GLib.Structs.Hook.Hook' was found in the 'GI.GLib.Structs.HookList.HookList' and destroyed -}-hookDestroy hookList hookId = liftIO $ do-    hookList' <- unsafeManagedPtrGetPtr hookList-    result <- g_hook_destroy hookList' hookId-    let result' = (/= 0) result-    touchManagedPtr hookList-    return result'--#if ENABLE_OVERLOADING-#endif---- method Hook::destroy_link--- method type : MemberFunction--- Args : [Arg {argCName = "hook_list", argType = TInterface (Name {namespace = "GLib", name = "HookList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHookList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hook", argType = TInterface (Name {namespace = "GLib", name = "Hook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GHook to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_hook_destroy_link" g_hook_destroy_link :: -    Ptr GLib.HookList.HookList ->           -- hook_list : TInterface (Name {namespace = "GLib", name = "HookList"})-    Ptr Hook ->                             -- hook : TInterface (Name {namespace = "GLib", name = "Hook"})-    IO ()--{- |-Removes one 'GI.GLib.Structs.Hook.Hook' from a 'GI.GLib.Structs.HookList.HookList', marking it-inactive and calling 'GI.GLib.Functions.hookUnref' on it.--}-hookDestroyLink ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.HookList.HookList-    {- ^ /@hookList@/: a 'GI.GLib.Structs.HookList.HookList' -}-    -> Hook-    {- ^ /@hook@/: the 'GI.GLib.Structs.Hook.Hook' to remove -}-    -> m ()-hookDestroyLink hookList hook = liftIO $ do-    hookList' <- unsafeManagedPtrGetPtr hookList-    hook' <- unsafeManagedPtrGetPtr hook-    g_hook_destroy_link hookList' hook'-    touchManagedPtr hookList-    touchManagedPtr hook-    return ()--#if ENABLE_OVERLOADING-#endif---- method Hook::free--- method type : MemberFunction--- Args : [Arg {argCName = "hook_list", argType = TInterface (Name {namespace = "GLib", name = "HookList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHookList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hook", argType = TInterface (Name {namespace = "GLib", name = "Hook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GHook to free", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_hook_free" g_hook_free :: -    Ptr GLib.HookList.HookList ->           -- hook_list : TInterface (Name {namespace = "GLib", name = "HookList"})-    Ptr Hook ->                             -- hook : TInterface (Name {namespace = "GLib", name = "Hook"})-    IO ()--{- |-Calls the 'GI.GLib.Structs.HookList.HookList' /@finalizeHook@/ function if it exists,-and frees the memory allocated for the 'GI.GLib.Structs.Hook.Hook'.--}-hookFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.HookList.HookList-    {- ^ /@hookList@/: a 'GI.GLib.Structs.HookList.HookList' -}-    -> Hook-    {- ^ /@hook@/: the 'GI.GLib.Structs.Hook.Hook' to free -}-    -> m ()-hookFree hookList hook = liftIO $ do-    hookList' <- unsafeManagedPtrGetPtr hookList-    hook' <- unsafeManagedPtrGetPtr hook-    g_hook_free hookList' hook'-    touchManagedPtr hookList-    touchManagedPtr hook-    return ()--#if ENABLE_OVERLOADING-#endif---- method Hook::insert_before--- method type : MemberFunction--- Args : [Arg {argCName = "hook_list", argType = TInterface (Name {namespace = "GLib", name = "HookList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHookList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sibling", argType = TInterface (Name {namespace = "GLib", name = "Hook"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GHook to insert the new #GHook before", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hook", argType = TInterface (Name {namespace = "GLib", name = "Hook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GHook to insert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_hook_insert_before" g_hook_insert_before :: -    Ptr GLib.HookList.HookList ->           -- hook_list : TInterface (Name {namespace = "GLib", name = "HookList"})-    Ptr Hook ->                             -- sibling : TInterface (Name {namespace = "GLib", name = "Hook"})-    Ptr Hook ->                             -- hook : TInterface (Name {namespace = "GLib", name = "Hook"})-    IO ()--{- |-Inserts a 'GI.GLib.Structs.Hook.Hook' into a 'GI.GLib.Structs.HookList.HookList', before a given 'GI.GLib.Structs.Hook.Hook'.--}-hookInsertBefore ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.HookList.HookList-    {- ^ /@hookList@/: a 'GI.GLib.Structs.HookList.HookList' -}-    -> Maybe (Hook)-    {- ^ /@sibling@/: the 'GI.GLib.Structs.Hook.Hook' to insert the new 'GI.GLib.Structs.Hook.Hook' before -}-    -> Hook-    {- ^ /@hook@/: the 'GI.GLib.Structs.Hook.Hook' to insert -}-    -> m ()-hookInsertBefore hookList sibling hook = liftIO $ do-    hookList' <- unsafeManagedPtrGetPtr hookList-    maybeSibling <- case sibling of-        Nothing -> return nullPtr-        Just jSibling -> do-            jSibling' <- unsafeManagedPtrGetPtr jSibling-            return jSibling'-    hook' <- unsafeManagedPtrGetPtr hook-    g_hook_insert_before hookList' maybeSibling hook'-    touchManagedPtr hookList-    whenJust sibling touchManagedPtr-    touchManagedPtr hook-    return ()--#if ENABLE_OVERLOADING-#endif---- method Hook::prepend--- method type : MemberFunction--- Args : [Arg {argCName = "hook_list", argType = TInterface (Name {namespace = "GLib", name = "HookList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHookList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hook", argType = TInterface (Name {namespace = "GLib", name = "Hook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GHook to add to the start of @hook_list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_hook_prepend" g_hook_prepend :: -    Ptr GLib.HookList.HookList ->           -- hook_list : TInterface (Name {namespace = "GLib", name = "HookList"})-    Ptr Hook ->                             -- hook : TInterface (Name {namespace = "GLib", name = "Hook"})-    IO ()--{- |-Prepends a 'GI.GLib.Structs.Hook.Hook' on the start of a 'GI.GLib.Structs.HookList.HookList'.--}-hookPrepend ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.HookList.HookList-    {- ^ /@hookList@/: a 'GI.GLib.Structs.HookList.HookList' -}-    -> Hook-    {- ^ /@hook@/: the 'GI.GLib.Structs.Hook.Hook' to add to the start of /@hookList@/ -}-    -> m ()-hookPrepend hookList hook = liftIO $ do-    hookList' <- unsafeManagedPtrGetPtr hookList-    hook' <- unsafeManagedPtrGetPtr hook-    g_hook_prepend hookList' hook'-    touchManagedPtr hookList-    touchManagedPtr hook-    return ()--#if ENABLE_OVERLOADING-#endif---- method Hook::unref--- method type : MemberFunction--- Args : [Arg {argCName = "hook_list", argType = TInterface (Name {namespace = "GLib", name = "HookList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHookList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hook", argType = TInterface (Name {namespace = "GLib", name = "Hook"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GHook to unref", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_hook_unref" g_hook_unref :: -    Ptr GLib.HookList.HookList ->           -- hook_list : TInterface (Name {namespace = "GLib", name = "HookList"})-    Ptr Hook ->                             -- hook : TInterface (Name {namespace = "GLib", name = "Hook"})-    IO ()--{- |-Decrements the reference count of a 'GI.GLib.Structs.Hook.Hook'.-If the reference count falls to 0, the 'GI.GLib.Structs.Hook.Hook' is removed-from the 'GI.GLib.Structs.HookList.HookList' and 'GI.GLib.Functions.hookFree' is called to free it.--}-hookUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.HookList.HookList-    {- ^ /@hookList@/: a 'GI.GLib.Structs.HookList.HookList' -}-    -> Hook-    {- ^ /@hook@/: the 'GI.GLib.Structs.Hook.Hook' to unref -}-    -> m ()-hookUnref hookList hook = liftIO $ do-    hookList' <- unsafeManagedPtrGetPtr hookList-    hook' <- unsafeManagedPtrGetPtr hook-    g_hook_unref hookList' hook'-    touchManagedPtr hookList-    touchManagedPtr hook-    return ()--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveHookMethod (t :: Symbol) (o :: *) :: * where-    ResolveHookMethod "compareIds" o = HookCompareIdsMethodInfo-    ResolveHookMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveHookMethod t Hook, O.MethodInfo info Hook p) => OL.IsLabel t (Hook -> 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/GLib/Structs/Hook.hs-boot
@@ -1,29 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.Hook 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 Hook = Hook (ManagedPtr Hook)-instance WrappedPtr Hook where-#if ENABLE_OVERLOADING-data HookCompareIdsMethodInfo-#endif
− GI/GLib/Structs/HookList.hs
@@ -1,659 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The 'GI.GLib.Structs.HookList.HookList' struct represents a list of hook functions.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.HookList-    ( ---- * Exported types-    HookList(..)                            ,-    newZeroHookList                         ,-    noHookList                              ,--- -- * Methods--- ** clear #method:clear#--#if ENABLE_OVERLOADING-    HookListClearMethodInfo                 ,-#endif-    hookListClear                           ,----- ** init #method:init#--#if ENABLE_OVERLOADING-    HookListInitMethodInfo                  ,-#endif-    hookListInit                            ,----- ** invoke #method:invoke#--#if ENABLE_OVERLOADING-    HookListInvokeMethodInfo                ,-#endif-    hookListInvoke                          ,----- ** invokeCheck #method:invokeCheck#--#if ENABLE_OVERLOADING-    HookListInvokeCheckMethodInfo           ,-#endif-    hookListInvokeCheck                     ,----- -- * Properties--- ** dummy3 #attr:dummy3#-{- | unused--}-    clearHookListDummy3                     ,-    getHookListDummy3                       ,-#if ENABLE_OVERLOADING-    hookList_dummy3                         ,-#endif-    setHookListDummy3                       ,----- ** finalizeHook #attr:finalizeHook#-{- | the function to call to finalize a 'GI.GLib.Structs.Hook.Hook' element.-    The default behaviour is to call the hooks /@destroy@/ function--}-    clearHookListFinalizeHook               ,-    getHookListFinalizeHook                 ,-#if ENABLE_OVERLOADING-    hookList_finalizeHook                   ,-#endif-    setHookListFinalizeHook                 ,----- ** hookSize #attr:hookSize#-{- | the size of the 'GI.GLib.Structs.HookList.HookList' elements, in bytes--}-    getHookListHookSize                     ,-#if ENABLE_OVERLOADING-    hookList_hookSize                       ,-#endif-    setHookListHookSize                     ,----- ** hooks #attr:hooks#-{- | the first 'GI.GLib.Structs.Hook.Hook' element in the list--}-    clearHookListHooks                      ,-    getHookListHooks                        ,-#if ENABLE_OVERLOADING-    hookList_hooks                          ,-#endif-    setHookListHooks                        ,----- ** isSetup #attr:isSetup#-{- | 1 if the 'GI.GLib.Structs.HookList.HookList' has been initialized--}-    getHookListIsSetup                      ,-#if ENABLE_OVERLOADING-    hookList_isSetup                        ,-#endif-    setHookListIsSetup                      ,----- ** seqId #attr:seqId#-{- | the next free 'GI.GLib.Structs.Hook.Hook' id--}-    getHookListSeqId                        ,-#if ENABLE_OVERLOADING-    hookList_seqId                          ,-#endif-    setHookListSeqId                        ,-----    ) 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 qualified GI.GLib.Callbacks as GLib.Callbacks-import {-# SOURCE #-} qualified GI.GLib.Structs.Hook as GLib.Hook---- | Memory-managed wrapper type.-newtype HookList = HookList (ManagedPtr HookList)-instance WrappedPtr HookList where-    wrappedPtrCalloc = callocBytes 56-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 56 >=> wrapPtr HookList)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `HookList` struct initialized to zero.-newZeroHookList :: MonadIO m => m HookList-newZeroHookList = liftIO $ wrappedPtrCalloc >>= wrapPtr HookList--instance tag ~ 'AttrSet => Constructible HookList tag where-    new _ attrs = do-        o <- newZeroHookList-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `HookList`.-noHookList :: Maybe HookList-noHookList = Nothing--{- |-Get the value of the “@seq_id@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' hookList #seqId-@--}-getHookListSeqId :: MonadIO m => HookList -> m CULong-getHookListSeqId s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CULong-    return val--{- |-Set the value of the “@seq_id@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' hookList [ #seqId 'Data.GI.Base.Attributes.:=' value ]-@--}-setHookListSeqId :: MonadIO m => HookList -> CULong -> m ()-setHookListSeqId s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: CULong)--#if ENABLE_OVERLOADING-data HookListSeqIdFieldInfo-instance AttrInfo HookListSeqIdFieldInfo where-    type AttrAllowedOps HookListSeqIdFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint HookListSeqIdFieldInfo = (~) CULong-    type AttrBaseTypeConstraint HookListSeqIdFieldInfo = (~) HookList-    type AttrGetType HookListSeqIdFieldInfo = CULong-    type AttrLabel HookListSeqIdFieldInfo = "seq_id"-    type AttrOrigin HookListSeqIdFieldInfo = HookList-    attrGet _ = getHookListSeqId-    attrSet _ = setHookListSeqId-    attrConstruct = undefined-    attrClear _ = undefined--hookList_seqId :: AttrLabelProxy "seqId"-hookList_seqId = AttrLabelProxy--#endif---{- |-Get the value of the “@hook_size@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' hookList #hookSize-@--}-getHookListHookSize :: MonadIO m => HookList -> m Word32-getHookListHookSize s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO Word32-    return val--{- |-Set the value of the “@hook_size@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' hookList [ #hookSize 'Data.GI.Base.Attributes.:=' value ]-@--}-setHookListHookSize :: MonadIO m => HookList -> Word32 -> m ()-setHookListHookSize s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Word32)--#if ENABLE_OVERLOADING-data HookListHookSizeFieldInfo-instance AttrInfo HookListHookSizeFieldInfo where-    type AttrAllowedOps HookListHookSizeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint HookListHookSizeFieldInfo = (~) Word32-    type AttrBaseTypeConstraint HookListHookSizeFieldInfo = (~) HookList-    type AttrGetType HookListHookSizeFieldInfo = Word32-    type AttrLabel HookListHookSizeFieldInfo = "hook_size"-    type AttrOrigin HookListHookSizeFieldInfo = HookList-    attrGet _ = getHookListHookSize-    attrSet _ = setHookListHookSize-    attrConstruct = undefined-    attrClear _ = undefined--hookList_hookSize :: AttrLabelProxy "hookSize"-hookList_hookSize = AttrLabelProxy--#endif---{- |-Get the value of the “@is_setup@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' hookList #isSetup-@--}-getHookListIsSetup :: MonadIO m => HookList -> m Word32-getHookListIsSetup s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 12) :: IO Word32-    return val--{- |-Set the value of the “@is_setup@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' hookList [ #isSetup 'Data.GI.Base.Attributes.:=' value ]-@--}-setHookListIsSetup :: MonadIO m => HookList -> Word32 -> m ()-setHookListIsSetup s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 12) (val :: Word32)--#if ENABLE_OVERLOADING-data HookListIsSetupFieldInfo-instance AttrInfo HookListIsSetupFieldInfo where-    type AttrAllowedOps HookListIsSetupFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint HookListIsSetupFieldInfo = (~) Word32-    type AttrBaseTypeConstraint HookListIsSetupFieldInfo = (~) HookList-    type AttrGetType HookListIsSetupFieldInfo = Word32-    type AttrLabel HookListIsSetupFieldInfo = "is_setup"-    type AttrOrigin HookListIsSetupFieldInfo = HookList-    attrGet _ = getHookListIsSetup-    attrSet _ = setHookListIsSetup-    attrConstruct = undefined-    attrClear _ = undefined--hookList_isSetup :: AttrLabelProxy "isSetup"-hookList_isSetup = AttrLabelProxy--#endif---{- |-Get the value of the “@hooks@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' hookList #hooks-@--}-getHookListHooks :: MonadIO m => HookList -> m (Maybe GLib.Hook.Hook)-getHookListHooks s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO (Ptr GLib.Hook.Hook)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newPtr GLib.Hook.Hook) val'-        return val''-    return result--{- |-Set the value of the “@hooks@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' hookList [ #hooks 'Data.GI.Base.Attributes.:=' value ]-@--}-setHookListHooks :: MonadIO m => HookList -> Ptr GLib.Hook.Hook -> m ()-setHookListHooks s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: Ptr GLib.Hook.Hook)--{- |-Set the value of the “@hooks@” 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' #hooks-@--}-clearHookListHooks :: MonadIO m => HookList -> m ()-clearHookListHooks s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (FP.nullPtr :: Ptr GLib.Hook.Hook)--#if ENABLE_OVERLOADING-data HookListHooksFieldInfo-instance AttrInfo HookListHooksFieldInfo where-    type AttrAllowedOps HookListHooksFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint HookListHooksFieldInfo = (~) (Ptr GLib.Hook.Hook)-    type AttrBaseTypeConstraint HookListHooksFieldInfo = (~) HookList-    type AttrGetType HookListHooksFieldInfo = Maybe GLib.Hook.Hook-    type AttrLabel HookListHooksFieldInfo = "hooks"-    type AttrOrigin HookListHooksFieldInfo = HookList-    attrGet _ = getHookListHooks-    attrSet _ = setHookListHooks-    attrConstruct = undefined-    attrClear _ = clearHookListHooks--hookList_hooks :: AttrLabelProxy "hooks"-hookList_hooks = AttrLabelProxy--#endif---{- |-Get the value of the “@dummy3@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' hookList #dummy3-@--}-getHookListDummy3 :: MonadIO m => HookList -> m (Ptr ())-getHookListDummy3 s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO (Ptr ())-    return val--{- |-Set the value of the “@dummy3@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' hookList [ #dummy3 'Data.GI.Base.Attributes.:=' value ]-@--}-setHookListDummy3 :: MonadIO m => HookList -> Ptr () -> m ()-setHookListDummy3 s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (val :: Ptr ())--{- |-Set the value of the “@dummy3@” 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' #dummy3-@--}-clearHookListDummy3 :: MonadIO m => HookList -> m ()-clearHookListDummy3 s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (FP.nullPtr :: Ptr ())--#if ENABLE_OVERLOADING-data HookListDummy3FieldInfo-instance AttrInfo HookListDummy3FieldInfo where-    type AttrAllowedOps HookListDummy3FieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint HookListDummy3FieldInfo = (~) (Ptr ())-    type AttrBaseTypeConstraint HookListDummy3FieldInfo = (~) HookList-    type AttrGetType HookListDummy3FieldInfo = Ptr ()-    type AttrLabel HookListDummy3FieldInfo = "dummy3"-    type AttrOrigin HookListDummy3FieldInfo = HookList-    attrGet _ = getHookListDummy3-    attrSet _ = setHookListDummy3-    attrConstruct = undefined-    attrClear _ = clearHookListDummy3--hookList_dummy3 :: AttrLabelProxy "dummy3"-hookList_dummy3 = AttrLabelProxy--#endif---{- |-Get the value of the “@finalize_hook@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' hookList #finalizeHook-@--}-getHookListFinalizeHook :: MonadIO m => HookList -> m (Maybe GLib.Callbacks.HookFinalizeFunc)-getHookListFinalizeHook s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO (FunPtr GLib.Callbacks.C_HookFinalizeFunc)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_HookFinalizeFunc val'-        return val''-    return result--{- |-Set the value of the “@finalize_hook@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' hookList [ #finalizeHook 'Data.GI.Base.Attributes.:=' value ]-@--}-setHookListFinalizeHook :: MonadIO m => HookList -> FunPtr GLib.Callbacks.C_HookFinalizeFunc -> m ()-setHookListFinalizeHook s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (val :: FunPtr GLib.Callbacks.C_HookFinalizeFunc)--{- |-Set the value of the “@finalize_hook@” 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' #finalizeHook-@--}-clearHookListFinalizeHook :: MonadIO m => HookList -> m ()-clearHookListFinalizeHook s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_HookFinalizeFunc)--#if ENABLE_OVERLOADING-data HookListFinalizeHookFieldInfo-instance AttrInfo HookListFinalizeHookFieldInfo where-    type AttrAllowedOps HookListFinalizeHookFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint HookListFinalizeHookFieldInfo = (~) (FunPtr GLib.Callbacks.C_HookFinalizeFunc)-    type AttrBaseTypeConstraint HookListFinalizeHookFieldInfo = (~) HookList-    type AttrGetType HookListFinalizeHookFieldInfo = Maybe GLib.Callbacks.HookFinalizeFunc-    type AttrLabel HookListFinalizeHookFieldInfo = "finalize_hook"-    type AttrOrigin HookListFinalizeHookFieldInfo = HookList-    attrGet _ = getHookListFinalizeHook-    attrSet _ = setHookListFinalizeHook-    attrConstruct = undefined-    attrClear _ = clearHookListFinalizeHook--hookList_finalizeHook :: AttrLabelProxy "finalizeHook"-hookList_finalizeHook = AttrLabelProxy--#endif----- XXX Skipped attribute for "HookList:dummy" :: Not implemented: "Don't know how to unpack C array of type TCArray False 2 (-1) (TBasicType TPtr)"--#if ENABLE_OVERLOADING-instance O.HasAttributeList HookList-type instance O.AttributeList HookList = HookListAttributeList-type HookListAttributeList = ('[ '("seqId", HookListSeqIdFieldInfo), '("hookSize", HookListHookSizeFieldInfo), '("isSetup", HookListIsSetupFieldInfo), '("hooks", HookListHooksFieldInfo), '("dummy3", HookListDummy3FieldInfo), '("finalizeHook", HookListFinalizeHookFieldInfo)] :: [(Symbol, *)])-#endif---- method HookList::clear--- method type : OrdinaryMethod--- Args : [Arg {argCName = "hook_list", argType = TInterface (Name {namespace = "GLib", name = "HookList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHookList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_hook_list_clear" g_hook_list_clear :: -    Ptr HookList ->                         -- hook_list : TInterface (Name {namespace = "GLib", name = "HookList"})-    IO ()--{- |-Removes all the 'GI.GLib.Structs.Hook.Hook' elements from a 'GI.GLib.Structs.HookList.HookList'.--}-hookListClear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    HookList-    {- ^ /@hookList@/: a 'GI.GLib.Structs.HookList.HookList' -}-    -> m ()-hookListClear hookList = liftIO $ do-    hookList' <- unsafeManagedPtrGetPtr hookList-    g_hook_list_clear hookList'-    touchManagedPtr hookList-    return ()--#if ENABLE_OVERLOADING-data HookListClearMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo HookListClearMethodInfo HookList signature where-    overloadedMethod _ = hookListClear--#endif---- method HookList::init--- method type : OrdinaryMethod--- Args : [Arg {argCName = "hook_list", argType = TInterface (Name {namespace = "GLib", name = "HookList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHookList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "hook_size", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of each element in the #GHookList,\n    typically `sizeof (GHook)`.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_hook_list_init" g_hook_list_init :: -    Ptr HookList ->                         -- hook_list : TInterface (Name {namespace = "GLib", name = "HookList"})-    Word32 ->                               -- hook_size : TBasicType TUInt-    IO ()--{- |-Initializes a 'GI.GLib.Structs.HookList.HookList'.-This must be called before the 'GI.GLib.Structs.HookList.HookList' is used.--}-hookListInit ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    HookList-    {- ^ /@hookList@/: a 'GI.GLib.Structs.HookList.HookList' -}-    -> Word32-    {- ^ /@hookSize@/: the size of each element in the 'GI.GLib.Structs.HookList.HookList',-    typically @sizeof (GHook)@. -}-    -> m ()-hookListInit hookList hookSize = liftIO $ do-    hookList' <- unsafeManagedPtrGetPtr hookList-    g_hook_list_init hookList' hookSize-    touchManagedPtr hookList-    return ()--#if ENABLE_OVERLOADING-data HookListInitMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo HookListInitMethodInfo HookList signature where-    overloadedMethod _ = hookListInit--#endif---- method HookList::invoke--- method type : OrdinaryMethod--- Args : [Arg {argCName = "hook_list", argType = TInterface (Name {namespace = "GLib", name = "HookList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHookList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "may_recurse", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if functions which are already running\n    (e.g. in another thread) can be called. If set to %FALSE,\n    these are skipped", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_hook_list_invoke" g_hook_list_invoke :: -    Ptr HookList ->                         -- hook_list : TInterface (Name {namespace = "GLib", name = "HookList"})-    CInt ->                                 -- may_recurse : TBasicType TBoolean-    IO ()--{- |-Calls all of the 'GI.GLib.Structs.Hook.Hook' functions in a 'GI.GLib.Structs.HookList.HookList'.--}-hookListInvoke ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    HookList-    {- ^ /@hookList@/: a 'GI.GLib.Structs.HookList.HookList' -}-    -> Bool-    {- ^ /@mayRecurse@/: 'True' if functions which are already running-    (e.g. in another thread) can be called. If set to 'False',-    these are skipped -}-    -> m ()-hookListInvoke hookList mayRecurse = liftIO $ do-    hookList' <- unsafeManagedPtrGetPtr hookList-    let mayRecurse' = (fromIntegral . fromEnum) mayRecurse-    g_hook_list_invoke hookList' mayRecurse'-    touchManagedPtr hookList-    return ()--#if ENABLE_OVERLOADING-data HookListInvokeMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m) => O.MethodInfo HookListInvokeMethodInfo HookList signature where-    overloadedMethod _ = hookListInvoke--#endif---- method HookList::invoke_check--- method type : OrdinaryMethod--- Args : [Arg {argCName = "hook_list", argType = TInterface (Name {namespace = "GLib", name = "HookList"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GHookList", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "may_recurse", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if functions which are already running\n    (e.g. in another thread) can be called. If set to %FALSE,\n    these are skipped", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_hook_list_invoke_check" g_hook_list_invoke_check :: -    Ptr HookList ->                         -- hook_list : TInterface (Name {namespace = "GLib", name = "HookList"})-    CInt ->                                 -- may_recurse : TBasicType TBoolean-    IO ()--{- |-Calls all of the 'GI.GLib.Structs.Hook.Hook' functions in a 'GI.GLib.Structs.HookList.HookList'.-Any function which returns 'False' is removed from the 'GI.GLib.Structs.HookList.HookList'.--}-hookListInvokeCheck ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    HookList-    {- ^ /@hookList@/: a 'GI.GLib.Structs.HookList.HookList' -}-    -> Bool-    {- ^ /@mayRecurse@/: 'True' if functions which are already running-    (e.g. in another thread) can be called. If set to 'False',-    these are skipped -}-    -> m ()-hookListInvokeCheck hookList mayRecurse = liftIO $ do-    hookList' <- unsafeManagedPtrGetPtr hookList-    let mayRecurse' = (fromIntegral . fromEnum) mayRecurse-    g_hook_list_invoke_check hookList' mayRecurse'-    touchManagedPtr hookList-    return ()--#if ENABLE_OVERLOADING-data HookListInvokeCheckMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m) => O.MethodInfo HookListInvokeCheckMethodInfo HookList signature where-    overloadedMethod _ = hookListInvokeCheck--#endif--#if ENABLE_OVERLOADING-type family ResolveHookListMethod (t :: Symbol) (o :: *) :: * where-    ResolveHookListMethod "clear" o = HookListClearMethodInfo-    ResolveHookListMethod "init" o = HookListInitMethodInfo-    ResolveHookListMethod "invoke" o = HookListInvokeMethodInfo-    ResolveHookListMethod "invokeCheck" o = HookListInvokeCheckMethodInfo-    ResolveHookListMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveHookListMethod t HookList, O.MethodInfo info HookList p) => OL.IsLabel t (HookList -> 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/GLib/Structs/HookList.hs-boot
@@ -1,38 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.HookList 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 HookList = HookList (ManagedPtr HookList)-instance WrappedPtr HookList where-#if ENABLE_OVERLOADING-data HookListClearMethodInfo-#endif-#if ENABLE_OVERLOADING-data HookListInitMethodInfo-#endif-#if ENABLE_OVERLOADING-data HookListInvokeMethodInfo-#endif-#if ENABLE_OVERLOADING-data HookListInvokeCheckMethodInfo-#endif
− GI/GLib/Structs/IOChannel.hs
@@ -1,1884 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A data structure representing an IO Channel. The fields should be-considered private and should only be accessed with the following-functions.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.IOChannel-    ( ---- * Exported types-    IOChannel(..)                           ,-    newZeroIOChannel                        ,-    noIOChannel                             ,--- -- * Methods--- ** close #method:close#--#if ENABLE_OVERLOADING-    IOChannelCloseMethodInfo                ,-#endif-    iOChannelClose                          ,----- ** errorFromErrno #method:errorFromErrno#--    iOChannelErrorFromErrno                 ,----- ** errorQuark #method:errorQuark#--    iOChannelErrorQuark                     ,----- ** flush #method:flush#--#if ENABLE_OVERLOADING-    IOChannelFlushMethodInfo                ,-#endif-    iOChannelFlush                          ,----- ** getBufferCondition #method:getBufferCondition#--#if ENABLE_OVERLOADING-    IOChannelGetBufferConditionMethodInfo   ,-#endif-    iOChannelGetBufferCondition             ,----- ** getBufferSize #method:getBufferSize#--#if ENABLE_OVERLOADING-    IOChannelGetBufferSizeMethodInfo        ,-#endif-    iOChannelGetBufferSize                  ,----- ** getBuffered #method:getBuffered#--#if ENABLE_OVERLOADING-    IOChannelGetBufferedMethodInfo          ,-#endif-    iOChannelGetBuffered                    ,----- ** getCloseOnUnref #method:getCloseOnUnref#--#if ENABLE_OVERLOADING-    IOChannelGetCloseOnUnrefMethodInfo      ,-#endif-    iOChannelGetCloseOnUnref                ,----- ** getEncoding #method:getEncoding#--#if ENABLE_OVERLOADING-    IOChannelGetEncodingMethodInfo          ,-#endif-    iOChannelGetEncoding                    ,----- ** getFlags #method:getFlags#--#if ENABLE_OVERLOADING-    IOChannelGetFlagsMethodInfo             ,-#endif-    iOChannelGetFlags                       ,----- ** getLineTerm #method:getLineTerm#--#if ENABLE_OVERLOADING-    IOChannelGetLineTermMethodInfo          ,-#endif-    iOChannelGetLineTerm                    ,----- ** init #method:init#--#if ENABLE_OVERLOADING-    IOChannelInitMethodInfo                 ,-#endif-    iOChannelInit                           ,----- ** newFile #method:newFile#--    iOChannelNewFile                        ,----- ** read #method:read#--#if ENABLE_OVERLOADING-    IOChannelReadMethodInfo                 ,-#endif-    iOChannelRead                           ,----- ** readChars #method:readChars#--#if ENABLE_OVERLOADING-    IOChannelReadCharsMethodInfo            ,-#endif-    iOChannelReadChars                      ,----- ** readLine #method:readLine#--#if ENABLE_OVERLOADING-    IOChannelReadLineMethodInfo             ,-#endif-    iOChannelReadLine                       ,----- ** readToEnd #method:readToEnd#--#if ENABLE_OVERLOADING-    IOChannelReadToEndMethodInfo            ,-#endif-    iOChannelReadToEnd                      ,----- ** readUnichar #method:readUnichar#--#if ENABLE_OVERLOADING-    IOChannelReadUnicharMethodInfo          ,-#endif-    iOChannelReadUnichar                    ,----- ** ref #method:ref#--#if ENABLE_OVERLOADING-    IOChannelRefMethodInfo                  ,-#endif-    iOChannelRef                            ,----- ** seek #method:seek#--#if ENABLE_OVERLOADING-    IOChannelSeekMethodInfo                 ,-#endif-    iOChannelSeek                           ,----- ** seekPosition #method:seekPosition#--#if ENABLE_OVERLOADING-    IOChannelSeekPositionMethodInfo         ,-#endif-    iOChannelSeekPosition                   ,----- ** setBufferSize #method:setBufferSize#--#if ENABLE_OVERLOADING-    IOChannelSetBufferSizeMethodInfo        ,-#endif-    iOChannelSetBufferSize                  ,----- ** setBuffered #method:setBuffered#--#if ENABLE_OVERLOADING-    IOChannelSetBufferedMethodInfo          ,-#endif-    iOChannelSetBuffered                    ,----- ** setCloseOnUnref #method:setCloseOnUnref#--#if ENABLE_OVERLOADING-    IOChannelSetCloseOnUnrefMethodInfo      ,-#endif-    iOChannelSetCloseOnUnref                ,----- ** setEncoding #method:setEncoding#--#if ENABLE_OVERLOADING-    IOChannelSetEncodingMethodInfo          ,-#endif-    iOChannelSetEncoding                    ,----- ** setFlags #method:setFlags#--#if ENABLE_OVERLOADING-    IOChannelSetFlagsMethodInfo             ,-#endif-    iOChannelSetFlags                       ,----- ** setLineTerm #method:setLineTerm#--#if ENABLE_OVERLOADING-    IOChannelSetLineTermMethodInfo          ,-#endif-    iOChannelSetLineTerm                    ,----- ** shutdown #method:shutdown#--#if ENABLE_OVERLOADING-    IOChannelShutdownMethodInfo             ,-#endif-    iOChannelShutdown                       ,----- ** unixGetFd #method:unixGetFd#--#if ENABLE_OVERLOADING-    IOChannelUnixGetFdMethodInfo            ,-#endif-    iOChannelUnixGetFd                      ,----- ** unixNew #method:unixNew#--    iOChannelUnixNew                        ,----- ** unref #method:unref#--#if ENABLE_OVERLOADING-    IOChannelUnrefMethodInfo                ,-#endif-    iOChannelUnref                          ,----- ** write #method:write#--#if ENABLE_OVERLOADING-    IOChannelWriteMethodInfo                ,-#endif-    iOChannelWrite                          ,----- ** writeChars #method:writeChars#--#if ENABLE_OVERLOADING-    IOChannelWriteCharsMethodInfo           ,-#endif-    iOChannelWriteChars                     ,----- ** writeUnichar #method:writeUnichar#--#if ENABLE_OVERLOADING-    IOChannelWriteUnicharMethodInfo         ,-#endif-    iOChannelWriteUnichar                   ,-----    ) 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.GLib.Enums as GLib.Enums-import {-# SOURCE #-} qualified GI.GLib.Flags as GLib.Flags---- | Memory-managed wrapper type.-newtype IOChannel = IOChannel (ManagedPtr IOChannel)-foreign import ccall "g_io_channel_get_type" c_g_io_channel_get_type :: -    IO GType--instance BoxedObject IOChannel where-    boxedType _ = c_g_io_channel_get_type---- | Construct a `IOChannel` struct initialized to zero.-newZeroIOChannel :: MonadIO m => m IOChannel-newZeroIOChannel = liftIO $ callocBoxedBytes 136 >>= wrapBoxed IOChannel--instance tag ~ 'AttrSet => Constructible IOChannel tag where-    new _ attrs = do-        o <- newZeroIOChannel-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `IOChannel`.-noIOChannel :: Maybe IOChannel-noIOChannel = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList IOChannel-type instance O.AttributeList IOChannel = IOChannelAttributeList-type IOChannelAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method IOChannel::new_file--- method type : Constructor--- Args : [Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A string containing the name of a file", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "One of \"r\", \"w\", \"a\", \"r+\", \"w+\", \"a+\". These have\n       the same meaning as in fopen()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOChannel"}))--- throws : True--- Skip return : False--foreign import ccall "g_io_channel_new_file" g_io_channel_new_file :: -    CString ->                              -- filename : TBasicType TFileName-    CString ->                              -- mode : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr IOChannel)--{- |-Open a file /@filename@/ as a 'GI.GLib.Structs.IOChannel.IOChannel' using mode /@mode@/. This-channel will be closed when the last reference to it is dropped,-so there is no need to call 'GI.GLib.Structs.IOChannel.iOChannelClose' (though doing-so will not cause problems, as long as no attempt is made to-access the channel after it is closed).--}-iOChannelNewFile ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@filename@/: A string containing the name of a file -}-    -> T.Text-    {- ^ /@mode@/: One of \"r\", \"w\", \"a\", \"r+\", \"w+\", \"a+\". These have-       the same meaning as in @/fopen()/@ -}-    -> m IOChannel-    {- ^ __Returns:__ A 'GI.GLib.Structs.IOChannel.IOChannel' on success, 'Nothing' on failure. /(Can throw 'Data.GI.Base.GError.GError')/ -}-iOChannelNewFile filename mode = liftIO $ do-    filename' <- stringToCString filename-    mode' <- textToCString mode-    onException (do-        result <- propagateGError $ g_io_channel_new_file filename' mode'-        checkUnexpectedReturnNULL "iOChannelNewFile" result-        result' <- (wrapBoxed IOChannel) result-        freeMem filename'-        freeMem mode'-        return result'-     ) (do-        freeMem filename'-        freeMem mode'-     )--#if ENABLE_OVERLOADING-#endif---- method IOChannel::unix_new--- method type : Constructor--- Args : [Arg {argCName = "fd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOChannel"}))--- throws : False--- Skip return : False--foreign import ccall "g_io_channel_unix_new" g_io_channel_unix_new :: -    Int32 ->                                -- fd : TBasicType TInt-    IO (Ptr IOChannel)--{- |-Creates a new 'GI.GLib.Structs.IOChannel.IOChannel' given a file descriptor. On UNIX systems-this works for plain files, pipes, and sockets.--The returned 'GI.GLib.Structs.IOChannel.IOChannel' has a reference count of 1.--The default encoding for 'GI.GLib.Structs.IOChannel.IOChannel' is UTF-8. If your application-is reading output from a command using via pipe, you may need to set-the encoding to the encoding of the current locale (see-'GI.GLib.Functions.getCharset') with the 'GI.GLib.Structs.IOChannel.iOChannelSetEncoding' function.-By default, the fd passed will not be closed when the final reference-to the 'GI.GLib.Structs.IOChannel.IOChannel' data structure is dropped.--If you want to read raw binary data without interpretation, then-call the 'GI.GLib.Structs.IOChannel.iOChannelSetEncoding' function with 'Nothing' for the-encoding argument.--This function is available in GLib on Windows, too, but you should-avoid using it on Windows. The domain of file descriptors and-sockets overlap. There is no way for GLib to know which one you mean-in case the argument you pass to this function happens to be both a-valid file descriptor and socket. If that happens a warning is-issued, and GLib assumes that it is the file descriptor you mean.--}-iOChannelUnixNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@fd@/: a file descriptor. -}-    -> m IOChannel-    {- ^ __Returns:__ a new 'GI.GLib.Structs.IOChannel.IOChannel'. -}-iOChannelUnixNew fd = liftIO $ do-    result <- g_io_channel_unix_new fd-    checkUnexpectedReturnNULL "iOChannelUnixNew" result-    result' <- (wrapBoxed IOChannel) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method IOChannel::close--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_io_channel_close" g_io_channel_close :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    IO ()--{-# DEPRECATED iOChannelClose ["(Since version 2.2)","Use 'GI.GLib.Structs.IOChannel.iOChannelShutdown' instead."] #-}-{- |-Close an IO channel. Any pending data to be written will be-flushed, ignoring errors. The channel will not be freed until the-last reference is dropped using 'GI.GLib.Structs.IOChannel.iOChannelUnref'.--}-iOChannelClose ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: A 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> m ()-iOChannelClose channel = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    g_io_channel_close channel'-    touchManagedPtr channel-    return ()--#if ENABLE_OVERLOADING-data IOChannelCloseMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo IOChannelCloseMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelClose--#endif---- method IOChannel::flush--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOStatus"}))--- throws : True--- Skip return : False--foreign import ccall "g_io_channel_flush" g_io_channel_flush :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    Ptr (Ptr GError) ->                     -- error-    IO CUInt--{- |-Flushes the write buffer for the GIOChannel.--}-iOChannelFlush ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> m GLib.Enums.IOStatus-    {- ^ __Returns:__ the status of the operation: One of-  @/G_IO_STATUS_NORMAL/@, @/G_IO_STATUS_AGAIN/@, or-  @/G_IO_STATUS_ERROR/@. /(Can throw 'Data.GI.Base.GError.GError')/ -}-iOChannelFlush channel = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    onException (do-        result <- propagateGError $ g_io_channel_flush channel'-        let result' = (toEnum . fromIntegral) result-        touchManagedPtr channel-        return result'-     ) (do-        return ()-     )--#if ENABLE_OVERLOADING-data IOChannelFlushMethodInfo-instance (signature ~ (m GLib.Enums.IOStatus), MonadIO m) => O.MethodInfo IOChannelFlushMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelFlush--#endif---- method IOChannel::get_buffer_condition--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOCondition"}))--- throws : False--- Skip return : False--foreign import ccall "g_io_channel_get_buffer_condition" g_io_channel_get_buffer_condition :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    IO CUInt--{- |-This function returns a 'GI.GLib.Flags.IOCondition' depending on whether there-is data to be read\/space to write data in the internal buffers in-the 'GI.GLib.Structs.IOChannel.IOChannel'. Only the flags 'GI.GLib.Flags.IOConditionIn' and 'GI.GLib.Flags.IOConditionOut' may be set.--}-iOChannelGetBufferCondition ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: A 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> m [GLib.Flags.IOCondition]-    {- ^ __Returns:__ A 'GI.GLib.Flags.IOCondition' -}-iOChannelGetBufferCondition channel = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    result <- g_io_channel_get_buffer_condition channel'-    let result' = wordToGFlags result-    touchManagedPtr channel-    return result'--#if ENABLE_OVERLOADING-data IOChannelGetBufferConditionMethodInfo-instance (signature ~ (m [GLib.Flags.IOCondition]), MonadIO m) => O.MethodInfo IOChannelGetBufferConditionMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelGetBufferCondition--#endif---- method IOChannel::get_buffer_size--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", 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_io_channel_get_buffer_size" g_io_channel_get_buffer_size :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    IO Word64--{- |-Gets the buffer size.--}-iOChannelGetBufferSize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> m Word64-    {- ^ __Returns:__ the size of the buffer. -}-iOChannelGetBufferSize channel = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    result <- g_io_channel_get_buffer_size channel'-    touchManagedPtr channel-    return result--#if ENABLE_OVERLOADING-data IOChannelGetBufferSizeMethodInfo-instance (signature ~ (m Word64), MonadIO m) => O.MethodInfo IOChannelGetBufferSizeMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelGetBufferSize--#endif---- method IOChannel::get_buffered--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", 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_io_channel_get_buffered" g_io_channel_get_buffered :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    IO CInt--{- |-Returns whether /@channel@/ is buffered.--}-iOChannelGetBuffered ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the /@channel@/ is buffered. -}-iOChannelGetBuffered channel = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    result <- g_io_channel_get_buffered channel'-    let result' = (/= 0) result-    touchManagedPtr channel-    return result'--#if ENABLE_OVERLOADING-data IOChannelGetBufferedMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo IOChannelGetBufferedMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelGetBuffered--#endif---- method IOChannel::get_close_on_unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel.", 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_io_channel_get_close_on_unref" g_io_channel_get_close_on_unref :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    IO CInt--{- |-Returns whether the file\/socket\/whatever associated with /@channel@/-will be closed when /@channel@/ receives its final unref and is-destroyed. The default value of this is 'True' for channels created-by g_io_channel_new_file (), and 'False' for all other channels.--}-iOChannelGetCloseOnUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel'. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the channel will be closed, 'False' otherwise. -}-iOChannelGetCloseOnUnref channel = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    result <- g_io_channel_get_close_on_unref channel'-    let result' = (/= 0) result-    touchManagedPtr channel-    return result'--#if ENABLE_OVERLOADING-data IOChannelGetCloseOnUnrefMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo IOChannelGetCloseOnUnrefMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelGetCloseOnUnref--#endif---- method IOChannel::get_encoding--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", 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_io_channel_get_encoding" g_io_channel_get_encoding :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    IO CString--{- |-Gets the encoding for the input\/output of the channel.-The internal encoding is always UTF-8. The encoding 'Nothing'-makes the channel safe for binary data.--}-iOChannelGetEncoding ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> m T.Text-    {- ^ __Returns:__ A string containing the encoding, this string is-  owned by GLib and must not be freed. -}-iOChannelGetEncoding channel = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    result <- g_io_channel_get_encoding channel'-    checkUnexpectedReturnNULL "iOChannelGetEncoding" result-    result' <- cstringToText result-    touchManagedPtr channel-    return result'--#if ENABLE_OVERLOADING-data IOChannelGetEncodingMethodInfo-instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo IOChannelGetEncodingMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelGetEncoding--#endif---- method IOChannel::get_flags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOFlags"}))--- throws : False--- Skip return : False--foreign import ccall "g_io_channel_get_flags" g_io_channel_get_flags :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    IO CUInt--{- |-Gets the current flags for a 'GI.GLib.Structs.IOChannel.IOChannel', including read-only-flags such as 'GI.GLib.Flags.IOFlagsIsReadable'.--The values of the flags 'GI.GLib.Flags.IOFlagsIsReadable' and 'GI.GLib.Flags.IOFlagsIsWritable'-are cached for internal use by the channel when it is created.-If they should change at some later point (e.g. partial shutdown-of a socket with the UNIX @/shutdown()/@ function), the user-should immediately call 'GI.GLib.Structs.IOChannel.iOChannelGetFlags' to update-the internal values of these flags.--}-iOChannelGetFlags ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> m [GLib.Flags.IOFlags]-    {- ^ __Returns:__ the flags which are set on the channel -}-iOChannelGetFlags channel = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    result <- g_io_channel_get_flags channel'-    let result' = wordToGFlags result-    touchManagedPtr channel-    return result'--#if ENABLE_OVERLOADING-data IOChannelGetFlagsMethodInfo-instance (signature ~ (m [GLib.Flags.IOFlags]), MonadIO m) => O.MethodInfo IOChannelGetFlagsMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelGetFlags--#endif---- method IOChannel::get_line_term--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location to return the length of the line terminator", 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_io_channel_get_line_term" g_io_channel_get_line_term :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    Int32 ->                                -- length : TBasicType TInt-    IO CString--{- |-This returns the string that 'GI.GLib.Structs.IOChannel.IOChannel' uses to determine-where in the file a line break occurs. A value of 'Nothing'-indicates autodetection.--}-iOChannelGetLineTerm ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> Int32-    {- ^ /@length@/: a location to return the length of the line terminator -}-    -> m T.Text-    {- ^ __Returns:__ The line termination string. This value-  is owned by GLib and must not be freed. -}-iOChannelGetLineTerm channel length_ = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    result <- g_io_channel_get_line_term channel' length_-    checkUnexpectedReturnNULL "iOChannelGetLineTerm" result-    result' <- cstringToText result-    touchManagedPtr channel-    return result'--#if ENABLE_OVERLOADING-data IOChannelGetLineTermMethodInfo-instance (signature ~ (Int32 -> m T.Text), MonadIO m) => O.MethodInfo IOChannelGetLineTermMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelGetLineTerm--#endif---- method IOChannel::init--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_io_channel_init" g_io_channel_init :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    IO ()--{- |-Initializes a 'GI.GLib.Structs.IOChannel.IOChannel' struct.--This is called by each of the above functions when creating a-'GI.GLib.Structs.IOChannel.IOChannel', and so is not often needed by the application-programmer (unless you are creating a new type of 'GI.GLib.Structs.IOChannel.IOChannel').--}-iOChannelInit ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> m ()-iOChannelInit channel = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    g_io_channel_init channel'-    touchManagedPtr channel-    return ()--#if ENABLE_OVERLOADING-data IOChannelInitMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo IOChannelInitMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelInit--#endif---- method IOChannel::read--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buf", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a buffer to read the data into (which should be at least\n      count bytes long)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to read from the #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bytes_read", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "returns the number of bytes actually read", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOError"}))--- throws : False--- Skip return : False--foreign import ccall "g_io_channel_read" g_io_channel_read :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    CString ->                              -- buf : TBasicType TUTF8-    Word64 ->                               -- count : TBasicType TUInt64-    Word64 ->                               -- bytes_read : TBasicType TUInt64-    IO CUInt--{-# DEPRECATED iOChannelRead ["(Since version 2.2)","Use 'GI.GLib.Structs.IOChannel.iOChannelReadChars' instead."] #-}-{- |-Reads data from a 'GI.GLib.Structs.IOChannel.IOChannel'.--}-iOChannelRead ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> T.Text-    {- ^ /@buf@/: a buffer to read the data into (which should be at least-      count bytes long) -}-    -> Word64-    {- ^ /@count@/: the number of bytes to read from the 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> Word64-    {- ^ /@bytesRead@/: returns the number of bytes actually read -}-    -> m GLib.Enums.IOError-    {- ^ __Returns:__ 'GI.GLib.Enums.IOErrorNone' if the operation was successful. -}-iOChannelRead channel buf count bytesRead = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    buf' <- textToCString buf-    result <- g_io_channel_read channel' buf' count bytesRead-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr channel-    freeMem buf'-    return result'--#if ENABLE_OVERLOADING-data IOChannelReadMethodInfo-instance (signature ~ (T.Text -> Word64 -> Word64 -> m GLib.Enums.IOError), MonadIO m) => O.MethodInfo IOChannelReadMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelRead--#endif---- method IOChannel::read_chars--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buf", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "\n    a buffer to read data into", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of the buffer. Note that the buffer may not be\n    complelely filled even if there is data in the buffer if the\n    remaining data is not a complete character.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bytes_read", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The number of bytes read. This may be\n    zero even on success if count < 6 and the channel's encoding\n    is non-%NULL. This indicates that the next UTF-8 character is\n    too wide for the buffer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "count", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of the buffer. Note that the buffer may not be\n    complelely filled even if there is data in the buffer if the\n    remaining data is not a complete character.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOStatus"}))--- throws : True--- Skip return : False--foreign import ccall "g_io_channel_read_chars" g_io_channel_read_chars :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    Ptr Word8 ->                            -- buf : TCArray False (-1) 2 (TBasicType TUInt8)-    Word64 ->                               -- count : TBasicType TUInt64-    Ptr Word64 ->                           -- bytes_read : TBasicType TUInt64-    Ptr (Ptr GError) ->                     -- error-    IO CUInt--{- |-Replacement for 'GI.GLib.Structs.IOChannel.iOChannelRead' with the new API.--}-iOChannelReadChars ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> ByteString-    {- ^ /@buf@/: -    a buffer to read data into -}-    -> m ((GLib.Enums.IOStatus, ByteString, Word64))-    {- ^ __Returns:__ the status of the operation. /(Can throw 'Data.GI.Base.GError.GError')/ -}-iOChannelReadChars channel buf = liftIO $ do-    let count = fromIntegral $ B.length buf-    channel' <- unsafeManagedPtrGetPtr channel-    buf' <- packByteString buf-    bytesRead <- allocMem :: IO (Ptr Word64)-    onException (do-        result <- propagateGError $ g_io_channel_read_chars channel' buf' count bytesRead-        let result' = (toEnum . fromIntegral) result-        buf'' <- (unpackByteStringWithLength count) buf'-        bytesRead' <- peek bytesRead-        touchManagedPtr channel-        freeMem bytesRead-        return (result', buf'', bytesRead')-     ) (do-        freeMem buf'-        freeMem bytesRead-     )--#if ENABLE_OVERLOADING-data IOChannelReadCharsMethodInfo-instance (signature ~ (ByteString -> m ((GLib.Enums.IOStatus, ByteString, Word64))), MonadIO m) => O.MethodInfo IOChannelReadCharsMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelReadChars--#endif---- method IOChannel::read_line--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "str_return", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The line read from the #GIOChannel, including the\n             line terminator. This data should be freed with g_free()\n             when no longer needed. This is a nul-terminated string.\n             If a @length of zero is returned, this will be %NULL instead.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store length of the read data, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "terminator_pos", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store position of line terminator, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOStatus"}))--- throws : True--- Skip return : False--foreign import ccall "g_io_channel_read_line" g_io_channel_read_line :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    Ptr CString ->                          -- str_return : TBasicType TUTF8-    Ptr Word64 ->                           -- length : TBasicType TUInt64-    Ptr Word64 ->                           -- terminator_pos : TBasicType TUInt64-    Ptr (Ptr GError) ->                     -- error-    IO CUInt--{- |-Reads a line, including the terminating character(s),-from a 'GI.GLib.Structs.IOChannel.IOChannel' into a newly-allocated string.-/@strReturn@/ will contain allocated memory if the return-is 'GI.GLib.Enums.IOStatusNormal'.--}-iOChannelReadLine ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> m ((GLib.Enums.IOStatus, T.Text, Word64, Word64))-    {- ^ __Returns:__ the status of the operation. /(Can throw 'Data.GI.Base.GError.GError')/ -}-iOChannelReadLine channel = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    strReturn <- allocMem :: IO (Ptr CString)-    length_ <- allocMem :: IO (Ptr Word64)-    terminatorPos <- allocMem :: IO (Ptr Word64)-    onException (do-        result <- propagateGError $ g_io_channel_read_line channel' strReturn length_ terminatorPos-        let result' = (toEnum . fromIntegral) result-        strReturn' <- peek strReturn-        strReturn'' <- cstringToText strReturn'-        freeMem strReturn'-        length_' <- peek length_-        terminatorPos' <- peek terminatorPos-        touchManagedPtr channel-        freeMem strReturn-        freeMem length_-        freeMem terminatorPos-        return (result', strReturn'', length_', terminatorPos')-     ) (do-        freeMem strReturn-        freeMem length_-        freeMem terminatorPos-     )--#if ENABLE_OVERLOADING-data IOChannelReadLineMethodInfo-instance (signature ~ (m ((GLib.Enums.IOStatus, T.Text, Word64, Word64))), MonadIO m) => O.MethodInfo IOChannelReadLineMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelReadLine--#endif---- method IOChannel::read_to_end--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "str_return", argType = TCArray False (-1) 2 (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Location to\n             store a pointer to a string holding the remaining data in the\n             #GIOChannel. This data should be freed with g_free() when no\n             longer needed. This data is terminated by an extra nul\n             character, but there may be other nuls in the intervening data.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store length of the data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store length of the data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOStatus"}))--- throws : True--- Skip return : False--foreign import ccall "g_io_channel_read_to_end" g_io_channel_read_to_end :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    Ptr (Ptr Word8) ->                      -- str_return : TCArray False (-1) 2 (TBasicType TUInt8)-    Ptr Word64 ->                           -- length : TBasicType TUInt64-    Ptr (Ptr GError) ->                     -- error-    IO CUInt--{- |-Reads all the remaining data from the file.--}-iOChannelReadToEnd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> m ((GLib.Enums.IOStatus, ByteString))-    {- ^ __Returns:__ 'GI.GLib.Enums.IOStatusNormal' on success.-    This function never returns 'GI.GLib.Enums.IOStatusEof'. /(Can throw 'Data.GI.Base.GError.GError')/ -}-iOChannelReadToEnd channel = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    strReturn <- allocMem :: IO (Ptr (Ptr Word8))-    length_ <- allocMem :: IO (Ptr Word64)-    onException (do-        result <- propagateGError $ g_io_channel_read_to_end channel' strReturn length_-        length_' <- peek length_-        let result' = (toEnum . fromIntegral) result-        strReturn' <- peek strReturn-        strReturn'' <- (unpackByteStringWithLength length_') strReturn'-        freeMem strReturn'-        touchManagedPtr channel-        freeMem strReturn-        freeMem length_-        return (result', strReturn'')-     ) (do-        freeMem strReturn-        freeMem length_-     )--#if ENABLE_OVERLOADING-data IOChannelReadToEndMethodInfo-instance (signature ~ (m ((GLib.Enums.IOStatus, ByteString))), MonadIO m) => O.MethodInfo IOChannelReadToEndMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelReadToEnd--#endif---- method IOChannel::read_unichar--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "thechar", argType = TBasicType TUniChar, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a location to return a character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOStatus"}))--- throws : True--- Skip return : False--foreign import ccall "g_io_channel_read_unichar" g_io_channel_read_unichar :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    Ptr CInt ->                             -- thechar : TBasicType TUniChar-    Ptr (Ptr GError) ->                     -- error-    IO CUInt--{- |-Reads a Unicode character from /@channel@/.-This function cannot be called on a channel with 'Nothing' encoding.--}-iOChannelReadUnichar ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> m ((GLib.Enums.IOStatus, Char))-    {- ^ __Returns:__ a 'GI.GLib.Enums.IOStatus' /(Can throw 'Data.GI.Base.GError.GError')/ -}-iOChannelReadUnichar channel = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    thechar <- allocMem :: IO (Ptr CInt)-    onException (do-        result <- propagateGError $ g_io_channel_read_unichar channel' thechar-        let result' = (toEnum . fromIntegral) result-        thechar' <- peek thechar-        let thechar'' = (chr . fromIntegral) thechar'-        touchManagedPtr channel-        freeMem thechar-        return (result', thechar'')-     ) (do-        freeMem thechar-     )--#if ENABLE_OVERLOADING-data IOChannelReadUnicharMethodInfo-instance (signature ~ (m ((GLib.Enums.IOStatus, Char))), MonadIO m) => O.MethodInfo IOChannelReadUnicharMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelReadUnichar--#endif---- method IOChannel::ref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOChannel"}))--- throws : False--- Skip return : False--foreign import ccall "g_io_channel_ref" g_io_channel_ref :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    IO (Ptr IOChannel)--{- |-Increments the reference count of a 'GI.GLib.Structs.IOChannel.IOChannel'.--}-iOChannelRef ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> m IOChannel-    {- ^ __Returns:__ the /@channel@/ that was passed in (since 2.6) -}-iOChannelRef channel = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    result <- g_io_channel_ref channel'-    checkUnexpectedReturnNULL "iOChannelRef" result-    result' <- (wrapBoxed IOChannel) result-    touchManagedPtr channel-    return result'--#if ENABLE_OVERLOADING-data IOChannelRefMethodInfo-instance (signature ~ (m IOChannel), MonadIO m) => O.MethodInfo IOChannelRefMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelRef--#endif---- method IOChannel::seek--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an offset, in bytes, which is added to the position specified\n         by @type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "SeekType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position in the file, which can be %G_SEEK_CUR (the current\n       position), %G_SEEK_SET (the start of the file), or %G_SEEK_END\n       (the end of the file)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOError"}))--- throws : False--- Skip return : False--foreign import ccall "g_io_channel_seek" g_io_channel_seek :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    Int64 ->                                -- offset : TBasicType TInt64-    CUInt ->                                -- type : TInterface (Name {namespace = "GLib", name = "SeekType"})-    IO CUInt--{-# DEPRECATED iOChannelSeek ["(Since version 2.2)","Use 'GI.GLib.Structs.IOChannel.iOChannelSeekPosition' instead."] #-}-{- |-Sets the current position in the 'GI.GLib.Structs.IOChannel.IOChannel', similar to the standard-library function @/fseek()/@.--}-iOChannelSeek ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> Int64-    {- ^ /@offset@/: an offset, in bytes, which is added to the position specified-         by /@type@/ -}-    -> GLib.Enums.SeekType-    {- ^ /@type@/: the position in the file, which can be 'GI.GLib.Enums.SeekTypeCur' (the current-       position), 'GI.GLib.Enums.SeekTypeSet' (the start of the file), or 'GI.GLib.Enums.SeekTypeEnd'-       (the end of the file) -}-    -> m GLib.Enums.IOError-    {- ^ __Returns:__ 'GI.GLib.Enums.IOErrorNone' if the operation was successful. -}-iOChannelSeek channel offset type_ = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    let type_' = (fromIntegral . fromEnum) type_-    result <- g_io_channel_seek channel' offset type_'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr channel-    return result'--#if ENABLE_OVERLOADING-data IOChannelSeekMethodInfo-instance (signature ~ (Int64 -> GLib.Enums.SeekType -> m GLib.Enums.IOError), MonadIO m) => O.MethodInfo IOChannelSeekMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelSeek--#endif---- method IOChannel::seek_position--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "offset", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The offset in bytes from the position specified by @type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "SeekType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSeekType. The type %G_SEEK_CUR is only allowed in those\n                     cases where a call to g_io_channel_set_encoding ()\n                     is allowed. See the documentation for\n                     g_io_channel_set_encoding () for details.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOStatus"}))--- throws : True--- Skip return : False--foreign import ccall "g_io_channel_seek_position" g_io_channel_seek_position :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    Int64 ->                                -- offset : TBasicType TInt64-    CUInt ->                                -- type : TInterface (Name {namespace = "GLib", name = "SeekType"})-    Ptr (Ptr GError) ->                     -- error-    IO CUInt--{- |-Replacement for 'GI.GLib.Structs.IOChannel.iOChannelSeek' with the new API.--}-iOChannelSeekPosition ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> Int64-    {- ^ /@offset@/: The offset in bytes from the position specified by /@type@/ -}-    -> GLib.Enums.SeekType-    {- ^ /@type@/: a 'GI.GLib.Enums.SeekType'. The type 'GI.GLib.Enums.SeekTypeCur' is only allowed in those-                     cases where a call to g_io_channel_set_encoding ()-                     is allowed. See the documentation for-                     g_io_channel_set_encoding () for details. -}-    -> m GLib.Enums.IOStatus-    {- ^ __Returns:__ the status of the operation. /(Can throw 'Data.GI.Base.GError.GError')/ -}-iOChannelSeekPosition channel offset type_ = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    let type_' = (fromIntegral . fromEnum) type_-    onException (do-        result <- propagateGError $ g_io_channel_seek_position channel' offset type_'-        let result' = (toEnum . fromIntegral) result-        touchManagedPtr channel-        return result'-     ) (do-        return ()-     )--#if ENABLE_OVERLOADING-data IOChannelSeekPositionMethodInfo-instance (signature ~ (Int64 -> GLib.Enums.SeekType -> m GLib.Enums.IOStatus), MonadIO m) => O.MethodInfo IOChannelSeekPositionMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelSeekPosition--#endif---- method IOChannel::set_buffer_size--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "size", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of the buffer, or 0 to let GLib pick a good size", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_io_channel_set_buffer_size" g_io_channel_set_buffer_size :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    Word64 ->                               -- size : TBasicType TUInt64-    IO ()--{- |-Sets the buffer size.--}-iOChannelSetBufferSize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> Word64-    {- ^ /@size@/: the size of the buffer, or 0 to let GLib pick a good size -}-    -> m ()-iOChannelSetBufferSize channel size = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    g_io_channel_set_buffer_size channel' size-    touchManagedPtr channel-    return ()--#if ENABLE_OVERLOADING-data IOChannelSetBufferSizeMethodInfo-instance (signature ~ (Word64 -> m ()), MonadIO m) => O.MethodInfo IOChannelSetBufferSizeMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelSetBufferSize--#endif---- method IOChannel::set_buffered--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buffered", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether to set the channel buffered or unbuffered", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_io_channel_set_buffered" g_io_channel_set_buffered :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    CInt ->                                 -- buffered : TBasicType TBoolean-    IO ()--{- |-The buffering state can only be set if the channel\'s encoding-is 'Nothing'. For any other encoding, the channel must be buffered.--A buffered channel can only be set unbuffered if the channel\'s-internal buffers have been flushed. Newly created channels or-channels which have returned 'GI.GLib.Enums.IOStatusEof'-not require such a flush. For write-only channels, a call to-g_io_channel_flush () is sufficient. For all other channels,-the buffers may be flushed by a call to g_io_channel_seek_position ().-This includes the possibility of seeking with seek type 'GI.GLib.Enums.SeekTypeCur'-and an offset of zero. Note that this means that socket-based-channels cannot be set unbuffered once they have had data-read from them.--On unbuffered channels, it is safe to mix read and write-calls from the new and old APIs, if this is necessary for-maintaining old code.--The default state of the channel is buffered.--}-iOChannelSetBuffered ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> Bool-    {- ^ /@buffered@/: whether to set the channel buffered or unbuffered -}-    -> m ()-iOChannelSetBuffered channel buffered = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    let buffered' = (fromIntegral . fromEnum) buffered-    g_io_channel_set_buffered channel' buffered'-    touchManagedPtr channel-    return ()--#if ENABLE_OVERLOADING-data IOChannelSetBufferedMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m) => O.MethodInfo IOChannelSetBufferedMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelSetBuffered--#endif---- method IOChannel::set_close_on_unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "do_close", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether to close the channel on the final unref of\n           the GIOChannel data structure.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_io_channel_set_close_on_unref" g_io_channel_set_close_on_unref :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    CInt ->                                 -- do_close : TBasicType TBoolean-    IO ()--{- |-Whether to close the channel on the final unref of the 'GI.GLib.Structs.IOChannel.IOChannel'-data structure. The default value of this is 'True' for channels-created by g_io_channel_new_file (), and 'False' for all other channels.--Setting this flag to 'True' for a channel you have already closed-can cause problems when the final reference to the 'GI.GLib.Structs.IOChannel.IOChannel' is dropped.--}-iOChannelSetCloseOnUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> Bool-    {- ^ /@doClose@/: Whether to close the channel on the final unref of-           the GIOChannel data structure. -}-    -> m ()-iOChannelSetCloseOnUnref channel doClose = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    let doClose' = (fromIntegral . fromEnum) doClose-    g_io_channel_set_close_on_unref channel' doClose'-    touchManagedPtr channel-    return ()--#if ENABLE_OVERLOADING-data IOChannelSetCloseOnUnrefMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m) => O.MethodInfo IOChannelSetCloseOnUnrefMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelSetCloseOnUnref--#endif---- method IOChannel::set_encoding--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "encoding", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the encoding type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOStatus"}))--- throws : True--- Skip return : False--foreign import ccall "g_io_channel_set_encoding" g_io_channel_set_encoding :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    CString ->                              -- encoding : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CUInt--{- |-Sets the encoding for the input\/output of the channel.-The internal encoding is always UTF-8. The default encoding-for the external file is UTF-8.--The encoding 'Nothing' is safe to use with binary data.--The encoding can only be set if one of the following conditions-is true:--* The channel was just created, and has not been written to or read from yet.-* The channel is write-only.-* The channel is a file, and the file pointer was just repositioned-by a call to 'GI.GLib.Structs.IOChannel.iOChannelSeekPosition'. (This flushes all the-internal buffers.)-* The current encoding is 'Nothing' or UTF-8.-* One of the (new API) read functions has just returned 'GI.GLib.Enums.IOStatusEof'-(or, in the case of 'GI.GLib.Structs.IOChannel.iOChannelReadToEnd', 'GI.GLib.Enums.IOStatusNormal').-*  One of the functions 'GI.GLib.Structs.IOChannel.iOChannelReadChars' or- 'GI.GLib.Structs.IOChannel.iOChannelReadUnichar' has returned 'GI.GLib.Enums.IOStatusAgain' or- 'GI.GLib.Enums.IOStatusError'. This may be useful in the case of- 'GI.GLib.Enums.ConvertErrorIllegalSequence'.- Returning one of these statuses from 'GI.GLib.Structs.IOChannel.iOChannelReadLine',- @/g_io_channel_read_line_string()/@, or 'GI.GLib.Structs.IOChannel.iOChannelReadToEnd'- does not guarantee that the encoding can be changed.---Channels which do not meet one of the above conditions cannot call-'GI.GLib.Structs.IOChannel.iOChannelSeekPosition' with an offset of 'GI.GLib.Enums.SeekTypeCur', and, if-they are \"seekable\", cannot call 'GI.GLib.Structs.IOChannel.iOChannelWriteChars' after-calling one of the API \"read\" functions.--}-iOChannelSetEncoding ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> Maybe (T.Text)-    {- ^ /@encoding@/: the encoding type -}-    -> m GLib.Enums.IOStatus-    {- ^ __Returns:__ 'GI.GLib.Enums.IOStatusNormal' if the encoding was successfully set /(Can throw 'Data.GI.Base.GError.GError')/ -}-iOChannelSetEncoding channel encoding = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    maybeEncoding <- case encoding of-        Nothing -> return nullPtr-        Just jEncoding -> do-            jEncoding' <- textToCString jEncoding-            return jEncoding'-    onException (do-        result <- propagateGError $ g_io_channel_set_encoding channel' maybeEncoding-        let result' = (toEnum . fromIntegral) result-        touchManagedPtr channel-        freeMem maybeEncoding-        return result'-     ) (do-        freeMem maybeEncoding-     )--#if ENABLE_OVERLOADING-data IOChannelSetEncodingMethodInfo-instance (signature ~ (Maybe (T.Text) -> m GLib.Enums.IOStatus), MonadIO m) => O.MethodInfo IOChannelSetEncodingMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelSetEncoding--#endif---- method IOChannel::set_flags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GLib", name = "IOFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the flags to set on the IO channel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOStatus"}))--- throws : True--- Skip return : False--foreign import ccall "g_io_channel_set_flags" g_io_channel_set_flags :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "GLib", name = "IOFlags"})-    Ptr (Ptr GError) ->                     -- error-    IO CUInt--{- |-Sets the (writeable) flags in /@channel@/ to (/@flags@/ & 'GI.GLib.Flags.IOFlagsSetMask').--}-iOChannelSetFlags ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> [GLib.Flags.IOFlags]-    {- ^ /@flags@/: the flags to set on the IO channel -}-    -> m GLib.Enums.IOStatus-    {- ^ __Returns:__ the status of the operation. /(Can throw 'Data.GI.Base.GError.GError')/ -}-iOChannelSetFlags channel flags = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    let flags' = gflagsToWord flags-    onException (do-        result <- propagateGError $ g_io_channel_set_flags channel' flags'-        let result' = (toEnum . fromIntegral) result-        touchManagedPtr channel-        return result'-     ) (do-        return ()-     )--#if ENABLE_OVERLOADING-data IOChannelSetFlagsMethodInfo-instance (signature ~ ([GLib.Flags.IOFlags] -> m GLib.Enums.IOStatus), MonadIO m) => O.MethodInfo IOChannelSetFlagsMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelSetFlags--#endif---- method IOChannel::set_line_term--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "line_term", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The line termination string. Use %NULL for\n            autodetect.  Autodetection breaks on \"\\n\", \"\\r\\n\", \"\\r\", \"\\0\",\n            and the Unicode paragraph separator. Autodetection should not be\n            used for anything other than file-based channels.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The length of the termination string. If -1 is passed, the\n         string is assumed to be nul-terminated. This option allows\n         termination strings with embedded nuls.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_io_channel_set_line_term" g_io_channel_set_line_term :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    CString ->                              -- line_term : TBasicType TUTF8-    Int32 ->                                -- length : TBasicType TInt-    IO ()--{- |-This sets the string that 'GI.GLib.Structs.IOChannel.IOChannel' uses to determine-where in the file a line break occurs.--}-iOChannelSetLineTerm ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> Maybe (T.Text)-    {- ^ /@lineTerm@/: The line termination string. Use 'Nothing' for-            autodetect.  Autodetection breaks on \"\\n\", \"\\r\\n\", \"\\r\", \"\\0\",-            and the Unicode paragraph separator. Autodetection should not be-            used for anything other than file-based channels. -}-    -> Int32-    {- ^ /@length@/: The length of the termination string. If -1 is passed, the-         string is assumed to be nul-terminated. This option allows-         termination strings with embedded nuls. -}-    -> m ()-iOChannelSetLineTerm channel lineTerm length_ = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    maybeLineTerm <- case lineTerm of-        Nothing -> return nullPtr-        Just jLineTerm -> do-            jLineTerm' <- textToCString jLineTerm-            return jLineTerm'-    g_io_channel_set_line_term channel' maybeLineTerm length_-    touchManagedPtr channel-    freeMem maybeLineTerm-    return ()--#if ENABLE_OVERLOADING-data IOChannelSetLineTermMethodInfo-instance (signature ~ (Maybe (T.Text) -> Int32 -> m ()), MonadIO m) => O.MethodInfo IOChannelSetLineTermMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelSetLineTerm--#endif---- method IOChannel::shutdown--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flush", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if %TRUE, flush pending", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOStatus"}))--- throws : True--- Skip return : False--foreign import ccall "g_io_channel_shutdown" g_io_channel_shutdown :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    CInt ->                                 -- flush : TBasicType TBoolean-    Ptr (Ptr GError) ->                     -- error-    IO CUInt--{- |-Close an IO channel. Any pending data to be written will be-flushed if /@flush@/ is 'True'. The channel will not be freed until the-last reference is dropped using 'GI.GLib.Structs.IOChannel.iOChannelUnref'.--}-iOChannelShutdown ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> Bool-    {- ^ /@flush@/: if 'True', flush pending -}-    -> m GLib.Enums.IOStatus-    {- ^ __Returns:__ the status of the operation. /(Can throw 'Data.GI.Base.GError.GError')/ -}-iOChannelShutdown channel flush = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    let flush' = (fromIntegral . fromEnum) flush-    onException (do-        result <- propagateGError $ g_io_channel_shutdown channel' flush'-        let result' = (toEnum . fromIntegral) result-        touchManagedPtr channel-        return result'-     ) (do-        return ()-     )--#if ENABLE_OVERLOADING-data IOChannelShutdownMethodInfo-instance (signature ~ (Bool -> m GLib.Enums.IOStatus), MonadIO m) => O.MethodInfo IOChannelShutdownMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelShutdown--#endif---- method IOChannel::unix_get_fd--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel, created with g_io_channel_unix_new().", 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_io_channel_unix_get_fd" g_io_channel_unix_get_fd :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    IO Int32--{- |-Returns the file descriptor of the 'GI.GLib.Structs.IOChannel.IOChannel'.--On Windows this function returns the file descriptor or socket of-the 'GI.GLib.Structs.IOChannel.IOChannel'.--}-iOChannelUnixGetFd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel', created with 'GI.GLib.Structs.IOChannel.iOChannelUnixNew'. -}-    -> m Int32-    {- ^ __Returns:__ the file descriptor of the 'GI.GLib.Structs.IOChannel.IOChannel'. -}-iOChannelUnixGetFd channel = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    result <- g_io_channel_unix_get_fd channel'-    touchManagedPtr channel-    return result--#if ENABLE_OVERLOADING-data IOChannelUnixGetFdMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo IOChannelUnixGetFdMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelUnixGetFd--#endif---- method IOChannel::unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_io_channel_unref" g_io_channel_unref :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    IO ()--{- |-Decrements the reference count of a 'GI.GLib.Structs.IOChannel.IOChannel'.--}-iOChannelUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> m ()-iOChannelUnref channel = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    g_io_channel_unref channel'-    touchManagedPtr channel-    return ()--#if ENABLE_OVERLOADING-data IOChannelUnrefMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo IOChannelUnrefMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelUnref--#endif---- method IOChannel::write--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buf", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the buffer containing the data to write", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to write", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bytes_written", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes actually written", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOError"}))--- throws : False--- Skip return : False--foreign import ccall "g_io_channel_write" g_io_channel_write :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    CString ->                              -- buf : TBasicType TUTF8-    Word64 ->                               -- count : TBasicType TUInt64-    Word64 ->                               -- bytes_written : TBasicType TUInt64-    IO CUInt--{-# DEPRECATED iOChannelWrite ["(Since version 2.2)","Use 'GI.GLib.Structs.IOChannel.iOChannelWriteChars' instead."] #-}-{- |-Writes data to a 'GI.GLib.Structs.IOChannel.IOChannel'.--}-iOChannelWrite ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> T.Text-    {- ^ /@buf@/: the buffer containing the data to write -}-    -> Word64-    {- ^ /@count@/: the number of bytes to write -}-    -> Word64-    {- ^ /@bytesWritten@/: the number of bytes actually written -}-    -> m GLib.Enums.IOError-    {- ^ __Returns:__ 'GI.GLib.Enums.IOErrorNone' if the operation was successful. -}-iOChannelWrite channel buf count bytesWritten = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    buf' <- textToCString buf-    result <- g_io_channel_write channel' buf' count bytesWritten-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr channel-    freeMem buf'-    return result'--#if ENABLE_OVERLOADING-data IOChannelWriteMethodInfo-instance (signature ~ (T.Text -> Word64 -> Word64 -> m GLib.Enums.IOError), MonadIO m) => O.MethodInfo IOChannelWriteMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelWrite--#endif---- method IOChannel::write_chars--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buf", argType = TCArray False (-1) (-1) (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a buffer to write data from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "count", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the size of the buffer. If -1, the buffer\n        is taken to be a nul-terminated string.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bytes_written", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The number of bytes written. This can be nonzero\n                even if the return value is not %G_IO_STATUS_NORMAL.\n                If the return value is %G_IO_STATUS_NORMAL and the\n                channel is blocking, this will always be equal\n                to @count if @count >= 0.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOStatus"}))--- throws : True--- Skip return : False--foreign import ccall "g_io_channel_write_chars" g_io_channel_write_chars :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    Ptr Word8 ->                            -- buf : TCArray False (-1) (-1) (TBasicType TUInt8)-    Int64 ->                                -- count : TBasicType TInt64-    Ptr Word64 ->                           -- bytes_written : TBasicType TUInt64-    Ptr (Ptr GError) ->                     -- error-    IO CUInt--{- |-Replacement for 'GI.GLib.Structs.IOChannel.iOChannelWrite' with the new API.--On seekable channels with encodings other than 'Nothing' or UTF-8, generic-mixing of reading and writing is not allowed. A call to g_io_channel_write_chars ()-may only be made on a channel from which data has been read in the-cases described in the documentation for g_io_channel_set_encoding ().--}-iOChannelWriteChars ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> Ptr Word8-    {- ^ /@buf@/: a buffer to write data from -}-    -> Int64-    {- ^ /@count@/: the size of the buffer. If -1, the buffer-        is taken to be a nul-terminated string. -}-    -> m ((GLib.Enums.IOStatus, Word64))-    {- ^ __Returns:__ the status of the operation. /(Can throw 'Data.GI.Base.GError.GError')/ -}-iOChannelWriteChars channel buf count = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    bytesWritten <- allocMem :: IO (Ptr Word64)-    onException (do-        result <- propagateGError $ g_io_channel_write_chars channel' buf count bytesWritten-        let result' = (toEnum . fromIntegral) result-        bytesWritten' <- peek bytesWritten-        touchManagedPtr channel-        freeMem bytesWritten-        return (result', bytesWritten')-     ) (do-        freeMem bytesWritten-     )--#if ENABLE_OVERLOADING-data IOChannelWriteCharsMethodInfo-instance (signature ~ (Ptr Word8 -> Int64 -> m ((GLib.Enums.IOStatus, Word64))), MonadIO m) => O.MethodInfo IOChannelWriteCharsMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelWriteChars--#endif---- method IOChannel::write_unichar--- method type : OrdinaryMethod--- Args : [Arg {argCName = "channel", argType = TInterface (Name {namespace = "GLib", name = "IOChannel"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GIOChannel", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "thechar", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOStatus"}))--- throws : True--- Skip return : False--foreign import ccall "g_io_channel_write_unichar" g_io_channel_write_unichar :: -    Ptr IOChannel ->                        -- channel : TInterface (Name {namespace = "GLib", name = "IOChannel"})-    CInt ->                                 -- thechar : TBasicType TUniChar-    Ptr (Ptr GError) ->                     -- error-    IO CUInt--{- |-Writes a Unicode character to /@channel@/.-This function cannot be called on a channel with 'Nothing' encoding.--}-iOChannelWriteUnichar ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    IOChannel-    {- ^ /@channel@/: a 'GI.GLib.Structs.IOChannel.IOChannel' -}-    -> Char-    {- ^ /@thechar@/: a character -}-    -> m GLib.Enums.IOStatus-    {- ^ __Returns:__ a 'GI.GLib.Enums.IOStatus' /(Can throw 'Data.GI.Base.GError.GError')/ -}-iOChannelWriteUnichar channel thechar = liftIO $ do-    channel' <- unsafeManagedPtrGetPtr channel-    let thechar' = (fromIntegral . ord) thechar-    onException (do-        result <- propagateGError $ g_io_channel_write_unichar channel' thechar'-        let result' = (toEnum . fromIntegral) result-        touchManagedPtr channel-        return result'-     ) (do-        return ()-     )--#if ENABLE_OVERLOADING-data IOChannelWriteUnicharMethodInfo-instance (signature ~ (Char -> m GLib.Enums.IOStatus), MonadIO m) => O.MethodInfo IOChannelWriteUnicharMethodInfo IOChannel signature where-    overloadedMethod _ = iOChannelWriteUnichar--#endif---- method IOChannel::error_from_errno--- method type : MemberFunction--- Args : [Arg {argCName = "en", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an `errno` error number, e.g. `EINVAL`", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOChannelError"}))--- throws : False--- Skip return : False--foreign import ccall "g_io_channel_error_from_errno" g_io_channel_error_from_errno :: -    Int32 ->                                -- en : TBasicType TInt-    IO CUInt--{- |-Converts an @errno@ error number to a 'GI.GLib.Enums.IOChannelError'.--}-iOChannelErrorFromErrno ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@en@/: an @errno@ error number, e.g. @EINVAL@ -}-    -> m GLib.Enums.IOChannelError-    {- ^ __Returns:__ a 'GI.GLib.Enums.IOChannelError' error number, e.g.-     'GI.GLib.Enums.IOChannelErrorInval'. -}-iOChannelErrorFromErrno en = liftIO $ do-    result <- g_io_channel_error_from_errno en-    let result' = (toEnum . fromIntegral) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method IOChannel::error_quark--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "g_io_channel_error_quark" g_io_channel_error_quark :: -    IO Word32--{- |-/No description available in the introspection data./--}-iOChannelErrorQuark ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Word32-iOChannelErrorQuark  = liftIO $ do-    result <- g_io_channel_error_quark-    return result--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveIOChannelMethod (t :: Symbol) (o :: *) :: * where-    ResolveIOChannelMethod "close" o = IOChannelCloseMethodInfo-    ResolveIOChannelMethod "flush" o = IOChannelFlushMethodInfo-    ResolveIOChannelMethod "init" o = IOChannelInitMethodInfo-    ResolveIOChannelMethod "read" o = IOChannelReadMethodInfo-    ResolveIOChannelMethod "readChars" o = IOChannelReadCharsMethodInfo-    ResolveIOChannelMethod "readLine" o = IOChannelReadLineMethodInfo-    ResolveIOChannelMethod "readToEnd" o = IOChannelReadToEndMethodInfo-    ResolveIOChannelMethod "readUnichar" o = IOChannelReadUnicharMethodInfo-    ResolveIOChannelMethod "ref" o = IOChannelRefMethodInfo-    ResolveIOChannelMethod "seek" o = IOChannelSeekMethodInfo-    ResolveIOChannelMethod "seekPosition" o = IOChannelSeekPositionMethodInfo-    ResolveIOChannelMethod "shutdown" o = IOChannelShutdownMethodInfo-    ResolveIOChannelMethod "unixGetFd" o = IOChannelUnixGetFdMethodInfo-    ResolveIOChannelMethod "unref" o = IOChannelUnrefMethodInfo-    ResolveIOChannelMethod "write" o = IOChannelWriteMethodInfo-    ResolveIOChannelMethod "writeChars" o = IOChannelWriteCharsMethodInfo-    ResolveIOChannelMethod "writeUnichar" o = IOChannelWriteUnicharMethodInfo-    ResolveIOChannelMethod "getBufferCondition" o = IOChannelGetBufferConditionMethodInfo-    ResolveIOChannelMethod "getBufferSize" o = IOChannelGetBufferSizeMethodInfo-    ResolveIOChannelMethod "getBuffered" o = IOChannelGetBufferedMethodInfo-    ResolveIOChannelMethod "getCloseOnUnref" o = IOChannelGetCloseOnUnrefMethodInfo-    ResolveIOChannelMethod "getEncoding" o = IOChannelGetEncodingMethodInfo-    ResolveIOChannelMethod "getFlags" o = IOChannelGetFlagsMethodInfo-    ResolveIOChannelMethod "getLineTerm" o = IOChannelGetLineTermMethodInfo-    ResolveIOChannelMethod "setBufferSize" o = IOChannelSetBufferSizeMethodInfo-    ResolveIOChannelMethod "setBuffered" o = IOChannelSetBufferedMethodInfo-    ResolveIOChannelMethod "setCloseOnUnref" o = IOChannelSetCloseOnUnrefMethodInfo-    ResolveIOChannelMethod "setEncoding" o = IOChannelSetEncodingMethodInfo-    ResolveIOChannelMethod "setFlags" o = IOChannelSetFlagsMethodInfo-    ResolveIOChannelMethod "setLineTerm" o = IOChannelSetLineTermMethodInfo-    ResolveIOChannelMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveIOChannelMethod t IOChannel, O.MethodInfo info IOChannel p) => OL.IsLabel t (IOChannel -> 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/GLib/Structs/IOChannel.hs-boot
@@ -1,116 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.IOChannel 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 IOChannel = IOChannel (ManagedPtr IOChannel)-instance BoxedObject IOChannel where-#if ENABLE_OVERLOADING-data IOChannelCloseMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelFlushMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelGetBufferConditionMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelGetBufferSizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelGetBufferedMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelGetCloseOnUnrefMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelGetEncodingMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelGetFlagsMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelGetLineTermMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelInitMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelReadMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelReadCharsMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelReadLineMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelReadToEndMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelReadUnicharMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelRefMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelSeekMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelSeekPositionMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelSetBufferSizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelSetBufferedMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelSetCloseOnUnrefMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelSetEncodingMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelSetFlagsMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelSetLineTermMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelShutdownMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelUnixGetFdMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelUnrefMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelWriteMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelWriteCharsMethodInfo-#endif-#if ENABLE_OVERLOADING-data IOChannelWriteUnicharMethodInfo-#endif
− GI/GLib/Structs/IOFuncs.hs
@@ -1,661 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A table of functions used to handle different types of 'GI.GLib.Structs.IOChannel.IOChannel'-in a generic way.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.IOFuncs-    ( ---- * Exported types-    IOFuncs(..)                             ,-    newZeroIOFuncs                          ,-    noIOFuncs                               ,--- -- * Properties--- ** ioClose #attr:ioClose#-{- | /No description available in the introspection data./--}-    clearIOFuncsIoClose                     ,-    getIOFuncsIoClose                       ,-#if ENABLE_OVERLOADING-    iOFuncs_ioClose                         ,-#endif-    setIOFuncsIoClose                       ,----- ** ioCreateWatch #attr:ioCreateWatch#-{- | /No description available in the introspection data./--}-    clearIOFuncsIoCreateWatch               ,-    getIOFuncsIoCreateWatch                 ,-#if ENABLE_OVERLOADING-    iOFuncs_ioCreateWatch                   ,-#endif-    setIOFuncsIoCreateWatch                 ,----- ** ioFree #attr:ioFree#-{- | /No description available in the introspection data./--}-    clearIOFuncsIoFree                      ,-    getIOFuncsIoFree                        ,-#if ENABLE_OVERLOADING-    iOFuncs_ioFree                          ,-#endif-    setIOFuncsIoFree                        ,----- ** ioGetFlags #attr:ioGetFlags#-{- | /No description available in the introspection data./--}-    clearIOFuncsIoGetFlags                  ,-    getIOFuncsIoGetFlags                    ,-#if ENABLE_OVERLOADING-    iOFuncs_ioGetFlags                      ,-#endif-    setIOFuncsIoGetFlags                    ,----- ** ioRead #attr:ioRead#-{- | /No description available in the introspection data./--}-    clearIOFuncsIoRead                      ,-    getIOFuncsIoRead                        ,-#if ENABLE_OVERLOADING-    iOFuncs_ioRead                          ,-#endif-    setIOFuncsIoRead                        ,----- ** ioSeek #attr:ioSeek#-{- | /No description available in the introspection data./--}-    clearIOFuncsIoSeek                      ,-    getIOFuncsIoSeek                        ,-#if ENABLE_OVERLOADING-    iOFuncs_ioSeek                          ,-#endif-    setIOFuncsIoSeek                        ,----- ** ioSetFlags #attr:ioSetFlags#-{- | /No description available in the introspection data./--}-    clearIOFuncsIoSetFlags                  ,-    getIOFuncsIoSetFlags                    ,-#if ENABLE_OVERLOADING-    iOFuncs_ioSetFlags                      ,-#endif-    setIOFuncsIoSetFlags                    ,----- ** ioWrite #attr:ioWrite#-{- | /No description available in the introspection data./--}-    clearIOFuncsIoWrite                     ,-    getIOFuncsIoWrite                       ,-#if ENABLE_OVERLOADING-    iOFuncs_ioWrite                         ,-#endif-    setIOFuncsIoWrite                       ,-----    ) 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 qualified GI.GLib.Callbacks as GLib.Callbacks---- | Memory-managed wrapper type.-newtype IOFuncs = IOFuncs (ManagedPtr IOFuncs)-instance WrappedPtr IOFuncs where-    wrappedPtrCalloc = callocBytes 64-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 64 >=> wrapPtr IOFuncs)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `IOFuncs` struct initialized to zero.-newZeroIOFuncs :: MonadIO m => m IOFuncs-newZeroIOFuncs = liftIO $ wrappedPtrCalloc >>= wrapPtr IOFuncs--instance tag ~ 'AttrSet => Constructible IOFuncs tag where-    new _ attrs = do-        o <- newZeroIOFuncs-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `IOFuncs`.-noIOFuncs :: Maybe IOFuncs-noIOFuncs = Nothing--{- |-Get the value of the “@io_read@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' iOFuncs #ioRead-@--}-getIOFuncsIoRead :: MonadIO m => IOFuncs -> m (Maybe GLib.Callbacks.IOFuncsIoReadFieldCallback)-getIOFuncsIoRead s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (FunPtr GLib.Callbacks.C_IOFuncsIoReadFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_IOFuncsIoReadFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@io_read@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' iOFuncs [ #ioRead 'Data.GI.Base.Attributes.:=' value ]-@--}-setIOFuncsIoRead :: MonadIO m => IOFuncs -> FunPtr GLib.Callbacks.C_IOFuncsIoReadFieldCallback -> m ()-setIOFuncsIoRead s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: FunPtr GLib.Callbacks.C_IOFuncsIoReadFieldCallback)--{- |-Set the value of the “@io_read@” 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' #ioRead-@--}-clearIOFuncsIoRead :: MonadIO m => IOFuncs -> m ()-clearIOFuncsIoRead s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_IOFuncsIoReadFieldCallback)--#if ENABLE_OVERLOADING-data IOFuncsIoReadFieldInfo-instance AttrInfo IOFuncsIoReadFieldInfo where-    type AttrAllowedOps IOFuncsIoReadFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint IOFuncsIoReadFieldInfo = (~) (FunPtr GLib.Callbacks.C_IOFuncsIoReadFieldCallback)-    type AttrBaseTypeConstraint IOFuncsIoReadFieldInfo = (~) IOFuncs-    type AttrGetType IOFuncsIoReadFieldInfo = Maybe GLib.Callbacks.IOFuncsIoReadFieldCallback-    type AttrLabel IOFuncsIoReadFieldInfo = "io_read"-    type AttrOrigin IOFuncsIoReadFieldInfo = IOFuncs-    attrGet _ = getIOFuncsIoRead-    attrSet _ = setIOFuncsIoRead-    attrConstruct = undefined-    attrClear _ = clearIOFuncsIoRead--iOFuncs_ioRead :: AttrLabelProxy "ioRead"-iOFuncs_ioRead = AttrLabelProxy--#endif---{- |-Get the value of the “@io_write@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' iOFuncs #ioWrite-@--}-getIOFuncsIoWrite :: MonadIO m => IOFuncs -> m (Maybe GLib.Callbacks.IOFuncsIoWriteFieldCallback)-getIOFuncsIoWrite s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO (FunPtr GLib.Callbacks.C_IOFuncsIoWriteFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_IOFuncsIoWriteFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@io_write@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' iOFuncs [ #ioWrite 'Data.GI.Base.Attributes.:=' value ]-@--}-setIOFuncsIoWrite :: MonadIO m => IOFuncs -> FunPtr GLib.Callbacks.C_IOFuncsIoWriteFieldCallback -> m ()-setIOFuncsIoWrite s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: FunPtr GLib.Callbacks.C_IOFuncsIoWriteFieldCallback)--{- |-Set the value of the “@io_write@” 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' #ioWrite-@--}-clearIOFuncsIoWrite :: MonadIO m => IOFuncs -> m ()-clearIOFuncsIoWrite s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_IOFuncsIoWriteFieldCallback)--#if ENABLE_OVERLOADING-data IOFuncsIoWriteFieldInfo-instance AttrInfo IOFuncsIoWriteFieldInfo where-    type AttrAllowedOps IOFuncsIoWriteFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint IOFuncsIoWriteFieldInfo = (~) (FunPtr GLib.Callbacks.C_IOFuncsIoWriteFieldCallback)-    type AttrBaseTypeConstraint IOFuncsIoWriteFieldInfo = (~) IOFuncs-    type AttrGetType IOFuncsIoWriteFieldInfo = Maybe GLib.Callbacks.IOFuncsIoWriteFieldCallback-    type AttrLabel IOFuncsIoWriteFieldInfo = "io_write"-    type AttrOrigin IOFuncsIoWriteFieldInfo = IOFuncs-    attrGet _ = getIOFuncsIoWrite-    attrSet _ = setIOFuncsIoWrite-    attrConstruct = undefined-    attrClear _ = clearIOFuncsIoWrite--iOFuncs_ioWrite :: AttrLabelProxy "ioWrite"-iOFuncs_ioWrite = AttrLabelProxy--#endif---{- |-Get the value of the “@io_seek@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' iOFuncs #ioSeek-@--}-getIOFuncsIoSeek :: MonadIO m => IOFuncs -> m (Maybe GLib.Callbacks.IOFuncsIoSeekFieldCallback)-getIOFuncsIoSeek s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO (FunPtr GLib.Callbacks.C_IOFuncsIoSeekFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_IOFuncsIoSeekFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@io_seek@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' iOFuncs [ #ioSeek 'Data.GI.Base.Attributes.:=' value ]-@--}-setIOFuncsIoSeek :: MonadIO m => IOFuncs -> FunPtr GLib.Callbacks.C_IOFuncsIoSeekFieldCallback -> m ()-setIOFuncsIoSeek s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: FunPtr GLib.Callbacks.C_IOFuncsIoSeekFieldCallback)--{- |-Set the value of the “@io_seek@” 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' #ioSeek-@--}-clearIOFuncsIoSeek :: MonadIO m => IOFuncs -> m ()-clearIOFuncsIoSeek s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_IOFuncsIoSeekFieldCallback)--#if ENABLE_OVERLOADING-data IOFuncsIoSeekFieldInfo-instance AttrInfo IOFuncsIoSeekFieldInfo where-    type AttrAllowedOps IOFuncsIoSeekFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint IOFuncsIoSeekFieldInfo = (~) (FunPtr GLib.Callbacks.C_IOFuncsIoSeekFieldCallback)-    type AttrBaseTypeConstraint IOFuncsIoSeekFieldInfo = (~) IOFuncs-    type AttrGetType IOFuncsIoSeekFieldInfo = Maybe GLib.Callbacks.IOFuncsIoSeekFieldCallback-    type AttrLabel IOFuncsIoSeekFieldInfo = "io_seek"-    type AttrOrigin IOFuncsIoSeekFieldInfo = IOFuncs-    attrGet _ = getIOFuncsIoSeek-    attrSet _ = setIOFuncsIoSeek-    attrConstruct = undefined-    attrClear _ = clearIOFuncsIoSeek--iOFuncs_ioSeek :: AttrLabelProxy "ioSeek"-iOFuncs_ioSeek = AttrLabelProxy--#endif---{- |-Get the value of the “@io_close@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' iOFuncs #ioClose-@--}-getIOFuncsIoClose :: MonadIO m => IOFuncs -> m (Maybe GLib.Callbacks.IOFuncsIoCloseFieldCallback)-getIOFuncsIoClose s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO (FunPtr GLib.Callbacks.C_IOFuncsIoCloseFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_IOFuncsIoCloseFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@io_close@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' iOFuncs [ #ioClose 'Data.GI.Base.Attributes.:=' value ]-@--}-setIOFuncsIoClose :: MonadIO m => IOFuncs -> FunPtr GLib.Callbacks.C_IOFuncsIoCloseFieldCallback -> m ()-setIOFuncsIoClose s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (val :: FunPtr GLib.Callbacks.C_IOFuncsIoCloseFieldCallback)--{- |-Set the value of the “@io_close@” 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' #ioClose-@--}-clearIOFuncsIoClose :: MonadIO m => IOFuncs -> m ()-clearIOFuncsIoClose s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_IOFuncsIoCloseFieldCallback)--#if ENABLE_OVERLOADING-data IOFuncsIoCloseFieldInfo-instance AttrInfo IOFuncsIoCloseFieldInfo where-    type AttrAllowedOps IOFuncsIoCloseFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint IOFuncsIoCloseFieldInfo = (~) (FunPtr GLib.Callbacks.C_IOFuncsIoCloseFieldCallback)-    type AttrBaseTypeConstraint IOFuncsIoCloseFieldInfo = (~) IOFuncs-    type AttrGetType IOFuncsIoCloseFieldInfo = Maybe GLib.Callbacks.IOFuncsIoCloseFieldCallback-    type AttrLabel IOFuncsIoCloseFieldInfo = "io_close"-    type AttrOrigin IOFuncsIoCloseFieldInfo = IOFuncs-    attrGet _ = getIOFuncsIoClose-    attrSet _ = setIOFuncsIoClose-    attrConstruct = undefined-    attrClear _ = clearIOFuncsIoClose--iOFuncs_ioClose :: AttrLabelProxy "ioClose"-iOFuncs_ioClose = AttrLabelProxy--#endif---{- |-Get the value of the “@io_create_watch@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' iOFuncs #ioCreateWatch-@--}-getIOFuncsIoCreateWatch :: MonadIO m => IOFuncs -> m (Maybe GLib.Callbacks.IOFuncsIoCreateWatchFieldCallback)-getIOFuncsIoCreateWatch s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO (FunPtr GLib.Callbacks.C_IOFuncsIoCreateWatchFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_IOFuncsIoCreateWatchFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@io_create_watch@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' iOFuncs [ #ioCreateWatch 'Data.GI.Base.Attributes.:=' value ]-@--}-setIOFuncsIoCreateWatch :: MonadIO m => IOFuncs -> FunPtr GLib.Callbacks.C_IOFuncsIoCreateWatchFieldCallback -> m ()-setIOFuncsIoCreateWatch s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (val :: FunPtr GLib.Callbacks.C_IOFuncsIoCreateWatchFieldCallback)--{- |-Set the value of the “@io_create_watch@” 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' #ioCreateWatch-@--}-clearIOFuncsIoCreateWatch :: MonadIO m => IOFuncs -> m ()-clearIOFuncsIoCreateWatch s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_IOFuncsIoCreateWatchFieldCallback)--#if ENABLE_OVERLOADING-data IOFuncsIoCreateWatchFieldInfo-instance AttrInfo IOFuncsIoCreateWatchFieldInfo where-    type AttrAllowedOps IOFuncsIoCreateWatchFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint IOFuncsIoCreateWatchFieldInfo = (~) (FunPtr GLib.Callbacks.C_IOFuncsIoCreateWatchFieldCallback)-    type AttrBaseTypeConstraint IOFuncsIoCreateWatchFieldInfo = (~) IOFuncs-    type AttrGetType IOFuncsIoCreateWatchFieldInfo = Maybe GLib.Callbacks.IOFuncsIoCreateWatchFieldCallback-    type AttrLabel IOFuncsIoCreateWatchFieldInfo = "io_create_watch"-    type AttrOrigin IOFuncsIoCreateWatchFieldInfo = IOFuncs-    attrGet _ = getIOFuncsIoCreateWatch-    attrSet _ = setIOFuncsIoCreateWatch-    attrConstruct = undefined-    attrClear _ = clearIOFuncsIoCreateWatch--iOFuncs_ioCreateWatch :: AttrLabelProxy "ioCreateWatch"-iOFuncs_ioCreateWatch = AttrLabelProxy--#endif---{- |-Get the value of the “@io_free@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' iOFuncs #ioFree-@--}-getIOFuncsIoFree :: MonadIO m => IOFuncs -> m (Maybe GLib.Callbacks.IOFuncsIoFreeFieldCallback)-getIOFuncsIoFree s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 40) :: IO (FunPtr GLib.Callbacks.C_IOFuncsIoFreeFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_IOFuncsIoFreeFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@io_free@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' iOFuncs [ #ioFree 'Data.GI.Base.Attributes.:=' value ]-@--}-setIOFuncsIoFree :: MonadIO m => IOFuncs -> FunPtr GLib.Callbacks.C_IOFuncsIoFreeFieldCallback -> m ()-setIOFuncsIoFree s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 40) (val :: FunPtr GLib.Callbacks.C_IOFuncsIoFreeFieldCallback)--{- |-Set the value of the “@io_free@” 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' #ioFree-@--}-clearIOFuncsIoFree :: MonadIO m => IOFuncs -> m ()-clearIOFuncsIoFree s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 40) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_IOFuncsIoFreeFieldCallback)--#if ENABLE_OVERLOADING-data IOFuncsIoFreeFieldInfo-instance AttrInfo IOFuncsIoFreeFieldInfo where-    type AttrAllowedOps IOFuncsIoFreeFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint IOFuncsIoFreeFieldInfo = (~) (FunPtr GLib.Callbacks.C_IOFuncsIoFreeFieldCallback)-    type AttrBaseTypeConstraint IOFuncsIoFreeFieldInfo = (~) IOFuncs-    type AttrGetType IOFuncsIoFreeFieldInfo = Maybe GLib.Callbacks.IOFuncsIoFreeFieldCallback-    type AttrLabel IOFuncsIoFreeFieldInfo = "io_free"-    type AttrOrigin IOFuncsIoFreeFieldInfo = IOFuncs-    attrGet _ = getIOFuncsIoFree-    attrSet _ = setIOFuncsIoFree-    attrConstruct = undefined-    attrClear _ = clearIOFuncsIoFree--iOFuncs_ioFree :: AttrLabelProxy "ioFree"-iOFuncs_ioFree = AttrLabelProxy--#endif---{- |-Get the value of the “@io_set_flags@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' iOFuncs #ioSetFlags-@--}-getIOFuncsIoSetFlags :: MonadIO m => IOFuncs -> m (Maybe GLib.Callbacks.IOFuncsIoSetFlagsFieldCallback)-getIOFuncsIoSetFlags s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 48) :: IO (FunPtr GLib.Callbacks.C_IOFuncsIoSetFlagsFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_IOFuncsIoSetFlagsFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@io_set_flags@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' iOFuncs [ #ioSetFlags 'Data.GI.Base.Attributes.:=' value ]-@--}-setIOFuncsIoSetFlags :: MonadIO m => IOFuncs -> FunPtr GLib.Callbacks.C_IOFuncsIoSetFlagsFieldCallback -> m ()-setIOFuncsIoSetFlags s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 48) (val :: FunPtr GLib.Callbacks.C_IOFuncsIoSetFlagsFieldCallback)--{- |-Set the value of the “@io_set_flags@” 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' #ioSetFlags-@--}-clearIOFuncsIoSetFlags :: MonadIO m => IOFuncs -> m ()-clearIOFuncsIoSetFlags s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 48) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_IOFuncsIoSetFlagsFieldCallback)--#if ENABLE_OVERLOADING-data IOFuncsIoSetFlagsFieldInfo-instance AttrInfo IOFuncsIoSetFlagsFieldInfo where-    type AttrAllowedOps IOFuncsIoSetFlagsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint IOFuncsIoSetFlagsFieldInfo = (~) (FunPtr GLib.Callbacks.C_IOFuncsIoSetFlagsFieldCallback)-    type AttrBaseTypeConstraint IOFuncsIoSetFlagsFieldInfo = (~) IOFuncs-    type AttrGetType IOFuncsIoSetFlagsFieldInfo = Maybe GLib.Callbacks.IOFuncsIoSetFlagsFieldCallback-    type AttrLabel IOFuncsIoSetFlagsFieldInfo = "io_set_flags"-    type AttrOrigin IOFuncsIoSetFlagsFieldInfo = IOFuncs-    attrGet _ = getIOFuncsIoSetFlags-    attrSet _ = setIOFuncsIoSetFlags-    attrConstruct = undefined-    attrClear _ = clearIOFuncsIoSetFlags--iOFuncs_ioSetFlags :: AttrLabelProxy "ioSetFlags"-iOFuncs_ioSetFlags = AttrLabelProxy--#endif---{- |-Get the value of the “@io_get_flags@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' iOFuncs #ioGetFlags-@--}-getIOFuncsIoGetFlags :: MonadIO m => IOFuncs -> m (Maybe GLib.Callbacks.IOFuncsIoGetFlagsFieldCallback)-getIOFuncsIoGetFlags s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 56) :: IO (FunPtr GLib.Callbacks.C_IOFuncsIoGetFlagsFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_IOFuncsIoGetFlagsFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@io_get_flags@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' iOFuncs [ #ioGetFlags 'Data.GI.Base.Attributes.:=' value ]-@--}-setIOFuncsIoGetFlags :: MonadIO m => IOFuncs -> FunPtr GLib.Callbacks.C_IOFuncsIoGetFlagsFieldCallback -> m ()-setIOFuncsIoGetFlags s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 56) (val :: FunPtr GLib.Callbacks.C_IOFuncsIoGetFlagsFieldCallback)--{- |-Set the value of the “@io_get_flags@” 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' #ioGetFlags-@--}-clearIOFuncsIoGetFlags :: MonadIO m => IOFuncs -> m ()-clearIOFuncsIoGetFlags s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 56) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_IOFuncsIoGetFlagsFieldCallback)--#if ENABLE_OVERLOADING-data IOFuncsIoGetFlagsFieldInfo-instance AttrInfo IOFuncsIoGetFlagsFieldInfo where-    type AttrAllowedOps IOFuncsIoGetFlagsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint IOFuncsIoGetFlagsFieldInfo = (~) (FunPtr GLib.Callbacks.C_IOFuncsIoGetFlagsFieldCallback)-    type AttrBaseTypeConstraint IOFuncsIoGetFlagsFieldInfo = (~) IOFuncs-    type AttrGetType IOFuncsIoGetFlagsFieldInfo = Maybe GLib.Callbacks.IOFuncsIoGetFlagsFieldCallback-    type AttrLabel IOFuncsIoGetFlagsFieldInfo = "io_get_flags"-    type AttrOrigin IOFuncsIoGetFlagsFieldInfo = IOFuncs-    attrGet _ = getIOFuncsIoGetFlags-    attrSet _ = setIOFuncsIoGetFlags-    attrConstruct = undefined-    attrClear _ = clearIOFuncsIoGetFlags--iOFuncs_ioGetFlags :: AttrLabelProxy "ioGetFlags"-iOFuncs_ioGetFlags = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList IOFuncs-type instance O.AttributeList IOFuncs = IOFuncsAttributeList-type IOFuncsAttributeList = ('[ '("ioRead", IOFuncsIoReadFieldInfo), '("ioWrite", IOFuncsIoWriteFieldInfo), '("ioSeek", IOFuncsIoSeekFieldInfo), '("ioClose", IOFuncsIoCloseFieldInfo), '("ioCreateWatch", IOFuncsIoCreateWatchFieldInfo), '("ioFree", IOFuncsIoFreeFieldInfo), '("ioSetFlags", IOFuncsIoSetFlagsFieldInfo), '("ioGetFlags", IOFuncsIoGetFlagsFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveIOFuncsMethod (t :: Symbol) (o :: *) :: * where-    ResolveIOFuncsMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveIOFuncsMethod t IOFuncs, O.MethodInfo info IOFuncs p) => OL.IsLabel t (IOFuncs -> 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/GLib/Structs/IOFuncs.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.IOFuncs 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 IOFuncs = IOFuncs (ManagedPtr IOFuncs)-instance WrappedPtr IOFuncs where
− GI/GLib/Structs/KeyFile.hs
@@ -1,3127 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The GKeyFile struct contains only private data-and should not be accessed directly.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.KeyFile-    ( ---- * Exported types-    KeyFile(..)                             ,-    noKeyFile                               ,--- -- * Methods--- ** errorQuark #method:errorQuark#--    keyFileErrorQuark                       ,----- ** getBoolean #method:getBoolean#--#if ENABLE_OVERLOADING-    KeyFileGetBooleanMethodInfo             ,-#endif-    keyFileGetBoolean                       ,----- ** getBooleanList #method:getBooleanList#--#if ENABLE_OVERLOADING-    KeyFileGetBooleanListMethodInfo         ,-#endif-    keyFileGetBooleanList                   ,----- ** getComment #method:getComment#--#if ENABLE_OVERLOADING-    KeyFileGetCommentMethodInfo             ,-#endif-    keyFileGetComment                       ,----- ** getDouble #method:getDouble#--#if ENABLE_OVERLOADING-    KeyFileGetDoubleMethodInfo              ,-#endif-    keyFileGetDouble                        ,----- ** getDoubleList #method:getDoubleList#--#if ENABLE_OVERLOADING-    KeyFileGetDoubleListMethodInfo          ,-#endif-    keyFileGetDoubleList                    ,----- ** getGroups #method:getGroups#--#if ENABLE_OVERLOADING-    KeyFileGetGroupsMethodInfo              ,-#endif-    keyFileGetGroups                        ,----- ** getInt64 #method:getInt64#--#if ENABLE_OVERLOADING-    KeyFileGetInt64MethodInfo               ,-#endif-    keyFileGetInt64                         ,----- ** getInteger #method:getInteger#--#if ENABLE_OVERLOADING-    KeyFileGetIntegerMethodInfo             ,-#endif-    keyFileGetInteger                       ,----- ** getIntegerList #method:getIntegerList#--#if ENABLE_OVERLOADING-    KeyFileGetIntegerListMethodInfo         ,-#endif-    keyFileGetIntegerList                   ,----- ** getKeys #method:getKeys#--#if ENABLE_OVERLOADING-    KeyFileGetKeysMethodInfo                ,-#endif-    keyFileGetKeys                          ,----- ** getLocaleForKey #method:getLocaleForKey#--#if ENABLE_OVERLOADING-    KeyFileGetLocaleForKeyMethodInfo        ,-#endif-    keyFileGetLocaleForKey                  ,----- ** getLocaleString #method:getLocaleString#--#if ENABLE_OVERLOADING-    KeyFileGetLocaleStringMethodInfo        ,-#endif-    keyFileGetLocaleString                  ,----- ** getLocaleStringList #method:getLocaleStringList#--#if ENABLE_OVERLOADING-    KeyFileGetLocaleStringListMethodInfo    ,-#endif-    keyFileGetLocaleStringList              ,----- ** getStartGroup #method:getStartGroup#--#if ENABLE_OVERLOADING-    KeyFileGetStartGroupMethodInfo          ,-#endif-    keyFileGetStartGroup                    ,----- ** getString #method:getString#--#if ENABLE_OVERLOADING-    KeyFileGetStringMethodInfo              ,-#endif-    keyFileGetString                        ,----- ** getStringList #method:getStringList#--#if ENABLE_OVERLOADING-    KeyFileGetStringListMethodInfo          ,-#endif-    keyFileGetStringList                    ,----- ** getUint64 #method:getUint64#--#if ENABLE_OVERLOADING-    KeyFileGetUint64MethodInfo              ,-#endif-    keyFileGetUint64                        ,----- ** getValue #method:getValue#--#if ENABLE_OVERLOADING-    KeyFileGetValueMethodInfo               ,-#endif-    keyFileGetValue                         ,----- ** hasGroup #method:hasGroup#--#if ENABLE_OVERLOADING-    KeyFileHasGroupMethodInfo               ,-#endif-    keyFileHasGroup                         ,----- ** loadFromBytes #method:loadFromBytes#--#if ENABLE_OVERLOADING-    KeyFileLoadFromBytesMethodInfo          ,-#endif-    keyFileLoadFromBytes                    ,----- ** loadFromData #method:loadFromData#--#if ENABLE_OVERLOADING-    KeyFileLoadFromDataMethodInfo           ,-#endif-    keyFileLoadFromData                     ,----- ** loadFromDataDirs #method:loadFromDataDirs#--#if ENABLE_OVERLOADING-    KeyFileLoadFromDataDirsMethodInfo       ,-#endif-    keyFileLoadFromDataDirs                 ,----- ** loadFromDirs #method:loadFromDirs#--#if ENABLE_OVERLOADING-    KeyFileLoadFromDirsMethodInfo           ,-#endif-    keyFileLoadFromDirs                     ,----- ** loadFromFile #method:loadFromFile#--#if ENABLE_OVERLOADING-    KeyFileLoadFromFileMethodInfo           ,-#endif-    keyFileLoadFromFile                     ,----- ** new #method:new#--    keyFileNew                              ,----- ** removeComment #method:removeComment#--#if ENABLE_OVERLOADING-    KeyFileRemoveCommentMethodInfo          ,-#endif-    keyFileRemoveComment                    ,----- ** removeGroup #method:removeGroup#--#if ENABLE_OVERLOADING-    KeyFileRemoveGroupMethodInfo            ,-#endif-    keyFileRemoveGroup                      ,----- ** removeKey #method:removeKey#--#if ENABLE_OVERLOADING-    KeyFileRemoveKeyMethodInfo              ,-#endif-    keyFileRemoveKey                        ,----- ** saveToFile #method:saveToFile#--#if ENABLE_OVERLOADING-    KeyFileSaveToFileMethodInfo             ,-#endif-    keyFileSaveToFile                       ,----- ** setBoolean #method:setBoolean#--#if ENABLE_OVERLOADING-    KeyFileSetBooleanMethodInfo             ,-#endif-    keyFileSetBoolean                       ,----- ** setBooleanList #method:setBooleanList#--#if ENABLE_OVERLOADING-    KeyFileSetBooleanListMethodInfo         ,-#endif-    keyFileSetBooleanList                   ,----- ** setComment #method:setComment#--#if ENABLE_OVERLOADING-    KeyFileSetCommentMethodInfo             ,-#endif-    keyFileSetComment                       ,----- ** setDouble #method:setDouble#--#if ENABLE_OVERLOADING-    KeyFileSetDoubleMethodInfo              ,-#endif-    keyFileSetDouble                        ,----- ** setDoubleList #method:setDoubleList#--#if ENABLE_OVERLOADING-    KeyFileSetDoubleListMethodInfo          ,-#endif-    keyFileSetDoubleList                    ,----- ** setInt64 #method:setInt64#--#if ENABLE_OVERLOADING-    KeyFileSetInt64MethodInfo               ,-#endif-    keyFileSetInt64                         ,----- ** setInteger #method:setInteger#--#if ENABLE_OVERLOADING-    KeyFileSetIntegerMethodInfo             ,-#endif-    keyFileSetInteger                       ,----- ** setIntegerList #method:setIntegerList#--#if ENABLE_OVERLOADING-    KeyFileSetIntegerListMethodInfo         ,-#endif-    keyFileSetIntegerList                   ,----- ** setListSeparator #method:setListSeparator#--#if ENABLE_OVERLOADING-    KeyFileSetListSeparatorMethodInfo       ,-#endif-    keyFileSetListSeparator                 ,----- ** setLocaleString #method:setLocaleString#--#if ENABLE_OVERLOADING-    KeyFileSetLocaleStringMethodInfo        ,-#endif-    keyFileSetLocaleString                  ,----- ** setLocaleStringList #method:setLocaleStringList#--#if ENABLE_OVERLOADING-    KeyFileSetLocaleStringListMethodInfo    ,-#endif-    keyFileSetLocaleStringList              ,----- ** setString #method:setString#--#if ENABLE_OVERLOADING-    KeyFileSetStringMethodInfo              ,-#endif-    keyFileSetString                        ,----- ** setStringList #method:setStringList#--#if ENABLE_OVERLOADING-    KeyFileSetStringListMethodInfo          ,-#endif-    keyFileSetStringList                    ,----- ** setUint64 #method:setUint64#--#if ENABLE_OVERLOADING-    KeyFileSetUint64MethodInfo              ,-#endif-    keyFileSetUint64                        ,----- ** setValue #method:setValue#--#if ENABLE_OVERLOADING-    KeyFileSetValueMethodInfo               ,-#endif-    keyFileSetValue                         ,----- ** toData #method:toData#--#if ENABLE_OVERLOADING-    KeyFileToDataMethodInfo                 ,-#endif-    keyFileToData                           ,----- ** unref #method:unref#--#if ENABLE_OVERLOADING-    KeyFileUnrefMethodInfo                  ,-#endif-    keyFileUnref                            ,-----    ) 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.GLib.Flags as GLib.Flags-import {-# SOURCE #-} qualified GI.GLib.Structs.Bytes as GLib.Bytes---- | Memory-managed wrapper type.-newtype KeyFile = KeyFile (ManagedPtr KeyFile)-foreign import ccall "g_key_file_get_type" c_g_key_file_get_type :: -    IO GType--instance BoxedObject KeyFile where-    boxedType _ = c_g_key_file_get_type---- | A convenience alias for `Nothing` :: `Maybe` `KeyFile`.-noKeyFile :: Maybe KeyFile-noKeyFile = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList KeyFile-type instance O.AttributeList KeyFile = KeyFileAttributeList-type KeyFileAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method KeyFile::new--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "KeyFile"}))--- throws : False--- Skip return : False--foreign import ccall "g_key_file_new" g_key_file_new :: -    IO (Ptr KeyFile)--{- |-Creates a new empty 'GI.GLib.Structs.KeyFile.KeyFile' object. Use-'GI.GLib.Structs.KeyFile.keyFileLoadFromFile', 'GI.GLib.Structs.KeyFile.keyFileLoadFromData',-'GI.GLib.Structs.KeyFile.keyFileLoadFromDirs' or 'GI.GLib.Structs.KeyFile.keyFileLoadFromDataDirs' to-read an existing key file.--/Since: 2.6/--}-keyFileNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m KeyFile-    {- ^ __Returns:__ an empty 'GI.GLib.Structs.KeyFile.KeyFile'. -}-keyFileNew  = liftIO $ do-    result <- g_key_file_new-    checkUnexpectedReturnNULL "keyFileNew" result-    result' <- (wrapBoxed KeyFile) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method KeyFile::get_boolean--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", 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_key_file_get_boolean" g_key_file_get_boolean :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Returns the value associated with /@key@/ under /@groupName@/ as a-boolean.--If /@key@/ cannot be found then 'False' is returned and /@error@/ is set-to @/G_KEY_FILE_ERROR_KEY_NOT_FOUND/@. Likewise, if the value-associated with /@key@/ cannot be interpreted as a boolean then 'False'-is returned and /@error@/ is set to @/G_KEY_FILE_ERROR_INVALID_VALUE/@.--/Since: 2.6/--}-keyFileGetBoolean ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileGetBoolean keyFile groupName key = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    onException (do-        _ <- propagateGError $ g_key_file_get_boolean keyFile' groupName' key'-        touchManagedPtr keyFile-        freeMem groupName'-        freeMem key'-        return ()-     ) (do-        freeMem groupName'-        freeMem key'-     )--#if ENABLE_OVERLOADING-data KeyFileGetBooleanMethodInfo-instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m) => O.MethodInfo KeyFileGetBooleanMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileGetBoolean--#endif---- method KeyFile::get_boolean_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of booleans returned", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of booleans returned", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Just (TCArray False (-1) 3 (TBasicType TBoolean))--- throws : True--- Skip return : False--foreign import ccall "g_key_file_get_boolean_list" g_key_file_get_boolean_list :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    Ptr Word64 ->                           -- length : TBasicType TUInt64-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr CInt)--{- |-Returns the values associated with /@key@/ under /@groupName@/ as-booleans.--If /@key@/ cannot be found then 'Nothing' is returned and /@error@/ is set to-@/G_KEY_FILE_ERROR_KEY_NOT_FOUND/@. Likewise, if the values associated-with /@key@/ cannot be interpreted as booleans then 'Nothing' is returned-and /@error@/ is set to @/G_KEY_FILE_ERROR_INVALID_VALUE/@.--/Since: 2.6/--}-keyFileGetBooleanList ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> m [Bool]-    {- ^ __Returns:__ -   the values associated with the key as a list of booleans, or 'Nothing' if the-   key was not found or could not be parsed. The returned list of booleans-   should be freed with 'GI.GLib.Functions.free' when no longer needed. /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileGetBooleanList keyFile groupName key = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    length_ <- allocMem :: IO (Ptr Word64)-    onException (do-        result <- propagateGError $ g_key_file_get_boolean_list keyFile' groupName' key' length_-        length_' <- peek length_-        checkUnexpectedReturnNULL "keyFileGetBooleanList" result-        result' <- (unpackMapStorableArrayWithLength (/= 0) length_') result-        freeMem result-        touchManagedPtr keyFile-        freeMem groupName'-        freeMem key'-        freeMem length_-        return result'-     ) (do-        freeMem groupName'-        freeMem key'-        freeMem length_-     )--#if ENABLE_OVERLOADING-data KeyFileGetBooleanListMethodInfo-instance (signature ~ (T.Text -> T.Text -> m [Bool]), MonadIO m) => O.MethodInfo KeyFileGetBooleanListMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileGetBooleanList--#endif---- method KeyFile::get_comment--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a group name, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", 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_key_file_get_comment" g_key_file_get_comment :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CString--{- |-Retrieves a comment above /@key@/ from /@groupName@/.-If /@key@/ is 'Nothing' then /@comment@/ will be read from above-/@groupName@/. If both /@key@/ and /@groupName@/ are 'Nothing', then-/@comment@/ will be read from above the first group in the file.--Note that the returned string does not include the \'#\' comment markers,-but does include any whitespace after them (on each line). It includes-the line breaks between lines, but does not include the final line break.--/Since: 2.6/--}-keyFileGetComment ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> Maybe (T.Text)-    {- ^ /@groupName@/: a group name, or 'Nothing' -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> m T.Text-    {- ^ __Returns:__ a comment that should be freed with 'GI.GLib.Functions.free' /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileGetComment keyFile groupName key = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    maybeGroupName <- case groupName of-        Nothing -> return nullPtr-        Just jGroupName -> do-            jGroupName' <- textToCString jGroupName-            return jGroupName'-    key' <- textToCString key-    onException (do-        result <- propagateGError $ g_key_file_get_comment keyFile' maybeGroupName key'-        checkUnexpectedReturnNULL "keyFileGetComment" result-        result' <- cstringToText result-        freeMem result-        touchManagedPtr keyFile-        freeMem maybeGroupName-        freeMem key'-        return result'-     ) (do-        freeMem maybeGroupName-        freeMem key'-     )--#if ENABLE_OVERLOADING-data KeyFileGetCommentMethodInfo-instance (signature ~ (Maybe (T.Text) -> T.Text -> m T.Text), MonadIO m) => O.MethodInfo KeyFileGetCommentMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileGetComment--#endif---- method KeyFile::get_double--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TDouble)--- throws : True--- Skip return : False--foreign import ccall "g_key_file_get_double" g_key_file_get_double :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CDouble--{- |-Returns the value associated with /@key@/ under /@groupName@/ as a-double. If /@groupName@/ is 'Nothing', the start_group is used.--If /@key@/ cannot be found then 0.0 is returned and /@error@/ is set to-@/G_KEY_FILE_ERROR_KEY_NOT_FOUND/@. Likewise, if the value associated-with /@key@/ cannot be interpreted as a double then 0.0 is returned-and /@error@/ is set to @/G_KEY_FILE_ERROR_INVALID_VALUE/@.--/Since: 2.12/--}-keyFileGetDouble ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> m Double-    {- ^ __Returns:__ the value associated with the key as a double, or-    0.0 if the key was not found or could not be parsed. /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileGetDouble keyFile groupName key = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    onException (do-        result <- propagateGError $ g_key_file_get_double keyFile' groupName' key'-        let result' = realToFrac result-        touchManagedPtr keyFile-        freeMem groupName'-        freeMem key'-        return result'-     ) (do-        freeMem groupName'-        freeMem key'-     )--#if ENABLE_OVERLOADING-data KeyFileGetDoubleMethodInfo-instance (signature ~ (T.Text -> T.Text -> m Double), MonadIO m) => O.MethodInfo KeyFileGetDoubleMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileGetDouble--#endif---- method KeyFile::get_double_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of doubles returned", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of doubles returned", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Just (TCArray False (-1) 3 (TBasicType TDouble))--- throws : True--- Skip return : False--foreign import ccall "g_key_file_get_double_list" g_key_file_get_double_list :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    Ptr Word64 ->                           -- length : TBasicType TUInt64-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr CDouble)--{- |-Returns the values associated with /@key@/ under /@groupName@/ as-doubles.--If /@key@/ cannot be found then 'Nothing' is returned and /@error@/ is set to-@/G_KEY_FILE_ERROR_KEY_NOT_FOUND/@. Likewise, if the values associated-with /@key@/ cannot be interpreted as doubles then 'Nothing' is returned-and /@error@/ is set to @/G_KEY_FILE_ERROR_INVALID_VALUE/@.--/Since: 2.12/--}-keyFileGetDoubleList ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> m [Double]-    {- ^ __Returns:__ -    the values associated with the key as a list of doubles, or 'Nothing' if the-    key was not found or could not be parsed. The returned list of doubles-    should be freed with 'GI.GLib.Functions.free' when no longer needed. /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileGetDoubleList keyFile groupName key = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    length_ <- allocMem :: IO (Ptr Word64)-    onException (do-        result <- propagateGError $ g_key_file_get_double_list keyFile' groupName' key' length_-        length_' <- peek length_-        checkUnexpectedReturnNULL "keyFileGetDoubleList" result-        result' <- (unpackMapStorableArrayWithLength realToFrac length_') result-        freeMem result-        touchManagedPtr keyFile-        freeMem groupName'-        freeMem key'-        freeMem length_-        return result'-     ) (do-        freeMem groupName'-        freeMem key'-        freeMem length_-     )--#if ENABLE_OVERLOADING-data KeyFileGetDoubleListMethodInfo-instance (signature ~ (T.Text -> T.Text -> m [Double]), MonadIO m) => O.MethodInfo KeyFileGetDoubleListMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileGetDoubleList--#endif---- method KeyFile::get_groups--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the number of returned groups, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))--- throws : False--- Skip return : False--foreign import ccall "g_key_file_get_groups" g_key_file_get_groups :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    Ptr Word64 ->                           -- length : TBasicType TUInt64-    IO (Ptr CString)--{- |-Returns all groups in the key file loaded with /@keyFile@/.-The array of returned groups will be 'Nothing'-terminated, so-/@length@/ may optionally be 'Nothing'.--/Since: 2.6/--}-keyFileGetGroups ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> m (([T.Text], Word64))-    {- ^ __Returns:__ a newly-allocated 'Nothing'-terminated array of strings.-  Use 'GI.GLib.Functions.strfreev' to free it. -}-keyFileGetGroups keyFile = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    length_ <- allocMem :: IO (Ptr Word64)-    result <- g_key_file_get_groups keyFile' length_-    checkUnexpectedReturnNULL "keyFileGetGroups" result-    result' <- unpackZeroTerminatedUTF8CArray result-    mapZeroTerminatedCArray freeMem result-    freeMem result-    length_' <- peek length_-    touchManagedPtr keyFile-    freeMem length_-    return (result', length_')--#if ENABLE_OVERLOADING-data KeyFileGetGroupsMethodInfo-instance (signature ~ (m (([T.Text], Word64))), MonadIO m) => O.MethodInfo KeyFileGetGroupsMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileGetGroups--#endif---- method KeyFile::get_int64--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a non-%NULL #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a non-%NULL group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a non-%NULL key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt64)--- throws : True--- Skip return : False--foreign import ccall "g_key_file_get_int64" g_key_file_get_int64 :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO Int64--{- |-Returns the value associated with /@key@/ under /@groupName@/ as a signed-64-bit integer. This is similar to 'GI.GLib.Structs.KeyFile.keyFileGetInteger' but can return-64-bit results without truncation.--/Since: 2.26/--}-keyFileGetInt64 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a non-'Nothing' 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a non-'Nothing' group name -}-    -> T.Text-    {- ^ /@key@/: a non-'Nothing' key -}-    -> m Int64-    {- ^ __Returns:__ the value associated with the key as a signed 64-bit integer, or-0 if the key was not found or could not be parsed. /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileGetInt64 keyFile groupName key = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    onException (do-        result <- propagateGError $ g_key_file_get_int64 keyFile' groupName' key'-        touchManagedPtr keyFile-        freeMem groupName'-        freeMem key'-        return result-     ) (do-        freeMem groupName'-        freeMem key'-     )--#if ENABLE_OVERLOADING-data KeyFileGetInt64MethodInfo-instance (signature ~ (T.Text -> T.Text -> m Int64), MonadIO m) => O.MethodInfo KeyFileGetInt64MethodInfo KeyFile signature where-    overloadedMethod _ = keyFileGetInt64--#endif---- method KeyFile::get_integer--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : True--- Skip return : False--foreign import ccall "g_key_file_get_integer" g_key_file_get_integer :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO Int32--{- |-Returns the value associated with /@key@/ under /@groupName@/ as an-integer.--If /@key@/ cannot be found then 0 is returned and /@error@/ is set to-@/G_KEY_FILE_ERROR_KEY_NOT_FOUND/@. Likewise, if the value associated-with /@key@/ cannot be interpreted as an integer, or is out of range-for a @/gint/@, then 0 is returned-and /@error@/ is set to @/G_KEY_FILE_ERROR_INVALID_VALUE/@.--/Since: 2.6/--}-keyFileGetInteger ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> m Int32-    {- ^ __Returns:__ the value associated with the key as an integer, or-    0 if the key was not found or could not be parsed. /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileGetInteger keyFile groupName key = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    onException (do-        result <- propagateGError $ g_key_file_get_integer keyFile' groupName' key'-        touchManagedPtr keyFile-        freeMem groupName'-        freeMem key'-        return result-     ) (do-        freeMem groupName'-        freeMem key'-     )--#if ENABLE_OVERLOADING-data KeyFileGetIntegerMethodInfo-instance (signature ~ (T.Text -> T.Text -> m Int32), MonadIO m) => O.MethodInfo KeyFileGetIntegerMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileGetInteger--#endif---- method KeyFile::get_integer_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of integers returned", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of integers returned", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Just (TCArray False (-1) 3 (TBasicType TInt))--- throws : True--- Skip return : False--foreign import ccall "g_key_file_get_integer_list" g_key_file_get_integer_list :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    Ptr Word64 ->                           -- length : TBasicType TUInt64-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr Int32)--{- |-Returns the values associated with /@key@/ under /@groupName@/ as-integers.--If /@key@/ cannot be found then 'Nothing' is returned and /@error@/ is set to-@/G_KEY_FILE_ERROR_KEY_NOT_FOUND/@. Likewise, if the values associated-with /@key@/ cannot be interpreted as integers, or are out of range for-@/gint/@, then 'Nothing' is returned-and /@error@/ is set to @/G_KEY_FILE_ERROR_INVALID_VALUE/@.--/Since: 2.6/--}-keyFileGetIntegerList ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> m [Int32]-    {- ^ __Returns:__ -    the values associated with the key as a list of integers, or 'Nothing' if-    the key was not found or could not be parsed. The returned list of-    integers should be freed with 'GI.GLib.Functions.free' when no longer needed. /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileGetIntegerList keyFile groupName key = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    length_ <- allocMem :: IO (Ptr Word64)-    onException (do-        result <- propagateGError $ g_key_file_get_integer_list keyFile' groupName' key' length_-        length_' <- peek length_-        checkUnexpectedReturnNULL "keyFileGetIntegerList" result-        result' <- (unpackStorableArrayWithLength length_') result-        freeMem result-        touchManagedPtr keyFile-        freeMem groupName'-        freeMem key'-        freeMem length_-        return result'-     ) (do-        freeMem groupName'-        freeMem key'-        freeMem length_-     )--#if ENABLE_OVERLOADING-data KeyFileGetIntegerListMethodInfo-instance (signature ~ (T.Text -> T.Text -> m [Int32]), MonadIO m) => O.MethodInfo KeyFileGetIntegerListMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileGetIntegerList--#endif---- method KeyFile::get_keys--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the number of keys returned, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))--- throws : True--- Skip return : False--foreign import ccall "g_key_file_get_keys" g_key_file_get_keys :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    Ptr Word64 ->                           -- length : TBasicType TUInt64-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr CString)--{- |-Returns all keys for the group name /@groupName@/.  The array of-returned keys will be 'Nothing'-terminated, so /@length@/ may-optionally be 'Nothing'. In the event that the /@groupName@/ cannot-be found, 'Nothing' is returned and /@error@/ is set to-@/G_KEY_FILE_ERROR_GROUP_NOT_FOUND/@.--/Since: 2.6/--}-keyFileGetKeys ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> m (([T.Text], Word64))-    {- ^ __Returns:__ a newly-allocated 'Nothing'-terminated array of strings.-    Use 'GI.GLib.Functions.strfreev' to free it. /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileGetKeys keyFile groupName = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    length_ <- allocMem :: IO (Ptr Word64)-    onException (do-        result <- propagateGError $ g_key_file_get_keys keyFile' groupName' length_-        checkUnexpectedReturnNULL "keyFileGetKeys" result-        result' <- unpackZeroTerminatedUTF8CArray result-        mapZeroTerminatedCArray freeMem result-        freeMem result-        length_' <- peek length_-        touchManagedPtr keyFile-        freeMem groupName'-        freeMem length_-        return (result', length_')-     ) (do-        freeMem groupName'-        freeMem length_-     )--#if ENABLE_OVERLOADING-data KeyFileGetKeysMethodInfo-instance (signature ~ (T.Text -> m (([T.Text], Word64))), MonadIO m) => O.MethodInfo KeyFileGetKeysMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileGetKeys--#endif---- method KeyFile::get_locale_for_key--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "locale", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a locale identifier or %NULL", 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_key_file_get_locale_for_key" g_key_file_get_locale_for_key :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    CString ->                              -- locale : TBasicType TUTF8-    IO CString--{- |-Returns the actual locale which the result of-'GI.GLib.Structs.KeyFile.keyFileGetLocaleString' or 'GI.GLib.Structs.KeyFile.keyFileGetLocaleStringList'-came from.--If calling 'GI.GLib.Structs.KeyFile.keyFileGetLocaleString' or-'GI.GLib.Structs.KeyFile.keyFileGetLocaleStringList' with exactly the same /@keyFile@/,-/@groupName@/, /@key@/ and /@locale@/, the result of those functions will-have originally been tagged with the locale that is the result of-this function.--/Since: 2.56/--}-keyFileGetLocaleForKey ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> Maybe (T.Text)-    {- ^ /@locale@/: a locale identifier or 'Nothing' -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ the locale from the file, or 'Nothing' if the key was not-  found or the entry in the file was was untranslated -}-keyFileGetLocaleForKey keyFile groupName key locale = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    maybeLocale <- case locale of-        Nothing -> return nullPtr-        Just jLocale -> do-            jLocale' <- textToCString jLocale-            return jLocale'-    result <- g_key_file_get_locale_for_key keyFile' groupName' key' maybeLocale-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        freeMem result'-        return result''-    touchManagedPtr keyFile-    freeMem groupName'-    freeMem key'-    freeMem maybeLocale-    return maybeResult--#if ENABLE_OVERLOADING-data KeyFileGetLocaleForKeyMethodInfo-instance (signature ~ (T.Text -> T.Text -> Maybe (T.Text) -> m (Maybe T.Text)), MonadIO m) => O.MethodInfo KeyFileGetLocaleForKeyMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileGetLocaleForKey--#endif---- method KeyFile::get_locale_string--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "locale", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a locale identifier or %NULL", 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_key_file_get_locale_string" g_key_file_get_locale_string :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    CString ->                              -- locale : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CString--{- |-Returns the value associated with /@key@/ under /@groupName@/-translated in the given /@locale@/ if available.  If /@locale@/ is-'Nothing' then the current locale is assumed.--If /@locale@/ is to be non-'Nothing', or if the current locale will change over-the lifetime of the 'GI.GLib.Structs.KeyFile.KeyFile', it must be loaded with-'GI.GLib.Flags.KeyFileFlagsKeepTranslations' in order to load strings for all locales.--If /@key@/ cannot be found then 'Nothing' is returned and /@error@/ is set-to @/G_KEY_FILE_ERROR_KEY_NOT_FOUND/@. If the value associated-with /@key@/ cannot be interpreted or no suitable translation can-be found then the untranslated value is returned.--/Since: 2.6/--}-keyFileGetLocaleString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> Maybe (T.Text)-    {- ^ /@locale@/: a locale identifier or 'Nothing' -}-    -> m T.Text-    {- ^ __Returns:__ a newly allocated string or 'Nothing' if the specified-  key cannot be found. /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileGetLocaleString keyFile groupName key locale = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    maybeLocale <- case locale of-        Nothing -> return nullPtr-        Just jLocale -> do-            jLocale' <- textToCString jLocale-            return jLocale'-    onException (do-        result <- propagateGError $ g_key_file_get_locale_string keyFile' groupName' key' maybeLocale-        checkUnexpectedReturnNULL "keyFileGetLocaleString" result-        result' <- cstringToText result-        freeMem result-        touchManagedPtr keyFile-        freeMem groupName'-        freeMem key'-        freeMem maybeLocale-        return result'-     ) (do-        freeMem groupName'-        freeMem key'-        freeMem maybeLocale-     )--#if ENABLE_OVERLOADING-data KeyFileGetLocaleStringMethodInfo-instance (signature ~ (T.Text -> T.Text -> Maybe (T.Text) -> m T.Text), MonadIO m) => O.MethodInfo KeyFileGetLocaleStringMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileGetLocaleString--#endif---- method KeyFile::get_locale_string_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "locale", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a locale identifier or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the number of returned strings or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TCArray True (-1) 4 (TBasicType TUTF8))--- throws : True--- Skip return : False--foreign import ccall "g_key_file_get_locale_string_list" g_key_file_get_locale_string_list :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    CString ->                              -- locale : TBasicType TUTF8-    Ptr Word64 ->                           -- length : TBasicType TUInt64-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr CString)--{- |-Returns the values associated with /@key@/ under /@groupName@/-translated in the given /@locale@/ if available.  If /@locale@/ is-'Nothing' then the current locale is assumed.--If /@locale@/ is to be non-'Nothing', or if the current locale will change over-the lifetime of the 'GI.GLib.Structs.KeyFile.KeyFile', it must be loaded with-'GI.GLib.Flags.KeyFileFlagsKeepTranslations' in order to load strings for all locales.--If /@key@/ cannot be found then 'Nothing' is returned and /@error@/ is set-to @/G_KEY_FILE_ERROR_KEY_NOT_FOUND/@. If the values associated-with /@key@/ cannot be interpreted or no suitable translations-can be found then the untranslated values are returned. The-returned array is 'Nothing'-terminated, so /@length@/ may optionally-be 'Nothing'.--/Since: 2.6/--}-keyFileGetLocaleStringList ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> Maybe (T.Text)-    {- ^ /@locale@/: a locale identifier or 'Nothing' -}-    -> m (([T.Text], Word64))-    {- ^ __Returns:__ a newly allocated 'Nothing'-terminated string array-  or 'Nothing' if the key isn\'t found. The string array should be freed-  with 'GI.GLib.Functions.strfreev'. /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileGetLocaleStringList keyFile groupName key locale = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    maybeLocale <- case locale of-        Nothing -> return nullPtr-        Just jLocale -> do-            jLocale' <- textToCString jLocale-            return jLocale'-    length_ <- allocMem :: IO (Ptr Word64)-    onException (do-        result <- propagateGError $ g_key_file_get_locale_string_list keyFile' groupName' key' maybeLocale length_-        checkUnexpectedReturnNULL "keyFileGetLocaleStringList" result-        result' <- unpackZeroTerminatedUTF8CArray result-        mapZeroTerminatedCArray freeMem result-        freeMem result-        length_' <- peek length_-        touchManagedPtr keyFile-        freeMem groupName'-        freeMem key'-        freeMem maybeLocale-        freeMem length_-        return (result', length_')-     ) (do-        freeMem groupName'-        freeMem key'-        freeMem maybeLocale-        freeMem length_-     )--#if ENABLE_OVERLOADING-data KeyFileGetLocaleStringListMethodInfo-instance (signature ~ (T.Text -> T.Text -> Maybe (T.Text) -> m (([T.Text], Word64))), MonadIO m) => O.MethodInfo KeyFileGetLocaleStringListMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileGetLocaleStringList--#endif---- method KeyFile::get_start_group--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", 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_key_file_get_start_group" g_key_file_get_start_group :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    IO CString--{- |-Returns the name of the start group of the file.--/Since: 2.6/--}-keyFileGetStartGroup ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> m T.Text-    {- ^ __Returns:__ The start group of the key file. -}-keyFileGetStartGroup keyFile = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    result <- g_key_file_get_start_group keyFile'-    checkUnexpectedReturnNULL "keyFileGetStartGroup" result-    result' <- cstringToText result-    freeMem result-    touchManagedPtr keyFile-    return result'--#if ENABLE_OVERLOADING-data KeyFileGetStartGroupMethodInfo-instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo KeyFileGetStartGroupMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileGetStartGroup--#endif---- method KeyFile::get_string--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", 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_key_file_get_string" g_key_file_get_string :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CString--{- |-Returns the string value associated with /@key@/ under /@groupName@/.-Unlike 'GI.GLib.Structs.KeyFile.keyFileGetValue', this function handles escape sequences-like \\s.--In the event the key cannot be found, 'Nothing' is returned and-/@error@/ is set to @/G_KEY_FILE_ERROR_KEY_NOT_FOUND/@.  In the-event that the /@groupName@/ cannot be found, 'Nothing' is returned-and /@error@/ is set to @/G_KEY_FILE_ERROR_GROUP_NOT_FOUND/@.--/Since: 2.6/--}-keyFileGetString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> m T.Text-    {- ^ __Returns:__ a newly allocated string or 'Nothing' if the specified-  key cannot be found. /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileGetString keyFile groupName key = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    onException (do-        result <- propagateGError $ g_key_file_get_string keyFile' groupName' key'-        checkUnexpectedReturnNULL "keyFileGetString" result-        result' <- cstringToText result-        freeMem result-        touchManagedPtr keyFile-        freeMem groupName'-        freeMem key'-        return result'-     ) (do-        freeMem groupName'-        freeMem key'-     )--#if ENABLE_OVERLOADING-data KeyFileGetStringMethodInfo-instance (signature ~ (T.Text -> T.Text -> m T.Text), MonadIO m) => O.MethodInfo KeyFileGetStringMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileGetString--#endif---- method KeyFile::get_string_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the number of returned strings, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TCArray True (-1) 3 (TBasicType TUTF8))--- throws : True--- Skip return : False--foreign import ccall "g_key_file_get_string_list" g_key_file_get_string_list :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    Ptr Word64 ->                           -- length : TBasicType TUInt64-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr CString)--{- |-Returns the values associated with /@key@/ under /@groupName@/.--In the event the key cannot be found, 'Nothing' is returned and-/@error@/ is set to @/G_KEY_FILE_ERROR_KEY_NOT_FOUND/@.  In the-event that the /@groupName@/ cannot be found, 'Nothing' is returned-and /@error@/ is set to @/G_KEY_FILE_ERROR_GROUP_NOT_FOUND/@.--/Since: 2.6/--}-keyFileGetStringList ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> m (([T.Text], Word64))-    {- ^ __Returns:__ - a 'Nothing'-terminated string array or 'Nothing' if the specified- key cannot be found. The array should be freed with 'GI.GLib.Functions.strfreev'. /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileGetStringList keyFile groupName key = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    length_ <- allocMem :: IO (Ptr Word64)-    onException (do-        result <- propagateGError $ g_key_file_get_string_list keyFile' groupName' key' length_-        checkUnexpectedReturnNULL "keyFileGetStringList" result-        result' <- unpackZeroTerminatedUTF8CArray result-        mapZeroTerminatedCArray freeMem result-        freeMem result-        length_' <- peek length_-        touchManagedPtr keyFile-        freeMem groupName'-        freeMem key'-        freeMem length_-        return (result', length_')-     ) (do-        freeMem groupName'-        freeMem key'-        freeMem length_-     )--#if ENABLE_OVERLOADING-data KeyFileGetStringListMethodInfo-instance (signature ~ (T.Text -> T.Text -> m (([T.Text], Word64))), MonadIO m) => O.MethodInfo KeyFileGetStringListMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileGetStringList--#endif---- method KeyFile::get_uint64--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a non-%NULL #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a non-%NULL group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a non-%NULL key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt64)--- throws : True--- Skip return : False--foreign import ccall "g_key_file_get_uint64" g_key_file_get_uint64 :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO Word64--{- |-Returns the value associated with /@key@/ under /@groupName@/ as an unsigned-64-bit integer. This is similar to 'GI.GLib.Structs.KeyFile.keyFileGetInteger' but can return-large positive results without truncation.--/Since: 2.26/--}-keyFileGetUint64 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a non-'Nothing' 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a non-'Nothing' group name -}-    -> T.Text-    {- ^ /@key@/: a non-'Nothing' key -}-    -> m Word64-    {- ^ __Returns:__ the value associated with the key as an unsigned 64-bit integer,-or 0 if the key was not found or could not be parsed. /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileGetUint64 keyFile groupName key = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    onException (do-        result <- propagateGError $ g_key_file_get_uint64 keyFile' groupName' key'-        touchManagedPtr keyFile-        freeMem groupName'-        freeMem key'-        return result-     ) (do-        freeMem groupName'-        freeMem key'-     )--#if ENABLE_OVERLOADING-data KeyFileGetUint64MethodInfo-instance (signature ~ (T.Text -> T.Text -> m Word64), MonadIO m) => O.MethodInfo KeyFileGetUint64MethodInfo KeyFile signature where-    overloadedMethod _ = keyFileGetUint64--#endif---- method KeyFile::get_value--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", 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_key_file_get_value" g_key_file_get_value :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CString--{- |-Returns the raw value associated with /@key@/ under /@groupName@/.-Use 'GI.GLib.Structs.KeyFile.keyFileGetString' to retrieve an unescaped UTF-8 string.--In the event the key cannot be found, 'Nothing' is returned and-/@error@/ is set to @/G_KEY_FILE_ERROR_KEY_NOT_FOUND/@.  In the-event that the /@groupName@/ cannot be found, 'Nothing' is returned-and /@error@/ is set to @/G_KEY_FILE_ERROR_GROUP_NOT_FOUND/@.--/Since: 2.6/--}-keyFileGetValue ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> m T.Text-    {- ^ __Returns:__ a newly allocated string or 'Nothing' if the specified- key cannot be found. /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileGetValue keyFile groupName key = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    onException (do-        result <- propagateGError $ g_key_file_get_value keyFile' groupName' key'-        checkUnexpectedReturnNULL "keyFileGetValue" result-        result' <- cstringToText result-        freeMem result-        touchManagedPtr keyFile-        freeMem groupName'-        freeMem key'-        return result'-     ) (do-        freeMem groupName'-        freeMem key'-     )--#if ENABLE_OVERLOADING-data KeyFileGetValueMethodInfo-instance (signature ~ (T.Text -> T.Text -> m T.Text), MonadIO m) => O.MethodInfo KeyFileGetValueMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileGetValue--#endif---- method KeyFile::has_group--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", 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_key_file_has_group" g_key_file_has_group :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    IO CInt--{- |-Looks whether the key file has the group /@groupName@/.--/Since: 2.6/--}-keyFileHasGroup ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@groupName@/ is a part of /@keyFile@/, 'False'-otherwise. -}-keyFileHasGroup keyFile groupName = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    result <- g_key_file_has_group keyFile' groupName'-    let result' = (/= 0) result-    touchManagedPtr keyFile-    freeMem groupName'-    return result'--#if ENABLE_OVERLOADING-data KeyFileHasGroupMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo KeyFileHasGroupMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileHasGroup--#endif---- method KeyFile::load_from_bytes--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an empty #GKeyFile struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bytes", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GBytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GLib", name = "KeyFileFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags from #GKeyFileFlags", 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_key_file_load_from_bytes" g_key_file_load_from_bytes :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    Ptr GLib.Bytes.Bytes ->                 -- bytes : TInterface (Name {namespace = "GLib", name = "Bytes"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "GLib", name = "KeyFileFlags"})-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Loads a key file from the data in /@bytes@/ into an empty 'GI.GLib.Structs.KeyFile.KeyFile' structure.-If the object cannot be created then @/error/@ is set to a 'GI.GLib.Enums.KeyFileError'.--/Since: 2.50/--}-keyFileLoadFromBytes ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: an empty 'GI.GLib.Structs.KeyFile.KeyFile' struct -}-    -> GLib.Bytes.Bytes-    {- ^ /@bytes@/: a 'GI.GLib.Structs.Bytes.Bytes' -}-    -> [GLib.Flags.KeyFileFlags]-    {- ^ /@flags@/: flags from 'GI.GLib.Flags.KeyFileFlags' -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileLoadFromBytes keyFile bytes flags = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    bytes' <- unsafeManagedPtrGetPtr bytes-    let flags' = gflagsToWord flags-    onException (do-        _ <- propagateGError $ g_key_file_load_from_bytes keyFile' bytes' flags'-        touchManagedPtr keyFile-        touchManagedPtr bytes-        return ()-     ) (do-        return ()-     )--#if ENABLE_OVERLOADING-data KeyFileLoadFromBytesMethodInfo-instance (signature ~ (GLib.Bytes.Bytes -> [GLib.Flags.KeyFileFlags] -> m ()), MonadIO m) => O.MethodInfo KeyFileLoadFromBytesMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileLoadFromBytes--#endif---- method KeyFile::load_from_data--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an empty #GKeyFile struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "key file loaded in memory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @data in bytes (or (gsize)-1 if data is nul-terminated)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GLib", name = "KeyFileFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags from #GKeyFileFlags", 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_key_file_load_from_data" g_key_file_load_from_data :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- data : TBasicType TUTF8-    Word64 ->                               -- length : TBasicType TUInt64-    CUInt ->                                -- flags : TInterface (Name {namespace = "GLib", name = "KeyFileFlags"})-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Loads a key file from memory into an empty 'GI.GLib.Structs.KeyFile.KeyFile' structure.-If the object cannot be created then @/error/@ is set to a 'GI.GLib.Enums.KeyFileError'.--/Since: 2.6/--}-keyFileLoadFromData ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: an empty 'GI.GLib.Structs.KeyFile.KeyFile' struct -}-    -> T.Text-    {- ^ /@data@/: key file loaded in memory -}-    -> Word64-    {- ^ /@length@/: the length of /@data@/ in bytes (or (gsize)-1 if data is nul-terminated) -}-    -> [GLib.Flags.KeyFileFlags]-    {- ^ /@flags@/: flags from 'GI.GLib.Flags.KeyFileFlags' -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileLoadFromData keyFile data_ length_ flags = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    data_' <- textToCString data_-    let flags' = gflagsToWord flags-    onException (do-        _ <- propagateGError $ g_key_file_load_from_data keyFile' data_' length_ flags'-        touchManagedPtr keyFile-        freeMem data_'-        return ()-     ) (do-        freeMem data_'-     )--#if ENABLE_OVERLOADING-data KeyFileLoadFromDataMethodInfo-instance (signature ~ (T.Text -> Word64 -> [GLib.Flags.KeyFileFlags] -> m ()), MonadIO m) => O.MethodInfo KeyFileLoadFromDataMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileLoadFromData--#endif---- method KeyFile::load_from_data_dirs--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an empty #GKeyFile struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a relative path to a filename to open and parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "full_path", argType = TBasicType TFileName, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for a string containing the full path\n  of the file, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GLib", name = "KeyFileFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags from #GKeyFileFlags", 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_key_file_load_from_data_dirs" g_key_file_load_from_data_dirs :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- file : TBasicType TFileName-    Ptr CString ->                          -- full_path : TBasicType TFileName-    CUInt ->                                -- flags : TInterface (Name {namespace = "GLib", name = "KeyFileFlags"})-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-This function looks for a key file named /@file@/ in the paths-returned from 'GI.GLib.Functions.getUserDataDir' and 'GI.GLib.Functions.getSystemDataDirs',-loads the file into /@keyFile@/ and returns the file\'s full path in-/@fullPath@/.  If the file could not be loaded then an @/error/@ is-set to either a 'GI.GLib.Enums.FileError' or 'GI.GLib.Enums.KeyFileError'.--/Since: 2.6/--}-keyFileLoadFromDataDirs ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: an empty 'GI.GLib.Structs.KeyFile.KeyFile' struct -}-    -> [Char]-    {- ^ /@file@/: a relative path to a filename to open and parse -}-    -> [GLib.Flags.KeyFileFlags]-    {- ^ /@flags@/: flags from 'GI.GLib.Flags.KeyFileFlags' -}-    -> m ([Char])-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileLoadFromDataDirs keyFile file flags = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    file' <- stringToCString file-    fullPath <- allocMem :: IO (Ptr CString)-    let flags' = gflagsToWord flags-    onException (do-        _ <- propagateGError $ g_key_file_load_from_data_dirs keyFile' file' fullPath flags'-        fullPath' <- peek fullPath-        fullPath'' <- cstringToString fullPath'-        freeMem fullPath'-        touchManagedPtr keyFile-        freeMem file'-        freeMem fullPath-        return fullPath''-     ) (do-        freeMem file'-        freeMem fullPath-     )--#if ENABLE_OVERLOADING-data KeyFileLoadFromDataDirsMethodInfo-instance (signature ~ ([Char] -> [GLib.Flags.KeyFileFlags] -> m ([Char])), MonadIO m) => O.MethodInfo KeyFileLoadFromDataDirsMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileLoadFromDataDirs--#endif---- method KeyFile::load_from_dirs--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an empty #GKeyFile struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a relative path to a filename to open and parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "search_dirs", argType = TCArray True (-1) (-1) (TBasicType TFileName), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%NULL-terminated array of directories to search", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "full_path", argType = TBasicType TFileName, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for a string containing the full path\n  of the file, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GLib", name = "KeyFileFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags from #GKeyFileFlags", 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_key_file_load_from_dirs" g_key_file_load_from_dirs :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- file : TBasicType TFileName-    Ptr CString ->                          -- search_dirs : TCArray True (-1) (-1) (TBasicType TFileName)-    Ptr CString ->                          -- full_path : TBasicType TFileName-    CUInt ->                                -- flags : TInterface (Name {namespace = "GLib", name = "KeyFileFlags"})-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-This function looks for a key file named /@file@/ in the paths-specified in /@searchDirs@/, loads the file into /@keyFile@/ and-returns the file\'s full path in /@fullPath@/.--If the file could not be found in any of the /@searchDirs@/,-'GI.GLib.Enums.KeyFileErrorNotFound' is returned. If-the file is found but the OS returns an error when opening or reading the-file, a @/G_FILE_ERROR/@ is returned. If there is a problem parsing the file, a-@/G_KEY_FILE_ERROR/@ is returned.--/Since: 2.14/--}-keyFileLoadFromDirs ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: an empty 'GI.GLib.Structs.KeyFile.KeyFile' struct -}-    -> [Char]-    {- ^ /@file@/: a relative path to a filename to open and parse -}-    -> [[Char]]-    {- ^ /@searchDirs@/: 'Nothing'-terminated array of directories to search -}-    -> [GLib.Flags.KeyFileFlags]-    {- ^ /@flags@/: flags from 'GI.GLib.Flags.KeyFileFlags' -}-    -> m ([Char])-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileLoadFromDirs keyFile file searchDirs flags = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    file' <- stringToCString file-    searchDirs' <- packZeroTerminatedFileNameArray searchDirs-    fullPath <- allocMem :: IO (Ptr CString)-    let flags' = gflagsToWord flags-    onException (do-        _ <- propagateGError $ g_key_file_load_from_dirs keyFile' file' searchDirs' fullPath flags'-        fullPath' <- peek fullPath-        fullPath'' <- cstringToString fullPath'-        freeMem fullPath'-        touchManagedPtr keyFile-        freeMem file'-        mapZeroTerminatedCArray freeMem searchDirs'-        freeMem searchDirs'-        freeMem fullPath-        return fullPath''-     ) (do-        freeMem file'-        mapZeroTerminatedCArray freeMem searchDirs'-        freeMem searchDirs'-        freeMem fullPath-     )--#if ENABLE_OVERLOADING-data KeyFileLoadFromDirsMethodInfo-instance (signature ~ ([Char] -> [[Char]] -> [GLib.Flags.KeyFileFlags] -> m ([Char])), MonadIO m) => O.MethodInfo KeyFileLoadFromDirsMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileLoadFromDirs--#endif---- method KeyFile::load_from_file--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an empty #GKeyFile struct", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the path of a filename to load, in the GLib filename encoding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GLib", name = "KeyFileFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags from #GKeyFileFlags", 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_key_file_load_from_file" g_key_file_load_from_file :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- file : TBasicType TFileName-    CUInt ->                                -- flags : TInterface (Name {namespace = "GLib", name = "KeyFileFlags"})-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Loads a key file into an empty 'GI.GLib.Structs.KeyFile.KeyFile' structure.--If the OS returns an error when opening or reading the file, a-@/G_FILE_ERROR/@ is returned. If there is a problem parsing the file, a-@/G_KEY_FILE_ERROR/@ is returned.--This function will never return a 'GI.GLib.Enums.KeyFileErrorNotFound' error. If the-/@file@/ is not found, 'GI.GLib.Enums.FileErrorNoent' is returned.--/Since: 2.6/--}-keyFileLoadFromFile ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: an empty 'GI.GLib.Structs.KeyFile.KeyFile' struct -}-    -> [Char]-    {- ^ /@file@/: the path of a filename to load, in the GLib filename encoding -}-    -> [GLib.Flags.KeyFileFlags]-    {- ^ /@flags@/: flags from 'GI.GLib.Flags.KeyFileFlags' -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileLoadFromFile keyFile file flags = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    file' <- stringToCString file-    let flags' = gflagsToWord flags-    onException (do-        _ <- propagateGError $ g_key_file_load_from_file keyFile' file' flags'-        touchManagedPtr keyFile-        freeMem file'-        return ()-     ) (do-        freeMem file'-     )--#if ENABLE_OVERLOADING-data KeyFileLoadFromFileMethodInfo-instance (signature ~ ([Char] -> [GLib.Flags.KeyFileFlags] -> m ()), MonadIO m) => O.MethodInfo KeyFileLoadFromFileMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileLoadFromFile--#endif---- method KeyFile::remove_comment--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a group name, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a key", 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_key_file_remove_comment" g_key_file_remove_comment :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Removes a comment above /@key@/ from /@groupName@/.-If /@key@/ is 'Nothing' then /@comment@/ will be removed above /@groupName@/.-If both /@key@/ and /@groupName@/ are 'Nothing', then /@comment@/ will-be removed above the first group in the file.--/Since: 2.6/--}-keyFileRemoveComment ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> Maybe (T.Text)-    {- ^ /@groupName@/: a group name, or 'Nothing' -}-    -> Maybe (T.Text)-    {- ^ /@key@/: a key -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileRemoveComment keyFile groupName key = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    maybeGroupName <- case groupName of-        Nothing -> return nullPtr-        Just jGroupName -> do-            jGroupName' <- textToCString jGroupName-            return jGroupName'-    maybeKey <- case key of-        Nothing -> return nullPtr-        Just jKey -> do-            jKey' <- textToCString jKey-            return jKey'-    onException (do-        _ <- propagateGError $ g_key_file_remove_comment keyFile' maybeGroupName maybeKey-        touchManagedPtr keyFile-        freeMem maybeGroupName-        freeMem maybeKey-        return ()-     ) (do-        freeMem maybeGroupName-        freeMem maybeKey-     )--#if ENABLE_OVERLOADING-data KeyFileRemoveCommentMethodInfo-instance (signature ~ (Maybe (T.Text) -> Maybe (T.Text) -> m ()), MonadIO m) => O.MethodInfo KeyFileRemoveCommentMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileRemoveComment--#endif---- method KeyFile::remove_group--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", 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_key_file_remove_group" g_key_file_remove_group :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Removes the specified group, /@groupName@/,-from the key file.--/Since: 2.6/--}-keyFileRemoveGroup ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileRemoveGroup keyFile groupName = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    onException (do-        _ <- propagateGError $ g_key_file_remove_group keyFile' groupName'-        touchManagedPtr keyFile-        freeMem groupName'-        return ()-     ) (do-        freeMem groupName'-     )--#if ENABLE_OVERLOADING-data KeyFileRemoveGroupMethodInfo-instance (signature ~ (T.Text -> m ()), MonadIO m) => O.MethodInfo KeyFileRemoveGroupMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileRemoveGroup--#endif---- method KeyFile::remove_key--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key name to remove", 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_key_file_remove_key" g_key_file_remove_key :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Removes /@key@/ in /@groupName@/ from the key file.--/Since: 2.6/--}-keyFileRemoveKey ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key name to remove -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileRemoveKey keyFile groupName key = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    onException (do-        _ <- propagateGError $ g_key_file_remove_key keyFile' groupName' key'-        touchManagedPtr keyFile-        freeMem groupName'-        freeMem key'-        return ()-     ) (do-        freeMem groupName'-        freeMem key'-     )--#if ENABLE_OVERLOADING-data KeyFileRemoveKeyMethodInfo-instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m) => O.MethodInfo KeyFileRemoveKeyMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileRemoveKey--#endif---- method KeyFile::save_to_file--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "filename", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name of the file to write to", 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_key_file_save_to_file" g_key_file_save_to_file :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- filename : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Writes the contents of /@keyFile@/ to /@filename@/ using-'GI.GLib.Functions.fileSetContents'.--This function can fail for any of the reasons that-'GI.GLib.Functions.fileSetContents' may fail.--/Since: 2.40/--}-keyFileSaveToFile ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@filename@/: the name of the file to write to -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileSaveToFile keyFile filename = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    filename' <- textToCString filename-    onException (do-        _ <- propagateGError $ g_key_file_save_to_file keyFile' filename'-        touchManagedPtr keyFile-        freeMem filename'-        return ()-     ) (do-        freeMem filename'-     )--#if ENABLE_OVERLOADING-data KeyFileSaveToFileMethodInfo-instance (signature ~ (T.Text -> m ()), MonadIO m) => O.MethodInfo KeyFileSaveToFileMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileSaveToFile--#endif---- method KeyFile::set_boolean--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE or %FALSE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_key_file_set_boolean" g_key_file_set_boolean :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    CInt ->                                 -- value : TBasicType TBoolean-    IO ()--{- |-Associates a new boolean value with /@key@/ under /@groupName@/.-If /@key@/ cannot be found then it is created.--/Since: 2.6/--}-keyFileSetBoolean ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> Bool-    {- ^ /@value@/: 'True' or 'False' -}-    -> m ()-keyFileSetBoolean keyFile groupName key value = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    let value' = (fromIntegral . fromEnum) value-    g_key_file_set_boolean keyFile' groupName' key' value'-    touchManagedPtr keyFile-    freeMem groupName'-    freeMem key'-    return ()--#if ENABLE_OVERLOADING-data KeyFileSetBooleanMethodInfo-instance (signature ~ (T.Text -> T.Text -> Bool -> m ()), MonadIO m) => O.MethodInfo KeyFileSetBooleanMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileSetBoolean--#endif---- method KeyFile::set_boolean_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "list", argType = TCArray False (-1) 4 (TBasicType TBoolean), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of boolean values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_key_file_set_boolean_list" g_key_file_set_boolean_list :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    Ptr CInt ->                             -- list : TCArray False (-1) 4 (TBasicType TBoolean)-    Word64 ->                               -- length : TBasicType TUInt64-    IO ()--{- |-Associates a list of boolean values with /@key@/ under /@groupName@/.-If /@key@/ cannot be found then it is created.-If /@groupName@/ is 'Nothing', the start_group is used.--/Since: 2.6/--}-keyFileSetBooleanList ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> [Bool]-    {- ^ /@list@/: an array of boolean values -}-    -> m ()-keyFileSetBooleanList keyFile groupName key list = liftIO $ do-    let length_ = fromIntegral $ length list-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    list' <- (packMapStorableArray (fromIntegral . fromEnum)) list-    g_key_file_set_boolean_list keyFile' groupName' key' list' length_-    touchManagedPtr keyFile-    freeMem groupName'-    freeMem key'-    freeMem list'-    return ()--#if ENABLE_OVERLOADING-data KeyFileSetBooleanListMethodInfo-instance (signature ~ (T.Text -> T.Text -> [Bool] -> m ()), MonadIO m) => O.MethodInfo KeyFileSetBooleanListMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileSetBooleanList--#endif---- method KeyFile::set_comment--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a group name, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "comment", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a comment", 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_key_file_set_comment" g_key_file_set_comment :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    CString ->                              -- comment : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Places a comment above /@key@/ from /@groupName@/.--If /@key@/ is 'Nothing' then /@comment@/ will be written above /@groupName@/.-If both /@key@/ and /@groupName@/  are 'Nothing', then /@comment@/ will be-written above the first group in the file.--Note that this function prepends a \'#\' comment marker to-each line of /@comment@/.--/Since: 2.6/--}-keyFileSetComment ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> Maybe (T.Text)-    {- ^ /@groupName@/: a group name, or 'Nothing' -}-    -> Maybe (T.Text)-    {- ^ /@key@/: a key -}-    -> T.Text-    {- ^ /@comment@/: a comment -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileSetComment keyFile groupName key comment = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    maybeGroupName <- case groupName of-        Nothing -> return nullPtr-        Just jGroupName -> do-            jGroupName' <- textToCString jGroupName-            return jGroupName'-    maybeKey <- case key of-        Nothing -> return nullPtr-        Just jKey -> do-            jKey' <- textToCString jKey-            return jKey'-    comment' <- textToCString comment-    onException (do-        _ <- propagateGError $ g_key_file_set_comment keyFile' maybeGroupName maybeKey comment'-        touchManagedPtr keyFile-        freeMem maybeGroupName-        freeMem maybeKey-        freeMem comment'-        return ()-     ) (do-        freeMem maybeGroupName-        freeMem maybeKey-        freeMem comment'-     )--#if ENABLE_OVERLOADING-data KeyFileSetCommentMethodInfo-instance (signature ~ (Maybe (T.Text) -> Maybe (T.Text) -> T.Text -> m ()), MonadIO m) => O.MethodInfo KeyFileSetCommentMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileSetComment--#endif---- method KeyFile::set_double--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an double value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_key_file_set_double" g_key_file_set_double :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    CDouble ->                              -- value : TBasicType TDouble-    IO ()--{- |-Associates a new double value with /@key@/ under /@groupName@/.-If /@key@/ cannot be found then it is created.--/Since: 2.12/--}-keyFileSetDouble ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> Double-    {- ^ /@value@/: an double value -}-    -> m ()-keyFileSetDouble keyFile groupName key value = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    let value' = realToFrac value-    g_key_file_set_double keyFile' groupName' key' value'-    touchManagedPtr keyFile-    freeMem groupName'-    freeMem key'-    return ()--#if ENABLE_OVERLOADING-data KeyFileSetDoubleMethodInfo-instance (signature ~ (T.Text -> T.Text -> Double -> m ()), MonadIO m) => O.MethodInfo KeyFileSetDoubleMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileSetDouble--#endif---- method KeyFile::set_double_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "list", argType = TCArray False (-1) 4 (TBasicType TDouble), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of double values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of double values in @list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of double values in @list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_key_file_set_double_list" g_key_file_set_double_list :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    Ptr CDouble ->                          -- list : TCArray False (-1) 4 (TBasicType TDouble)-    Word64 ->                               -- length : TBasicType TUInt64-    IO ()--{- |-Associates a list of double values with /@key@/ under-/@groupName@/.  If /@key@/ cannot be found then it is created.--/Since: 2.12/--}-keyFileSetDoubleList ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> [Double]-    {- ^ /@list@/: an array of double values -}-    -> m ()-keyFileSetDoubleList keyFile groupName key list = liftIO $ do-    let length_ = fromIntegral $ length list-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    list' <- (packMapStorableArray realToFrac) list-    g_key_file_set_double_list keyFile' groupName' key' list' length_-    touchManagedPtr keyFile-    freeMem groupName'-    freeMem key'-    freeMem list'-    return ()--#if ENABLE_OVERLOADING-data KeyFileSetDoubleListMethodInfo-instance (signature ~ (T.Text -> T.Text -> [Double] -> m ()), MonadIO m) => O.MethodInfo KeyFileSetDoubleListMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileSetDoubleList--#endif---- method KeyFile::set_int64--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an integer value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_key_file_set_int64" g_key_file_set_int64 :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    Int64 ->                                -- value : TBasicType TInt64-    IO ()--{- |-Associates a new integer value with /@key@/ under /@groupName@/.-If /@key@/ cannot be found then it is created.--/Since: 2.26/--}-keyFileSetInt64 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> Int64-    {- ^ /@value@/: an integer value -}-    -> m ()-keyFileSetInt64 keyFile groupName key value = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    g_key_file_set_int64 keyFile' groupName' key' value-    touchManagedPtr keyFile-    freeMem groupName'-    freeMem key'-    return ()--#if ENABLE_OVERLOADING-data KeyFileSetInt64MethodInfo-instance (signature ~ (T.Text -> T.Text -> Int64 -> m ()), MonadIO m) => O.MethodInfo KeyFileSetInt64MethodInfo KeyFile signature where-    overloadedMethod _ = keyFileSetInt64--#endif---- method KeyFile::set_integer--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an integer value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_key_file_set_integer" g_key_file_set_integer :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    Int32 ->                                -- value : TBasicType TInt-    IO ()--{- |-Associates a new integer value with /@key@/ under /@groupName@/.-If /@key@/ cannot be found then it is created.--/Since: 2.6/--}-keyFileSetInteger ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> Int32-    {- ^ /@value@/: an integer value -}-    -> m ()-keyFileSetInteger keyFile groupName key value = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    g_key_file_set_integer keyFile' groupName' key' value-    touchManagedPtr keyFile-    freeMem groupName'-    freeMem key'-    return ()--#if ENABLE_OVERLOADING-data KeyFileSetIntegerMethodInfo-instance (signature ~ (T.Text -> T.Text -> Int32 -> m ()), MonadIO m) => O.MethodInfo KeyFileSetIntegerMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileSetInteger--#endif---- method KeyFile::set_integer_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "list", argType = TCArray False (-1) 4 (TBasicType TInt), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of integer values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of integer values in @list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of integer values in @list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_key_file_set_integer_list" g_key_file_set_integer_list :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    Ptr Int32 ->                            -- list : TCArray False (-1) 4 (TBasicType TInt)-    Word64 ->                               -- length : TBasicType TUInt64-    IO ()--{- |-Associates a list of integer values with /@key@/ under /@groupName@/.-If /@key@/ cannot be found then it is created.--/Since: 2.6/--}-keyFileSetIntegerList ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> [Int32]-    {- ^ /@list@/: an array of integer values -}-    -> m ()-keyFileSetIntegerList keyFile groupName key list = liftIO $ do-    let length_ = fromIntegral $ length list-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    list' <- packStorableArray list-    g_key_file_set_integer_list keyFile' groupName' key' list' length_-    touchManagedPtr keyFile-    freeMem groupName'-    freeMem key'-    freeMem list'-    return ()--#if ENABLE_OVERLOADING-data KeyFileSetIntegerListMethodInfo-instance (signature ~ (T.Text -> T.Text -> [Int32] -> m ()), MonadIO m) => O.MethodInfo KeyFileSetIntegerListMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileSetIntegerList--#endif---- method KeyFile::set_list_separator--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "separator", argType = TBasicType TInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the separator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_key_file_set_list_separator" g_key_file_set_list_separator :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    Int8 ->                                 -- separator : TBasicType TInt8-    IO ()--{- |-Sets the character which is used to separate-values in lists. Typically \';\' or \',\' are used-as separators. The default list separator is \';\'.--/Since: 2.6/--}-keyFileSetListSeparator ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> Int8-    {- ^ /@separator@/: the separator -}-    -> m ()-keyFileSetListSeparator keyFile separator = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    g_key_file_set_list_separator keyFile' separator-    touchManagedPtr keyFile-    return ()--#if ENABLE_OVERLOADING-data KeyFileSetListSeparatorMethodInfo-instance (signature ~ (Int8 -> m ()), MonadIO m) => O.MethodInfo KeyFileSetListSeparatorMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileSetListSeparator--#endif---- method KeyFile::set_locale_string--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "locale", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a locale identifier", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_key_file_set_locale_string" g_key_file_set_locale_string :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    CString ->                              -- locale : TBasicType TUTF8-    CString ->                              -- string : TBasicType TUTF8-    IO ()--{- |-Associates a string value for /@key@/ and /@locale@/ under /@groupName@/.-If the translation for /@key@/ cannot be found then it is created.--/Since: 2.6/--}-keyFileSetLocaleString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> T.Text-    {- ^ /@locale@/: a locale identifier -}-    -> T.Text-    {- ^ /@string@/: a string -}-    -> m ()-keyFileSetLocaleString keyFile groupName key locale string = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    locale' <- textToCString locale-    string' <- textToCString string-    g_key_file_set_locale_string keyFile' groupName' key' locale' string'-    touchManagedPtr keyFile-    freeMem groupName'-    freeMem key'-    freeMem locale'-    freeMem string'-    return ()--#if ENABLE_OVERLOADING-data KeyFileSetLocaleStringMethodInfo-instance (signature ~ (T.Text -> T.Text -> T.Text -> T.Text -> m ()), MonadIO m) => O.MethodInfo KeyFileSetLocaleStringMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileSetLocaleString--#endif---- method KeyFile::set_locale_string_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "locale", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a locale identifier", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "list", argType = TCArray True (-1) 5 (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a %NULL-terminated array of locale string values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_key_file_set_locale_string_list" g_key_file_set_locale_string_list :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    CString ->                              -- locale : TBasicType TUTF8-    Ptr CString ->                          -- list : TCArray True (-1) 5 (TBasicType TUTF8)-    Word64 ->                               -- length : TBasicType TUInt64-    IO ()--{- |-Associates a list of string values for /@key@/ and /@locale@/ under-/@groupName@/.  If the translation for /@key@/ cannot be found then-it is created.--/Since: 2.6/--}-keyFileSetLocaleStringList ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> T.Text-    {- ^ /@locale@/: a locale identifier -}-    -> [T.Text]-    {- ^ /@list@/: a 'Nothing'-terminated array of locale string values -}-    -> Word64-    {- ^ /@length@/: the length of /@list@/ -}-    -> m ()-keyFileSetLocaleStringList keyFile groupName key locale list length_ = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    locale' <- textToCString locale-    list' <- packZeroTerminatedUTF8CArray list-    g_key_file_set_locale_string_list keyFile' groupName' key' locale' list' length_-    touchManagedPtr keyFile-    freeMem groupName'-    freeMem key'-    freeMem locale'-    mapZeroTerminatedCArray freeMem list'-    freeMem list'-    return ()--#if ENABLE_OVERLOADING-data KeyFileSetLocaleStringListMethodInfo-instance (signature ~ (T.Text -> T.Text -> T.Text -> [T.Text] -> Word64 -> m ()), MonadIO m) => O.MethodInfo KeyFileSetLocaleStringListMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileSetLocaleStringList--#endif---- method KeyFile::set_string--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_key_file_set_string" g_key_file_set_string :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    CString ->                              -- string : TBasicType TUTF8-    IO ()--{- |-Associates a new string value with /@key@/ under /@groupName@/.-If /@key@/ cannot be found then it is created.-If /@groupName@/ cannot be found then it is created.-Unlike 'GI.GLib.Structs.KeyFile.keyFileSetValue', this function handles characters-that need escaping, such as newlines.--/Since: 2.6/--}-keyFileSetString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> T.Text-    {- ^ /@string@/: a string -}-    -> m ()-keyFileSetString keyFile groupName key string = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    string' <- textToCString string-    g_key_file_set_string keyFile' groupName' key' string'-    touchManagedPtr keyFile-    freeMem groupName'-    freeMem key'-    freeMem string'-    return ()--#if ENABLE_OVERLOADING-data KeyFileSetStringMethodInfo-instance (signature ~ (T.Text -> T.Text -> T.Text -> m ()), MonadIO m) => O.MethodInfo KeyFileSetStringMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileSetString--#endif---- method KeyFile::set_string_list--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "list", argType = TCArray True (-1) 4 (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of string values", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of string values in @list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_key_file_set_string_list" g_key_file_set_string_list :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    Ptr CString ->                          -- list : TCArray True (-1) 4 (TBasicType TUTF8)-    Word64 ->                               -- length : TBasicType TUInt64-    IO ()--{- |-Associates a list of string values for /@key@/ under /@groupName@/.-If /@key@/ cannot be found then it is created.-If /@groupName@/ cannot be found then it is created.--/Since: 2.6/--}-keyFileSetStringList ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> [T.Text]-    {- ^ /@list@/: an array of string values -}-    -> Word64-    {- ^ /@length@/: number of string values in /@list@/ -}-    -> m ()-keyFileSetStringList keyFile groupName key list length_ = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    list' <- packZeroTerminatedUTF8CArray list-    g_key_file_set_string_list keyFile' groupName' key' list' length_-    touchManagedPtr keyFile-    freeMem groupName'-    freeMem key'-    mapZeroTerminatedCArray freeMem list'-    freeMem list'-    return ()--#if ENABLE_OVERLOADING-data KeyFileSetStringListMethodInfo-instance (signature ~ (T.Text -> T.Text -> [T.Text] -> Word64 -> m ()), MonadIO m) => O.MethodInfo KeyFileSetStringListMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileSetStringList--#endif---- method KeyFile::set_uint64--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an integer value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_key_file_set_uint64" g_key_file_set_uint64 :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    Word64 ->                               -- value : TBasicType TUInt64-    IO ()--{- |-Associates a new integer value with /@key@/ under /@groupName@/.-If /@key@/ cannot be found then it is created.--/Since: 2.26/--}-keyFileSetUint64 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> Word64-    {- ^ /@value@/: an integer value -}-    -> m ()-keyFileSetUint64 keyFile groupName key value = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    g_key_file_set_uint64 keyFile' groupName' key' value-    touchManagedPtr keyFile-    freeMem groupName'-    freeMem key'-    return ()--#if ENABLE_OVERLOADING-data KeyFileSetUint64MethodInfo-instance (signature ~ (T.Text -> T.Text -> Word64 -> m ()), MonadIO m) => O.MethodInfo KeyFileSetUint64MethodInfo KeyFile signature where-    overloadedMethod _ = keyFileSetUint64--#endif---- method KeyFile::set_value--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a group name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_key_file_set_value" g_key_file_set_value :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    CString ->                              -- group_name : TBasicType TUTF8-    CString ->                              -- key : TBasicType TUTF8-    CString ->                              -- value : TBasicType TUTF8-    IO ()--{- |-Associates a new value with /@key@/ under /@groupName@/.--If /@key@/ cannot be found then it is created. If /@groupName@/ cannot-be found then it is created. To set an UTF-8 string which may contain-characters that need escaping (such as newlines or spaces), use-'GI.GLib.Structs.KeyFile.keyFileSetString'.--/Since: 2.6/--}-keyFileSetValue ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> T.Text-    {- ^ /@groupName@/: a group name -}-    -> T.Text-    {- ^ /@key@/: a key -}-    -> T.Text-    {- ^ /@value@/: a string -}-    -> m ()-keyFileSetValue keyFile groupName key value = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    groupName' <- textToCString groupName-    key' <- textToCString key-    value' <- textToCString value-    g_key_file_set_value keyFile' groupName' key' value'-    touchManagedPtr keyFile-    freeMem groupName'-    freeMem key'-    freeMem value'-    return ()--#if ENABLE_OVERLOADING-data KeyFileSetValueMethodInfo-instance (signature ~ (T.Text -> T.Text -> T.Text -> m ()), MonadIO m) => O.MethodInfo KeyFileSetValueMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileSetValue--#endif---- method KeyFile::to_data--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the length of the\n  returned string, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TUTF8)--- throws : True--- Skip return : False--foreign import ccall "g_key_file_to_data" g_key_file_to_data :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    Ptr Word64 ->                           -- length : TBasicType TUInt64-    Ptr (Ptr GError) ->                     -- error-    IO CString--{- |-This function outputs /@keyFile@/ as a string.--Note that this function never reports an error,-so it is safe to pass 'Nothing' as /@error@/.--/Since: 2.6/--}-keyFileToData ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> m ((T.Text, Word64))-    {- ^ __Returns:__ a newly allocated string holding-  the contents of the 'GI.GLib.Structs.KeyFile.KeyFile' /(Can throw 'Data.GI.Base.GError.GError')/ -}-keyFileToData keyFile = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    length_ <- allocMem :: IO (Ptr Word64)-    onException (do-        result <- propagateGError $ g_key_file_to_data keyFile' length_-        checkUnexpectedReturnNULL "keyFileToData" result-        result' <- cstringToText result-        freeMem result-        length_' <- peek length_-        touchManagedPtr keyFile-        freeMem length_-        return (result', length_')-     ) (do-        freeMem length_-     )--#if ENABLE_OVERLOADING-data KeyFileToDataMethodInfo-instance (signature ~ (m ((T.Text, Word64))), MonadIO m) => O.MethodInfo KeyFileToDataMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileToData--#endif---- method KeyFile::unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "key_file", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GKeyFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_key_file_unref" g_key_file_unref :: -    Ptr KeyFile ->                          -- key_file : TInterface (Name {namespace = "GLib", name = "KeyFile"})-    IO ()--{- |-Decreases the reference count of /@keyFile@/ by 1. If the reference count-reaches zero, frees the key file and all its allocated memory.--/Since: 2.32/--}-keyFileUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    KeyFile-    {- ^ /@keyFile@/: a 'GI.GLib.Structs.KeyFile.KeyFile' -}-    -> m ()-keyFileUnref keyFile = liftIO $ do-    keyFile' <- unsafeManagedPtrGetPtr keyFile-    g_key_file_unref keyFile'-    touchManagedPtr keyFile-    return ()--#if ENABLE_OVERLOADING-data KeyFileUnrefMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo KeyFileUnrefMethodInfo KeyFile signature where-    overloadedMethod _ = keyFileUnref--#endif---- method KeyFile::error_quark--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "g_key_file_error_quark" g_key_file_error_quark :: -    IO Word32--{- |-/No description available in the introspection data./--}-keyFileErrorQuark ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Word32-keyFileErrorQuark  = liftIO $ do-    result <- g_key_file_error_quark-    return result--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveKeyFileMethod (t :: Symbol) (o :: *) :: * where-    ResolveKeyFileMethod "hasGroup" o = KeyFileHasGroupMethodInfo-    ResolveKeyFileMethod "loadFromBytes" o = KeyFileLoadFromBytesMethodInfo-    ResolveKeyFileMethod "loadFromData" o = KeyFileLoadFromDataMethodInfo-    ResolveKeyFileMethod "loadFromDataDirs" o = KeyFileLoadFromDataDirsMethodInfo-    ResolveKeyFileMethod "loadFromDirs" o = KeyFileLoadFromDirsMethodInfo-    ResolveKeyFileMethod "loadFromFile" o = KeyFileLoadFromFileMethodInfo-    ResolveKeyFileMethod "removeComment" o = KeyFileRemoveCommentMethodInfo-    ResolveKeyFileMethod "removeGroup" o = KeyFileRemoveGroupMethodInfo-    ResolveKeyFileMethod "removeKey" o = KeyFileRemoveKeyMethodInfo-    ResolveKeyFileMethod "saveToFile" o = KeyFileSaveToFileMethodInfo-    ResolveKeyFileMethod "toData" o = KeyFileToDataMethodInfo-    ResolveKeyFileMethod "unref" o = KeyFileUnrefMethodInfo-    ResolveKeyFileMethod "getBoolean" o = KeyFileGetBooleanMethodInfo-    ResolveKeyFileMethod "getBooleanList" o = KeyFileGetBooleanListMethodInfo-    ResolveKeyFileMethod "getComment" o = KeyFileGetCommentMethodInfo-    ResolveKeyFileMethod "getDouble" o = KeyFileGetDoubleMethodInfo-    ResolveKeyFileMethod "getDoubleList" o = KeyFileGetDoubleListMethodInfo-    ResolveKeyFileMethod "getGroups" o = KeyFileGetGroupsMethodInfo-    ResolveKeyFileMethod "getInt64" o = KeyFileGetInt64MethodInfo-    ResolveKeyFileMethod "getInteger" o = KeyFileGetIntegerMethodInfo-    ResolveKeyFileMethod "getIntegerList" o = KeyFileGetIntegerListMethodInfo-    ResolveKeyFileMethod "getKeys" o = KeyFileGetKeysMethodInfo-    ResolveKeyFileMethod "getLocaleForKey" o = KeyFileGetLocaleForKeyMethodInfo-    ResolveKeyFileMethod "getLocaleString" o = KeyFileGetLocaleStringMethodInfo-    ResolveKeyFileMethod "getLocaleStringList" o = KeyFileGetLocaleStringListMethodInfo-    ResolveKeyFileMethod "getStartGroup" o = KeyFileGetStartGroupMethodInfo-    ResolveKeyFileMethod "getString" o = KeyFileGetStringMethodInfo-    ResolveKeyFileMethod "getStringList" o = KeyFileGetStringListMethodInfo-    ResolveKeyFileMethod "getUint64" o = KeyFileGetUint64MethodInfo-    ResolveKeyFileMethod "getValue" o = KeyFileGetValueMethodInfo-    ResolveKeyFileMethod "setBoolean" o = KeyFileSetBooleanMethodInfo-    ResolveKeyFileMethod "setBooleanList" o = KeyFileSetBooleanListMethodInfo-    ResolveKeyFileMethod "setComment" o = KeyFileSetCommentMethodInfo-    ResolveKeyFileMethod "setDouble" o = KeyFileSetDoubleMethodInfo-    ResolveKeyFileMethod "setDoubleList" o = KeyFileSetDoubleListMethodInfo-    ResolveKeyFileMethod "setInt64" o = KeyFileSetInt64MethodInfo-    ResolveKeyFileMethod "setInteger" o = KeyFileSetIntegerMethodInfo-    ResolveKeyFileMethod "setIntegerList" o = KeyFileSetIntegerListMethodInfo-    ResolveKeyFileMethod "setListSeparator" o = KeyFileSetListSeparatorMethodInfo-    ResolveKeyFileMethod "setLocaleString" o = KeyFileSetLocaleStringMethodInfo-    ResolveKeyFileMethod "setLocaleStringList" o = KeyFileSetLocaleStringListMethodInfo-    ResolveKeyFileMethod "setString" o = KeyFileSetStringMethodInfo-    ResolveKeyFileMethod "setStringList" o = KeyFileSetStringListMethodInfo-    ResolveKeyFileMethod "setUint64" o = KeyFileSetUint64MethodInfo-    ResolveKeyFileMethod "setValue" o = KeyFileSetValueMethodInfo-    ResolveKeyFileMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveKeyFileMethod t KeyFile, O.MethodInfo info KeyFile p) => OL.IsLabel t (KeyFile -> 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/GLib/Structs/KeyFile.hs-boot
@@ -1,161 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.KeyFile 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 KeyFile = KeyFile (ManagedPtr KeyFile)-instance BoxedObject KeyFile where-#if ENABLE_OVERLOADING-data KeyFileGetBooleanMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileGetBooleanListMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileGetCommentMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileGetDoubleMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileGetDoubleListMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileGetGroupsMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileGetInt64MethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileGetIntegerMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileGetIntegerListMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileGetKeysMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileGetLocaleForKeyMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileGetLocaleStringMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileGetLocaleStringListMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileGetStartGroupMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileGetStringMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileGetStringListMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileGetUint64MethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileGetValueMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileHasGroupMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileLoadFromBytesMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileLoadFromDataMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileLoadFromDataDirsMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileLoadFromDirsMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileLoadFromFileMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileRemoveCommentMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileRemoveGroupMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileRemoveKeyMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileSaveToFileMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileSetBooleanMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileSetBooleanListMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileSetCommentMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileSetDoubleMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileSetDoubleListMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileSetInt64MethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileSetIntegerMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileSetIntegerListMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileSetListSeparatorMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileSetLocaleStringMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileSetLocaleStringListMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileSetStringMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileSetStringListMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileSetUint64MethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileSetValueMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileToDataMethodInfo-#endif-#if ENABLE_OVERLOADING-data KeyFileUnrefMethodInfo-#endif
− GI/GLib/Structs/LogField.hs
@@ -1,293 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Structure representing a single field in a structured log entry. See-@/g_log_structured()/@ for details.--Log fields may contain arbitrary values, including binary with embedded nul-bytes. If the field contains a string, the string must be UTF-8 encoded and-have a trailing nul byte. Otherwise, /@length@/ must be set to a non-negative-value.--/Since: 2.50/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.LogField-    ( ---- * Exported types-    LogField(..)                            ,-    newZeroLogField                         ,-    noLogField                              ,--- -- * Properties--- ** key #attr:key#-{- | field name (UTF-8 string)--}-    clearLogFieldKey                        ,-    getLogFieldKey                          ,-#if ENABLE_OVERLOADING-    logField_key                            ,-#endif-    setLogFieldKey                          ,----- ** length #attr:length#-{- | length of /@value@/, in bytes, or -1 if it is nul-terminated--}-    getLogFieldLength                       ,-#if ENABLE_OVERLOADING-    logField_length                         ,-#endif-    setLogFieldLength                       ,----- ** value #attr:value#-{- | field value (arbitrary bytes)--}-    clearLogFieldValue                      ,-    getLogFieldValue                        ,-#if ENABLE_OVERLOADING-    logField_value                          ,-#endif-    setLogFieldValue                        ,-----    ) 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 LogField = LogField (ManagedPtr LogField)-instance WrappedPtr LogField where-    wrappedPtrCalloc = callocBytes 24-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 24 >=> wrapPtr LogField)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `LogField` struct initialized to zero.-newZeroLogField :: MonadIO m => m LogField-newZeroLogField = liftIO $ wrappedPtrCalloc >>= wrapPtr LogField--instance tag ~ 'AttrSet => Constructible LogField tag where-    new _ attrs = do-        o <- newZeroLogField-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `LogField`.-noLogField :: Maybe LogField-noLogField = Nothing--{- |-Get the value of the “@key@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' logField #key-@--}-getLogFieldKey :: MonadIO m => LogField -> m (Maybe T.Text)-getLogFieldKey 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 “@key@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' logField [ #key 'Data.GI.Base.Attributes.:=' value ]-@--}-setLogFieldKey :: MonadIO m => LogField -> CString -> m ()-setLogFieldKey s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: CString)--{- |-Set the value of the “@key@” 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' #key-@--}-clearLogFieldKey :: MonadIO m => LogField -> m ()-clearLogFieldKey s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data LogFieldKeyFieldInfo-instance AttrInfo LogFieldKeyFieldInfo where-    type AttrAllowedOps LogFieldKeyFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint LogFieldKeyFieldInfo = (~) CString-    type AttrBaseTypeConstraint LogFieldKeyFieldInfo = (~) LogField-    type AttrGetType LogFieldKeyFieldInfo = Maybe T.Text-    type AttrLabel LogFieldKeyFieldInfo = "key"-    type AttrOrigin LogFieldKeyFieldInfo = LogField-    attrGet _ = getLogFieldKey-    attrSet _ = setLogFieldKey-    attrConstruct = undefined-    attrClear _ = clearLogFieldKey--logField_key :: AttrLabelProxy "key"-logField_key = AttrLabelProxy--#endif---{- |-Get the value of the “@value@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' logField #value-@--}-getLogFieldValue :: MonadIO m => LogField -> m (Ptr ())-getLogFieldValue s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr ())-    return val--{- |-Set the value of the “@value@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' logField [ #value 'Data.GI.Base.Attributes.:=' value ]-@--}-setLogFieldValue :: MonadIO m => LogField -> Ptr () -> m ()-setLogFieldValue s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Ptr ())--{- |-Set the value of the “@value@” 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' #value-@--}-clearLogFieldValue :: MonadIO m => LogField -> m ()-clearLogFieldValue s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr ())--#if ENABLE_OVERLOADING-data LogFieldValueFieldInfo-instance AttrInfo LogFieldValueFieldInfo where-    type AttrAllowedOps LogFieldValueFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint LogFieldValueFieldInfo = (~) (Ptr ())-    type AttrBaseTypeConstraint LogFieldValueFieldInfo = (~) LogField-    type AttrGetType LogFieldValueFieldInfo = Ptr ()-    type AttrLabel LogFieldValueFieldInfo = "value"-    type AttrOrigin LogFieldValueFieldInfo = LogField-    attrGet _ = getLogFieldValue-    attrSet _ = setLogFieldValue-    attrConstruct = undefined-    attrClear _ = clearLogFieldValue--logField_value :: AttrLabelProxy "value"-logField_value = AttrLabelProxy--#endif---{- |-Get the value of the “@length@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' logField #length-@--}-getLogFieldLength :: MonadIO m => LogField -> m Int64-getLogFieldLength s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO Int64-    return val--{- |-Set the value of the “@length@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' logField [ #length 'Data.GI.Base.Attributes.:=' value ]-@--}-setLogFieldLength :: MonadIO m => LogField -> Int64 -> m ()-setLogFieldLength s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: Int64)--#if ENABLE_OVERLOADING-data LogFieldLengthFieldInfo-instance AttrInfo LogFieldLengthFieldInfo where-    type AttrAllowedOps LogFieldLengthFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint LogFieldLengthFieldInfo = (~) Int64-    type AttrBaseTypeConstraint LogFieldLengthFieldInfo = (~) LogField-    type AttrGetType LogFieldLengthFieldInfo = Int64-    type AttrLabel LogFieldLengthFieldInfo = "length"-    type AttrOrigin LogFieldLengthFieldInfo = LogField-    attrGet _ = getLogFieldLength-    attrSet _ = setLogFieldLength-    attrConstruct = undefined-    attrClear _ = undefined--logField_length :: AttrLabelProxy "length"-logField_length = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList LogField-type instance O.AttributeList LogField = LogFieldAttributeList-type LogFieldAttributeList = ('[ '("key", LogFieldKeyFieldInfo), '("value", LogFieldValueFieldInfo), '("length", LogFieldLengthFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveLogFieldMethod (t :: Symbol) (o :: *) :: * where-    ResolveLogFieldMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveLogFieldMethod t LogField, O.MethodInfo info LogField p) => OL.IsLabel t (LogField -> 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/GLib/Structs/LogField.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.LogField 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 LogField = LogField (ManagedPtr LogField)-instance WrappedPtr LogField where
− GI/GLib/Structs/MainContext.hs
@@ -1,1390 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The @GMainContext@ struct is an opaque data-type representing a set of sources to be handled in a main loop.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.MainContext-    ( ---- * Exported types-    MainContext(..)                         ,-    noMainContext                           ,--- -- * Methods--- ** acquire #method:acquire#--#if ENABLE_OVERLOADING-    MainContextAcquireMethodInfo            ,-#endif-    mainContextAcquire                      ,----- ** addPoll #method:addPoll#--#if ENABLE_OVERLOADING-    MainContextAddPollMethodInfo            ,-#endif-    mainContextAddPoll                      ,----- ** check #method:check#--#if ENABLE_OVERLOADING-    MainContextCheckMethodInfo              ,-#endif-    mainContextCheck                        ,----- ** default #method:default#--    mainContextDefault                      ,----- ** dispatch #method:dispatch#--#if ENABLE_OVERLOADING-    MainContextDispatchMethodInfo           ,-#endif-    mainContextDispatch                     ,----- ** findSourceByFuncsUserData #method:findSourceByFuncsUserData#--#if ENABLE_OVERLOADING-    MainContextFindSourceByFuncsUserDataMethodInfo,-#endif-    mainContextFindSourceByFuncsUserData    ,----- ** findSourceById #method:findSourceById#--#if ENABLE_OVERLOADING-    MainContextFindSourceByIdMethodInfo     ,-#endif-    mainContextFindSourceById               ,----- ** findSourceByUserData #method:findSourceByUserData#--#if ENABLE_OVERLOADING-    MainContextFindSourceByUserDataMethodInfo,-#endif-    mainContextFindSourceByUserData         ,----- ** getThreadDefault #method:getThreadDefault#--    mainContextGetThreadDefault             ,----- ** invokeFull #method:invokeFull#--#if ENABLE_OVERLOADING-    MainContextInvokeFullMethodInfo         ,-#endif-    mainContextInvokeFull                   ,----- ** isOwner #method:isOwner#--#if ENABLE_OVERLOADING-    MainContextIsOwnerMethodInfo            ,-#endif-    mainContextIsOwner                      ,----- ** iteration #method:iteration#--#if ENABLE_OVERLOADING-    MainContextIterationMethodInfo          ,-#endif-    mainContextIteration                    ,----- ** new #method:new#--    mainContextNew                          ,----- ** pending #method:pending#--#if ENABLE_OVERLOADING-    MainContextPendingMethodInfo            ,-#endif-    mainContextPending                      ,----- ** popThreadDefault #method:popThreadDefault#--#if ENABLE_OVERLOADING-    MainContextPopThreadDefaultMethodInfo   ,-#endif-    mainContextPopThreadDefault             ,----- ** prepare #method:prepare#--#if ENABLE_OVERLOADING-    MainContextPrepareMethodInfo            ,-#endif-    mainContextPrepare                      ,----- ** pushThreadDefault #method:pushThreadDefault#--#if ENABLE_OVERLOADING-    MainContextPushThreadDefaultMethodInfo  ,-#endif-    mainContextPushThreadDefault            ,----- ** query #method:query#--#if ENABLE_OVERLOADING-    MainContextQueryMethodInfo              ,-#endif-    mainContextQuery                        ,----- ** ref #method:ref#--#if ENABLE_OVERLOADING-    MainContextRefMethodInfo                ,-#endif-    mainContextRef                          ,----- ** refThreadDefault #method:refThreadDefault#--    mainContextRefThreadDefault             ,----- ** release #method:release#--#if ENABLE_OVERLOADING-    MainContextReleaseMethodInfo            ,-#endif-    mainContextRelease                      ,----- ** removePoll #method:removePoll#--#if ENABLE_OVERLOADING-    MainContextRemovePollMethodInfo         ,-#endif-    mainContextRemovePoll                   ,----- ** unref #method:unref#--#if ENABLE_OVERLOADING-    MainContextUnrefMethodInfo              ,-#endif-    mainContextUnref                        ,----- ** wait #method:wait#--#if ENABLE_OVERLOADING-    MainContextWaitMethodInfo               ,-#endif-    mainContextWait                         ,----- ** wakeup #method:wakeup#--#if ENABLE_OVERLOADING-    MainContextWakeupMethodInfo             ,-#endif-    mainContextWakeup                       ,-----    ) 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 qualified GI.GLib.Callbacks as GLib.Callbacks-import {-# SOURCE #-} qualified GI.GLib.Structs.Cond as GLib.Cond-import {-# SOURCE #-} qualified GI.GLib.Structs.PollFD as GLib.PollFD-import {-# SOURCE #-} qualified GI.GLib.Structs.Source as GLib.Source-import {-# SOURCE #-} qualified GI.GLib.Structs.SourceFuncs as GLib.SourceFuncs-import {-# SOURCE #-} qualified GI.GLib.Unions.Mutex as GLib.Mutex---- | Memory-managed wrapper type.-newtype MainContext = MainContext (ManagedPtr MainContext)-foreign import ccall "g_main_context_get_type" c_g_main_context_get_type :: -    IO GType--instance BoxedObject MainContext where-    boxedType _ = c_g_main_context_get_type---- | A convenience alias for `Nothing` :: `Maybe` `MainContext`.-noMainContext :: Maybe MainContext-noMainContext = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList MainContext-type instance O.AttributeList MainContext = MainContextAttributeList-type MainContextAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method MainContext::new--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "MainContext"}))--- throws : False--- Skip return : False--foreign import ccall "g_main_context_new" g_main_context_new :: -    IO (Ptr MainContext)--{- |-Creates a new 'GI.GLib.Structs.MainContext.MainContext' structure.--}-mainContextNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m MainContext-    {- ^ __Returns:__ the new 'GI.GLib.Structs.MainContext.MainContext' -}-mainContextNew  = liftIO $ do-    result <- g_main_context_new-    checkUnexpectedReturnNULL "mainContextNew" result-    result' <- (wrapBoxed MainContext) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method MainContext::acquire--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainContext", 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_main_context_acquire" g_main_context_acquire :: -    Ptr MainContext ->                      -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})-    IO CInt--{- |-Tries to become the owner of the specified context.-If some other thread is the owner of the context,-returns 'False' immediately. Ownership is properly-recursive: the owner can require ownership again-and will release ownership when 'GI.GLib.Structs.MainContext.mainContextRelease'-is called as many times as 'GI.GLib.Structs.MainContext.mainContextAcquire'.--You must be the owner of a context before you-can call 'GI.GLib.Structs.MainContext.mainContextPrepare', 'GI.GLib.Structs.MainContext.mainContextQuery',-'GI.GLib.Structs.MainContext.mainContextCheck', 'GI.GLib.Structs.MainContext.mainContextDispatch'.--}-mainContextAcquire ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MainContext.MainContext' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the operation succeeded, and-  this thread is now the owner of /@context@/. -}-mainContextAcquire context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    result <- g_main_context_acquire context'-    let result' = (/= 0) result-    touchManagedPtr context-    return result'--#if ENABLE_OVERLOADING-data MainContextAcquireMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo MainContextAcquireMethodInfo MainContext signature where-    overloadedMethod _ = mainContextAcquire--#endif---- method MainContext::add_poll--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainContext (or %NULL for the default context)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fd", argType = TInterface (Name {namespace = "GLib", name = "PollFD"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GPollFD structure holding information about a file\n     descriptor to watch.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the priority for this file descriptor which should be\n     the same as the priority used for g_source_attach() to ensure that the\n     file descriptor is polled whenever the results may be needed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_main_context_add_poll" g_main_context_add_poll :: -    Ptr MainContext ->                      -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})-    Ptr GLib.PollFD.PollFD ->               -- fd : TInterface (Name {namespace = "GLib", name = "PollFD"})-    Int32 ->                                -- priority : TBasicType TInt-    IO ()--{- |-Adds a file descriptor to the set of file descriptors polled for-this context. This will very seldom be used directly. Instead-a typical event source will use 'GI.GLib.Structs.Source.sourceAddUnixFd' instead.--}-mainContextAddPoll ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MainContext.MainContext' (or 'Nothing' for the default context) -}-    -> GLib.PollFD.PollFD-    {- ^ /@fd@/: a 'GI.GLib.Structs.PollFD.PollFD' structure holding information about a file-     descriptor to watch. -}-    -> Int32-    {- ^ /@priority@/: the priority for this file descriptor which should be-     the same as the priority used for 'GI.GLib.Structs.Source.sourceAttach' to ensure that the-     file descriptor is polled whenever the results may be needed. -}-    -> m ()-mainContextAddPoll context fd priority = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    fd' <- unsafeManagedPtrGetPtr fd-    g_main_context_add_poll context' fd' priority-    touchManagedPtr context-    touchManagedPtr fd-    return ()--#if ENABLE_OVERLOADING-data MainContextAddPollMethodInfo-instance (signature ~ (GLib.PollFD.PollFD -> Int32 -> m ()), MonadIO m) => O.MethodInfo MainContextAddPollMethodInfo MainContext signature where-    overloadedMethod _ = mainContextAddPoll--#endif---- method MainContext::check--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum numerical priority of sources to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fds", argType = TCArray False (-1) 3 (TInterface (Name {namespace = "GLib", name = "PollFD"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "array of #GPollFD's that was passed to\n      the last call to g_main_context_query()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_fds", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return value of g_main_context_query()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "n_fds", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return value of g_main_context_query()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "g_main_context_check" g_main_context_check :: -    Ptr MainContext ->                      -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})-    Int32 ->                                -- max_priority : TBasicType TInt-    Ptr GLib.PollFD.PollFD ->               -- fds : TCArray False (-1) 3 (TInterface (Name {namespace = "GLib", name = "PollFD"}))-    Int32 ->                                -- n_fds : TBasicType TInt-    IO CInt--{- |-Passes the results of polling back to the main loop.--You must have successfully acquired the context with-'GI.GLib.Structs.MainContext.mainContextAcquire' before you may call this function.--}-mainContextCheck ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MainContext.MainContext' -}-    -> Int32-    {- ^ /@maxPriority@/: the maximum numerical priority of sources to check -}-    -> [GLib.PollFD.PollFD]-    {- ^ /@fds@/: array of 'GI.GLib.Structs.PollFD.PollFD'\'s that was passed to-      the last call to 'GI.GLib.Structs.MainContext.mainContextQuery' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if some sources are ready to be dispatched. -}-mainContextCheck context maxPriority fds = liftIO $ do-    let nFds = fromIntegral $ length fds-    context' <- unsafeManagedPtrGetPtr context-    fds' <- mapM unsafeManagedPtrGetPtr fds-    fds'' <- packBlockArray 8 fds'-    result <- g_main_context_check context' maxPriority fds'' nFds-    let result' = (/= 0) result-    touchManagedPtr context-    mapM_ touchManagedPtr fds-    freeMem fds''-    return result'--#if ENABLE_OVERLOADING-data MainContextCheckMethodInfo-instance (signature ~ (Int32 -> [GLib.PollFD.PollFD] -> m Bool), MonadIO m) => O.MethodInfo MainContextCheckMethodInfo MainContext signature where-    overloadedMethod _ = mainContextCheck--#endif---- method MainContext::dispatch--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_main_context_dispatch" g_main_context_dispatch :: -    Ptr MainContext ->                      -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})-    IO ()--{- |-Dispatches all pending sources.--You must have successfully acquired the context with-'GI.GLib.Structs.MainContext.mainContextAcquire' before you may call this function.--}-mainContextDispatch ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MainContext.MainContext' -}-    -> m ()-mainContextDispatch context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    g_main_context_dispatch context'-    touchManagedPtr context-    return ()--#if ENABLE_OVERLOADING-data MainContextDispatchMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo MainContextDispatchMethodInfo MainContext signature where-    overloadedMethod _ = mainContextDispatch--#endif---- method MainContext::find_source_by_funcs_user_data--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainContext (if %NULL, the default context will be used).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "funcs", argType = TInterface (Name {namespace = "GLib", name = "SourceFuncs"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the @source_funcs passed to g_source_new().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the user data from the callback.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Source"}))--- throws : False--- Skip return : False--foreign import ccall "g_main_context_find_source_by_funcs_user_data" g_main_context_find_source_by_funcs_user_data :: -    Ptr MainContext ->                      -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})-    Ptr GLib.SourceFuncs.SourceFuncs ->     -- funcs : TInterface (Name {namespace = "GLib", name = "SourceFuncs"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO (Ptr GLib.Source.Source)--{- |-Finds a source with the given source functions and user data.  If-multiple sources exist with the same source function and user data,-the first one found will be returned.--}-mainContextFindSourceByFuncsUserData ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MainContext.MainContext' (if 'Nothing', the default context will be used). -}-    -> GLib.SourceFuncs.SourceFuncs-    {- ^ /@funcs@/: the /@sourceFuncs@/ passed to 'GI.GLib.Structs.Source.sourceNew'. -}-    -> Ptr ()-    {- ^ /@userData@/: the user data from the callback. -}-    -> m GLib.Source.Source-    {- ^ __Returns:__ the source, if one was found, otherwise 'Nothing' -}-mainContextFindSourceByFuncsUserData context funcs userData = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    funcs' <- unsafeManagedPtrGetPtr funcs-    result <- g_main_context_find_source_by_funcs_user_data context' funcs' userData-    checkUnexpectedReturnNULL "mainContextFindSourceByFuncsUserData" result-    result' <- (newBoxed GLib.Source.Source) result-    touchManagedPtr context-    touchManagedPtr funcs-    return result'--#if ENABLE_OVERLOADING-data MainContextFindSourceByFuncsUserDataMethodInfo-instance (signature ~ (GLib.SourceFuncs.SourceFuncs -> Ptr () -> m GLib.Source.Source), MonadIO m) => O.MethodInfo MainContextFindSourceByFuncsUserDataMethodInfo MainContext signature where-    overloadedMethod _ = mainContextFindSourceByFuncsUserData--#endif---- method MainContext::find_source_by_id--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainContext (if %NULL, the default context will be used)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "source_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source ID, as returned by g_source_get_id().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Source"}))--- throws : False--- Skip return : False--foreign import ccall "g_main_context_find_source_by_id" g_main_context_find_source_by_id :: -    Ptr MainContext ->                      -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})-    Word32 ->                               -- source_id : TBasicType TUInt-    IO (Ptr GLib.Source.Source)--{- |-Finds a 'GI.GLib.Structs.Source.Source' given a pair of context and ID.--It is a programmer error to attempt to lookup a non-existent source.--More specifically: source IDs can be reissued after a source has been-destroyed and therefore it is never valid to use this function with a-source ID which may have already been removed.  An example is when-scheduling an idle to run in another thread with @/g_idle_add()/@: the-idle may already have run and been removed by the time this function-is called on its (now invalid) source ID.  This source ID may have-been reissued, leading to the operation being performed against the-wrong source.--}-mainContextFindSourceById ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MainContext.MainContext' (if 'Nothing', the default context will be used) -}-    -> Word32-    {- ^ /@sourceId@/: the source ID, as returned by 'GI.GLib.Structs.Source.sourceGetId'. -}-    -> m GLib.Source.Source-    {- ^ __Returns:__ the 'GI.GLib.Structs.Source.Source' -}-mainContextFindSourceById context sourceId = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    result <- g_main_context_find_source_by_id context' sourceId-    checkUnexpectedReturnNULL "mainContextFindSourceById" result-    result' <- (newBoxed GLib.Source.Source) result-    touchManagedPtr context-    return result'--#if ENABLE_OVERLOADING-data MainContextFindSourceByIdMethodInfo-instance (signature ~ (Word32 -> m GLib.Source.Source), MonadIO m) => O.MethodInfo MainContextFindSourceByIdMethodInfo MainContext signature where-    overloadedMethod _ = mainContextFindSourceById--#endif---- method MainContext::find_source_by_user_data--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the user_data for the callback.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Source"}))--- throws : False--- Skip return : False--foreign import ccall "g_main_context_find_source_by_user_data" g_main_context_find_source_by_user_data :: -    Ptr MainContext ->                      -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO (Ptr GLib.Source.Source)--{- |-Finds a source with the given user data for the callback.  If-multiple sources exist with the same user data, the first-one found will be returned.--}-mainContextFindSourceByUserData ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MainContext.MainContext' -}-    -> Ptr ()-    {- ^ /@userData@/: the user_data for the callback. -}-    -> m GLib.Source.Source-    {- ^ __Returns:__ the source, if one was found, otherwise 'Nothing' -}-mainContextFindSourceByUserData context userData = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    result <- g_main_context_find_source_by_user_data context' userData-    checkUnexpectedReturnNULL "mainContextFindSourceByUserData" result-    result' <- (newBoxed GLib.Source.Source) result-    touchManagedPtr context-    return result'--#if ENABLE_OVERLOADING-data MainContextFindSourceByUserDataMethodInfo-instance (signature ~ (Ptr () -> m GLib.Source.Source), MonadIO m) => O.MethodInfo MainContextFindSourceByUserDataMethodInfo MainContext signature where-    overloadedMethod _ = mainContextFindSourceByUserData--#endif---- method MainContext::invoke_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainContext, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the priority at which to run @function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "function", argType = TInterface (Name {namespace = "GLib", name = "SourceFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "function to call", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 4, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to pass to @function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a function to call when @data is no longer in use, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_main_context_invoke_full" g_main_context_invoke_full :: -    Ptr MainContext ->                      -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})-    Int32 ->                                -- priority : TBasicType TInt-    FunPtr GLib.Callbacks.C_SourceFunc ->   -- function : TInterface (Name {namespace = "GLib", name = "SourceFunc"})-    Ptr () ->                               -- data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-Invokes a function in such a way that /@context@/ is owned during the-invocation of /@function@/.--This function is the same as @/g_main_context_invoke()/@ except that it-lets you specify the priority in case /@function@/ ends up being-scheduled as an idle and also lets you give a 'GI.GLib.Callbacks.DestroyNotify' for /@data@/.--/@notify@/ should not assume that it is called from any particular-thread or with any particular context acquired.--/Since: 2.28/--}-mainContextInvokeFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MainContext.MainContext', or 'Nothing' -}-    -> Int32-    {- ^ /@priority@/: the priority at which to run /@function@/ -}-    -> GLib.Callbacks.SourceFunc-    {- ^ /@function@/: function to call -}-    -> m ()-mainContextInvokeFull context priority function = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    function' <- GLib.Callbacks.mk_SourceFunc (GLib.Callbacks.wrap_SourceFunc Nothing (GLib.Callbacks.drop_closures_SourceFunc function))-    let data_ = castFunPtrToPtr function'-    let notify = safeFreeFunPtrPtr-    g_main_context_invoke_full context' priority function' data_ notify-    touchManagedPtr context-    return ()--#if ENABLE_OVERLOADING-data MainContextInvokeFullMethodInfo-instance (signature ~ (Int32 -> GLib.Callbacks.SourceFunc -> m ()), MonadIO m) => O.MethodInfo MainContextInvokeFullMethodInfo MainContext signature where-    overloadedMethod _ = mainContextInvokeFull--#endif---- method MainContext::is_owner--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainContext", 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_main_context_is_owner" g_main_context_is_owner :: -    Ptr MainContext ->                      -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})-    IO CInt--{- |-Determines whether this thread holds the (recursive)-ownership of this 'GI.GLib.Structs.MainContext.MainContext'. This is useful to-know before waiting on another thread that may be-blocking to get ownership of /@context@/.--/Since: 2.10/--}-mainContextIsOwner ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MainContext.MainContext' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if current thread is owner of /@context@/. -}-mainContextIsOwner context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    result <- g_main_context_is_owner context'-    let result' = (/= 0) result-    touchManagedPtr context-    return result'--#if ENABLE_OVERLOADING-data MainContextIsOwnerMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo MainContextIsOwnerMethodInfo MainContext signature where-    overloadedMethod _ = mainContextIsOwner--#endif---- method MainContext::iteration--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainContext (if %NULL, the default context will be used)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "may_block", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the call may block.", 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_main_context_iteration" g_main_context_iteration :: -    Ptr MainContext ->                      -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})-    CInt ->                                 -- may_block : TBasicType TBoolean-    IO CInt--{- |-Runs a single iteration for the given main loop. This involves-checking to see if any event sources are ready to be processed,-then if no events sources are ready and /@mayBlock@/ is 'True', waiting-for a source to become ready, then dispatching the highest priority-events sources that are ready. Otherwise, if /@mayBlock@/ is 'False'-sources are not waited to become ready, only those highest priority-events sources will be dispatched (if any), that are ready at this-given moment without further waiting.--Note that even when /@mayBlock@/ is 'True', it is still possible for-'GI.GLib.Structs.MainContext.mainContextIteration' to return 'False', since the wait may-be interrupted for other reasons than an event source becoming ready.--}-mainContextIteration ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MainContext.MainContext' (if 'Nothing', the default context will be used) -}-    -> Bool-    {- ^ /@mayBlock@/: whether the call may block. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if events were dispatched. -}-mainContextIteration context mayBlock = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    let mayBlock' = (fromIntegral . fromEnum) mayBlock-    result <- g_main_context_iteration context' mayBlock'-    let result' = (/= 0) result-    touchManagedPtr context-    return result'--#if ENABLE_OVERLOADING-data MainContextIterationMethodInfo-instance (signature ~ (Bool -> m Bool), MonadIO m) => O.MethodInfo MainContextIterationMethodInfo MainContext signature where-    overloadedMethod _ = mainContextIteration--#endif---- method MainContext::pending--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainContext (if %NULL, the default context will be used)", 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_main_context_pending" g_main_context_pending :: -    Ptr MainContext ->                      -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})-    IO CInt--{- |-Checks if any sources have pending events for the given context.--}-mainContextPending ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MainContext.MainContext' (if 'Nothing', the default context will be used) -}-    -> m Bool-    {- ^ __Returns:__ 'True' if events are pending. -}-mainContextPending context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    result <- g_main_context_pending context'-    let result' = (/= 0) result-    touchManagedPtr context-    return result'--#if ENABLE_OVERLOADING-data MainContextPendingMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo MainContextPendingMethodInfo MainContext signature where-    overloadedMethod _ = mainContextPending--#endif---- method MainContext::pop_thread_default--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainContext object, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_main_context_pop_thread_default" g_main_context_pop_thread_default :: -    Ptr MainContext ->                      -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})-    IO ()--{- |-Pops /@context@/ off the thread-default context stack (verifying that-it was on the top of the stack).--/Since: 2.22/--}-mainContextPopThreadDefault ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MainContext.MainContext' object, or 'Nothing' -}-    -> m ()-mainContextPopThreadDefault context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    g_main_context_pop_thread_default context'-    touchManagedPtr context-    return ()--#if ENABLE_OVERLOADING-data MainContextPopThreadDefaultMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo MainContextPopThreadDefaultMethodInfo MainContext signature where-    overloadedMethod _ = mainContextPopThreadDefault--#endif---- method MainContext::prepare--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store priority of highest priority\n           source already ready.", 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_main_context_prepare" g_main_context_prepare :: -    Ptr MainContext ->                      -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})-    Int32 ->                                -- priority : TBasicType TInt-    IO CInt--{- |-Prepares to poll sources within a main loop. The resulting information-for polling is determined by calling g_main_context_query ().--You must have successfully acquired the context with-'GI.GLib.Structs.MainContext.mainContextAcquire' before you may call this function.--}-mainContextPrepare ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MainContext.MainContext' -}-    -> Int32-    {- ^ /@priority@/: location to store priority of highest priority-           source already ready. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if some source is ready to be dispatched-              prior to polling. -}-mainContextPrepare context priority = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    result <- g_main_context_prepare context' priority-    let result' = (/= 0) result-    touchManagedPtr context-    return result'--#if ENABLE_OVERLOADING-data MainContextPrepareMethodInfo-instance (signature ~ (Int32 -> m Bool), MonadIO m) => O.MethodInfo MainContextPrepareMethodInfo MainContext signature where-    overloadedMethod _ = mainContextPrepare--#endif---- method MainContext::push_thread_default--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainContext, or %NULL for the global default context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_main_context_push_thread_default" g_main_context_push_thread_default :: -    Ptr MainContext ->                      -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})-    IO ()--{- |-Acquires /@context@/ and sets it as the thread-default context for the-current thread. This will cause certain asynchronous operations-(such as most [gio][gio]-based I\/O) which are-started in this thread to run under /@context@/ and deliver their-results to its main loop, rather than running under the global-default context in the main thread. Note that calling this function-changes the context returned by 'GI.GLib.Functions.mainContextGetThreadDefault',-not the one returned by 'GI.GLib.Functions.mainContextDefault', so it does not affect-the context used by functions like @/g_idle_add()/@.--Normally you would call this function shortly after creating a new-thread, passing it a 'GI.GLib.Structs.MainContext.MainContext' which will be run by a-'GI.GLib.Structs.MainLoop.MainLoop' in that thread, to set a new default context for all-async operations in that thread. In this case you may not need to-ever call 'GI.GLib.Structs.MainContext.mainContextPopThreadDefault', assuming you want the-new 'GI.GLib.Structs.MainContext.MainContext' to be the default for the whole lifecycle of the-thread.--If you don\'t have control over how the new thread was created (e.g.-in the new thread isn\'t newly created, or if the thread life-cycle is managed by a 'GI.GLib.Structs.ThreadPool.ThreadPool'), it is always suggested to wrap-the logic that needs to use the new 'GI.GLib.Structs.MainContext.MainContext' inside a-'GI.GLib.Structs.MainContext.mainContextPushThreadDefault' \/ 'GI.GLib.Structs.MainContext.mainContextPopThreadDefault'-pair, otherwise threads that are re-used will end up never explicitly-releasing the 'GI.GLib.Structs.MainContext.MainContext' reference they hold.--In some cases you may want to schedule a single operation in a-non-default context, or temporarily use a non-default context in-the main thread. In that case, you can wrap the call to the-asynchronous operation inside a-'GI.GLib.Structs.MainContext.mainContextPushThreadDefault' \/-'GI.GLib.Structs.MainContext.mainContextPopThreadDefault' pair, but it is up to you to-ensure that no other asynchronous operations accidentally get-started while the non-default context is active.--Beware that libraries that predate this function may not correctly-handle being used from a thread with a thread-default context. Eg,-see @/g_file_supports_thread_contexts()/@.--/Since: 2.22/--}-mainContextPushThreadDefault ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MainContext.MainContext', or 'Nothing' for the global default context -}-    -> m ()-mainContextPushThreadDefault context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    g_main_context_push_thread_default context'-    touchManagedPtr context-    return ()--#if ENABLE_OVERLOADING-data MainContextPushThreadDefaultMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo MainContextPushThreadDefaultMethodInfo MainContext signature where-    overloadedMethod _ = mainContextPushThreadDefault--#endif---- method MainContext::query--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "maximum priority source to check", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timeout_", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store timeout to be used in polling", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "fds", argType = TCArray False (-1) 4 (TInterface (Name {namespace = "GLib", name = "PollFD"})), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to\n      store #GPollFD records that need to be polled.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "n_fds", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @fds.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "n_fds", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @fds.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "g_main_context_query" g_main_context_query :: -    Ptr MainContext ->                      -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})-    Int32 ->                                -- max_priority : TBasicType TInt-    Ptr Int32 ->                            -- timeout_ : TBasicType TInt-    Ptr GLib.PollFD.PollFD ->               -- fds : TCArray False (-1) 4 (TInterface (Name {namespace = "GLib", name = "PollFD"}))-    Int32 ->                                -- n_fds : TBasicType TInt-    IO Int32--{- |-Determines information necessary to poll this main loop.--You must have successfully acquired the context with-'GI.GLib.Structs.MainContext.mainContextAcquire' before you may call this function.--}-mainContextQuery ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MainContext.MainContext' -}-    -> Int32-    {- ^ /@maxPriority@/: maximum priority source to check -}-    -> [GLib.PollFD.PollFD]-    {- ^ /@fds@/: location to-      store 'GI.GLib.Structs.PollFD.PollFD' records that need to be polled. -}-    -> m ((Int32, Int32, [GLib.PollFD.PollFD]))-    {- ^ __Returns:__ the number of records actually stored in /@fds@/,-  or, if more than /@nFds@/ records need to be stored, the number-  of records that need to be stored. -}-mainContextQuery context maxPriority fds = liftIO $ do-    let nFds = fromIntegral $ length fds-    context' <- unsafeManagedPtrGetPtr context-    timeout_ <- allocMem :: IO (Ptr Int32)-    fds' <- mapM unsafeManagedPtrGetPtr fds-    fds'' <- packBlockArray 8 fds'-    result <- g_main_context_query context' maxPriority timeout_ fds'' nFds-    timeout_' <- peek timeout_-    fds''' <- (unpackBoxedArrayWithLength 8 nFds) fds''-    fds'''' <- mapM (newBoxed GLib.PollFD.PollFD) fds'''-    touchManagedPtr context-    mapM_ touchManagedPtr fds-    freeMem timeout_-    return (result, timeout_', fds'''')--#if ENABLE_OVERLOADING-data MainContextQueryMethodInfo-instance (signature ~ (Int32 -> [GLib.PollFD.PollFD] -> m ((Int32, Int32, [GLib.PollFD.PollFD]))), MonadIO m) => O.MethodInfo MainContextQueryMethodInfo MainContext signature where-    overloadedMethod _ = mainContextQuery--#endif---- method MainContext::ref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "MainContext"}))--- throws : False--- Skip return : False--foreign import ccall "g_main_context_ref" g_main_context_ref :: -    Ptr MainContext ->                      -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})-    IO (Ptr MainContext)--{- |-Increases the reference count on a 'GI.GLib.Structs.MainContext.MainContext' object by one.--}-mainContextRef ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MainContext.MainContext' -}-    -> m MainContext-    {- ^ __Returns:__ the /@context@/ that was passed in (since 2.6) -}-mainContextRef context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    result <- g_main_context_ref context'-    checkUnexpectedReturnNULL "mainContextRef" result-    result' <- (wrapBoxed MainContext) result-    touchManagedPtr context-    return result'--#if ENABLE_OVERLOADING-data MainContextRefMethodInfo-instance (signature ~ (m MainContext), MonadIO m) => O.MethodInfo MainContextRefMethodInfo MainContext signature where-    overloadedMethod _ = mainContextRef--#endif---- method MainContext::release--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_main_context_release" g_main_context_release :: -    Ptr MainContext ->                      -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})-    IO ()--{- |-Releases ownership of a context previously acquired by this thread-with 'GI.GLib.Structs.MainContext.mainContextAcquire'. If the context was acquired multiple-times, the ownership will be released only when 'GI.GLib.Structs.MainContext.mainContextRelease'-is called as many times as it was acquired.--}-mainContextRelease ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MainContext.MainContext' -}-    -> m ()-mainContextRelease context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    g_main_context_release context'-    touchManagedPtr context-    return ()--#if ENABLE_OVERLOADING-data MainContextReleaseMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo MainContextReleaseMethodInfo MainContext signature where-    overloadedMethod _ = mainContextRelease--#endif---- method MainContext::remove_poll--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fd", argType = TInterface (Name {namespace = "GLib", name = "PollFD"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GPollFD descriptor previously added with g_main_context_add_poll()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_main_context_remove_poll" g_main_context_remove_poll :: -    Ptr MainContext ->                      -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})-    Ptr GLib.PollFD.PollFD ->               -- fd : TInterface (Name {namespace = "GLib", name = "PollFD"})-    IO ()--{- |-Removes file descriptor from the set of file descriptors to be-polled for a particular context.--}-mainContextRemovePoll ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MainContext.MainContext' -}-    -> GLib.PollFD.PollFD-    {- ^ /@fd@/: a 'GI.GLib.Structs.PollFD.PollFD' descriptor previously added with 'GI.GLib.Structs.MainContext.mainContextAddPoll' -}-    -> m ()-mainContextRemovePoll context fd = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    fd' <- unsafeManagedPtrGetPtr fd-    g_main_context_remove_poll context' fd'-    touchManagedPtr context-    touchManagedPtr fd-    return ()--#if ENABLE_OVERLOADING-data MainContextRemovePollMethodInfo-instance (signature ~ (GLib.PollFD.PollFD -> m ()), MonadIO m) => O.MethodInfo MainContextRemovePollMethodInfo MainContext signature where-    overloadedMethod _ = mainContextRemovePoll--#endif---- method MainContext::unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_main_context_unref" g_main_context_unref :: -    Ptr MainContext ->                      -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})-    IO ()--{- |-Decreases the reference count on a 'GI.GLib.Structs.MainContext.MainContext' object by one. If-the result is zero, free the context and free all associated memory.--}-mainContextUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MainContext.MainContext' -}-    -> m ()-mainContextUnref context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    g_main_context_unref context'-    touchManagedPtr context-    return ()--#if ENABLE_OVERLOADING-data MainContextUnrefMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo MainContextUnrefMethodInfo MainContext signature where-    overloadedMethod _ = mainContextUnref--#endif---- method MainContext::wait--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cond", argType = TInterface (Name {namespace = "GLib", name = "Cond"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a condition variable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mutex", argType = TInterface (Name {namespace = "GLib", name = "Mutex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a mutex, currently held", 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_main_context_wait" g_main_context_wait :: -    Ptr MainContext ->                      -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})-    Ptr GLib.Cond.Cond ->                   -- cond : TInterface (Name {namespace = "GLib", name = "Cond"})-    Ptr GLib.Mutex.Mutex ->                 -- mutex : TInterface (Name {namespace = "GLib", name = "Mutex"})-    IO CInt--{-# DEPRECATED mainContextWait ["(Since version 2.58)","Use 'GI.GLib.Structs.MainContext.mainContextIsOwner' and separate locking instead."] #-}-{- |-Tries to become the owner of the specified context,-as with 'GI.GLib.Structs.MainContext.mainContextAcquire'. But if another thread-is the owner, atomically drop /@mutex@/ and wait on /@cond@/ until-that owner releases ownership or until /@cond@/ is signaled, then-try again (once) to become the owner.--}-mainContextWait ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MainContext.MainContext' -}-    -> GLib.Cond.Cond-    {- ^ /@cond@/: a condition variable -}-    -> GLib.Mutex.Mutex-    {- ^ /@mutex@/: a mutex, currently held -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the operation succeeded, and-  this thread is now the owner of /@context@/. -}-mainContextWait context cond mutex = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    cond' <- unsafeManagedPtrGetPtr cond-    mutex' <- unsafeManagedPtrGetPtr mutex-    result <- g_main_context_wait context' cond' mutex'-    let result' = (/= 0) result-    touchManagedPtr context-    touchManagedPtr cond-    touchManagedPtr mutex-    return result'--#if ENABLE_OVERLOADING-data MainContextWaitMethodInfo-instance (signature ~ (GLib.Cond.Cond -> GLib.Mutex.Mutex -> m Bool), MonadIO m) => O.MethodInfo MainContextWaitMethodInfo MainContext signature where-    overloadedMethod _ = mainContextWait--#endif---- method MainContext::wakeup--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_main_context_wakeup" g_main_context_wakeup :: -    Ptr MainContext ->                      -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})-    IO ()--{- |-If /@context@/ is currently blocking in 'GI.GLib.Structs.MainContext.mainContextIteration'-waiting for a source to become ready, cause it to stop blocking-and return.  Otherwise, cause the next invocation of-'GI.GLib.Structs.MainContext.mainContextIteration' to return without blocking.--This API is useful for low-level control over 'GI.GLib.Structs.MainContext.MainContext'; for-example, integrating it with main loop implementations such as-'GI.GLib.Structs.MainLoop.MainLoop'.--Another related use for this function is when implementing a main-loop with a termination condition, computed from multiple threads:---=== /C code/->->  #define NUM_TASKS 10->  static volatile gint tasks_remaining = NUM_TASKS;->  ...-> ->  while (g_atomic_int_get (&tasks_remaining) != 0)->    g_main_context_iteration (NULL, TRUE);-- -Then in a thread:--=== /C code/->->  perform_work();->->  if (g_atomic_int_dec_and_test (&tasks_remaining))->    g_main_context_wakeup (NULL);--}-mainContextWakeup ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MainContext.MainContext' -}-    -> m ()-mainContextWakeup context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    g_main_context_wakeup context'-    touchManagedPtr context-    return ()--#if ENABLE_OVERLOADING-data MainContextWakeupMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo MainContextWakeupMethodInfo MainContext signature where-    overloadedMethod _ = mainContextWakeup--#endif---- method MainContext::default--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "MainContext"}))--- throws : False--- Skip return : False--foreign import ccall "g_main_context_default" g_main_context_default :: -    IO (Ptr MainContext)--{- |-Returns the global default main context. This is the main context-used for main loop functions when a main loop is not explicitly-specified, and corresponds to the \"main\" main loop. See also-'GI.GLib.Functions.mainContextGetThreadDefault'.--}-mainContextDefault ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m MainContext-    {- ^ __Returns:__ the global default main context. -}-mainContextDefault  = liftIO $ do-    result <- g_main_context_default-    checkUnexpectedReturnNULL "mainContextDefault" result-    result' <- (newBoxed MainContext) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method MainContext::get_thread_default--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "MainContext"}))--- throws : False--- Skip return : False--foreign import ccall "g_main_context_get_thread_default" g_main_context_get_thread_default :: -    IO (Ptr MainContext)--{- |-Gets the thread-default 'GI.GLib.Structs.MainContext.MainContext' for this thread. Asynchronous-operations that want to be able to be run in contexts other than-the default one should call this method or-'GI.GLib.Functions.mainContextRefThreadDefault' to get a 'GI.GLib.Structs.MainContext.MainContext' to add-their @/GSources/@ to. (Note that even in single-threaded-programs applications may sometimes want to temporarily push a-non-default context, so it is not safe to assume that this will-always return 'Nothing' if you are running in the default thread.)--If you need to hold a reference on the context, use-'GI.GLib.Functions.mainContextRefThreadDefault' instead.--/Since: 2.22/--}-mainContextGetThreadDefault ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m MainContext-    {- ^ __Returns:__ the thread-default 'GI.GLib.Structs.MainContext.MainContext', or-'Nothing' if the thread-default context is the global default context. -}-mainContextGetThreadDefault  = liftIO $ do-    result <- g_main_context_get_thread_default-    checkUnexpectedReturnNULL "mainContextGetThreadDefault" result-    result' <- (newBoxed MainContext) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method MainContext::ref_thread_default--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "MainContext"}))--- throws : False--- Skip return : False--foreign import ccall "g_main_context_ref_thread_default" g_main_context_ref_thread_default :: -    IO (Ptr MainContext)--{- |-Gets the thread-default 'GI.GLib.Structs.MainContext.MainContext' for this thread, as with-'GI.GLib.Functions.mainContextGetThreadDefault', but also adds a reference to-it with 'GI.GLib.Structs.MainContext.mainContextRef'. In addition, unlike-'GI.GLib.Functions.mainContextGetThreadDefault', if the thread-default context-is the global default context, this will return that 'GI.GLib.Structs.MainContext.MainContext'-(with a ref added to it) rather than returning 'Nothing'.--/Since: 2.32/--}-mainContextRefThreadDefault ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m MainContext-    {- ^ __Returns:__ the thread-default 'GI.GLib.Structs.MainContext.MainContext'. Unref-    with 'GI.GLib.Structs.MainContext.mainContextUnref' when you are done with it. -}-mainContextRefThreadDefault  = liftIO $ do-    result <- g_main_context_ref_thread_default-    checkUnexpectedReturnNULL "mainContextRefThreadDefault" result-    result' <- (wrapBoxed MainContext) result-    return result'--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveMainContextMethod (t :: Symbol) (o :: *) :: * where-    ResolveMainContextMethod "acquire" o = MainContextAcquireMethodInfo-    ResolveMainContextMethod "addPoll" o = MainContextAddPollMethodInfo-    ResolveMainContextMethod "check" o = MainContextCheckMethodInfo-    ResolveMainContextMethod "dispatch" o = MainContextDispatchMethodInfo-    ResolveMainContextMethod "findSourceByFuncsUserData" o = MainContextFindSourceByFuncsUserDataMethodInfo-    ResolveMainContextMethod "findSourceById" o = MainContextFindSourceByIdMethodInfo-    ResolveMainContextMethod "findSourceByUserData" o = MainContextFindSourceByUserDataMethodInfo-    ResolveMainContextMethod "invokeFull" o = MainContextInvokeFullMethodInfo-    ResolveMainContextMethod "isOwner" o = MainContextIsOwnerMethodInfo-    ResolveMainContextMethod "iteration" o = MainContextIterationMethodInfo-    ResolveMainContextMethod "pending" o = MainContextPendingMethodInfo-    ResolveMainContextMethod "popThreadDefault" o = MainContextPopThreadDefaultMethodInfo-    ResolveMainContextMethod "prepare" o = MainContextPrepareMethodInfo-    ResolveMainContextMethod "pushThreadDefault" o = MainContextPushThreadDefaultMethodInfo-    ResolveMainContextMethod "query" o = MainContextQueryMethodInfo-    ResolveMainContextMethod "ref" o = MainContextRefMethodInfo-    ResolveMainContextMethod "release" o = MainContextReleaseMethodInfo-    ResolveMainContextMethod "removePoll" o = MainContextRemovePollMethodInfo-    ResolveMainContextMethod "unref" o = MainContextUnrefMethodInfo-    ResolveMainContextMethod "wait" o = MainContextWaitMethodInfo-    ResolveMainContextMethod "wakeup" o = MainContextWakeupMethodInfo-    ResolveMainContextMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveMainContextMethod t MainContext, O.MethodInfo info MainContext p) => OL.IsLabel t (MainContext -> 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/GLib/Structs/MainContext.hs-boot
@@ -1,89 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.MainContext 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 MainContext = MainContext (ManagedPtr MainContext)-instance BoxedObject MainContext where-#if ENABLE_OVERLOADING-data MainContextAcquireMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainContextAddPollMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainContextCheckMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainContextDispatchMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainContextFindSourceByFuncsUserDataMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainContextFindSourceByIdMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainContextFindSourceByUserDataMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainContextInvokeFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainContextIsOwnerMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainContextIterationMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainContextPendingMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainContextPopThreadDefaultMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainContextPrepareMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainContextPushThreadDefaultMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainContextQueryMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainContextRefMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainContextReleaseMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainContextRemovePollMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainContextUnrefMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainContextWaitMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainContextWakeupMethodInfo-#endif
− GI/GLib/Structs/MainLoop.hs
@@ -1,397 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The @GMainLoop@ struct is an opaque data type-representing the main event loop of a GLib or GTK+ application.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.MainLoop-    ( ---- * Exported types-    MainLoop(..)                            ,-    noMainLoop                              ,--- -- * Methods--- ** getContext #method:getContext#--#if ENABLE_OVERLOADING-    MainLoopGetContextMethodInfo            ,-#endif-    mainLoopGetContext                      ,----- ** isRunning #method:isRunning#--#if ENABLE_OVERLOADING-    MainLoopIsRunningMethodInfo             ,-#endif-    mainLoopIsRunning                       ,----- ** new #method:new#--    mainLoopNew                             ,----- ** quit #method:quit#--#if ENABLE_OVERLOADING-    MainLoopQuitMethodInfo                  ,-#endif-    mainLoopQuit                            ,----- ** ref #method:ref#--#if ENABLE_OVERLOADING-    MainLoopRefMethodInfo                   ,-#endif-    mainLoopRef                             ,----- ** run #method:run#--#if ENABLE_OVERLOADING-    MainLoopRunMethodInfo                   ,-#endif-    mainLoopRun                             ,----- ** unref #method:unref#--#if ENABLE_OVERLOADING-    MainLoopUnrefMethodInfo                 ,-#endif-    mainLoopUnref                           ,-----    ) 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.GLib.Structs.MainContext as GLib.MainContext---- | Memory-managed wrapper type.-newtype MainLoop = MainLoop (ManagedPtr MainLoop)-foreign import ccall "g_main_loop_get_type" c_g_main_loop_get_type :: -    IO GType--instance BoxedObject MainLoop where-    boxedType _ = c_g_main_loop_get_type---- | A convenience alias for `Nothing` :: `Maybe` `MainLoop`.-noMainLoop :: Maybe MainLoop-noMainLoop = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList MainLoop-type instance O.AttributeList MainLoop = MainLoopAttributeList-type MainLoopAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method MainLoop::new--- method type : Constructor--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GMainContext  (if %NULL, the default context will be used).", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_running", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "set to %TRUE to indicate that the loop is running. This\nis not very important since calling g_main_loop_run() will set this to\n%TRUE anyway.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "MainLoop"}))--- throws : False--- Skip return : False--foreign import ccall "g_main_loop_new" g_main_loop_new :: -    Ptr GLib.MainContext.MainContext ->     -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})-    CInt ->                                 -- is_running : TBasicType TBoolean-    IO (Ptr MainLoop)--{- |-Creates a new 'GI.GLib.Structs.MainLoop.MainLoop' structure.--}-mainLoopNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (GLib.MainContext.MainContext)-    {- ^ /@context@/: a 'GI.GLib.Structs.MainContext.MainContext'  (if 'Nothing', the default context will be used). -}-    -> Bool-    {- ^ /@isRunning@/: set to 'True' to indicate that the loop is running. This-is not very important since calling 'GI.GLib.Structs.MainLoop.mainLoopRun' will set this to-'True' anyway. -}-    -> m MainLoop-    {- ^ __Returns:__ a new 'GI.GLib.Structs.MainLoop.MainLoop'. -}-mainLoopNew context isRunning = liftIO $ do-    maybeContext <- case context of-        Nothing -> return nullPtr-        Just jContext -> do-            jContext' <- unsafeManagedPtrGetPtr jContext-            return jContext'-    let isRunning' = (fromIntegral . fromEnum) isRunning-    result <- g_main_loop_new maybeContext isRunning'-    checkUnexpectedReturnNULL "mainLoopNew" result-    result' <- (wrapBoxed MainLoop) result-    whenJust context touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-#endif---- method MainLoop::get_context--- method type : OrdinaryMethod--- Args : [Arg {argCName = "loop", argType = TInterface (Name {namespace = "GLib", name = "MainLoop"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainLoop.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "MainContext"}))--- throws : False--- Skip return : False--foreign import ccall "g_main_loop_get_context" g_main_loop_get_context :: -    Ptr MainLoop ->                         -- loop : TInterface (Name {namespace = "GLib", name = "MainLoop"})-    IO (Ptr GLib.MainContext.MainContext)--{- |-Returns the 'GI.GLib.Structs.MainContext.MainContext' of /@loop@/.--}-mainLoopGetContext ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainLoop-    {- ^ /@loop@/: a 'GI.GLib.Structs.MainLoop.MainLoop'. -}-    -> m GLib.MainContext.MainContext-    {- ^ __Returns:__ the 'GI.GLib.Structs.MainContext.MainContext' of /@loop@/ -}-mainLoopGetContext loop = liftIO $ do-    loop' <- unsafeManagedPtrGetPtr loop-    result <- g_main_loop_get_context loop'-    checkUnexpectedReturnNULL "mainLoopGetContext" result-    result' <- (newBoxed GLib.MainContext.MainContext) result-    touchManagedPtr loop-    return result'--#if ENABLE_OVERLOADING-data MainLoopGetContextMethodInfo-instance (signature ~ (m GLib.MainContext.MainContext), MonadIO m) => O.MethodInfo MainLoopGetContextMethodInfo MainLoop signature where-    overloadedMethod _ = mainLoopGetContext--#endif---- method MainLoop::is_running--- method type : OrdinaryMethod--- Args : [Arg {argCName = "loop", argType = TInterface (Name {namespace = "GLib", name = "MainLoop"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainLoop.", 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_main_loop_is_running" g_main_loop_is_running :: -    Ptr MainLoop ->                         -- loop : TInterface (Name {namespace = "GLib", name = "MainLoop"})-    IO CInt--{- |-Checks to see if the main loop is currently being run via 'GI.GLib.Structs.MainLoop.mainLoopRun'.--}-mainLoopIsRunning ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainLoop-    {- ^ /@loop@/: a 'GI.GLib.Structs.MainLoop.MainLoop'. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the mainloop is currently being run. -}-mainLoopIsRunning loop = liftIO $ do-    loop' <- unsafeManagedPtrGetPtr loop-    result <- g_main_loop_is_running loop'-    let result' = (/= 0) result-    touchManagedPtr loop-    return result'--#if ENABLE_OVERLOADING-data MainLoopIsRunningMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo MainLoopIsRunningMethodInfo MainLoop signature where-    overloadedMethod _ = mainLoopIsRunning--#endif---- method MainLoop::quit--- method type : OrdinaryMethod--- Args : [Arg {argCName = "loop", argType = TInterface (Name {namespace = "GLib", name = "MainLoop"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainLoop", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_main_loop_quit" g_main_loop_quit :: -    Ptr MainLoop ->                         -- loop : TInterface (Name {namespace = "GLib", name = "MainLoop"})-    IO ()--{- |-Stops a 'GI.GLib.Structs.MainLoop.MainLoop' from running. Any calls to 'GI.GLib.Structs.MainLoop.mainLoopRun'-for the loop will return.--Note that sources that have already been dispatched when-'GI.GLib.Structs.MainLoop.mainLoopQuit' is called will still be executed.--}-mainLoopQuit ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainLoop-    {- ^ /@loop@/: a 'GI.GLib.Structs.MainLoop.MainLoop' -}-    -> m ()-mainLoopQuit loop = liftIO $ do-    loop' <- unsafeManagedPtrGetPtr loop-    g_main_loop_quit loop'-    touchManagedPtr loop-    return ()--#if ENABLE_OVERLOADING-data MainLoopQuitMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo MainLoopQuitMethodInfo MainLoop signature where-    overloadedMethod _ = mainLoopQuit--#endif---- method MainLoop::ref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "loop", argType = TInterface (Name {namespace = "GLib", name = "MainLoop"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainLoop", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "MainLoop"}))--- throws : False--- Skip return : False--foreign import ccall "g_main_loop_ref" g_main_loop_ref :: -    Ptr MainLoop ->                         -- loop : TInterface (Name {namespace = "GLib", name = "MainLoop"})-    IO (Ptr MainLoop)--{- |-Increases the reference count on a 'GI.GLib.Structs.MainLoop.MainLoop' object by one.--}-mainLoopRef ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainLoop-    {- ^ /@loop@/: a 'GI.GLib.Structs.MainLoop.MainLoop' -}-    -> m MainLoop-    {- ^ __Returns:__ /@loop@/ -}-mainLoopRef loop = liftIO $ do-    loop' <- unsafeManagedPtrGetPtr loop-    result <- g_main_loop_ref loop'-    checkUnexpectedReturnNULL "mainLoopRef" result-    result' <- (wrapBoxed MainLoop) result-    touchManagedPtr loop-    return result'--#if ENABLE_OVERLOADING-data MainLoopRefMethodInfo-instance (signature ~ (m MainLoop), MonadIO m) => O.MethodInfo MainLoopRefMethodInfo MainLoop signature where-    overloadedMethod _ = mainLoopRef--#endif---- method MainLoop::run--- method type : OrdinaryMethod--- Args : [Arg {argCName = "loop", argType = TInterface (Name {namespace = "GLib", name = "MainLoop"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainLoop", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_main_loop_run" g_main_loop_run :: -    Ptr MainLoop ->                         -- loop : TInterface (Name {namespace = "GLib", name = "MainLoop"})-    IO ()--{- |-Runs a main loop until 'GI.GLib.Structs.MainLoop.mainLoopQuit' is called on the loop.-If this is called for the thread of the loop\'s 'GI.GLib.Structs.MainContext.MainContext',-it will process events from the loop, otherwise it will-simply wait.--}-mainLoopRun ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainLoop-    {- ^ /@loop@/: a 'GI.GLib.Structs.MainLoop.MainLoop' -}-    -> m ()-mainLoopRun loop = liftIO $ do-    loop' <- unsafeManagedPtrGetPtr loop-    g_main_loop_run loop'-    touchManagedPtr loop-    return ()--#if ENABLE_OVERLOADING-data MainLoopRunMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo MainLoopRunMethodInfo MainLoop signature where-    overloadedMethod _ = mainLoopRun--#endif---- method MainLoop::unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "loop", argType = TInterface (Name {namespace = "GLib", name = "MainLoop"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMainLoop", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_main_loop_unref" g_main_loop_unref :: -    Ptr MainLoop ->                         -- loop : TInterface (Name {namespace = "GLib", name = "MainLoop"})-    IO ()--{- |-Decreases the reference count on a 'GI.GLib.Structs.MainLoop.MainLoop' object by one. If-the result is zero, free the loop and free all associated memory.--}-mainLoopUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MainLoop-    {- ^ /@loop@/: a 'GI.GLib.Structs.MainLoop.MainLoop' -}-    -> m ()-mainLoopUnref loop = liftIO $ do-    loop' <- unsafeManagedPtrGetPtr loop-    g_main_loop_unref loop'-    touchManagedPtr loop-    return ()--#if ENABLE_OVERLOADING-data MainLoopUnrefMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo MainLoopUnrefMethodInfo MainLoop signature where-    overloadedMethod _ = mainLoopUnref--#endif--#if ENABLE_OVERLOADING-type family ResolveMainLoopMethod (t :: Symbol) (o :: *) :: * where-    ResolveMainLoopMethod "isRunning" o = MainLoopIsRunningMethodInfo-    ResolveMainLoopMethod "quit" o = MainLoopQuitMethodInfo-    ResolveMainLoopMethod "ref" o = MainLoopRefMethodInfo-    ResolveMainLoopMethod "run" o = MainLoopRunMethodInfo-    ResolveMainLoopMethod "unref" o = MainLoopUnrefMethodInfo-    ResolveMainLoopMethod "getContext" o = MainLoopGetContextMethodInfo-    ResolveMainLoopMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveMainLoopMethod t MainLoop, O.MethodInfo info MainLoop p) => OL.IsLabel t (MainLoop -> 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/GLib/Structs/MainLoop.hs-boot
@@ -1,44 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.MainLoop 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 MainLoop = MainLoop (ManagedPtr MainLoop)-instance BoxedObject MainLoop where-#if ENABLE_OVERLOADING-data MainLoopGetContextMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainLoopIsRunningMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainLoopQuitMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainLoopRefMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainLoopRunMethodInfo-#endif-#if ENABLE_OVERLOADING-data MainLoopUnrefMethodInfo-#endif
− GI/GLib/Structs/MappedFile.hs
@@ -1,494 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The 'GI.GLib.Structs.MappedFile.MappedFile' represents a file mapping created with-'GI.GLib.Structs.MappedFile.mappedFileNew'. It has only private members and should-not be accessed directly.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.MappedFile-    ( ---- * Exported types-    MappedFile(..)                          ,-    noMappedFile                            ,--- -- * Methods--- ** free #method:free#--#if ENABLE_OVERLOADING-    MappedFileFreeMethodInfo                ,-#endif-    mappedFileFree                          ,----- ** getBytes #method:getBytes#--#if ENABLE_OVERLOADING-    MappedFileGetBytesMethodInfo            ,-#endif-    mappedFileGetBytes                      ,----- ** getContents #method:getContents#--#if ENABLE_OVERLOADING-    MappedFileGetContentsMethodInfo         ,-#endif-    mappedFileGetContents                   ,----- ** getLength #method:getLength#--#if ENABLE_OVERLOADING-    MappedFileGetLengthMethodInfo           ,-#endif-    mappedFileGetLength                     ,----- ** new #method:new#--    mappedFileNew                           ,----- ** newFromFd #method:newFromFd#--    mappedFileNewFromFd                     ,----- ** ref #method:ref#--#if ENABLE_OVERLOADING-    MappedFileRefMethodInfo                 ,-#endif-    mappedFileRef                           ,----- ** unref #method:unref#--#if ENABLE_OVERLOADING-    MappedFileUnrefMethodInfo               ,-#endif-    mappedFileUnref                         ,-----    ) 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.GLib.Structs.Bytes as GLib.Bytes---- | Memory-managed wrapper type.-newtype MappedFile = MappedFile (ManagedPtr MappedFile)-foreign import ccall "g_mapped_file_get_type" c_g_mapped_file_get_type :: -    IO GType--instance BoxedObject MappedFile where-    boxedType _ = c_g_mapped_file_get_type---- | A convenience alias for `Nothing` :: `Maybe` `MappedFile`.-noMappedFile :: Maybe MappedFile-noMappedFile = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList MappedFile-type instance O.AttributeList MappedFile = MappedFileAttributeList-type MappedFileAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method MappedFile::new--- method type : Constructor--- Args : [Arg {argCName = "filename", argType = TBasicType TFileName, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The path of the file to load, in the GLib\n    filename encoding", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "writable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the mapping should be writable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "MappedFile"}))--- throws : True--- Skip return : False--foreign import ccall "g_mapped_file_new" g_mapped_file_new :: -    CString ->                              -- filename : TBasicType TFileName-    CInt ->                                 -- writable : TBasicType TBoolean-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr MappedFile)--{- |-Maps a file into memory. On UNIX, this is using the @/mmap()/@ function.--If /@writable@/ is 'True', the mapped buffer may be modified, otherwise-it is an error to modify the mapped buffer. Modifications to the buffer-are not visible to other processes mapping the same file, and are not-written back to the file.--Note that modifications of the underlying file might affect the contents-of the 'GI.GLib.Structs.MappedFile.MappedFile'. Therefore, mapping should only be used if the file-will not be modified, or if all modifications of the file are done-atomically (e.g. using 'GI.GLib.Functions.fileSetContents').--If /@filename@/ is the name of an empty, regular file, the function-will successfully return an empty 'GI.GLib.Structs.MappedFile.MappedFile'. In other cases of-size 0 (e.g. device files such as \/dev\/null), /@error@/ will be set-to the 'GI.GLib.Enums.FileError' value @/G_FILE_ERROR_INVAL/@.--/Since: 2.8/--}-mappedFileNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [Char]-    {- ^ /@filename@/: The path of the file to load, in the GLib-    filename encoding -}-    -> Bool-    {- ^ /@writable@/: whether the mapping should be writable -}-    -> m MappedFile-    {- ^ __Returns:__ a newly allocated 'GI.GLib.Structs.MappedFile.MappedFile' which must be unref\'d-   with 'GI.GLib.Structs.MappedFile.mappedFileUnref', or 'Nothing' if the mapping failed. /(Can throw 'Data.GI.Base.GError.GError')/ -}-mappedFileNew filename writable = liftIO $ do-    filename' <- stringToCString filename-    let writable' = (fromIntegral . fromEnum) writable-    onException (do-        result <- propagateGError $ g_mapped_file_new filename' writable'-        checkUnexpectedReturnNULL "mappedFileNew" result-        result' <- (wrapBoxed MappedFile) result-        freeMem filename'-        return result'-     ) (do-        freeMem filename'-     )--#if ENABLE_OVERLOADING-#endif---- method MappedFile::new_from_fd--- method type : Constructor--- Args : [Arg {argCName = "fd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The file descriptor of the file to load", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "writable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether the mapping should be writable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "MappedFile"}))--- throws : True--- Skip return : False--foreign import ccall "g_mapped_file_new_from_fd" g_mapped_file_new_from_fd :: -    Int32 ->                                -- fd : TBasicType TInt-    CInt ->                                 -- writable : TBasicType TBoolean-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr MappedFile)--{- |-Maps a file into memory. On UNIX, this is using the @/mmap()/@ function.--If /@writable@/ is 'True', the mapped buffer may be modified, otherwise-it is an error to modify the mapped buffer. Modifications to the buffer-are not visible to other processes mapping the same file, and are not-written back to the file.--Note that modifications of the underlying file might affect the contents-of the 'GI.GLib.Structs.MappedFile.MappedFile'. Therefore, mapping should only be used if the file-will not be modified, or if all modifications of the file are done-atomically (e.g. using 'GI.GLib.Functions.fileSetContents').--/Since: 2.32/--}-mappedFileNewFromFd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@fd@/: The file descriptor of the file to load -}-    -> Bool-    {- ^ /@writable@/: whether the mapping should be writable -}-    -> m MappedFile-    {- ^ __Returns:__ a newly allocated 'GI.GLib.Structs.MappedFile.MappedFile' which must be unref\'d-   with 'GI.GLib.Structs.MappedFile.mappedFileUnref', or 'Nothing' if the mapping failed. /(Can throw 'Data.GI.Base.GError.GError')/ -}-mappedFileNewFromFd fd writable = liftIO $ do-    let writable' = (fromIntegral . fromEnum) writable-    onException (do-        result <- propagateGError $ g_mapped_file_new_from_fd fd writable'-        checkUnexpectedReturnNULL "mappedFileNewFromFd" result-        result' <- (wrapBoxed MappedFile) result-        return result'-     ) (do-        return ()-     )--#if ENABLE_OVERLOADING-#endif---- method MappedFile::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "file", argType = TInterface (Name {namespace = "GLib", name = "MappedFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMappedFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_mapped_file_free" g_mapped_file_free :: -    Ptr MappedFile ->                       -- file : TInterface (Name {namespace = "GLib", name = "MappedFile"})-    IO ()--{-# DEPRECATED mappedFileFree ["(Since version 2.22)","Use 'GI.GLib.Structs.MappedFile.mappedFileUnref' instead."] #-}-{- |-This call existed before 'GI.GLib.Structs.MappedFile.MappedFile' had refcounting and is currently-exactly the same as 'GI.GLib.Structs.MappedFile.mappedFileUnref'.--/Since: 2.8/--}-mappedFileFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MappedFile-    {- ^ /@file@/: a 'GI.GLib.Structs.MappedFile.MappedFile' -}-    -> m ()-mappedFileFree file = liftIO $ do-    file' <- unsafeManagedPtrGetPtr file-    g_mapped_file_free file'-    touchManagedPtr file-    return ()--#if ENABLE_OVERLOADING-data MappedFileFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo MappedFileFreeMethodInfo MappedFile signature where-    overloadedMethod _ = mappedFileFree--#endif---- method MappedFile::get_bytes--- method type : OrdinaryMethod--- Args : [Arg {argCName = "file", argType = TInterface (Name {namespace = "GLib", name = "MappedFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMappedFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Bytes"}))--- throws : False--- Skip return : False--foreign import ccall "g_mapped_file_get_bytes" g_mapped_file_get_bytes :: -    Ptr MappedFile ->                       -- file : TInterface (Name {namespace = "GLib", name = "MappedFile"})-    IO (Ptr GLib.Bytes.Bytes)--{- |-Creates a new 'GI.GLib.Structs.Bytes.Bytes' which references the data mapped from /@file@/.-The mapped contents of the file must not be modified after creating this-bytes object, because a 'GI.GLib.Structs.Bytes.Bytes' should be immutable.--/Since: 2.34/--}-mappedFileGetBytes ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MappedFile-    {- ^ /@file@/: a 'GI.GLib.Structs.MappedFile.MappedFile' -}-    -> m GLib.Bytes.Bytes-    {- ^ __Returns:__ A newly allocated 'GI.GLib.Structs.Bytes.Bytes' referencing data-    from /@file@/ -}-mappedFileGetBytes file = liftIO $ do-    file' <- unsafeManagedPtrGetPtr file-    result <- g_mapped_file_get_bytes file'-    checkUnexpectedReturnNULL "mappedFileGetBytes" result-    result' <- (wrapBoxed GLib.Bytes.Bytes) result-    touchManagedPtr file-    return result'--#if ENABLE_OVERLOADING-data MappedFileGetBytesMethodInfo-instance (signature ~ (m GLib.Bytes.Bytes), MonadIO m) => O.MethodInfo MappedFileGetBytesMethodInfo MappedFile signature where-    overloadedMethod _ = mappedFileGetBytes--#endif---- method MappedFile::get_contents--- method type : OrdinaryMethod--- Args : [Arg {argCName = "file", argType = TInterface (Name {namespace = "GLib", name = "MappedFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMappedFile", 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_mapped_file_get_contents" g_mapped_file_get_contents :: -    Ptr MappedFile ->                       -- file : TInterface (Name {namespace = "GLib", name = "MappedFile"})-    IO CString--{- |-Returns the contents of a 'GI.GLib.Structs.MappedFile.MappedFile'.--Note that the contents may not be zero-terminated,-even if the 'GI.GLib.Structs.MappedFile.MappedFile' is backed by a text file.--If the file is empty then 'Nothing' is returned.--/Since: 2.8/--}-mappedFileGetContents ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MappedFile-    {- ^ /@file@/: a 'GI.GLib.Structs.MappedFile.MappedFile' -}-    -> m T.Text-    {- ^ __Returns:__ the contents of /@file@/, or 'Nothing'. -}-mappedFileGetContents file = liftIO $ do-    file' <- unsafeManagedPtrGetPtr file-    result <- g_mapped_file_get_contents file'-    checkUnexpectedReturnNULL "mappedFileGetContents" result-    result' <- cstringToText result-    freeMem result-    touchManagedPtr file-    return result'--#if ENABLE_OVERLOADING-data MappedFileGetContentsMethodInfo-instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo MappedFileGetContentsMethodInfo MappedFile signature where-    overloadedMethod _ = mappedFileGetContents--#endif---- method MappedFile::get_length--- method type : OrdinaryMethod--- Args : [Arg {argCName = "file", argType = TInterface (Name {namespace = "GLib", name = "MappedFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMappedFile", 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_mapped_file_get_length" g_mapped_file_get_length :: -    Ptr MappedFile ->                       -- file : TInterface (Name {namespace = "GLib", name = "MappedFile"})-    IO Word64--{- |-Returns the length of the contents of a 'GI.GLib.Structs.MappedFile.MappedFile'.--/Since: 2.8/--}-mappedFileGetLength ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MappedFile-    {- ^ /@file@/: a 'GI.GLib.Structs.MappedFile.MappedFile' -}-    -> m Word64-    {- ^ __Returns:__ the length of the contents of /@file@/. -}-mappedFileGetLength file = liftIO $ do-    file' <- unsafeManagedPtrGetPtr file-    result <- g_mapped_file_get_length file'-    touchManagedPtr file-    return result--#if ENABLE_OVERLOADING-data MappedFileGetLengthMethodInfo-instance (signature ~ (m Word64), MonadIO m) => O.MethodInfo MappedFileGetLengthMethodInfo MappedFile signature where-    overloadedMethod _ = mappedFileGetLength--#endif---- method MappedFile::ref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "file", argType = TInterface (Name {namespace = "GLib", name = "MappedFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMappedFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "MappedFile"}))--- throws : False--- Skip return : False--foreign import ccall "g_mapped_file_ref" g_mapped_file_ref :: -    Ptr MappedFile ->                       -- file : TInterface (Name {namespace = "GLib", name = "MappedFile"})-    IO (Ptr MappedFile)--{- |-Increments the reference count of /@file@/ by one.  It is safe to call-this function from any thread.--/Since: 2.22/--}-mappedFileRef ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MappedFile-    {- ^ /@file@/: a 'GI.GLib.Structs.MappedFile.MappedFile' -}-    -> m MappedFile-    {- ^ __Returns:__ the passed in 'GI.GLib.Structs.MappedFile.MappedFile'. -}-mappedFileRef file = liftIO $ do-    file' <- unsafeManagedPtrGetPtr file-    result <- g_mapped_file_ref file'-    checkUnexpectedReturnNULL "mappedFileRef" result-    result' <- (wrapBoxed MappedFile) result-    touchManagedPtr file-    return result'--#if ENABLE_OVERLOADING-data MappedFileRefMethodInfo-instance (signature ~ (m MappedFile), MonadIO m) => O.MethodInfo MappedFileRefMethodInfo MappedFile signature where-    overloadedMethod _ = mappedFileRef--#endif---- method MappedFile::unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "file", argType = TInterface (Name {namespace = "GLib", name = "MappedFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMappedFile", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_mapped_file_unref" g_mapped_file_unref :: -    Ptr MappedFile ->                       -- file : TInterface (Name {namespace = "GLib", name = "MappedFile"})-    IO ()--{- |-Decrements the reference count of /@file@/ by one.  If the reference count-drops to 0, unmaps the buffer of /@file@/ and frees it.--It is safe to call this function from any thread.--Since 2.22--}-mappedFileUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MappedFile-    {- ^ /@file@/: a 'GI.GLib.Structs.MappedFile.MappedFile' -}-    -> m ()-mappedFileUnref file = liftIO $ do-    file' <- unsafeManagedPtrGetPtr file-    g_mapped_file_unref file'-    touchManagedPtr file-    return ()--#if ENABLE_OVERLOADING-data MappedFileUnrefMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo MappedFileUnrefMethodInfo MappedFile signature where-    overloadedMethod _ = mappedFileUnref--#endif--#if ENABLE_OVERLOADING-type family ResolveMappedFileMethod (t :: Symbol) (o :: *) :: * where-    ResolveMappedFileMethod "free" o = MappedFileFreeMethodInfo-    ResolveMappedFileMethod "ref" o = MappedFileRefMethodInfo-    ResolveMappedFileMethod "unref" o = MappedFileUnrefMethodInfo-    ResolveMappedFileMethod "getBytes" o = MappedFileGetBytesMethodInfo-    ResolveMappedFileMethod "getContents" o = MappedFileGetContentsMethodInfo-    ResolveMappedFileMethod "getLength" o = MappedFileGetLengthMethodInfo-    ResolveMappedFileMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveMappedFileMethod t MappedFile, O.MethodInfo info MappedFile p) => OL.IsLabel t (MappedFile -> 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/GLib/Structs/MappedFile.hs-boot
@@ -1,44 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.MappedFile 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 MappedFile = MappedFile (ManagedPtr MappedFile)-instance BoxedObject MappedFile where-#if ENABLE_OVERLOADING-data MappedFileFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data MappedFileGetBytesMethodInfo-#endif-#if ENABLE_OVERLOADING-data MappedFileGetContentsMethodInfo-#endif-#if ENABLE_OVERLOADING-data MappedFileGetLengthMethodInfo-#endif-#if ENABLE_OVERLOADING-data MappedFileRefMethodInfo-#endif-#if ENABLE_OVERLOADING-data MappedFileUnrefMethodInfo-#endif
− GI/GLib/Structs/MarkupParseContext.hs
@@ -1,726 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A parse context is used to parse a stream of bytes that-you expect to contain marked-up text.--See 'GI.GLib.Structs.MarkupParseContext.markupParseContextNew', 'GI.GLib.Structs.MarkupParser.MarkupParser', and so-on for more details.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.MarkupParseContext-    ( ---- * Exported types-    MarkupParseContext(..)                  ,-    noMarkupParseContext                    ,--- -- * Methods--- ** endParse #method:endParse#--#if ENABLE_OVERLOADING-    MarkupParseContextEndParseMethodInfo    ,-#endif-    markupParseContextEndParse              ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    MarkupParseContextFreeMethodInfo        ,-#endif-    markupParseContextFree                  ,----- ** getElement #method:getElement#--#if ENABLE_OVERLOADING-    MarkupParseContextGetElementMethodInfo  ,-#endif-    markupParseContextGetElement            ,----- ** getUserData #method:getUserData#--#if ENABLE_OVERLOADING-    MarkupParseContextGetUserDataMethodInfo ,-#endif-    markupParseContextGetUserData           ,----- ** new #method:new#--    markupParseContextNew                   ,----- ** parse #method:parse#--#if ENABLE_OVERLOADING-    MarkupParseContextParseMethodInfo       ,-#endif-    markupParseContextParse                 ,----- ** pop #method:pop#--#if ENABLE_OVERLOADING-    MarkupParseContextPopMethodInfo         ,-#endif-    markupParseContextPop                   ,----- ** push #method:push#--#if ENABLE_OVERLOADING-    MarkupParseContextPushMethodInfo        ,-#endif-    markupParseContextPush                  ,----- ** ref #method:ref#--#if ENABLE_OVERLOADING-    MarkupParseContextRefMethodInfo         ,-#endif-    markupParseContextRef                   ,----- ** unref #method:unref#--#if ENABLE_OVERLOADING-    MarkupParseContextUnrefMethodInfo       ,-#endif-    markupParseContextUnref                 ,-----    ) 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 qualified GI.GLib.Callbacks as GLib.Callbacks-import {-# SOURCE #-} qualified GI.GLib.Flags as GLib.Flags-import {-# SOURCE #-} qualified GI.GLib.Structs.MarkupParser as GLib.MarkupParser---- | Memory-managed wrapper type.-newtype MarkupParseContext = MarkupParseContext (ManagedPtr MarkupParseContext)-foreign import ccall "g_markup_parse_context_get_type" c_g_markup_parse_context_get_type :: -    IO GType--instance BoxedObject MarkupParseContext where-    boxedType _ = c_g_markup_parse_context_get_type---- | A convenience alias for `Nothing` :: `Maybe` `MarkupParseContext`.-noMarkupParseContext :: Maybe MarkupParseContext-noMarkupParseContext = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList MarkupParseContext-type instance O.AttributeList MarkupParseContext = MarkupParseContextAttributeList-type MarkupParseContextAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method MarkupParseContext::new--- method type : Constructor--- Args : [Arg {argCName = "parser", argType = TInterface (Name {namespace = "GLib", name = "MarkupParser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMarkupParser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GLib", name = "MarkupParseFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "one or more #GMarkupParseFlags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to #GMarkupParser functions", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data_dnotify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "user data destroy notifier called when\n    the parse context is freed", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "MarkupParseContext"}))--- throws : False--- Skip return : False--foreign import ccall "g_markup_parse_context_new" g_markup_parse_context_new :: -    Ptr GLib.MarkupParser.MarkupParser ->   -- parser : TInterface (Name {namespace = "GLib", name = "MarkupParser"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "GLib", name = "MarkupParseFlags"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- user_data_dnotify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO (Ptr MarkupParseContext)--{- |-Creates a new parse context. A parse context is used to parse-marked-up documents. You can feed any number of documents into-a context, as long as no errors occur; once an error occurs,-the parse context can\'t continue to parse text (you have to-free it and create a new parse context).--}-markupParseContextNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.MarkupParser.MarkupParser-    {- ^ /@parser@/: a 'GI.GLib.Structs.MarkupParser.MarkupParser' -}-    -> [GLib.Flags.MarkupParseFlags]-    {- ^ /@flags@/: one or more 'GI.GLib.Flags.MarkupParseFlags' -}-    -> Ptr ()-    {- ^ /@userData@/: user data to pass to 'GI.GLib.Structs.MarkupParser.MarkupParser' functions -}-    -> GLib.Callbacks.DestroyNotify-    {- ^ /@userDataDnotify@/: user data destroy notifier called when-    the parse context is freed -}-    -> m MarkupParseContext-    {- ^ __Returns:__ a new 'GI.GLib.Structs.MarkupParseContext.MarkupParseContext' -}-markupParseContextNew parser flags userData userDataDnotify = liftIO $ do-    parser' <- unsafeManagedPtrGetPtr parser-    let flags' = gflagsToWord flags-    ptruserDataDnotify <- callocMem :: IO (Ptr (FunPtr GLib.Callbacks.C_DestroyNotify))-    userDataDnotify' <- GLib.Callbacks.mk_DestroyNotify (GLib.Callbacks.wrap_DestroyNotify (Just ptruserDataDnotify) userDataDnotify)-    poke ptruserDataDnotify userDataDnotify'-    result <- g_markup_parse_context_new parser' flags' userData userDataDnotify'-    checkUnexpectedReturnNULL "markupParseContextNew" result-    result' <- (wrapBoxed MarkupParseContext) result-    touchManagedPtr parser-    return result'--#if ENABLE_OVERLOADING-#endif---- method MarkupParseContext::end_parse--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MarkupParseContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMarkupParseContext", 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_markup_parse_context_end_parse" g_markup_parse_context_end_parse :: -    Ptr MarkupParseContext ->               -- context : TInterface (Name {namespace = "GLib", name = "MarkupParseContext"})-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Signals to the 'GI.GLib.Structs.MarkupParseContext.MarkupParseContext' that all data has been-fed into the parse context with 'GI.GLib.Structs.MarkupParseContext.markupParseContextParse'.--This function reports an error if the document isn\'t complete,-for example if elements are still open.--}-markupParseContextEndParse ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MarkupParseContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MarkupParseContext.MarkupParseContext' -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-markupParseContextEndParse context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    onException (do-        _ <- propagateGError $ g_markup_parse_context_end_parse context'-        touchManagedPtr context-        return ()-     ) (do-        return ()-     )--#if ENABLE_OVERLOADING-data MarkupParseContextEndParseMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo MarkupParseContextEndParseMethodInfo MarkupParseContext signature where-    overloadedMethod _ = markupParseContextEndParse--#endif---- method MarkupParseContext::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MarkupParseContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMarkupParseContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_markup_parse_context_free" g_markup_parse_context_free :: -    Ptr MarkupParseContext ->               -- context : TInterface (Name {namespace = "GLib", name = "MarkupParseContext"})-    IO ()--{- |-Frees a 'GI.GLib.Structs.MarkupParseContext.MarkupParseContext'.--This function can\'t be called from inside one of the-'GI.GLib.Structs.MarkupParser.MarkupParser' functions or while a subparser is pushed.--}-markupParseContextFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MarkupParseContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MarkupParseContext.MarkupParseContext' -}-    -> m ()-markupParseContextFree context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    g_markup_parse_context_free context'-    touchManagedPtr context-    return ()--#if ENABLE_OVERLOADING-data MarkupParseContextFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo MarkupParseContextFreeMethodInfo MarkupParseContext signature where-    overloadedMethod _ = markupParseContextFree--#endif---- method MarkupParseContext::get_element--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MarkupParseContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMarkupParseContext", 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_markup_parse_context_get_element" g_markup_parse_context_get_element :: -    Ptr MarkupParseContext ->               -- context : TInterface (Name {namespace = "GLib", name = "MarkupParseContext"})-    IO CString--{- |-Retrieves the name of the currently open element.--If called from the start_element or end_element handlers this will-give the element_name as passed to those functions. For the parent-elements, see @/g_markup_parse_context_get_element_stack()/@.--/Since: 2.2/--}-markupParseContextGetElement ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MarkupParseContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MarkupParseContext.MarkupParseContext' -}-    -> m T.Text-    {- ^ __Returns:__ the name of the currently open element, or 'Nothing' -}-markupParseContextGetElement context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    result <- g_markup_parse_context_get_element context'-    checkUnexpectedReturnNULL "markupParseContextGetElement" result-    result' <- cstringToText result-    touchManagedPtr context-    return result'--#if ENABLE_OVERLOADING-data MarkupParseContextGetElementMethodInfo-instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo MarkupParseContextGetElementMethodInfo MarkupParseContext signature where-    overloadedMethod _ = markupParseContextGetElement--#endif---- method MarkupParseContext::get_user_data--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MarkupParseContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMarkupParseContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_markup_parse_context_get_user_data" g_markup_parse_context_get_user_data :: -    Ptr MarkupParseContext ->               -- context : TInterface (Name {namespace = "GLib", name = "MarkupParseContext"})-    IO (Ptr ())--{- |-Returns the user_data associated with /@context@/.--This will either be the user_data that was provided to-'GI.GLib.Structs.MarkupParseContext.markupParseContextNew' or to the most recent call-of 'GI.GLib.Structs.MarkupParseContext.markupParseContextPush'.--/Since: 2.18/--}-markupParseContextGetUserData ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MarkupParseContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MarkupParseContext.MarkupParseContext' -}-    -> m (Ptr ())-    {- ^ __Returns:__ the provided user_data. The returned data belongs to-    the markup context and will be freed when-    'GI.GLib.Structs.MarkupParseContext.markupParseContextFree' is called. -}-markupParseContextGetUserData context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    result <- g_markup_parse_context_get_user_data context'-    touchManagedPtr context-    return result--#if ENABLE_OVERLOADING-data MarkupParseContextGetUserDataMethodInfo-instance (signature ~ (m (Ptr ())), MonadIO m) => O.MethodInfo MarkupParseContextGetUserDataMethodInfo MarkupParseContext signature where-    overloadedMethod _ = markupParseContextGetUserData--#endif---- method MarkupParseContext::parse--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MarkupParseContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMarkupParseContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "chunk of text to parse", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text_len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of @text in bytes", 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_markup_parse_context_parse" g_markup_parse_context_parse :: -    Ptr MarkupParseContext ->               -- context : TInterface (Name {namespace = "GLib", name = "MarkupParseContext"})-    CString ->                              -- text : TBasicType TUTF8-    Int64 ->                                -- text_len : TBasicType TInt64-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Feed some data to the 'GI.GLib.Structs.MarkupParseContext.MarkupParseContext'.--The data need not be valid UTF-8; an error will be signaled if-it\'s invalid. The data need not be an entire document; you can-feed a document into the parser incrementally, via multiple calls-to this function. Typically, as you receive data from a network-connection or file, you feed each received chunk of data into this-function, aborting the process if an error occurs. Once an error-is reported, no further data may be fed to the 'GI.GLib.Structs.MarkupParseContext.MarkupParseContext';-all errors are fatal.--}-markupParseContextParse ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MarkupParseContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MarkupParseContext.MarkupParseContext' -}-    -> T.Text-    {- ^ /@text@/: chunk of text to parse -}-    -> Int64-    {- ^ /@textLen@/: length of /@text@/ in bytes -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-markupParseContextParse context text textLen = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    text' <- textToCString text-    onException (do-        _ <- propagateGError $ g_markup_parse_context_parse context' text' textLen-        touchManagedPtr context-        freeMem text'-        return ()-     ) (do-        freeMem text'-     )--#if ENABLE_OVERLOADING-data MarkupParseContextParseMethodInfo-instance (signature ~ (T.Text -> Int64 -> m ()), MonadIO m) => O.MethodInfo MarkupParseContextParseMethodInfo MarkupParseContext signature where-    overloadedMethod _ = markupParseContextParse--#endif---- method MarkupParseContext::pop--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MarkupParseContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMarkupParseContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_markup_parse_context_pop" g_markup_parse_context_pop :: -    Ptr MarkupParseContext ->               -- context : TInterface (Name {namespace = "GLib", name = "MarkupParseContext"})-    IO (Ptr ())--{- |-Completes the process of a temporary sub-parser redirection.--This function exists to collect the user_data allocated by a-matching call to 'GI.GLib.Structs.MarkupParseContext.markupParseContextPush'. It must be called-in the end_element handler corresponding to the start_element-handler during which 'GI.GLib.Structs.MarkupParseContext.markupParseContextPush' was called.-You must not call this function from the error callback -- the-/@userData@/ is provided directly to the callback in that case.--This function is not intended to be directly called by users-interested in invoking subparsers. Instead, it is intended to-be used by the subparsers themselves to implement a higher-level-interface.--/Since: 2.18/--}-markupParseContextPop ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MarkupParseContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MarkupParseContext.MarkupParseContext' -}-    -> m (Ptr ())-    {- ^ __Returns:__ the user data passed to 'GI.GLib.Structs.MarkupParseContext.markupParseContextPush' -}-markupParseContextPop context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    result <- g_markup_parse_context_pop context'-    touchManagedPtr context-    return result--#if ENABLE_OVERLOADING-data MarkupParseContextPopMethodInfo-instance (signature ~ (m (Ptr ())), MonadIO m) => O.MethodInfo MarkupParseContextPopMethodInfo MarkupParseContext signature where-    overloadedMethod _ = markupParseContextPop--#endif---- method MarkupParseContext::push--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MarkupParseContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMarkupParseContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parser", argType = TInterface (Name {namespace = "GLib", name = "MarkupParser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMarkupParser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to #GMarkupParser functions", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_markup_parse_context_push" g_markup_parse_context_push :: -    Ptr MarkupParseContext ->               -- context : TInterface (Name {namespace = "GLib", name = "MarkupParseContext"})-    Ptr GLib.MarkupParser.MarkupParser ->   -- parser : TInterface (Name {namespace = "GLib", name = "MarkupParser"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO ()--{- |-Temporarily redirects markup data to a sub-parser.--This function may only be called from the start_element handler of-a 'GI.GLib.Structs.MarkupParser.MarkupParser'. It must be matched with a corresponding call to-'GI.GLib.Structs.MarkupParseContext.markupParseContextPop' in the matching end_element handler-(except in the case that the parser aborts due to an error).--All tags, text and other data between the matching tags is-redirected to the subparser given by /@parser@/. /@userData@/ is used-as the user_data for that parser. /@userData@/ is also passed to the-error callback in the event that an error occurs. This includes-errors that occur in subparsers of the subparser.--The end tag matching the start tag for which this call was made is-handled by the previous parser (which is given its own user_data)-which is why 'GI.GLib.Structs.MarkupParseContext.markupParseContextPop' is provided to allow \"one-last access\" to the /@userData@/ provided to this function. In the-case of error, the /@userData@/ provided here is passed directly to-the error callback of the subparser and 'GI.GLib.Structs.MarkupParseContext.markupParseContextPop'-should not be called. In either case, if /@userData@/ was allocated-then it ought to be freed from both of these locations.--This function is not intended to be directly called by users-interested in invoking subparsers. Instead, it is intended to be-used by the subparsers themselves to implement a higher-level-interface.--As an example, see the following implementation of a simple-parser that counts the number of tags encountered.---=== /C code/->->typedef struct->{->  gint tag_count;->} CounterData;->->static void->counter_start_element (GMarkupParseContext  *context,->                       const gchar          *element_name,->                       const gchar         **attribute_names,->                       const gchar         **attribute_values,->                       gpointer              user_data,->                       GError              **error)->{->  CounterData *data = user_data;->->  data->tag_count++;->}->->static void->counter_error (GMarkupParseContext *context,->               GError              *error,->               gpointer             user_data)->{->  CounterData *data = user_data;->->  g_slice_free (CounterData, data);->}->->static GMarkupParser counter_subparser =->{->  counter_start_element,->  NULL,->  NULL,->  NULL,->  counter_error->};---In order to allow this parser to be easily used as a subparser, the-following interface is provided:---=== /C code/->->void->start_counting (GMarkupParseContext *context)->{->  CounterData *data = g_slice_new (CounterData);->->  data->tag_count = 0;->  g_markup_parse_context_push (context, &counter_subparser, data);->}->->gint->end_counting (GMarkupParseContext *context)->{->  CounterData *data = g_markup_parse_context_pop (context);->  int result;->->  result = data->tag_count;->  g_slice_free (CounterData, data);->->  return result;->}---The subparser would then be used as follows:---=== /C code/->->static void start_element (context, element_name, ...)->{->  if (strcmp (element_name, "count-these") == 0)->    start_counting (context);->->  // else, handle other tags...->}->->static void end_element (context, element_name, ...)->{->  if (strcmp (element_name, "count-these") == 0)->    g_print ("Counted %d tags\n", end_counting (context));->->  // else, handle other tags...->}---/Since: 2.18/--}-markupParseContextPush ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MarkupParseContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MarkupParseContext.MarkupParseContext' -}-    -> GLib.MarkupParser.MarkupParser-    {- ^ /@parser@/: a 'GI.GLib.Structs.MarkupParser.MarkupParser' -}-    -> Ptr ()-    {- ^ /@userData@/: user data to pass to 'GI.GLib.Structs.MarkupParser.MarkupParser' functions -}-    -> m ()-markupParseContextPush context parser userData = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    parser' <- unsafeManagedPtrGetPtr parser-    g_markup_parse_context_push context' parser' userData-    touchManagedPtr context-    touchManagedPtr parser-    return ()--#if ENABLE_OVERLOADING-data MarkupParseContextPushMethodInfo-instance (signature ~ (GLib.MarkupParser.MarkupParser -> Ptr () -> m ()), MonadIO m) => O.MethodInfo MarkupParseContextPushMethodInfo MarkupParseContext signature where-    overloadedMethod _ = markupParseContextPush--#endif---- method MarkupParseContext::ref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MarkupParseContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMarkupParseContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "MarkupParseContext"}))--- throws : False--- Skip return : False--foreign import ccall "g_markup_parse_context_ref" g_markup_parse_context_ref :: -    Ptr MarkupParseContext ->               -- context : TInterface (Name {namespace = "GLib", name = "MarkupParseContext"})-    IO (Ptr MarkupParseContext)--{- |-Increases the reference count of /@context@/.--/Since: 2.36/--}-markupParseContextRef ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MarkupParseContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MarkupParseContext.MarkupParseContext' -}-    -> m MarkupParseContext-    {- ^ __Returns:__ the same /@context@/ -}-markupParseContextRef context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    result <- g_markup_parse_context_ref context'-    checkUnexpectedReturnNULL "markupParseContextRef" result-    result' <- (wrapBoxed MarkupParseContext) result-    touchManagedPtr context-    return result'--#if ENABLE_OVERLOADING-data MarkupParseContextRefMethodInfo-instance (signature ~ (m MarkupParseContext), MonadIO m) => O.MethodInfo MarkupParseContextRefMethodInfo MarkupParseContext signature where-    overloadedMethod _ = markupParseContextRef--#endif---- method MarkupParseContext::unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MarkupParseContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMarkupParseContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_markup_parse_context_unref" g_markup_parse_context_unref :: -    Ptr MarkupParseContext ->               -- context : TInterface (Name {namespace = "GLib", name = "MarkupParseContext"})-    IO ()--{- |-Decreases the reference count of /@context@/.  When its reference count-drops to 0, it is freed.--/Since: 2.36/--}-markupParseContextUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MarkupParseContext-    {- ^ /@context@/: a 'GI.GLib.Structs.MarkupParseContext.MarkupParseContext' -}-    -> m ()-markupParseContextUnref context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    g_markup_parse_context_unref context'-    touchManagedPtr context-    return ()--#if ENABLE_OVERLOADING-data MarkupParseContextUnrefMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo MarkupParseContextUnrefMethodInfo MarkupParseContext signature where-    overloadedMethod _ = markupParseContextUnref--#endif--#if ENABLE_OVERLOADING-type family ResolveMarkupParseContextMethod (t :: Symbol) (o :: *) :: * where-    ResolveMarkupParseContextMethod "endParse" o = MarkupParseContextEndParseMethodInfo-    ResolveMarkupParseContextMethod "free" o = MarkupParseContextFreeMethodInfo-    ResolveMarkupParseContextMethod "parse" o = MarkupParseContextParseMethodInfo-    ResolveMarkupParseContextMethod "pop" o = MarkupParseContextPopMethodInfo-    ResolveMarkupParseContextMethod "push" o = MarkupParseContextPushMethodInfo-    ResolveMarkupParseContextMethod "ref" o = MarkupParseContextRefMethodInfo-    ResolveMarkupParseContextMethod "unref" o = MarkupParseContextUnrefMethodInfo-    ResolveMarkupParseContextMethod "getElement" o = MarkupParseContextGetElementMethodInfo-    ResolveMarkupParseContextMethod "getUserData" o = MarkupParseContextGetUserDataMethodInfo-    ResolveMarkupParseContextMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveMarkupParseContextMethod t MarkupParseContext, O.MethodInfo info MarkupParseContext p) => OL.IsLabel t (MarkupParseContext -> 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/GLib/Structs/MarkupParseContext.hs-boot
@@ -1,53 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.MarkupParseContext 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 MarkupParseContext = MarkupParseContext (ManagedPtr MarkupParseContext)-instance BoxedObject MarkupParseContext where-#if ENABLE_OVERLOADING-data MarkupParseContextEndParseMethodInfo-#endif-#if ENABLE_OVERLOADING-data MarkupParseContextFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data MarkupParseContextGetElementMethodInfo-#endif-#if ENABLE_OVERLOADING-data MarkupParseContextGetUserDataMethodInfo-#endif-#if ENABLE_OVERLOADING-data MarkupParseContextParseMethodInfo-#endif-#if ENABLE_OVERLOADING-data MarkupParseContextPopMethodInfo-#endif-#if ENABLE_OVERLOADING-data MarkupParseContextPushMethodInfo-#endif-#if ENABLE_OVERLOADING-data MarkupParseContextRefMethodInfo-#endif-#if ENABLE_OVERLOADING-data MarkupParseContextUnrefMethodInfo-#endif
− GI/GLib/Structs/MarkupParser.hs
@@ -1,453 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Any of the fields in 'GI.GLib.Structs.MarkupParser.MarkupParser' can be 'Nothing', in which case they-will be ignored. Except for the /@error@/ function, any of these callbacks-can set an error; in particular the 'GI.GLib.Enums.MarkupErrorUnknownElement',-'GI.GLib.Enums.MarkupErrorUnknownAttribute', and 'GI.GLib.Enums.MarkupErrorInvalidContent'-errors are intended to be set from these callbacks. If you set an error-from a callback, 'GI.GLib.Structs.MarkupParseContext.markupParseContextParse' will report that error-back to its caller.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.MarkupParser-    ( ---- * Exported types-    MarkupParser(..)                        ,-    newZeroMarkupParser                     ,-    noMarkupParser                          ,--- -- * Properties--- ** endElement #attr:endElement#-{- | /No description available in the introspection data./--}-    clearMarkupParserEndElement             ,-    getMarkupParserEndElement               ,-#if ENABLE_OVERLOADING-    markupParser_endElement                 ,-#endif-    setMarkupParserEndElement               ,----- ** error #attr:error#-{- | /No description available in the introspection data./--}-    clearMarkupParserError                  ,-    getMarkupParserError                    ,-#if ENABLE_OVERLOADING-    markupParser_error                      ,-#endif-    setMarkupParserError                    ,----- ** passthrough #attr:passthrough#-{- | /No description available in the introspection data./--}-    clearMarkupParserPassthrough            ,-    getMarkupParserPassthrough              ,-#if ENABLE_OVERLOADING-    markupParser_passthrough                ,-#endif-    setMarkupParserPassthrough              ,----- ** startElement #attr:startElement#-{- | /No description available in the introspection data./--}-    clearMarkupParserStartElement           ,-    getMarkupParserStartElement             ,-#if ENABLE_OVERLOADING-    markupParser_startElement               ,-#endif-    setMarkupParserStartElement             ,----- ** text #attr:text#-{- | /No description available in the introspection data./--}-    clearMarkupParserText                   ,-    getMarkupParserText                     ,-#if ENABLE_OVERLOADING-    markupParser_text                       ,-#endif-    setMarkupParserText                     ,-----    ) 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 qualified GI.GLib.Callbacks as GLib.Callbacks---- | Memory-managed wrapper type.-newtype MarkupParser = MarkupParser (ManagedPtr MarkupParser)-instance WrappedPtr MarkupParser where-    wrappedPtrCalloc = callocBytes 40-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 40 >=> wrapPtr MarkupParser)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `MarkupParser` struct initialized to zero.-newZeroMarkupParser :: MonadIO m => m MarkupParser-newZeroMarkupParser = liftIO $ wrappedPtrCalloc >>= wrapPtr MarkupParser--instance tag ~ 'AttrSet => Constructible MarkupParser tag where-    new _ attrs = do-        o <- newZeroMarkupParser-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `MarkupParser`.-noMarkupParser :: Maybe MarkupParser-noMarkupParser = Nothing--{- |-Get the value of the “@start_element@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' markupParser #startElement-@--}-getMarkupParserStartElement :: MonadIO m => MarkupParser -> m (Maybe GLib.Callbacks.MarkupParserStartElementFieldCallback_WithClosures)-getMarkupParserStartElement s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (FunPtr GLib.Callbacks.C_MarkupParserStartElementFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_MarkupParserStartElementFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@start_element@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' markupParser [ #startElement 'Data.GI.Base.Attributes.:=' value ]-@--}-setMarkupParserStartElement :: MonadIO m => MarkupParser -> FunPtr GLib.Callbacks.C_MarkupParserStartElementFieldCallback -> m ()-setMarkupParserStartElement s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: FunPtr GLib.Callbacks.C_MarkupParserStartElementFieldCallback)--{- |-Set the value of the “@start_element@” 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' #startElement-@--}-clearMarkupParserStartElement :: MonadIO m => MarkupParser -> m ()-clearMarkupParserStartElement s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_MarkupParserStartElementFieldCallback)--#if ENABLE_OVERLOADING-data MarkupParserStartElementFieldInfo-instance AttrInfo MarkupParserStartElementFieldInfo where-    type AttrAllowedOps MarkupParserStartElementFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint MarkupParserStartElementFieldInfo = (~) (FunPtr GLib.Callbacks.C_MarkupParserStartElementFieldCallback)-    type AttrBaseTypeConstraint MarkupParserStartElementFieldInfo = (~) MarkupParser-    type AttrGetType MarkupParserStartElementFieldInfo = Maybe GLib.Callbacks.MarkupParserStartElementFieldCallback_WithClosures-    type AttrLabel MarkupParserStartElementFieldInfo = "start_element"-    type AttrOrigin MarkupParserStartElementFieldInfo = MarkupParser-    attrGet _ = getMarkupParserStartElement-    attrSet _ = setMarkupParserStartElement-    attrConstruct = undefined-    attrClear _ = clearMarkupParserStartElement--markupParser_startElement :: AttrLabelProxy "startElement"-markupParser_startElement = AttrLabelProxy--#endif---{- |-Get the value of the “@end_element@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' markupParser #endElement-@--}-getMarkupParserEndElement :: MonadIO m => MarkupParser -> m (Maybe GLib.Callbacks.MarkupParserEndElementFieldCallback_WithClosures)-getMarkupParserEndElement s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO (FunPtr GLib.Callbacks.C_MarkupParserEndElementFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_MarkupParserEndElementFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@end_element@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' markupParser [ #endElement 'Data.GI.Base.Attributes.:=' value ]-@--}-setMarkupParserEndElement :: MonadIO m => MarkupParser -> FunPtr GLib.Callbacks.C_MarkupParserEndElementFieldCallback -> m ()-setMarkupParserEndElement s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: FunPtr GLib.Callbacks.C_MarkupParserEndElementFieldCallback)--{- |-Set the value of the “@end_element@” 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' #endElement-@--}-clearMarkupParserEndElement :: MonadIO m => MarkupParser -> m ()-clearMarkupParserEndElement s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_MarkupParserEndElementFieldCallback)--#if ENABLE_OVERLOADING-data MarkupParserEndElementFieldInfo-instance AttrInfo MarkupParserEndElementFieldInfo where-    type AttrAllowedOps MarkupParserEndElementFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint MarkupParserEndElementFieldInfo = (~) (FunPtr GLib.Callbacks.C_MarkupParserEndElementFieldCallback)-    type AttrBaseTypeConstraint MarkupParserEndElementFieldInfo = (~) MarkupParser-    type AttrGetType MarkupParserEndElementFieldInfo = Maybe GLib.Callbacks.MarkupParserEndElementFieldCallback_WithClosures-    type AttrLabel MarkupParserEndElementFieldInfo = "end_element"-    type AttrOrigin MarkupParserEndElementFieldInfo = MarkupParser-    attrGet _ = getMarkupParserEndElement-    attrSet _ = setMarkupParserEndElement-    attrConstruct = undefined-    attrClear _ = clearMarkupParserEndElement--markupParser_endElement :: AttrLabelProxy "endElement"-markupParser_endElement = AttrLabelProxy--#endif---{- |-Get the value of the “@text@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' markupParser #text-@--}-getMarkupParserText :: MonadIO m => MarkupParser -> m (Maybe GLib.Callbacks.MarkupParserTextFieldCallback_WithClosures)-getMarkupParserText s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO (FunPtr GLib.Callbacks.C_MarkupParserTextFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_MarkupParserTextFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@text@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' markupParser [ #text 'Data.GI.Base.Attributes.:=' value ]-@--}-setMarkupParserText :: MonadIO m => MarkupParser -> FunPtr GLib.Callbacks.C_MarkupParserTextFieldCallback -> m ()-setMarkupParserText s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: FunPtr GLib.Callbacks.C_MarkupParserTextFieldCallback)--{- |-Set the value of the “@text@” 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' #text-@--}-clearMarkupParserText :: MonadIO m => MarkupParser -> m ()-clearMarkupParserText s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_MarkupParserTextFieldCallback)--#if ENABLE_OVERLOADING-data MarkupParserTextFieldInfo-instance AttrInfo MarkupParserTextFieldInfo where-    type AttrAllowedOps MarkupParserTextFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint MarkupParserTextFieldInfo = (~) (FunPtr GLib.Callbacks.C_MarkupParserTextFieldCallback)-    type AttrBaseTypeConstraint MarkupParserTextFieldInfo = (~) MarkupParser-    type AttrGetType MarkupParserTextFieldInfo = Maybe GLib.Callbacks.MarkupParserTextFieldCallback_WithClosures-    type AttrLabel MarkupParserTextFieldInfo = "text"-    type AttrOrigin MarkupParserTextFieldInfo = MarkupParser-    attrGet _ = getMarkupParserText-    attrSet _ = setMarkupParserText-    attrConstruct = undefined-    attrClear _ = clearMarkupParserText--markupParser_text :: AttrLabelProxy "text"-markupParser_text = AttrLabelProxy--#endif---{- |-Get the value of the “@passthrough@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' markupParser #passthrough-@--}-getMarkupParserPassthrough :: MonadIO m => MarkupParser -> m (Maybe GLib.Callbacks.MarkupParserPassthroughFieldCallback_WithClosures)-getMarkupParserPassthrough s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO (FunPtr GLib.Callbacks.C_MarkupParserPassthroughFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_MarkupParserPassthroughFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@passthrough@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' markupParser [ #passthrough 'Data.GI.Base.Attributes.:=' value ]-@--}-setMarkupParserPassthrough :: MonadIO m => MarkupParser -> FunPtr GLib.Callbacks.C_MarkupParserPassthroughFieldCallback -> m ()-setMarkupParserPassthrough s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (val :: FunPtr GLib.Callbacks.C_MarkupParserPassthroughFieldCallback)--{- |-Set the value of the “@passthrough@” 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' #passthrough-@--}-clearMarkupParserPassthrough :: MonadIO m => MarkupParser -> m ()-clearMarkupParserPassthrough s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_MarkupParserPassthroughFieldCallback)--#if ENABLE_OVERLOADING-data MarkupParserPassthroughFieldInfo-instance AttrInfo MarkupParserPassthroughFieldInfo where-    type AttrAllowedOps MarkupParserPassthroughFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint MarkupParserPassthroughFieldInfo = (~) (FunPtr GLib.Callbacks.C_MarkupParserPassthroughFieldCallback)-    type AttrBaseTypeConstraint MarkupParserPassthroughFieldInfo = (~) MarkupParser-    type AttrGetType MarkupParserPassthroughFieldInfo = Maybe GLib.Callbacks.MarkupParserPassthroughFieldCallback_WithClosures-    type AttrLabel MarkupParserPassthroughFieldInfo = "passthrough"-    type AttrOrigin MarkupParserPassthroughFieldInfo = MarkupParser-    attrGet _ = getMarkupParserPassthrough-    attrSet _ = setMarkupParserPassthrough-    attrConstruct = undefined-    attrClear _ = clearMarkupParserPassthrough--markupParser_passthrough :: AttrLabelProxy "passthrough"-markupParser_passthrough = AttrLabelProxy--#endif---{- |-Get the value of the “@error@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' markupParser #error-@--}-getMarkupParserError :: MonadIO m => MarkupParser -> m (Maybe GLib.Callbacks.MarkupParserErrorFieldCallback_WithClosures)-getMarkupParserError s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO (FunPtr GLib.Callbacks.C_MarkupParserErrorFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_MarkupParserErrorFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@error@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' markupParser [ #error 'Data.GI.Base.Attributes.:=' value ]-@--}-setMarkupParserError :: MonadIO m => MarkupParser -> FunPtr GLib.Callbacks.C_MarkupParserErrorFieldCallback -> m ()-setMarkupParserError s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (val :: FunPtr GLib.Callbacks.C_MarkupParserErrorFieldCallback)--{- |-Set the value of the “@error@” 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' #error-@--}-clearMarkupParserError :: MonadIO m => MarkupParser -> m ()-clearMarkupParserError s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_MarkupParserErrorFieldCallback)--#if ENABLE_OVERLOADING-data MarkupParserErrorFieldInfo-instance AttrInfo MarkupParserErrorFieldInfo where-    type AttrAllowedOps MarkupParserErrorFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint MarkupParserErrorFieldInfo = (~) (FunPtr GLib.Callbacks.C_MarkupParserErrorFieldCallback)-    type AttrBaseTypeConstraint MarkupParserErrorFieldInfo = (~) MarkupParser-    type AttrGetType MarkupParserErrorFieldInfo = Maybe GLib.Callbacks.MarkupParserErrorFieldCallback_WithClosures-    type AttrLabel MarkupParserErrorFieldInfo = "error"-    type AttrOrigin MarkupParserErrorFieldInfo = MarkupParser-    attrGet _ = getMarkupParserError-    attrSet _ = setMarkupParserError-    attrConstruct = undefined-    attrClear _ = clearMarkupParserError--markupParser_error :: AttrLabelProxy "error"-markupParser_error = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList MarkupParser-type instance O.AttributeList MarkupParser = MarkupParserAttributeList-type MarkupParserAttributeList = ('[ '("startElement", MarkupParserStartElementFieldInfo), '("endElement", MarkupParserEndElementFieldInfo), '("text", MarkupParserTextFieldInfo), '("passthrough", MarkupParserPassthroughFieldInfo), '("error", MarkupParserErrorFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveMarkupParserMethod (t :: Symbol) (o :: *) :: * where-    ResolveMarkupParserMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveMarkupParserMethod t MarkupParser, O.MethodInfo info MarkupParser p) => OL.IsLabel t (MarkupParser -> 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/GLib/Structs/MarkupParser.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.MarkupParser 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 MarkupParser = MarkupParser (ManagedPtr MarkupParser)-instance WrappedPtr MarkupParser where
− GI/GLib/Structs/MatchInfo.hs
@@ -1,956 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A GMatchInfo is an opaque struct used to return information about-matches.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.MatchInfo-    ( ---- * Exported types-    MatchInfo(..)                           ,-    noMatchInfo                             ,--- -- * Methods--- ** expandReferences #method:expandReferences#--#if ENABLE_OVERLOADING-    MatchInfoExpandReferencesMethodInfo     ,-#endif-    matchInfoExpandReferences               ,----- ** fetch #method:fetch#--#if ENABLE_OVERLOADING-    MatchInfoFetchMethodInfo                ,-#endif-    matchInfoFetch                          ,----- ** fetchAll #method:fetchAll#--#if ENABLE_OVERLOADING-    MatchInfoFetchAllMethodInfo             ,-#endif-    matchInfoFetchAll                       ,----- ** fetchNamed #method:fetchNamed#--#if ENABLE_OVERLOADING-    MatchInfoFetchNamedMethodInfo           ,-#endif-    matchInfoFetchNamed                     ,----- ** fetchNamedPos #method:fetchNamedPos#--#if ENABLE_OVERLOADING-    MatchInfoFetchNamedPosMethodInfo        ,-#endif-    matchInfoFetchNamedPos                  ,----- ** fetchPos #method:fetchPos#--#if ENABLE_OVERLOADING-    MatchInfoFetchPosMethodInfo             ,-#endif-    matchInfoFetchPos                       ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    MatchInfoFreeMethodInfo                 ,-#endif-    matchInfoFree                           ,----- ** getMatchCount #method:getMatchCount#--#if ENABLE_OVERLOADING-    MatchInfoGetMatchCountMethodInfo        ,-#endif-    matchInfoGetMatchCount                  ,----- ** getRegex #method:getRegex#--#if ENABLE_OVERLOADING-    MatchInfoGetRegexMethodInfo             ,-#endif-    matchInfoGetRegex                       ,----- ** getString #method:getString#--#if ENABLE_OVERLOADING-    MatchInfoGetStringMethodInfo            ,-#endif-    matchInfoGetString                      ,----- ** isPartialMatch #method:isPartialMatch#--#if ENABLE_OVERLOADING-    MatchInfoIsPartialMatchMethodInfo       ,-#endif-    matchInfoIsPartialMatch                 ,----- ** matches #method:matches#--#if ENABLE_OVERLOADING-    MatchInfoMatchesMethodInfo              ,-#endif-    matchInfoMatches                        ,----- ** next #method:next#--#if ENABLE_OVERLOADING-    MatchInfoNextMethodInfo                 ,-#endif-    matchInfoNext                           ,----- ** ref #method:ref#--#if ENABLE_OVERLOADING-    MatchInfoRefMethodInfo                  ,-#endif-    matchInfoRef                            ,----- ** unref #method:unref#--#if ENABLE_OVERLOADING-    MatchInfoUnrefMethodInfo                ,-#endif-    matchInfoUnref                          ,-----    ) 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.GLib.Structs.Regex as GLib.Regex---- | Memory-managed wrapper type.-newtype MatchInfo = MatchInfo (ManagedPtr MatchInfo)-foreign import ccall "g_match_info_get_type" c_g_match_info_get_type :: -    IO GType--instance BoxedObject MatchInfo where-    boxedType _ = c_g_match_info_get_type---- | A convenience alias for `Nothing` :: `Maybe` `MatchInfo`.-noMatchInfo :: Maybe MatchInfo-noMatchInfo = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList MatchInfo-type instance O.AttributeList MatchInfo = MatchInfoAttributeList-type MatchInfoAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method MatchInfo::expand_references--- method type : OrdinaryMethod--- Args : [Arg {argCName = "match_info", argType = TInterface (Name {namespace = "GLib", name = "MatchInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMatchInfo or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string_to_expand", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to expand", 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_match_info_expand_references" g_match_info_expand_references :: -    Ptr MatchInfo ->                        -- match_info : TInterface (Name {namespace = "GLib", name = "MatchInfo"})-    CString ->                              -- string_to_expand : TBasicType TUTF8-    Ptr (Ptr GError) ->                     -- error-    IO CString--{- |-Returns a new string containing the text in /@stringToExpand@/ with-references and escape sequences expanded. References refer to the last-match done with /@string@/ against /@regex@/ and have the same syntax used by-'GI.GLib.Structs.Regex.regexReplace'.--The /@stringToExpand@/ must be UTF-8 encoded even if @/G_REGEX_RAW/@ was-passed to 'GI.GLib.Structs.Regex.regexNew'.--The backreferences are extracted from the string passed to the match-function, so you cannot call this function after freeing the string.--/@matchInfo@/ may be 'Nothing' in which case /@stringToExpand@/ must not-contain references. For instance \"foo\\n\" does not refer to an actual-pattern and \'\\n\' merely will be replaced with \\n character,-while to expand \"\\0\" (whole match) one needs the result of a match.-Use 'GI.GLib.Functions.regexCheckReplacement' to find out whether /@stringToExpand@/-contains references.--/Since: 2.14/--}-matchInfoExpandReferences ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MatchInfo-    {- ^ /@matchInfo@/: a 'GI.GLib.Structs.MatchInfo.MatchInfo' or 'Nothing' -}-    -> T.Text-    {- ^ /@stringToExpand@/: the string to expand -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ the expanded string, or 'Nothing' if an error occurred /(Can throw 'Data.GI.Base.GError.GError')/ -}-matchInfoExpandReferences matchInfo stringToExpand = liftIO $ do-    matchInfo' <- unsafeManagedPtrGetPtr matchInfo-    stringToExpand' <- textToCString stringToExpand-    onException (do-        result <- propagateGError $ g_match_info_expand_references matchInfo' stringToExpand'-        maybeResult <- convertIfNonNull result $ \result' -> do-            result'' <- cstringToText result'-            freeMem result'-            return result''-        touchManagedPtr matchInfo-        freeMem stringToExpand'-        return maybeResult-     ) (do-        freeMem stringToExpand'-     )--#if ENABLE_OVERLOADING-data MatchInfoExpandReferencesMethodInfo-instance (signature ~ (T.Text -> m (Maybe T.Text)), MonadIO m) => O.MethodInfo MatchInfoExpandReferencesMethodInfo MatchInfo signature where-    overloadedMethod _ = matchInfoExpandReferences--#endif---- method MatchInfo::fetch--- method type : OrdinaryMethod--- Args : [Arg {argCName = "match_info", argType = TInterface (Name {namespace = "GLib", name = "MatchInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GMatchInfo structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of the sub expression", 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_match_info_fetch" g_match_info_fetch :: -    Ptr MatchInfo ->                        -- match_info : TInterface (Name {namespace = "GLib", name = "MatchInfo"})-    Int32 ->                                -- match_num : TBasicType TInt-    IO CString--{- |-Retrieves the text matching the /@matchNum@/\'th capturing-parentheses. 0 is the full text of the match, 1 is the first paren-set, 2 the second, and so on.--If /@matchNum@/ is a valid sub pattern but it didn\'t match anything-(e.g. sub pattern 1, matching \"b\" against \"(a)?b\") then an empty-string is returned.--If the match was obtained using the DFA algorithm, that is using-'GI.GLib.Structs.Regex.regexMatchAll' or 'GI.GLib.Structs.Regex.regexMatchAllFull', the retrieved-string is not that of a set of parentheses but that of a matched-substring. Substrings are matched in reverse order of length, so-0 is the longest match.--The string is fetched from the string passed to the match function,-so you cannot call this function after freeing the string.--/Since: 2.14/--}-matchInfoFetch ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MatchInfo-    {- ^ /@matchInfo@/: 'GI.GLib.Structs.MatchInfo.MatchInfo' structure -}-    -> Int32-    {- ^ /@matchNum@/: number of the sub expression -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ The matched substring, or 'Nothing' if an error-    occurred. You have to free the string yourself -}-matchInfoFetch matchInfo matchNum = liftIO $ do-    matchInfo' <- unsafeManagedPtrGetPtr matchInfo-    result <- g_match_info_fetch matchInfo' matchNum-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        freeMem result'-        return result''-    touchManagedPtr matchInfo-    return maybeResult--#if ENABLE_OVERLOADING-data MatchInfoFetchMethodInfo-instance (signature ~ (Int32 -> m (Maybe T.Text)), MonadIO m) => O.MethodInfo MatchInfoFetchMethodInfo MatchInfo signature where-    overloadedMethod _ = matchInfoFetch--#endif---- method MatchInfo::fetch_all--- method type : OrdinaryMethod--- Args : [Arg {argCName = "match_info", argType = TInterface (Name {namespace = "GLib", name = "MatchInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMatchInfo structure", 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_match_info_fetch_all" g_match_info_fetch_all :: -    Ptr MatchInfo ->                        -- match_info : TInterface (Name {namespace = "GLib", name = "MatchInfo"})-    IO (Ptr CString)--{- |-Bundles up pointers to each of the matching substrings from a match-and stores them in an array of gchar pointers. The first element in-the returned array is the match number 0, i.e. the entire matched-text.--If a sub pattern didn\'t match anything (e.g. sub pattern 1, matching-\"b\" against \"(a)?b\") then an empty string is inserted.--If the last match was obtained using the DFA algorithm, that is using-'GI.GLib.Structs.Regex.regexMatchAll' or 'GI.GLib.Structs.Regex.regexMatchAllFull', the retrieved-strings are not that matched by sets of parentheses but that of the-matched substring. Substrings are matched in reverse order of length,-so the first one is the longest match.--The strings are fetched from the string passed to the match function,-so you cannot call this function after freeing the string.--/Since: 2.14/--}-matchInfoFetchAll ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MatchInfo-    {- ^ /@matchInfo@/: a 'GI.GLib.Structs.MatchInfo.MatchInfo' structure -}-    -> m [T.Text]-    {- ^ __Returns:__ a 'Nothing'-terminated array of gchar *-    pointers.  It must be freed using 'GI.GLib.Functions.strfreev'. If the previous-    match failed 'Nothing' is returned -}-matchInfoFetchAll matchInfo = liftIO $ do-    matchInfo' <- unsafeManagedPtrGetPtr matchInfo-    result <- g_match_info_fetch_all matchInfo'-    checkUnexpectedReturnNULL "matchInfoFetchAll" result-    result' <- unpackZeroTerminatedUTF8CArray result-    mapZeroTerminatedCArray freeMem result-    freeMem result-    touchManagedPtr matchInfo-    return result'--#if ENABLE_OVERLOADING-data MatchInfoFetchAllMethodInfo-instance (signature ~ (m [T.Text]), MonadIO m) => O.MethodInfo MatchInfoFetchAllMethodInfo MatchInfo signature where-    overloadedMethod _ = matchInfoFetchAll--#endif---- method MatchInfo::fetch_named--- method type : OrdinaryMethod--- Args : [Arg {argCName = "match_info", argType = TInterface (Name {namespace = "GLib", name = "MatchInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GMatchInfo structure", 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 the subexpression", 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_match_info_fetch_named" g_match_info_fetch_named :: -    Ptr MatchInfo ->                        -- match_info : TInterface (Name {namespace = "GLib", name = "MatchInfo"})-    CString ->                              -- name : TBasicType TUTF8-    IO CString--{- |-Retrieves the text matching the capturing parentheses named /@name@/.--If /@name@/ is a valid sub pattern name but it didn\'t match anything-(e.g. sub pattern \"X\", matching \"b\" against \"(?P\<X>a)?b\")-then an empty string is returned.--The string is fetched from the string passed to the match function,-so you cannot call this function after freeing the string.--/Since: 2.14/--}-matchInfoFetchNamed ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MatchInfo-    {- ^ /@matchInfo@/: 'GI.GLib.Structs.MatchInfo.MatchInfo' structure -}-    -> T.Text-    {- ^ /@name@/: name of the subexpression -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ The matched substring, or 'Nothing' if an error-    occurred. You have to free the string yourself -}-matchInfoFetchNamed matchInfo name = liftIO $ do-    matchInfo' <- unsafeManagedPtrGetPtr matchInfo-    name' <- textToCString name-    result <- g_match_info_fetch_named matchInfo' name'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        freeMem result'-        return result''-    touchManagedPtr matchInfo-    freeMem name'-    return maybeResult--#if ENABLE_OVERLOADING-data MatchInfoFetchNamedMethodInfo-instance (signature ~ (T.Text -> m (Maybe T.Text)), MonadIO m) => O.MethodInfo MatchInfoFetchNamedMethodInfo MatchInfo signature where-    overloadedMethod _ = matchInfoFetchNamed--#endif---- method MatchInfo::fetch_named_pos--- method type : OrdinaryMethod--- Args : [Arg {argCName = "match_info", argType = TInterface (Name {namespace = "GLib", name = "MatchInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GMatchInfo structure", 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 the subexpression", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_pos", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to location where to store\n    the start position, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "end_pos", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to location where to store\n    the end position, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "g_match_info_fetch_named_pos" g_match_info_fetch_named_pos :: -    Ptr MatchInfo ->                        -- match_info : TInterface (Name {namespace = "GLib", name = "MatchInfo"})-    CString ->                              -- name : TBasicType TUTF8-    Ptr Int32 ->                            -- start_pos : TBasicType TInt-    Ptr Int32 ->                            -- end_pos : TBasicType TInt-    IO CInt--{- |-Retrieves the position in bytes of the capturing parentheses named /@name@/.--If /@name@/ is a valid sub pattern name but it didn\'t match anything-(e.g. sub pattern \"X\", matching \"b\" against \"(?P\<X>a)?b\")-then /@startPos@/ and /@endPos@/ are set to -1 and 'True' is returned.--/Since: 2.14/--}-matchInfoFetchNamedPos ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MatchInfo-    {- ^ /@matchInfo@/: 'GI.GLib.Structs.MatchInfo.MatchInfo' structure -}-    -> T.Text-    {- ^ /@name@/: name of the subexpression -}-    -> m ((Bool, Int32, Int32))-    {- ^ __Returns:__ 'True' if the position was fetched, 'False' otherwise.-    If the position cannot be fetched, /@startPos@/ and /@endPos@/-    are left unchanged. -}-matchInfoFetchNamedPos matchInfo name = liftIO $ do-    matchInfo' <- unsafeManagedPtrGetPtr matchInfo-    name' <- textToCString name-    startPos <- allocMem :: IO (Ptr Int32)-    endPos <- allocMem :: IO (Ptr Int32)-    result <- g_match_info_fetch_named_pos matchInfo' name' startPos endPos-    let result' = (/= 0) result-    startPos' <- peek startPos-    endPos' <- peek endPos-    touchManagedPtr matchInfo-    freeMem name'-    freeMem startPos-    freeMem endPos-    return (result', startPos', endPos')--#if ENABLE_OVERLOADING-data MatchInfoFetchNamedPosMethodInfo-instance (signature ~ (T.Text -> m ((Bool, Int32, Int32))), MonadIO m) => O.MethodInfo MatchInfoFetchNamedPosMethodInfo MatchInfo signature where-    overloadedMethod _ = matchInfoFetchNamedPos--#endif---- method MatchInfo::fetch_pos--- method type : OrdinaryMethod--- Args : [Arg {argCName = "match_info", argType = TInterface (Name {namespace = "GLib", name = "MatchInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GMatchInfo structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_num", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of the sub expression", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_pos", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to location where to store\n    the start position, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "end_pos", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to location where to store\n    the end position, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "g_match_info_fetch_pos" g_match_info_fetch_pos :: -    Ptr MatchInfo ->                        -- match_info : TInterface (Name {namespace = "GLib", name = "MatchInfo"})-    Int32 ->                                -- match_num : TBasicType TInt-    Ptr Int32 ->                            -- start_pos : TBasicType TInt-    Ptr Int32 ->                            -- end_pos : TBasicType TInt-    IO CInt--{- |-Retrieves the position in bytes of the /@matchNum@/\'th capturing-parentheses. 0 is the full text of the match, 1 is the first-paren set, 2 the second, and so on.--If /@matchNum@/ is a valid sub pattern but it didn\'t match anything-(e.g. sub pattern 1, matching \"b\" against \"(a)?b\") then /@startPos@/-and /@endPos@/ are set to -1 and 'True' is returned.--If the match was obtained using the DFA algorithm, that is using-'GI.GLib.Structs.Regex.regexMatchAll' or 'GI.GLib.Structs.Regex.regexMatchAllFull', the retrieved-position is not that of a set of parentheses but that of a matched-substring. Substrings are matched in reverse order of length, so-0 is the longest match.--/Since: 2.14/--}-matchInfoFetchPos ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MatchInfo-    {- ^ /@matchInfo@/: 'GI.GLib.Structs.MatchInfo.MatchInfo' structure -}-    -> Int32-    {- ^ /@matchNum@/: number of the sub expression -}-    -> m ((Bool, Int32, Int32))-    {- ^ __Returns:__ 'True' if the position was fetched, 'False' otherwise. If-  the position cannot be fetched, /@startPos@/ and /@endPos@/ are left-  unchanged -}-matchInfoFetchPos matchInfo matchNum = liftIO $ do-    matchInfo' <- unsafeManagedPtrGetPtr matchInfo-    startPos <- allocMem :: IO (Ptr Int32)-    endPos <- allocMem :: IO (Ptr Int32)-    result <- g_match_info_fetch_pos matchInfo' matchNum startPos endPos-    let result' = (/= 0) result-    startPos' <- peek startPos-    endPos' <- peek endPos-    touchManagedPtr matchInfo-    freeMem startPos-    freeMem endPos-    return (result', startPos', endPos')--#if ENABLE_OVERLOADING-data MatchInfoFetchPosMethodInfo-instance (signature ~ (Int32 -> m ((Bool, Int32, Int32))), MonadIO m) => O.MethodInfo MatchInfoFetchPosMethodInfo MatchInfo signature where-    overloadedMethod _ = matchInfoFetchPos--#endif---- method MatchInfo::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "match_info", argType = TInterface (Name {namespace = "GLib", name = "MatchInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMatchInfo, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_match_info_free" g_match_info_free :: -    Ptr MatchInfo ->                        -- match_info : TInterface (Name {namespace = "GLib", name = "MatchInfo"})-    IO ()--{- |-If /@matchInfo@/ is not 'Nothing', calls 'GI.GLib.Structs.MatchInfo.matchInfoUnref'; otherwise does-nothing.--/Since: 2.14/--}-matchInfoFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MatchInfo-    {- ^ /@matchInfo@/: a 'GI.GLib.Structs.MatchInfo.MatchInfo', or 'Nothing' -}-    -> m ()-matchInfoFree matchInfo = liftIO $ do-    matchInfo' <- unsafeManagedPtrGetPtr matchInfo-    g_match_info_free matchInfo'-    touchManagedPtr matchInfo-    return ()--#if ENABLE_OVERLOADING-data MatchInfoFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo MatchInfoFreeMethodInfo MatchInfo signature where-    overloadedMethod _ = matchInfoFree--#endif---- method MatchInfo::get_match_count--- method type : OrdinaryMethod--- Args : [Arg {argCName = "match_info", argType = TInterface (Name {namespace = "GLib", name = "MatchInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMatchInfo structure", 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_match_info_get_match_count" g_match_info_get_match_count :: -    Ptr MatchInfo ->                        -- match_info : TInterface (Name {namespace = "GLib", name = "MatchInfo"})-    IO Int32--{- |-Retrieves the number of matched substrings (including substring 0,-that is the whole matched text), so 1 is returned if the pattern-has no substrings in it and 0 is returned if the match failed.--If the last match was obtained using the DFA algorithm, that is-using 'GI.GLib.Structs.Regex.regexMatchAll' or 'GI.GLib.Structs.Regex.regexMatchAllFull', the retrieved-count is not that of the number of capturing parentheses but that of-the number of matched substrings.--/Since: 2.14/--}-matchInfoGetMatchCount ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MatchInfo-    {- ^ /@matchInfo@/: a 'GI.GLib.Structs.MatchInfo.MatchInfo' structure -}-    -> m Int32-    {- ^ __Returns:__ Number of matched substrings, or -1 if an error occurred -}-matchInfoGetMatchCount matchInfo = liftIO $ do-    matchInfo' <- unsafeManagedPtrGetPtr matchInfo-    result <- g_match_info_get_match_count matchInfo'-    touchManagedPtr matchInfo-    return result--#if ENABLE_OVERLOADING-data MatchInfoGetMatchCountMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo MatchInfoGetMatchCountMethodInfo MatchInfo signature where-    overloadedMethod _ = matchInfoGetMatchCount--#endif---- method MatchInfo::get_regex--- method type : OrdinaryMethod--- Args : [Arg {argCName = "match_info", argType = TInterface (Name {namespace = "GLib", name = "MatchInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMatchInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Regex"}))--- throws : False--- Skip return : False--foreign import ccall "g_match_info_get_regex" g_match_info_get_regex :: -    Ptr MatchInfo ->                        -- match_info : TInterface (Name {namespace = "GLib", name = "MatchInfo"})-    IO (Ptr GLib.Regex.Regex)--{- |-Returns 'GI.GLib.Structs.Regex.Regex' object used in /@matchInfo@/. It belongs to Glib-and must not be freed. Use 'GI.GLib.Structs.Regex.regexRef' if you need to keep it-after you free /@matchInfo@/ object.--/Since: 2.14/--}-matchInfoGetRegex ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MatchInfo-    {- ^ /@matchInfo@/: a 'GI.GLib.Structs.MatchInfo.MatchInfo' -}-    -> m GLib.Regex.Regex-    {- ^ __Returns:__ 'GI.GLib.Structs.Regex.Regex' object used in /@matchInfo@/ -}-matchInfoGetRegex matchInfo = liftIO $ do-    matchInfo' <- unsafeManagedPtrGetPtr matchInfo-    result <- g_match_info_get_regex matchInfo'-    checkUnexpectedReturnNULL "matchInfoGetRegex" result-    result' <- (wrapBoxed GLib.Regex.Regex) result-    touchManagedPtr matchInfo-    return result'--#if ENABLE_OVERLOADING-data MatchInfoGetRegexMethodInfo-instance (signature ~ (m GLib.Regex.Regex), MonadIO m) => O.MethodInfo MatchInfoGetRegexMethodInfo MatchInfo signature where-    overloadedMethod _ = matchInfoGetRegex--#endif---- method MatchInfo::get_string--- method type : OrdinaryMethod--- Args : [Arg {argCName = "match_info", argType = TInterface (Name {namespace = "GLib", name = "MatchInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMatchInfo", 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_match_info_get_string" g_match_info_get_string :: -    Ptr MatchInfo ->                        -- match_info : TInterface (Name {namespace = "GLib", name = "MatchInfo"})-    IO CString--{- |-Returns the string searched with /@matchInfo@/. This is the-string passed to 'GI.GLib.Structs.Regex.regexMatch' or 'GI.GLib.Structs.Regex.regexReplace' so-you may not free it before calling this function.--/Since: 2.14/--}-matchInfoGetString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MatchInfo-    {- ^ /@matchInfo@/: a 'GI.GLib.Structs.MatchInfo.MatchInfo' -}-    -> m T.Text-    {- ^ __Returns:__ the string searched with /@matchInfo@/ -}-matchInfoGetString matchInfo = liftIO $ do-    matchInfo' <- unsafeManagedPtrGetPtr matchInfo-    result <- g_match_info_get_string matchInfo'-    checkUnexpectedReturnNULL "matchInfoGetString" result-    result' <- cstringToText result-    touchManagedPtr matchInfo-    return result'--#if ENABLE_OVERLOADING-data MatchInfoGetStringMethodInfo-instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo MatchInfoGetStringMethodInfo MatchInfo signature where-    overloadedMethod _ = matchInfoGetString--#endif---- method MatchInfo::is_partial_match--- method type : OrdinaryMethod--- Args : [Arg {argCName = "match_info", argType = TInterface (Name {namespace = "GLib", name = "MatchInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMatchInfo structure", 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_match_info_is_partial_match" g_match_info_is_partial_match :: -    Ptr MatchInfo ->                        -- match_info : TInterface (Name {namespace = "GLib", name = "MatchInfo"})-    IO CInt--{- |-Usually if the string passed to g_regex_match*() matches as far as-it goes, but is too short to match the entire pattern, 'False' is-returned. There are circumstances where it might be helpful to-distinguish this case from other cases in which there is no match.--Consider, for example, an application where a human is required to-type in data for a field with specific formatting requirements. An-example might be a date in the form ddmmmyy, defined by the pattern-\"^\\d?\\d(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)\\d\\d$\".-If the application sees the user’s keystrokes one by one, and can-check that what has been typed so far is potentially valid, it is-able to raise an error as soon as a mistake is made.--GRegex supports the concept of partial matching by means of the-@/G_REGEX_MATCH_PARTIAL_SOFT/@ and @/G_REGEX_MATCH_PARTIAL_HARD/@ flags.-When they are used, the return code for-'GI.GLib.Structs.Regex.regexMatch' or 'GI.GLib.Structs.Regex.regexMatchFull' is, as usual, 'True'-for a complete match, 'False' otherwise. But, when these functions-return 'False', you can check if the match was partial calling-'GI.GLib.Structs.MatchInfo.matchInfoIsPartialMatch'.--The difference between @/G_REGEX_MATCH_PARTIAL_SOFT/@ and-@/G_REGEX_MATCH_PARTIAL_HARD/@ is that when a partial match is encountered-with @/G_REGEX_MATCH_PARTIAL_SOFT/@, matching continues to search for a-possible complete match, while with @/G_REGEX_MATCH_PARTIAL_HARD/@ matching-stops at the partial match.-When both @/G_REGEX_MATCH_PARTIAL_SOFT/@ and @/G_REGEX_MATCH_PARTIAL_HARD/@-are set, the latter takes precedence.--There were formerly some restrictions on the pattern for partial matching.-The restrictions no longer apply.--See pcrepartial(3) for more information on partial matching.--/Since: 2.14/--}-matchInfoIsPartialMatch ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MatchInfo-    {- ^ /@matchInfo@/: a 'GI.GLib.Structs.MatchInfo.MatchInfo' structure -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the match was partial, 'False' otherwise -}-matchInfoIsPartialMatch matchInfo = liftIO $ do-    matchInfo' <- unsafeManagedPtrGetPtr matchInfo-    result <- g_match_info_is_partial_match matchInfo'-    let result' = (/= 0) result-    touchManagedPtr matchInfo-    return result'--#if ENABLE_OVERLOADING-data MatchInfoIsPartialMatchMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo MatchInfoIsPartialMatchMethodInfo MatchInfo signature where-    overloadedMethod _ = matchInfoIsPartialMatch--#endif---- method MatchInfo::matches--- method type : OrdinaryMethod--- Args : [Arg {argCName = "match_info", argType = TInterface (Name {namespace = "GLib", name = "MatchInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMatchInfo structure", 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_match_info_matches" g_match_info_matches :: -    Ptr MatchInfo ->                        -- match_info : TInterface (Name {namespace = "GLib", name = "MatchInfo"})-    IO CInt--{- |-Returns whether the previous match operation succeeded.--/Since: 2.14/--}-matchInfoMatches ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MatchInfo-    {- ^ /@matchInfo@/: a 'GI.GLib.Structs.MatchInfo.MatchInfo' structure -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the previous match operation succeeded,-  'False' otherwise -}-matchInfoMatches matchInfo = liftIO $ do-    matchInfo' <- unsafeManagedPtrGetPtr matchInfo-    result <- g_match_info_matches matchInfo'-    let result' = (/= 0) result-    touchManagedPtr matchInfo-    return result'--#if ENABLE_OVERLOADING-data MatchInfoMatchesMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo MatchInfoMatchesMethodInfo MatchInfo signature where-    overloadedMethod _ = matchInfoMatches--#endif---- method MatchInfo::next--- method type : OrdinaryMethod--- Args : [Arg {argCName = "match_info", argType = TInterface (Name {namespace = "GLib", name = "MatchInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMatchInfo structure", 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_match_info_next" g_match_info_next :: -    Ptr MatchInfo ->                        -- match_info : TInterface (Name {namespace = "GLib", name = "MatchInfo"})-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Scans for the next match using the same parameters of the previous-call to 'GI.GLib.Structs.Regex.regexMatchFull' or 'GI.GLib.Structs.Regex.regexMatch' that returned-/@matchInfo@/.--The match is done on the string passed to the match function, so you-cannot free it before calling this function.--/Since: 2.14/--}-matchInfoNext ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MatchInfo-    {- ^ /@matchInfo@/: a 'GI.GLib.Structs.MatchInfo.MatchInfo' structure -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-matchInfoNext matchInfo = liftIO $ do-    matchInfo' <- unsafeManagedPtrGetPtr matchInfo-    onException (do-        _ <- propagateGError $ g_match_info_next matchInfo'-        touchManagedPtr matchInfo-        return ()-     ) (do-        return ()-     )--#if ENABLE_OVERLOADING-data MatchInfoNextMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo MatchInfoNextMethodInfo MatchInfo signature where-    overloadedMethod _ = matchInfoNext--#endif---- method MatchInfo::ref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "match_info", argType = TInterface (Name {namespace = "GLib", name = "MatchInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMatchInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "MatchInfo"}))--- throws : False--- Skip return : False--foreign import ccall "g_match_info_ref" g_match_info_ref :: -    Ptr MatchInfo ->                        -- match_info : TInterface (Name {namespace = "GLib", name = "MatchInfo"})-    IO (Ptr MatchInfo)--{- |-Increases reference count of /@matchInfo@/ by 1.--/Since: 2.30/--}-matchInfoRef ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MatchInfo-    {- ^ /@matchInfo@/: a 'GI.GLib.Structs.MatchInfo.MatchInfo' -}-    -> m MatchInfo-    {- ^ __Returns:__ /@matchInfo@/ -}-matchInfoRef matchInfo = liftIO $ do-    matchInfo' <- unsafeManagedPtrGetPtr matchInfo-    result <- g_match_info_ref matchInfo'-    checkUnexpectedReturnNULL "matchInfoRef" result-    result' <- (wrapBoxed MatchInfo) result-    touchManagedPtr matchInfo-    return result'--#if ENABLE_OVERLOADING-data MatchInfoRefMethodInfo-instance (signature ~ (m MatchInfo), MonadIO m) => O.MethodInfo MatchInfoRefMethodInfo MatchInfo signature where-    overloadedMethod _ = matchInfoRef--#endif---- method MatchInfo::unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "match_info", argType = TInterface (Name {namespace = "GLib", name = "MatchInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMatchInfo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_match_info_unref" g_match_info_unref :: -    Ptr MatchInfo ->                        -- match_info : TInterface (Name {namespace = "GLib", name = "MatchInfo"})-    IO ()--{- |-Decreases reference count of /@matchInfo@/ by 1. When reference count drops-to zero, it frees all the memory associated with the match_info structure.--/Since: 2.30/--}-matchInfoUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    MatchInfo-    {- ^ /@matchInfo@/: a 'GI.GLib.Structs.MatchInfo.MatchInfo' -}-    -> m ()-matchInfoUnref matchInfo = liftIO $ do-    matchInfo' <- unsafeManagedPtrGetPtr matchInfo-    g_match_info_unref matchInfo'-    touchManagedPtr matchInfo-    return ()--#if ENABLE_OVERLOADING-data MatchInfoUnrefMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo MatchInfoUnrefMethodInfo MatchInfo signature where-    overloadedMethod _ = matchInfoUnref--#endif--#if ENABLE_OVERLOADING-type family ResolveMatchInfoMethod (t :: Symbol) (o :: *) :: * where-    ResolveMatchInfoMethod "expandReferences" o = MatchInfoExpandReferencesMethodInfo-    ResolveMatchInfoMethod "fetch" o = MatchInfoFetchMethodInfo-    ResolveMatchInfoMethod "fetchAll" o = MatchInfoFetchAllMethodInfo-    ResolveMatchInfoMethod "fetchNamed" o = MatchInfoFetchNamedMethodInfo-    ResolveMatchInfoMethod "fetchNamedPos" o = MatchInfoFetchNamedPosMethodInfo-    ResolveMatchInfoMethod "fetchPos" o = MatchInfoFetchPosMethodInfo-    ResolveMatchInfoMethod "free" o = MatchInfoFreeMethodInfo-    ResolveMatchInfoMethod "isPartialMatch" o = MatchInfoIsPartialMatchMethodInfo-    ResolveMatchInfoMethod "matches" o = MatchInfoMatchesMethodInfo-    ResolveMatchInfoMethod "next" o = MatchInfoNextMethodInfo-    ResolveMatchInfoMethod "ref" o = MatchInfoRefMethodInfo-    ResolveMatchInfoMethod "unref" o = MatchInfoUnrefMethodInfo-    ResolveMatchInfoMethod "getMatchCount" o = MatchInfoGetMatchCountMethodInfo-    ResolveMatchInfoMethod "getRegex" o = MatchInfoGetRegexMethodInfo-    ResolveMatchInfoMethod "getString" o = MatchInfoGetStringMethodInfo-    ResolveMatchInfoMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveMatchInfoMethod t MatchInfo, O.MethodInfo info MatchInfo p) => OL.IsLabel t (MatchInfo -> 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/GLib/Structs/MatchInfo.hs-boot
@@ -1,71 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.MatchInfo 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 MatchInfo = MatchInfo (ManagedPtr MatchInfo)-instance BoxedObject MatchInfo where-#if ENABLE_OVERLOADING-data MatchInfoExpandReferencesMethodInfo-#endif-#if ENABLE_OVERLOADING-data MatchInfoFetchMethodInfo-#endif-#if ENABLE_OVERLOADING-data MatchInfoFetchAllMethodInfo-#endif-#if ENABLE_OVERLOADING-data MatchInfoFetchNamedMethodInfo-#endif-#if ENABLE_OVERLOADING-data MatchInfoFetchNamedPosMethodInfo-#endif-#if ENABLE_OVERLOADING-data MatchInfoFetchPosMethodInfo-#endif-#if ENABLE_OVERLOADING-data MatchInfoFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data MatchInfoGetMatchCountMethodInfo-#endif-#if ENABLE_OVERLOADING-data MatchInfoGetRegexMethodInfo-#endif-#if ENABLE_OVERLOADING-data MatchInfoGetStringMethodInfo-#endif-#if ENABLE_OVERLOADING-data MatchInfoIsPartialMatchMethodInfo-#endif-#if ENABLE_OVERLOADING-data MatchInfoMatchesMethodInfo-#endif-#if ENABLE_OVERLOADING-data MatchInfoNextMethodInfo-#endif-#if ENABLE_OVERLOADING-data MatchInfoRefMethodInfo-#endif-#if ENABLE_OVERLOADING-data MatchInfoUnrefMethodInfo-#endif
− GI/GLib/Structs/MemVTable.hs
@@ -1,522 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A set of functions used to perform memory allocation. The same 'GI.GLib.Structs.MemVTable.MemVTable' must-be used for all allocations in the same program; a call to 'GI.GLib.Functions.memSetVtable',-if it exists, should be prior to any use of GLib.--This functions related to this has been deprecated in 2.46, and no longer work.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.MemVTable-    ( ---- * Exported types-    MemVTable(..)                           ,-    newZeroMemVTable                        ,-    noMemVTable                             ,--- -- * Properties--- ** calloc #attr:calloc#-{- | /No description available in the introspection data./--}-    clearMemVTableCalloc                    ,-    getMemVTableCalloc                      ,-#if ENABLE_OVERLOADING-    memVTable_calloc                        ,-#endif-    setMemVTableCalloc                      ,----- ** free #attr:free#-{- | /No description available in the introspection data./--}-    clearMemVTableFree                      ,-    getMemVTableFree                        ,-#if ENABLE_OVERLOADING-    memVTable_free                          ,-#endif-    setMemVTableFree                        ,----- ** malloc #attr:malloc#-{- | /No description available in the introspection data./--}-    clearMemVTableMalloc                    ,-    getMemVTableMalloc                      ,-#if ENABLE_OVERLOADING-    memVTable_malloc                        ,-#endif-    setMemVTableMalloc                      ,----- ** realloc #attr:realloc#-{- | /No description available in the introspection data./--}-    clearMemVTableRealloc                   ,-    getMemVTableRealloc                     ,-#if ENABLE_OVERLOADING-    memVTable_realloc                       ,-#endif-    setMemVTableRealloc                     ,----- ** tryMalloc #attr:tryMalloc#-{- | /No description available in the introspection data./--}-    clearMemVTableTryMalloc                 ,-    getMemVTableTryMalloc                   ,-#if ENABLE_OVERLOADING-    memVTable_tryMalloc                     ,-#endif-    setMemVTableTryMalloc                   ,----- ** tryRealloc #attr:tryRealloc#-{- | /No description available in the introspection data./--}-    clearMemVTableTryRealloc                ,-    getMemVTableTryRealloc                  ,-#if ENABLE_OVERLOADING-    memVTable_tryRealloc                    ,-#endif-    setMemVTableTryRealloc                  ,-----    ) 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 qualified GI.GLib.Callbacks as GLib.Callbacks---- | Memory-managed wrapper type.-newtype MemVTable = MemVTable (ManagedPtr MemVTable)-instance WrappedPtr MemVTable where-    wrappedPtrCalloc = callocBytes 48-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 48 >=> wrapPtr MemVTable)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `MemVTable` struct initialized to zero.-newZeroMemVTable :: MonadIO m => m MemVTable-newZeroMemVTable = liftIO $ wrappedPtrCalloc >>= wrapPtr MemVTable--instance tag ~ 'AttrSet => Constructible MemVTable tag where-    new _ attrs = do-        o <- newZeroMemVTable-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `MemVTable`.-noMemVTable :: Maybe MemVTable-noMemVTable = Nothing--{- |-Get the value of the “@malloc@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' memVTable #malloc-@--}-getMemVTableMalloc :: MonadIO m => MemVTable -> m (Maybe GLib.Callbacks.MemVTableMallocFieldCallback)-getMemVTableMalloc s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (FunPtr GLib.Callbacks.C_MemVTableMallocFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_MemVTableMallocFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@malloc@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' memVTable [ #malloc 'Data.GI.Base.Attributes.:=' value ]-@--}-setMemVTableMalloc :: MonadIO m => MemVTable -> FunPtr GLib.Callbacks.C_MemVTableMallocFieldCallback -> m ()-setMemVTableMalloc s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: FunPtr GLib.Callbacks.C_MemVTableMallocFieldCallback)--{- |-Set the value of the “@malloc@” 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' #malloc-@--}-clearMemVTableMalloc :: MonadIO m => MemVTable -> m ()-clearMemVTableMalloc s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_MemVTableMallocFieldCallback)--#if ENABLE_OVERLOADING-data MemVTableMallocFieldInfo-instance AttrInfo MemVTableMallocFieldInfo where-    type AttrAllowedOps MemVTableMallocFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint MemVTableMallocFieldInfo = (~) (FunPtr GLib.Callbacks.C_MemVTableMallocFieldCallback)-    type AttrBaseTypeConstraint MemVTableMallocFieldInfo = (~) MemVTable-    type AttrGetType MemVTableMallocFieldInfo = Maybe GLib.Callbacks.MemVTableMallocFieldCallback-    type AttrLabel MemVTableMallocFieldInfo = "malloc"-    type AttrOrigin MemVTableMallocFieldInfo = MemVTable-    attrGet _ = getMemVTableMalloc-    attrSet _ = setMemVTableMalloc-    attrConstruct = undefined-    attrClear _ = clearMemVTableMalloc--memVTable_malloc :: AttrLabelProxy "malloc"-memVTable_malloc = AttrLabelProxy--#endif---{- |-Get the value of the “@realloc@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' memVTable #realloc-@--}-getMemVTableRealloc :: MonadIO m => MemVTable -> m (Maybe GLib.Callbacks.MemVTableReallocFieldCallback)-getMemVTableRealloc s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO (FunPtr GLib.Callbacks.C_MemVTableReallocFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_MemVTableReallocFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@realloc@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' memVTable [ #realloc 'Data.GI.Base.Attributes.:=' value ]-@--}-setMemVTableRealloc :: MonadIO m => MemVTable -> FunPtr GLib.Callbacks.C_MemVTableReallocFieldCallback -> m ()-setMemVTableRealloc s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: FunPtr GLib.Callbacks.C_MemVTableReallocFieldCallback)--{- |-Set the value of the “@realloc@” 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' #realloc-@--}-clearMemVTableRealloc :: MonadIO m => MemVTable -> m ()-clearMemVTableRealloc s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_MemVTableReallocFieldCallback)--#if ENABLE_OVERLOADING-data MemVTableReallocFieldInfo-instance AttrInfo MemVTableReallocFieldInfo where-    type AttrAllowedOps MemVTableReallocFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint MemVTableReallocFieldInfo = (~) (FunPtr GLib.Callbacks.C_MemVTableReallocFieldCallback)-    type AttrBaseTypeConstraint MemVTableReallocFieldInfo = (~) MemVTable-    type AttrGetType MemVTableReallocFieldInfo = Maybe GLib.Callbacks.MemVTableReallocFieldCallback-    type AttrLabel MemVTableReallocFieldInfo = "realloc"-    type AttrOrigin MemVTableReallocFieldInfo = MemVTable-    attrGet _ = getMemVTableRealloc-    attrSet _ = setMemVTableRealloc-    attrConstruct = undefined-    attrClear _ = clearMemVTableRealloc--memVTable_realloc :: AttrLabelProxy "realloc"-memVTable_realloc = AttrLabelProxy--#endif---{- |-Get the value of the “@free@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' memVTable #free-@--}-getMemVTableFree :: MonadIO m => MemVTable -> m (Maybe GLib.Callbacks.MemVTableFreeFieldCallback)-getMemVTableFree s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO (FunPtr GLib.Callbacks.C_MemVTableFreeFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_MemVTableFreeFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@free@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' memVTable [ #free 'Data.GI.Base.Attributes.:=' value ]-@--}-setMemVTableFree :: MonadIO m => MemVTable -> FunPtr GLib.Callbacks.C_MemVTableFreeFieldCallback -> m ()-setMemVTableFree s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: FunPtr GLib.Callbacks.C_MemVTableFreeFieldCallback)--{- |-Set the value of the “@free@” 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' #free-@--}-clearMemVTableFree :: MonadIO m => MemVTable -> m ()-clearMemVTableFree s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_MemVTableFreeFieldCallback)--#if ENABLE_OVERLOADING-data MemVTableFreeFieldInfo-instance AttrInfo MemVTableFreeFieldInfo where-    type AttrAllowedOps MemVTableFreeFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint MemVTableFreeFieldInfo = (~) (FunPtr GLib.Callbacks.C_MemVTableFreeFieldCallback)-    type AttrBaseTypeConstraint MemVTableFreeFieldInfo = (~) MemVTable-    type AttrGetType MemVTableFreeFieldInfo = Maybe GLib.Callbacks.MemVTableFreeFieldCallback-    type AttrLabel MemVTableFreeFieldInfo = "free"-    type AttrOrigin MemVTableFreeFieldInfo = MemVTable-    attrGet _ = getMemVTableFree-    attrSet _ = setMemVTableFree-    attrConstruct = undefined-    attrClear _ = clearMemVTableFree--memVTable_free :: AttrLabelProxy "free"-memVTable_free = AttrLabelProxy--#endif---{- |-Get the value of the “@calloc@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' memVTable #calloc-@--}-getMemVTableCalloc :: MonadIO m => MemVTable -> m (Maybe GLib.Callbacks.MemVTableCallocFieldCallback)-getMemVTableCalloc s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO (FunPtr GLib.Callbacks.C_MemVTableCallocFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_MemVTableCallocFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@calloc@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' memVTable [ #calloc 'Data.GI.Base.Attributes.:=' value ]-@--}-setMemVTableCalloc :: MonadIO m => MemVTable -> FunPtr GLib.Callbacks.C_MemVTableCallocFieldCallback -> m ()-setMemVTableCalloc s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (val :: FunPtr GLib.Callbacks.C_MemVTableCallocFieldCallback)--{- |-Set the value of the “@calloc@” 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' #calloc-@--}-clearMemVTableCalloc :: MonadIO m => MemVTable -> m ()-clearMemVTableCalloc s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_MemVTableCallocFieldCallback)--#if ENABLE_OVERLOADING-data MemVTableCallocFieldInfo-instance AttrInfo MemVTableCallocFieldInfo where-    type AttrAllowedOps MemVTableCallocFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint MemVTableCallocFieldInfo = (~) (FunPtr GLib.Callbacks.C_MemVTableCallocFieldCallback)-    type AttrBaseTypeConstraint MemVTableCallocFieldInfo = (~) MemVTable-    type AttrGetType MemVTableCallocFieldInfo = Maybe GLib.Callbacks.MemVTableCallocFieldCallback-    type AttrLabel MemVTableCallocFieldInfo = "calloc"-    type AttrOrigin MemVTableCallocFieldInfo = MemVTable-    attrGet _ = getMemVTableCalloc-    attrSet _ = setMemVTableCalloc-    attrConstruct = undefined-    attrClear _ = clearMemVTableCalloc--memVTable_calloc :: AttrLabelProxy "calloc"-memVTable_calloc = AttrLabelProxy--#endif---{- |-Get the value of the “@try_malloc@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' memVTable #tryMalloc-@--}-getMemVTableTryMalloc :: MonadIO m => MemVTable -> m (Maybe GLib.Callbacks.MemVTableTryMallocFieldCallback)-getMemVTableTryMalloc s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO (FunPtr GLib.Callbacks.C_MemVTableTryMallocFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_MemVTableTryMallocFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@try_malloc@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' memVTable [ #tryMalloc 'Data.GI.Base.Attributes.:=' value ]-@--}-setMemVTableTryMalloc :: MonadIO m => MemVTable -> FunPtr GLib.Callbacks.C_MemVTableTryMallocFieldCallback -> m ()-setMemVTableTryMalloc s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (val :: FunPtr GLib.Callbacks.C_MemVTableTryMallocFieldCallback)--{- |-Set the value of the “@try_malloc@” 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' #tryMalloc-@--}-clearMemVTableTryMalloc :: MonadIO m => MemVTable -> m ()-clearMemVTableTryMalloc s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_MemVTableTryMallocFieldCallback)--#if ENABLE_OVERLOADING-data MemVTableTryMallocFieldInfo-instance AttrInfo MemVTableTryMallocFieldInfo where-    type AttrAllowedOps MemVTableTryMallocFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint MemVTableTryMallocFieldInfo = (~) (FunPtr GLib.Callbacks.C_MemVTableTryMallocFieldCallback)-    type AttrBaseTypeConstraint MemVTableTryMallocFieldInfo = (~) MemVTable-    type AttrGetType MemVTableTryMallocFieldInfo = Maybe GLib.Callbacks.MemVTableTryMallocFieldCallback-    type AttrLabel MemVTableTryMallocFieldInfo = "try_malloc"-    type AttrOrigin MemVTableTryMallocFieldInfo = MemVTable-    attrGet _ = getMemVTableTryMalloc-    attrSet _ = setMemVTableTryMalloc-    attrConstruct = undefined-    attrClear _ = clearMemVTableTryMalloc--memVTable_tryMalloc :: AttrLabelProxy "tryMalloc"-memVTable_tryMalloc = AttrLabelProxy--#endif---{- |-Get the value of the “@try_realloc@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' memVTable #tryRealloc-@--}-getMemVTableTryRealloc :: MonadIO m => MemVTable -> m (Maybe GLib.Callbacks.MemVTableTryReallocFieldCallback)-getMemVTableTryRealloc s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 40) :: IO (FunPtr GLib.Callbacks.C_MemVTableTryReallocFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_MemVTableTryReallocFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@try_realloc@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' memVTable [ #tryRealloc 'Data.GI.Base.Attributes.:=' value ]-@--}-setMemVTableTryRealloc :: MonadIO m => MemVTable -> FunPtr GLib.Callbacks.C_MemVTableTryReallocFieldCallback -> m ()-setMemVTableTryRealloc s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 40) (val :: FunPtr GLib.Callbacks.C_MemVTableTryReallocFieldCallback)--{- |-Set the value of the “@try_realloc@” 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' #tryRealloc-@--}-clearMemVTableTryRealloc :: MonadIO m => MemVTable -> m ()-clearMemVTableTryRealloc s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 40) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_MemVTableTryReallocFieldCallback)--#if ENABLE_OVERLOADING-data MemVTableTryReallocFieldInfo-instance AttrInfo MemVTableTryReallocFieldInfo where-    type AttrAllowedOps MemVTableTryReallocFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint MemVTableTryReallocFieldInfo = (~) (FunPtr GLib.Callbacks.C_MemVTableTryReallocFieldCallback)-    type AttrBaseTypeConstraint MemVTableTryReallocFieldInfo = (~) MemVTable-    type AttrGetType MemVTableTryReallocFieldInfo = Maybe GLib.Callbacks.MemVTableTryReallocFieldCallback-    type AttrLabel MemVTableTryReallocFieldInfo = "try_realloc"-    type AttrOrigin MemVTableTryReallocFieldInfo = MemVTable-    attrGet _ = getMemVTableTryRealloc-    attrSet _ = setMemVTableTryRealloc-    attrConstruct = undefined-    attrClear _ = clearMemVTableTryRealloc--memVTable_tryRealloc :: AttrLabelProxy "tryRealloc"-memVTable_tryRealloc = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList MemVTable-type instance O.AttributeList MemVTable = MemVTableAttributeList-type MemVTableAttributeList = ('[ '("malloc", MemVTableMallocFieldInfo), '("realloc", MemVTableReallocFieldInfo), '("free", MemVTableFreeFieldInfo), '("calloc", MemVTableCallocFieldInfo), '("tryMalloc", MemVTableTryMallocFieldInfo), '("tryRealloc", MemVTableTryReallocFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveMemVTableMethod (t :: Symbol) (o :: *) :: * where-    ResolveMemVTableMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveMemVTableMethod t MemVTable, O.MethodInfo info MemVTable p) => OL.IsLabel t (MemVTable -> 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/GLib/Structs/MemVTable.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.MemVTable 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 MemVTable = MemVTable (ManagedPtr MemVTable)-instance WrappedPtr MemVTable where
− GI/GLib/Structs/Node.hs
@@ -1,912 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The 'GI.GLib.Structs.Node.Node' struct represents one node in a [n-ary tree][glib-N-ary-Trees].--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.Node-    ( ---- * Exported types-    Node(..)                                ,-    newZeroNode                             ,-    noNode                                  ,--- -- * Methods--- ** childIndex #method:childIndex#--#if ENABLE_OVERLOADING-    NodeChildIndexMethodInfo                ,-#endif-    nodeChildIndex                          ,----- ** childPosition #method:childPosition#--#if ENABLE_OVERLOADING-    NodeChildPositionMethodInfo             ,-#endif-    nodeChildPosition                       ,----- ** depth #method:depth#--#if ENABLE_OVERLOADING-    NodeDepthMethodInfo                     ,-#endif-    nodeDepth                               ,----- ** destroy #method:destroy#--#if ENABLE_OVERLOADING-    NodeDestroyMethodInfo                   ,-#endif-    nodeDestroy                             ,----- ** isAncestor #method:isAncestor#--#if ENABLE_OVERLOADING-    NodeIsAncestorMethodInfo                ,-#endif-    nodeIsAncestor                          ,----- ** maxHeight #method:maxHeight#--#if ENABLE_OVERLOADING-    NodeMaxHeightMethodInfo                 ,-#endif-    nodeMaxHeight                           ,----- ** nChildren #method:nChildren#--#if ENABLE_OVERLOADING-    NodeNChildrenMethodInfo                 ,-#endif-    nodeNChildren                           ,----- ** nNodes #method:nNodes#--#if ENABLE_OVERLOADING-    NodeNNodesMethodInfo                    ,-#endif-    nodeNNodes                              ,----- ** reverseChildren #method:reverseChildren#--#if ENABLE_OVERLOADING-    NodeReverseChildrenMethodInfo           ,-#endif-    nodeReverseChildren                     ,----- ** unlink #method:unlink#--#if ENABLE_OVERLOADING-    NodeUnlinkMethodInfo                    ,-#endif-    nodeUnlink                              ,----- -- * Properties--- ** children #attr:children#-{- | points to the first child of the 'GI.GLib.Structs.Node.Node'.  The other-           children are accessed by using the /@next@/ pointer of each-           child.--}-    clearNodeChildren                       ,-    getNodeChildren                         ,-#if ENABLE_OVERLOADING-    node_children                           ,-#endif-    setNodeChildren                         ,----- ** data #attr:data#-{- | contains the actual data of the node.--}-    clearNodeData                           ,-    getNodeData                             ,-#if ENABLE_OVERLOADING-    node_data                               ,-#endif-    setNodeData                             ,----- ** next #attr:next#-{- | points to the node\'s next sibling (a sibling is another-       'GI.GLib.Structs.Node.Node' with the same parent).--}-    clearNodeNext                           ,-    getNodeNext                             ,-#if ENABLE_OVERLOADING-    node_next                               ,-#endif-    setNodeNext                             ,----- ** parent #attr:parent#-{- | points to the parent of the 'GI.GLib.Structs.Node.Node', or is 'Nothing' if the-         'GI.GLib.Structs.Node.Node' is the root of the tree.--}-    clearNodeParent                         ,-    getNodeParent                           ,-#if ENABLE_OVERLOADING-    node_parent                             ,-#endif-    setNodeParent                           ,----- ** prev #attr:prev#-{- | points to the node\'s previous sibling.--}-    clearNodePrev                           ,-    getNodePrev                             ,-#if ENABLE_OVERLOADING-    node_prev                               ,-#endif-    setNodePrev                             ,-----    ) 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.GLib.Flags as GLib.Flags---- | Memory-managed wrapper type.-newtype Node = Node (ManagedPtr Node)-instance WrappedPtr Node where-    wrappedPtrCalloc = callocBytes 40-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 40 >=> wrapPtr Node)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `Node` struct initialized to zero.-newZeroNode :: MonadIO m => m Node-newZeroNode = liftIO $ wrappedPtrCalloc >>= wrapPtr Node--instance tag ~ 'AttrSet => Constructible Node tag where-    new _ attrs = do-        o <- newZeroNode-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `Node`.-noNode :: Maybe Node-noNode = Nothing--{- |-Get the value of the “@data@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' node #data-@--}-getNodeData :: MonadIO m => Node -> m (Ptr ())-getNodeData s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr ())-    return val--{- |-Set the value of the “@data@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' node [ #data 'Data.GI.Base.Attributes.:=' value ]-@--}-setNodeData :: MonadIO m => Node -> Ptr () -> m ()-setNodeData s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: Ptr ())--{- |-Set the value of the “@data@” 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' #data-@--}-clearNodeData :: MonadIO m => Node -> m ()-clearNodeData s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr ())--#if ENABLE_OVERLOADING-data NodeDataFieldInfo-instance AttrInfo NodeDataFieldInfo where-    type AttrAllowedOps NodeDataFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint NodeDataFieldInfo = (~) (Ptr ())-    type AttrBaseTypeConstraint NodeDataFieldInfo = (~) Node-    type AttrGetType NodeDataFieldInfo = Ptr ()-    type AttrLabel NodeDataFieldInfo = "data"-    type AttrOrigin NodeDataFieldInfo = Node-    attrGet _ = getNodeData-    attrSet _ = setNodeData-    attrConstruct = undefined-    attrClear _ = clearNodeData--node_data :: AttrLabelProxy "data"-node_data = AttrLabelProxy--#endif---{- |-Get the value of the “@next@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' node #next-@--}-getNodeNext :: MonadIO m => Node -> m (Maybe Node)-getNodeNext s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Node)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newPtr Node) val'-        return val''-    return result--{- |-Set the value of the “@next@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' node [ #next 'Data.GI.Base.Attributes.:=' value ]-@--}-setNodeNext :: MonadIO m => Node -> Ptr Node -> m ()-setNodeNext s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Ptr Node)--{- |-Set the value of the “@next@” 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' #next-@--}-clearNodeNext :: MonadIO m => Node -> m ()-clearNodeNext s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Node)--#if ENABLE_OVERLOADING-data NodeNextFieldInfo-instance AttrInfo NodeNextFieldInfo where-    type AttrAllowedOps NodeNextFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint NodeNextFieldInfo = (~) (Ptr Node)-    type AttrBaseTypeConstraint NodeNextFieldInfo = (~) Node-    type AttrGetType NodeNextFieldInfo = Maybe Node-    type AttrLabel NodeNextFieldInfo = "next"-    type AttrOrigin NodeNextFieldInfo = Node-    attrGet _ = getNodeNext-    attrSet _ = setNodeNext-    attrConstruct = undefined-    attrClear _ = clearNodeNext--node_next :: AttrLabelProxy "next"-node_next = AttrLabelProxy--#endif---{- |-Get the value of the “@prev@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' node #prev-@--}-getNodePrev :: MonadIO m => Node -> m (Maybe Node)-getNodePrev s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO (Ptr Node)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newPtr Node) val'-        return val''-    return result--{- |-Set the value of the “@prev@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' node [ #prev 'Data.GI.Base.Attributes.:=' value ]-@--}-setNodePrev :: MonadIO m => Node -> Ptr Node -> m ()-setNodePrev s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: Ptr Node)--{- |-Set the value of the “@prev@” 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' #prev-@--}-clearNodePrev :: MonadIO m => Node -> m ()-clearNodePrev s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (FP.nullPtr :: Ptr Node)--#if ENABLE_OVERLOADING-data NodePrevFieldInfo-instance AttrInfo NodePrevFieldInfo where-    type AttrAllowedOps NodePrevFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint NodePrevFieldInfo = (~) (Ptr Node)-    type AttrBaseTypeConstraint NodePrevFieldInfo = (~) Node-    type AttrGetType NodePrevFieldInfo = Maybe Node-    type AttrLabel NodePrevFieldInfo = "prev"-    type AttrOrigin NodePrevFieldInfo = Node-    attrGet _ = getNodePrev-    attrSet _ = setNodePrev-    attrConstruct = undefined-    attrClear _ = clearNodePrev--node_prev :: AttrLabelProxy "prev"-node_prev = AttrLabelProxy--#endif---{- |-Get the value of the “@parent@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' node #parent-@--}-getNodeParent :: MonadIO m => Node -> m (Maybe Node)-getNodeParent s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO (Ptr Node)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newPtr Node) val'-        return val''-    return result--{- |-Set the value of the “@parent@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' node [ #parent 'Data.GI.Base.Attributes.:=' value ]-@--}-setNodeParent :: MonadIO m => Node -> Ptr Node -> m ()-setNodeParent s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (val :: Ptr Node)--{- |-Set the value of the “@parent@” 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' #parent-@--}-clearNodeParent :: MonadIO m => Node -> m ()-clearNodeParent s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (FP.nullPtr :: Ptr Node)--#if ENABLE_OVERLOADING-data NodeParentFieldInfo-instance AttrInfo NodeParentFieldInfo where-    type AttrAllowedOps NodeParentFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint NodeParentFieldInfo = (~) (Ptr Node)-    type AttrBaseTypeConstraint NodeParentFieldInfo = (~) Node-    type AttrGetType NodeParentFieldInfo = Maybe Node-    type AttrLabel NodeParentFieldInfo = "parent"-    type AttrOrigin NodeParentFieldInfo = Node-    attrGet _ = getNodeParent-    attrSet _ = setNodeParent-    attrConstruct = undefined-    attrClear _ = clearNodeParent--node_parent :: AttrLabelProxy "parent"-node_parent = AttrLabelProxy--#endif---{- |-Get the value of the “@children@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' node #children-@--}-getNodeChildren :: MonadIO m => Node -> m (Maybe Node)-getNodeChildren s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO (Ptr Node)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newPtr Node) val'-        return val''-    return result--{- |-Set the value of the “@children@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' node [ #children 'Data.GI.Base.Attributes.:=' value ]-@--}-setNodeChildren :: MonadIO m => Node -> Ptr Node -> m ()-setNodeChildren s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (val :: Ptr Node)--{- |-Set the value of the “@children@” 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' #children-@--}-clearNodeChildren :: MonadIO m => Node -> m ()-clearNodeChildren s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (FP.nullPtr :: Ptr Node)--#if ENABLE_OVERLOADING-data NodeChildrenFieldInfo-instance AttrInfo NodeChildrenFieldInfo where-    type AttrAllowedOps NodeChildrenFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint NodeChildrenFieldInfo = (~) (Ptr Node)-    type AttrBaseTypeConstraint NodeChildrenFieldInfo = (~) Node-    type AttrGetType NodeChildrenFieldInfo = Maybe Node-    type AttrLabel NodeChildrenFieldInfo = "children"-    type AttrOrigin NodeChildrenFieldInfo = Node-    attrGet _ = getNodeChildren-    attrSet _ = setNodeChildren-    attrConstruct = undefined-    attrClear _ = clearNodeChildren--node_children :: AttrLabelProxy "children"-node_children = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList Node-type instance O.AttributeList Node = NodeAttributeList-type NodeAttributeList = ('[ '("data", NodeDataFieldInfo), '("next", NodeNextFieldInfo), '("prev", NodePrevFieldInfo), '("parent", NodeParentFieldInfo), '("children", NodeChildrenFieldInfo)] :: [(Symbol, *)])-#endif---- method Node::child_index--- method type : OrdinaryMethod--- Args : [Arg {argCName = "node", argType = TInterface (Name {namespace = "GLib", name = "Node"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GNode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data to find", 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_node_child_index" g_node_child_index :: -    Ptr Node ->                             -- node : TInterface (Name {namespace = "GLib", name = "Node"})-    Ptr () ->                               -- data : TBasicType TPtr-    IO Int32--{- |-Gets the position of the first child of a 'GI.GLib.Structs.Node.Node'-which contains the given data.--}-nodeChildIndex ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Node-    {- ^ /@node@/: a 'GI.GLib.Structs.Node.Node' -}-    -> Ptr ()-    {- ^ /@data@/: the data to find -}-    -> m Int32-    {- ^ __Returns:__ the index of the child of /@node@/ which contains-    /@data@/, or -1 if the data is not found -}-nodeChildIndex node data_ = liftIO $ do-    node' <- unsafeManagedPtrGetPtr node-    result <- g_node_child_index node' data_-    touchManagedPtr node-    return result--#if ENABLE_OVERLOADING-data NodeChildIndexMethodInfo-instance (signature ~ (Ptr () -> m Int32), MonadIO m) => O.MethodInfo NodeChildIndexMethodInfo Node signature where-    overloadedMethod _ = nodeChildIndex--#endif---- method Node::child_position--- method type : OrdinaryMethod--- Args : [Arg {argCName = "node", argType = TInterface (Name {namespace = "GLib", name = "Node"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GNode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child", argType = TInterface (Name {namespace = "GLib", name = "Node"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a child of @node", 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_node_child_position" g_node_child_position :: -    Ptr Node ->                             -- node : TInterface (Name {namespace = "GLib", name = "Node"})-    Ptr Node ->                             -- child : TInterface (Name {namespace = "GLib", name = "Node"})-    IO Int32--{- |-Gets the position of a 'GI.GLib.Structs.Node.Node' with respect to its siblings.-/@child@/ must be a child of /@node@/. The first child is numbered 0,-the second 1, and so on.--}-nodeChildPosition ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Node-    {- ^ /@node@/: a 'GI.GLib.Structs.Node.Node' -}-    -> Node-    {- ^ /@child@/: a child of /@node@/ -}-    -> m Int32-    {- ^ __Returns:__ the position of /@child@/ with respect to its siblings -}-nodeChildPosition node child = liftIO $ do-    node' <- unsafeManagedPtrGetPtr node-    child' <- unsafeManagedPtrGetPtr child-    result <- g_node_child_position node' child'-    touchManagedPtr node-    touchManagedPtr child-    return result--#if ENABLE_OVERLOADING-data NodeChildPositionMethodInfo-instance (signature ~ (Node -> m Int32), MonadIO m) => O.MethodInfo NodeChildPositionMethodInfo Node signature where-    overloadedMethod _ = nodeChildPosition--#endif---- method Node::depth--- method type : OrdinaryMethod--- Args : [Arg {argCName = "node", argType = TInterface (Name {namespace = "GLib", name = "Node"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GNode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_node_depth" g_node_depth :: -    Ptr Node ->                             -- node : TInterface (Name {namespace = "GLib", name = "Node"})-    IO Word32--{- |-Gets the depth of a 'GI.GLib.Structs.Node.Node'.--If /@node@/ is 'Nothing' the depth is 0. The root node has a depth of 1.-For the children of the root node the depth is 2. And so on.--}-nodeDepth ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Node-    {- ^ /@node@/: a 'GI.GLib.Structs.Node.Node' -}-    -> m Word32-    {- ^ __Returns:__ the depth of the 'GI.GLib.Structs.Node.Node' -}-nodeDepth node = liftIO $ do-    node' <- unsafeManagedPtrGetPtr node-    result <- g_node_depth node'-    touchManagedPtr node-    return result--#if ENABLE_OVERLOADING-data NodeDepthMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo NodeDepthMethodInfo Node signature where-    overloadedMethod _ = nodeDepth--#endif---- method Node::destroy--- method type : OrdinaryMethod--- Args : [Arg {argCName = "root", argType = TInterface (Name {namespace = "GLib", name = "Node"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the root of the tree/subtree to destroy", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_node_destroy" g_node_destroy :: -    Ptr Node ->                             -- root : TInterface (Name {namespace = "GLib", name = "Node"})-    IO ()--{- |-Removes /@root@/ and its children from the tree, freeing any memory-allocated.--}-nodeDestroy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Node-    {- ^ /@root@/: the root of the tree\/subtree to destroy -}-    -> m ()-nodeDestroy root = liftIO $ do-    root' <- unsafeManagedPtrGetPtr root-    g_node_destroy root'-    touchManagedPtr root-    return ()--#if ENABLE_OVERLOADING-data NodeDestroyMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo NodeDestroyMethodInfo Node signature where-    overloadedMethod _ = nodeDestroy--#endif---- method Node::is_ancestor--- method type : OrdinaryMethod--- Args : [Arg {argCName = "node", argType = TInterface (Name {namespace = "GLib", name = "Node"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GNode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "descendant", argType = TInterface (Name {namespace = "GLib", name = "Node"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GNode", 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_node_is_ancestor" g_node_is_ancestor :: -    Ptr Node ->                             -- node : TInterface (Name {namespace = "GLib", name = "Node"})-    Ptr Node ->                             -- descendant : TInterface (Name {namespace = "GLib", name = "Node"})-    IO CInt--{- |-Returns 'True' if /@node@/ is an ancestor of /@descendant@/.-This is true if node is the parent of /@descendant@/,-or if node is the grandparent of /@descendant@/ etc.--}-nodeIsAncestor ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Node-    {- ^ /@node@/: a 'GI.GLib.Structs.Node.Node' -}-    -> Node-    {- ^ /@descendant@/: a 'GI.GLib.Structs.Node.Node' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@node@/ is an ancestor of /@descendant@/ -}-nodeIsAncestor node descendant = liftIO $ do-    node' <- unsafeManagedPtrGetPtr node-    descendant' <- unsafeManagedPtrGetPtr descendant-    result <- g_node_is_ancestor node' descendant'-    let result' = (/= 0) result-    touchManagedPtr node-    touchManagedPtr descendant-    return result'--#if ENABLE_OVERLOADING-data NodeIsAncestorMethodInfo-instance (signature ~ (Node -> m Bool), MonadIO m) => O.MethodInfo NodeIsAncestorMethodInfo Node signature where-    overloadedMethod _ = nodeIsAncestor--#endif---- method Node::max_height--- method type : OrdinaryMethod--- Args : [Arg {argCName = "root", argType = TInterface (Name {namespace = "GLib", name = "Node"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GNode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_node_max_height" g_node_max_height :: -    Ptr Node ->                             -- root : TInterface (Name {namespace = "GLib", name = "Node"})-    IO Word32--{- |-Gets the maximum height of all branches beneath a 'GI.GLib.Structs.Node.Node'.-This is the maximum distance from the 'GI.GLib.Structs.Node.Node' to all leaf nodes.--If /@root@/ is 'Nothing', 0 is returned. If /@root@/ has no children,-1 is returned. If /@root@/ has children, 2 is returned. And so on.--}-nodeMaxHeight ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Node-    {- ^ /@root@/: a 'GI.GLib.Structs.Node.Node' -}-    -> m Word32-    {- ^ __Returns:__ the maximum height of the tree beneath /@root@/ -}-nodeMaxHeight root = liftIO $ do-    root' <- unsafeManagedPtrGetPtr root-    result <- g_node_max_height root'-    touchManagedPtr root-    return result--#if ENABLE_OVERLOADING-data NodeMaxHeightMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo NodeMaxHeightMethodInfo Node signature where-    overloadedMethod _ = nodeMaxHeight--#endif---- method Node::n_children--- method type : OrdinaryMethod--- Args : [Arg {argCName = "node", argType = TInterface (Name {namespace = "GLib", name = "Node"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GNode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_node_n_children" g_node_n_children :: -    Ptr Node ->                             -- node : TInterface (Name {namespace = "GLib", name = "Node"})-    IO Word32--{- |-Gets the number of children of a 'GI.GLib.Structs.Node.Node'.--}-nodeNChildren ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Node-    {- ^ /@node@/: a 'GI.GLib.Structs.Node.Node' -}-    -> m Word32-    {- ^ __Returns:__ the number of children of /@node@/ -}-nodeNChildren node = liftIO $ do-    node' <- unsafeManagedPtrGetPtr node-    result <- g_node_n_children node'-    touchManagedPtr node-    return result--#if ENABLE_OVERLOADING-data NodeNChildrenMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo NodeNChildrenMethodInfo Node signature where-    overloadedMethod _ = nodeNChildren--#endif---- method Node::n_nodes--- method type : OrdinaryMethod--- Args : [Arg {argCName = "root", argType = TInterface (Name {namespace = "GLib", name = "Node"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GNode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "GLib", name = "TraverseFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "which types of children are to be counted, one of\n    %G_TRAVERSE_ALL, %G_TRAVERSE_LEAVES and %G_TRAVERSE_NON_LEAVES", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_node_n_nodes" g_node_n_nodes :: -    Ptr Node ->                             -- root : TInterface (Name {namespace = "GLib", name = "Node"})-    CUInt ->                                -- flags : TInterface (Name {namespace = "GLib", name = "TraverseFlags"})-    IO Word32--{- |-Gets the number of nodes in a tree.--}-nodeNNodes ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Node-    {- ^ /@root@/: a 'GI.GLib.Structs.Node.Node' -}-    -> [GLib.Flags.TraverseFlags]-    {- ^ /@flags@/: which types of children are to be counted, one of-    'GI.GLib.Flags.TraverseFlagsAll', 'GI.GLib.Flags.TraverseFlagsLeaves' and 'GI.GLib.Flags.TraverseFlagsNonLeaves' -}-    -> m Word32-    {- ^ __Returns:__ the number of nodes in the tree -}-nodeNNodes root flags = liftIO $ do-    root' <- unsafeManagedPtrGetPtr root-    let flags' = gflagsToWord flags-    result <- g_node_n_nodes root' flags'-    touchManagedPtr root-    return result--#if ENABLE_OVERLOADING-data NodeNNodesMethodInfo-instance (signature ~ ([GLib.Flags.TraverseFlags] -> m Word32), MonadIO m) => O.MethodInfo NodeNNodesMethodInfo Node signature where-    overloadedMethod _ = nodeNNodes--#endif---- method Node::reverse_children--- method type : OrdinaryMethod--- Args : [Arg {argCName = "node", argType = TInterface (Name {namespace = "GLib", name = "Node"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GNode.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_node_reverse_children" g_node_reverse_children :: -    Ptr Node ->                             -- node : TInterface (Name {namespace = "GLib", name = "Node"})-    IO ()--{- |-Reverses the order of the children of a 'GI.GLib.Structs.Node.Node'.-(It doesn\'t change the order of the grandchildren.)--}-nodeReverseChildren ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Node-    {- ^ /@node@/: a 'GI.GLib.Structs.Node.Node'. -}-    -> m ()-nodeReverseChildren node = liftIO $ do-    node' <- unsafeManagedPtrGetPtr node-    g_node_reverse_children node'-    touchManagedPtr node-    return ()--#if ENABLE_OVERLOADING-data NodeReverseChildrenMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo NodeReverseChildrenMethodInfo Node signature where-    overloadedMethod _ = nodeReverseChildren--#endif---- method Node::unlink--- method type : OrdinaryMethod--- Args : [Arg {argCName = "node", argType = TInterface (Name {namespace = "GLib", name = "Node"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GNode to unlink, which becomes the root of a new tree", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_node_unlink" g_node_unlink :: -    Ptr Node ->                             -- node : TInterface (Name {namespace = "GLib", name = "Node"})-    IO ()--{- |-Unlinks a 'GI.GLib.Structs.Node.Node' from a tree, resulting in two separate trees.--}-nodeUnlink ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Node-    {- ^ /@node@/: the 'GI.GLib.Structs.Node.Node' to unlink, which becomes the root of a new tree -}-    -> m ()-nodeUnlink node = liftIO $ do-    node' <- unsafeManagedPtrGetPtr node-    g_node_unlink node'-    touchManagedPtr node-    return ()--#if ENABLE_OVERLOADING-data NodeUnlinkMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo NodeUnlinkMethodInfo Node signature where-    overloadedMethod _ = nodeUnlink--#endif--#if ENABLE_OVERLOADING-type family ResolveNodeMethod (t :: Symbol) (o :: *) :: * where-    ResolveNodeMethod "childIndex" o = NodeChildIndexMethodInfo-    ResolveNodeMethod "childPosition" o = NodeChildPositionMethodInfo-    ResolveNodeMethod "depth" o = NodeDepthMethodInfo-    ResolveNodeMethod "destroy" o = NodeDestroyMethodInfo-    ResolveNodeMethod "isAncestor" o = NodeIsAncestorMethodInfo-    ResolveNodeMethod "maxHeight" o = NodeMaxHeightMethodInfo-    ResolveNodeMethod "nChildren" o = NodeNChildrenMethodInfo-    ResolveNodeMethod "nNodes" o = NodeNNodesMethodInfo-    ResolveNodeMethod "reverseChildren" o = NodeReverseChildrenMethodInfo-    ResolveNodeMethod "unlink" o = NodeUnlinkMethodInfo-    ResolveNodeMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveNodeMethod t Node, O.MethodInfo info Node p) => OL.IsLabel t (Node -> 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/GLib/Structs/Node.hs-boot
@@ -1,56 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.Node 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 Node = Node (ManagedPtr Node)-instance WrappedPtr Node where-#if ENABLE_OVERLOADING-data NodeChildIndexMethodInfo-#endif-#if ENABLE_OVERLOADING-data NodeChildPositionMethodInfo-#endif-#if ENABLE_OVERLOADING-data NodeDepthMethodInfo-#endif-#if ENABLE_OVERLOADING-data NodeDestroyMethodInfo-#endif-#if ENABLE_OVERLOADING-data NodeIsAncestorMethodInfo-#endif-#if ENABLE_OVERLOADING-data NodeMaxHeightMethodInfo-#endif-#if ENABLE_OVERLOADING-data NodeNChildrenMethodInfo-#endif-#if ENABLE_OVERLOADING-data NodeNNodesMethodInfo-#endif-#if ENABLE_OVERLOADING-data NodeReverseChildrenMethodInfo-#endif-#if ENABLE_OVERLOADING-data NodeUnlinkMethodInfo-#endif
− GI/GLib/Structs/Once.hs
@@ -1,328 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A 'GI.GLib.Structs.Once.Once' struct controls a one-time initialization function. Any-one-time initialization function must have its own unique 'GI.GLib.Structs.Once.Once'-struct.--/Since: 2.4/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.Once-    ( ---- * Exported types-    Once(..)                                ,-    newZeroOnce                             ,-    noOnce                                  ,--- -- * Methods--- ** initEnter #method:initEnter#--    onceInitEnter                           ,----- ** initLeave #method:initLeave#--    onceInitLeave                           ,----- -- * Properties--- ** retval #attr:retval#-{- | the value returned by the call to the function, if /@status@/-         is 'GI.GLib.Enums.OnceStatusReady'--}-    clearOnceRetval                         ,-    getOnceRetval                           ,-#if ENABLE_OVERLOADING-    once_retval                             ,-#endif-    setOnceRetval                           ,----- ** status #attr:status#-{- | the status of the 'GI.GLib.Structs.Once.Once'--}-    getOnceStatus                           ,-#if ENABLE_OVERLOADING-    once_status                             ,-#endif-    setOnceStatus                           ,-----    ) 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.GLib.Enums as GLib.Enums---- | Memory-managed wrapper type.-newtype Once = Once (ManagedPtr Once)-instance WrappedPtr Once where-    wrappedPtrCalloc = callocBytes 16-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 16 >=> wrapPtr Once)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `Once` struct initialized to zero.-newZeroOnce :: MonadIO m => m Once-newZeroOnce = liftIO $ wrappedPtrCalloc >>= wrapPtr Once--instance tag ~ 'AttrSet => Constructible Once tag where-    new _ attrs = do-        o <- newZeroOnce-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `Once`.-noOnce :: Maybe Once-noOnce = Nothing--{- |-Get the value of the “@status@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' once #status-@--}-getOnceStatus :: MonadIO m => Once -> m GLib.Enums.OnceStatus-getOnceStatus s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CUInt-    let val' = (toEnum . fromIntegral) val-    return val'--{- |-Set the value of the “@status@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' once [ #status 'Data.GI.Base.Attributes.:=' value ]-@--}-setOnceStatus :: MonadIO m => Once -> GLib.Enums.OnceStatus -> m ()-setOnceStatus s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 0) (val' :: CUInt)--#if ENABLE_OVERLOADING-data OnceStatusFieldInfo-instance AttrInfo OnceStatusFieldInfo where-    type AttrAllowedOps OnceStatusFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint OnceStatusFieldInfo = (~) GLib.Enums.OnceStatus-    type AttrBaseTypeConstraint OnceStatusFieldInfo = (~) Once-    type AttrGetType OnceStatusFieldInfo = GLib.Enums.OnceStatus-    type AttrLabel OnceStatusFieldInfo = "status"-    type AttrOrigin OnceStatusFieldInfo = Once-    attrGet _ = getOnceStatus-    attrSet _ = setOnceStatus-    attrConstruct = undefined-    attrClear _ = undefined--once_status :: AttrLabelProxy "status"-once_status = AttrLabelProxy--#endif---{- |-Get the value of the “@retval@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' once #retval-@--}-getOnceRetval :: MonadIO m => Once -> m (Ptr ())-getOnceRetval s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr ())-    return val--{- |-Set the value of the “@retval@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' once [ #retval 'Data.GI.Base.Attributes.:=' value ]-@--}-setOnceRetval :: MonadIO m => Once -> Ptr () -> m ()-setOnceRetval s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Ptr ())--{- |-Set the value of the “@retval@” 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' #retval-@--}-clearOnceRetval :: MonadIO m => Once -> m ()-clearOnceRetval s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr ())--#if ENABLE_OVERLOADING-data OnceRetvalFieldInfo-instance AttrInfo OnceRetvalFieldInfo where-    type AttrAllowedOps OnceRetvalFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint OnceRetvalFieldInfo = (~) (Ptr ())-    type AttrBaseTypeConstraint OnceRetvalFieldInfo = (~) Once-    type AttrGetType OnceRetvalFieldInfo = Ptr ()-    type AttrLabel OnceRetvalFieldInfo = "retval"-    type AttrOrigin OnceRetvalFieldInfo = Once-    attrGet _ = getOnceRetval-    attrSet _ = setOnceRetval-    attrConstruct = undefined-    attrClear _ = clearOnceRetval--once_retval :: AttrLabelProxy "retval"-once_retval = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList Once-type instance O.AttributeList Once = OnceAttributeList-type OnceAttributeList = ('[ '("status", OnceStatusFieldInfo), '("retval", OnceRetvalFieldInfo)] :: [(Symbol, *)])-#endif---- method Once::init_enter--- method type : MemberFunction--- Args : [Arg {argCName = "location", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location of a static initializable variable\n   containing 0", 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_once_init_enter" g_once_init_enter :: -    Ptr () ->                               -- location : TBasicType TPtr-    IO CInt--{- |-Function to be called when starting a critical initialization-section. The argument /@location@/ must point to a static-0-initialized variable that will be set to a value other than 0 at-the end of the initialization section. In combination with-'GI.GLib.Functions.onceInitLeave' and the unique address /@valueLocation@/, it can-be ensured that an initialization section will be executed only once-during a program\'s life time, and that concurrent threads are-blocked until initialization completed. To be used in constructs-like this:---=== /C code/->->  static gsize initialization_value = 0;->->  if (g_once_init_enter (&initialization_value))->    {->      gsize setup_value = 42; // initialization code here->->      g_once_init_leave (&initialization_value, setup_value);->    }->->  // use initialization_value here---/Since: 2.14/--}-onceInitEnter ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@location@/: location of a static initializable variable-   containing 0 -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the initialization section should be entered,-    'False' and blocks otherwise -}-onceInitEnter location = liftIO $ do-    result <- g_once_init_enter location-    let result' = (/= 0) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Once::init_leave--- method type : MemberFunction--- Args : [Arg {argCName = "location", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location of a static initializable variable\n   containing 0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "new non-0 value for *@value_location", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_once_init_leave" g_once_init_leave :: -    Ptr () ->                               -- location : TBasicType TPtr-    Word64 ->                               -- result : TBasicType TUInt64-    IO ()--{- |-Counterpart to 'GI.GLib.Functions.onceInitEnter'. Expects a location of a static-0-initialized initialization variable, and an initialization value-other than 0. Sets the variable to the initialization value, and-releases concurrent threads blocking in 'GI.GLib.Functions.onceInitEnter' on this-initialization variable.--/Since: 2.14/--}-onceInitLeave ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@location@/: location of a static initializable variable-   containing 0 -}-    -> Word64-    {- ^ /@result@/: new non-0 value for */@valueLocation@/ -}-    -> m ()-onceInitLeave location result_ = liftIO $ do-    g_once_init_leave location result_-    return ()--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveOnceMethod (t :: Symbol) (o :: *) :: * where-    ResolveOnceMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveOnceMethod t Once, O.MethodInfo info Once p) => OL.IsLabel t (Once -> 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/GLib/Structs/Once.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.Once 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 Once = Once (ManagedPtr Once)-instance WrappedPtr Once where
− GI/GLib/Structs/OptionContext.hs
@@ -1,1232 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A @GOptionContext@ struct defines which options-are accepted by the commandline option parser. The struct has only private-fields and should not be directly accessed.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.OptionContext-    ( ---- * Exported types-    OptionContext(..)                       ,-    noOptionContext                         ,--- -- * Methods--- ** addGroup #method:addGroup#--#if ENABLE_OVERLOADING-    OptionContextAddGroupMethodInfo         ,-#endif-    optionContextAddGroup                   ,----- ** addMainEntries #method:addMainEntries#--#if ENABLE_OVERLOADING-    OptionContextAddMainEntriesMethodInfo   ,-#endif-    optionContextAddMainEntries             ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    OptionContextFreeMethodInfo             ,-#endif-    optionContextFree                       ,----- ** getDescription #method:getDescription#--#if ENABLE_OVERLOADING-    OptionContextGetDescriptionMethodInfo   ,-#endif-    optionContextGetDescription             ,----- ** getHelp #method:getHelp#--#if ENABLE_OVERLOADING-    OptionContextGetHelpMethodInfo          ,-#endif-    optionContextGetHelp                    ,----- ** getHelpEnabled #method:getHelpEnabled#--#if ENABLE_OVERLOADING-    OptionContextGetHelpEnabledMethodInfo   ,-#endif-    optionContextGetHelpEnabled             ,----- ** getIgnoreUnknownOptions #method:getIgnoreUnknownOptions#--#if ENABLE_OVERLOADING-    OptionContextGetIgnoreUnknownOptionsMethodInfo,-#endif-    optionContextGetIgnoreUnknownOptions    ,----- ** getMainGroup #method:getMainGroup#--#if ENABLE_OVERLOADING-    OptionContextGetMainGroupMethodInfo     ,-#endif-    optionContextGetMainGroup               ,----- ** getStrictPosix #method:getStrictPosix#--#if ENABLE_OVERLOADING-    OptionContextGetStrictPosixMethodInfo   ,-#endif-    optionContextGetStrictPosix             ,----- ** getSummary #method:getSummary#--#if ENABLE_OVERLOADING-    OptionContextGetSummaryMethodInfo       ,-#endif-    optionContextGetSummary                 ,----- ** parse #method:parse#--#if ENABLE_OVERLOADING-    OptionContextParseMethodInfo            ,-#endif-    optionContextParse                      ,----- ** parseStrv #method:parseStrv#--#if ENABLE_OVERLOADING-    OptionContextParseStrvMethodInfo        ,-#endif-    optionContextParseStrv                  ,----- ** setDescription #method:setDescription#--#if ENABLE_OVERLOADING-    OptionContextSetDescriptionMethodInfo   ,-#endif-    optionContextSetDescription             ,----- ** setHelpEnabled #method:setHelpEnabled#--#if ENABLE_OVERLOADING-    OptionContextSetHelpEnabledMethodInfo   ,-#endif-    optionContextSetHelpEnabled             ,----- ** setIgnoreUnknownOptions #method:setIgnoreUnknownOptions#--#if ENABLE_OVERLOADING-    OptionContextSetIgnoreUnknownOptionsMethodInfo,-#endif-    optionContextSetIgnoreUnknownOptions    ,----- ** setMainGroup #method:setMainGroup#--#if ENABLE_OVERLOADING-    OptionContextSetMainGroupMethodInfo     ,-#endif-    optionContextSetMainGroup               ,----- ** setStrictPosix #method:setStrictPosix#--#if ENABLE_OVERLOADING-    OptionContextSetStrictPosixMethodInfo   ,-#endif-    optionContextSetStrictPosix             ,----- ** setSummary #method:setSummary#--#if ENABLE_OVERLOADING-    OptionContextSetSummaryMethodInfo       ,-#endif-    optionContextSetSummary                 ,----- ** setTranslateFunc #method:setTranslateFunc#--#if ENABLE_OVERLOADING-    OptionContextSetTranslateFuncMethodInfo ,-#endif-    optionContextSetTranslateFunc           ,----- ** setTranslationDomain #method:setTranslationDomain#--#if ENABLE_OVERLOADING-    OptionContextSetTranslationDomainMethodInfo,-#endif-    optionContextSetTranslationDomain       ,-----    ) 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 qualified GI.GLib.Callbacks as GLib.Callbacks-import {-# SOURCE #-} qualified GI.GLib.Structs.OptionEntry as GLib.OptionEntry-import {-# SOURCE #-} qualified GI.GLib.Structs.OptionGroup as GLib.OptionGroup---- | Memory-managed wrapper type.-newtype OptionContext = OptionContext (ManagedPtr OptionContext)--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?-instance WrappedPtr OptionContext where-    wrappedPtrCalloc = return nullPtr-    wrappedPtrCopy = return-    wrappedPtrFree = Nothing---- | A convenience alias for `Nothing` :: `Maybe` `OptionContext`.-noOptionContext :: Maybe OptionContext-noOptionContext = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList OptionContext-type instance O.AttributeList OptionContext = OptionContextAttributeList-type OptionContextAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method OptionContext::add_group--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TInterface (Name {namespace = "GLib", name = "OptionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the group to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_option_context_add_group" g_option_context_add_group :: -    Ptr OptionContext ->                    -- context : TInterface (Name {namespace = "GLib", name = "OptionContext"})-    Ptr GLib.OptionGroup.OptionGroup ->     -- group : TInterface (Name {namespace = "GLib", name = "OptionGroup"})-    IO ()--{- |-Adds a 'GI.GLib.Structs.OptionGroup.OptionGroup' to the /@context@/, so that parsing with /@context@/-will recognize the options in the group. Note that this will take-ownership of the /@group@/ and thus the /@group@/ should not be freed.--/Since: 2.6/--}-optionContextAddGroup ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionContext-    {- ^ /@context@/: a 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> GLib.OptionGroup.OptionGroup-    {- ^ /@group@/: the group to add -}-    -> m ()-optionContextAddGroup context group = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    group' <- B.ManagedPtr.disownBoxed group-    g_option_context_add_group context' group'-    touchManagedPtr context-    touchManagedPtr group-    return ()--#if ENABLE_OVERLOADING-data OptionContextAddGroupMethodInfo-instance (signature ~ (GLib.OptionGroup.OptionGroup -> m ()), MonadIO m) => O.MethodInfo OptionContextAddGroupMethodInfo OptionContext signature where-    overloadedMethod _ = optionContextAddGroup--#endif---- method OptionContext::add_main_entries--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "entries", argType = TInterface (Name {namespace = "GLib", name = "OptionEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a %NULL-terminated array of #GOptionEntrys", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "translation_domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a translation domain to use for translating\n   the `--help` output for the options in @entries\n   with gettext(), or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_option_context_add_main_entries" g_option_context_add_main_entries :: -    Ptr OptionContext ->                    -- context : TInterface (Name {namespace = "GLib", name = "OptionContext"})-    Ptr GLib.OptionEntry.OptionEntry ->     -- entries : TInterface (Name {namespace = "GLib", name = "OptionEntry"})-    CString ->                              -- translation_domain : TBasicType TUTF8-    IO ()--{- |-A convenience function which creates a main group if it doesn\'t-exist, adds the /@entries@/ to it and sets the translation domain.--/Since: 2.6/--}-optionContextAddMainEntries ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionContext-    {- ^ /@context@/: a 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> GLib.OptionEntry.OptionEntry-    {- ^ /@entries@/: a 'Nothing'-terminated array of @/GOptionEntrys/@ -}-    -> Maybe (T.Text)-    {- ^ /@translationDomain@/: a translation domain to use for translating-   the @--help@ output for the options in /@entries@/-   with @/gettext()/@, or 'Nothing' -}-    -> m ()-optionContextAddMainEntries context entries translationDomain = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    entries' <- unsafeManagedPtrGetPtr entries-    maybeTranslationDomain <- case translationDomain of-        Nothing -> return nullPtr-        Just jTranslationDomain -> do-            jTranslationDomain' <- textToCString jTranslationDomain-            return jTranslationDomain'-    g_option_context_add_main_entries context' entries' maybeTranslationDomain-    touchManagedPtr context-    touchManagedPtr entries-    freeMem maybeTranslationDomain-    return ()--#if ENABLE_OVERLOADING-data OptionContextAddMainEntriesMethodInfo-instance (signature ~ (GLib.OptionEntry.OptionEntry -> Maybe (T.Text) -> m ()), MonadIO m) => O.MethodInfo OptionContextAddMainEntriesMethodInfo OptionContext signature where-    overloadedMethod _ = optionContextAddMainEntries--#endif---- method OptionContext::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_option_context_free" g_option_context_free :: -    Ptr OptionContext ->                    -- context : TInterface (Name {namespace = "GLib", name = "OptionContext"})-    IO ()--{- |-Frees context and all the groups which have been-added to it.--Please note that parsed arguments need to be freed separately (see-'GI.GLib.Structs.OptionEntry.OptionEntry').--/Since: 2.6/--}-optionContextFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionContext-    {- ^ /@context@/: a 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> m ()-optionContextFree context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    g_option_context_free context'-    touchManagedPtr context-    return ()--#if ENABLE_OVERLOADING-data OptionContextFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo OptionContextFreeMethodInfo OptionContext signature where-    overloadedMethod _ = optionContextFree--#endif---- method OptionContext::get_description--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionContext", 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_option_context_get_description" g_option_context_get_description :: -    Ptr OptionContext ->                    -- context : TInterface (Name {namespace = "GLib", name = "OptionContext"})-    IO CString--{- |-Returns the description. See 'GI.GLib.Structs.OptionContext.optionContextSetDescription'.--/Since: 2.12/--}-optionContextGetDescription ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionContext-    {- ^ /@context@/: a 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> m T.Text-    {- ^ __Returns:__ the description -}-optionContextGetDescription context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    result <- g_option_context_get_description context'-    checkUnexpectedReturnNULL "optionContextGetDescription" result-    result' <- cstringToText result-    touchManagedPtr context-    return result'--#if ENABLE_OVERLOADING-data OptionContextGetDescriptionMethodInfo-instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo OptionContextGetDescriptionMethodInfo OptionContext signature where-    overloadedMethod _ = optionContextGetDescription--#endif---- method OptionContext::get_help--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "main_help", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if %TRUE, only include the main group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TInterface (Name {namespace = "GLib", name = "OptionGroup"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GOptionGroup to create help for, or %NULL", 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_option_context_get_help" g_option_context_get_help :: -    Ptr OptionContext ->                    -- context : TInterface (Name {namespace = "GLib", name = "OptionContext"})-    CInt ->                                 -- main_help : TBasicType TBoolean-    Ptr GLib.OptionGroup.OptionGroup ->     -- group : TInterface (Name {namespace = "GLib", name = "OptionGroup"})-    IO CString--{- |-Returns a formatted, translated help text for the given context.-To obtain the text produced by @--help@, call-@g_option_context_get_help (context, TRUE, NULL)@.-To obtain the text produced by @--help-all@, call-@g_option_context_get_help (context, FALSE, NULL)@.-To obtain the help text for an option group, call-@g_option_context_get_help (context, FALSE, group)@.--/Since: 2.14/--}-optionContextGetHelp ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionContext-    {- ^ /@context@/: a 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> Bool-    {- ^ /@mainHelp@/: if 'True', only include the main group -}-    -> Maybe (GLib.OptionGroup.OptionGroup)-    {- ^ /@group@/: the 'GI.GLib.Structs.OptionGroup.OptionGroup' to create help for, or 'Nothing' -}-    -> m T.Text-    {- ^ __Returns:__ A newly allocated string containing the help text -}-optionContextGetHelp context mainHelp group = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    let mainHelp' = (fromIntegral . fromEnum) mainHelp-    maybeGroup <- case group of-        Nothing -> return nullPtr-        Just jGroup -> do-            jGroup' <- unsafeManagedPtrGetPtr jGroup-            return jGroup'-    result <- g_option_context_get_help context' mainHelp' maybeGroup-    checkUnexpectedReturnNULL "optionContextGetHelp" result-    result' <- cstringToText result-    freeMem result-    touchManagedPtr context-    whenJust group touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-data OptionContextGetHelpMethodInfo-instance (signature ~ (Bool -> Maybe (GLib.OptionGroup.OptionGroup) -> m T.Text), MonadIO m) => O.MethodInfo OptionContextGetHelpMethodInfo OptionContext signature where-    overloadedMethod _ = optionContextGetHelp--#endif---- method OptionContext::get_help_enabled--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionContext", 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_option_context_get_help_enabled" g_option_context_get_help_enabled :: -    Ptr OptionContext ->                    -- context : TInterface (Name {namespace = "GLib", name = "OptionContext"})-    IO CInt--{- |-Returns whether automatic @--help@ generation-is turned on for /@context@/. See 'GI.GLib.Structs.OptionContext.optionContextSetHelpEnabled'.--/Since: 2.6/--}-optionContextGetHelpEnabled ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionContext-    {- ^ /@context@/: a 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if automatic help generation is turned on. -}-optionContextGetHelpEnabled context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    result <- g_option_context_get_help_enabled context'-    let result' = (/= 0) result-    touchManagedPtr context-    return result'--#if ENABLE_OVERLOADING-data OptionContextGetHelpEnabledMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo OptionContextGetHelpEnabledMethodInfo OptionContext signature where-    overloadedMethod _ = optionContextGetHelpEnabled--#endif---- method OptionContext::get_ignore_unknown_options--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionContext", 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_option_context_get_ignore_unknown_options" g_option_context_get_ignore_unknown_options :: -    Ptr OptionContext ->                    -- context : TInterface (Name {namespace = "GLib", name = "OptionContext"})-    IO CInt--{- |-Returns whether unknown options are ignored or not. See-'GI.GLib.Structs.OptionContext.optionContextSetIgnoreUnknownOptions'.--/Since: 2.6/--}-optionContextGetIgnoreUnknownOptions ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionContext-    {- ^ /@context@/: a 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if unknown options are ignored. -}-optionContextGetIgnoreUnknownOptions context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    result <- g_option_context_get_ignore_unknown_options context'-    let result' = (/= 0) result-    touchManagedPtr context-    return result'--#if ENABLE_OVERLOADING-data OptionContextGetIgnoreUnknownOptionsMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo OptionContextGetIgnoreUnknownOptionsMethodInfo OptionContext signature where-    overloadedMethod _ = optionContextGetIgnoreUnknownOptions--#endif---- method OptionContext::get_main_group--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "OptionGroup"}))--- throws : False--- Skip return : False--foreign import ccall "g_option_context_get_main_group" g_option_context_get_main_group :: -    Ptr OptionContext ->                    -- context : TInterface (Name {namespace = "GLib", name = "OptionContext"})-    IO (Ptr GLib.OptionGroup.OptionGroup)--{- |-Returns a pointer to the main group of /@context@/.--/Since: 2.6/--}-optionContextGetMainGroup ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionContext-    {- ^ /@context@/: a 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> m GLib.OptionGroup.OptionGroup-    {- ^ __Returns:__ the main group of /@context@/, or 'Nothing' if- /@context@/ doesn\'t have a main group. Note that group belongs to- /@context@/ and should not be modified or freed. -}-optionContextGetMainGroup context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    result <- g_option_context_get_main_group context'-    checkUnexpectedReturnNULL "optionContextGetMainGroup" result-    result' <- (newBoxed GLib.OptionGroup.OptionGroup) result-    touchManagedPtr context-    return result'--#if ENABLE_OVERLOADING-data OptionContextGetMainGroupMethodInfo-instance (signature ~ (m GLib.OptionGroup.OptionGroup), MonadIO m) => O.MethodInfo OptionContextGetMainGroupMethodInfo OptionContext signature where-    overloadedMethod _ = optionContextGetMainGroup--#endif---- method OptionContext::get_strict_posix--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionContext", 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_option_context_get_strict_posix" g_option_context_get_strict_posix :: -    Ptr OptionContext ->                    -- context : TInterface (Name {namespace = "GLib", name = "OptionContext"})-    IO CInt--{- |-Returns whether strict POSIX code is enabled.--See 'GI.GLib.Structs.OptionContext.optionContextSetStrictPosix' for more information.--/Since: 2.44/--}-optionContextGetStrictPosix ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionContext-    {- ^ /@context@/: a 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if strict POSIX is enabled, 'False' otherwise. -}-optionContextGetStrictPosix context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    result <- g_option_context_get_strict_posix context'-    let result' = (/= 0) result-    touchManagedPtr context-    return result'--#if ENABLE_OVERLOADING-data OptionContextGetStrictPosixMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo OptionContextGetStrictPosixMethodInfo OptionContext signature where-    overloadedMethod _ = optionContextGetStrictPosix--#endif---- method OptionContext::get_summary--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionContext", 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_option_context_get_summary" g_option_context_get_summary :: -    Ptr OptionContext ->                    -- context : TInterface (Name {namespace = "GLib", name = "OptionContext"})-    IO CString--{- |-Returns the summary. See 'GI.GLib.Structs.OptionContext.optionContextSetSummary'.--/Since: 2.12/--}-optionContextGetSummary ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionContext-    {- ^ /@context@/: a 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> m T.Text-    {- ^ __Returns:__ the summary -}-optionContextGetSummary context = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    result <- g_option_context_get_summary context'-    checkUnexpectedReturnNULL "optionContextGetSummary" result-    result' <- cstringToText result-    touchManagedPtr context-    return result'--#if ENABLE_OVERLOADING-data OptionContextGetSummaryMethodInfo-instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo OptionContextGetSummaryMethodInfo OptionContext signature where-    overloadedMethod _ = optionContextGetSummary--#endif---- method OptionContext::parse--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "argc", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a pointer to the number of command line arguments", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "argv", argType = TCArray False (-1) 1 (TBasicType TUTF8), direction = DirectionInout, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a pointer to the array of command line arguments", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "argc", argType = TBasicType TInt, direction = DirectionInout, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a pointer to the number of command line arguments", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- returnType : Just (TBasicType TBoolean)--- throws : True--- Skip return : False--foreign import ccall "g_option_context_parse" g_option_context_parse :: -    Ptr OptionContext ->                    -- context : TInterface (Name {namespace = "GLib", name = "OptionContext"})-    Ptr Int32 ->                            -- argc : TBasicType TInt-    Ptr (Ptr CString) ->                    -- argv : TCArray False (-1) 1 (TBasicType TUTF8)-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Parses the command line arguments, recognizing options-which have been added to /@context@/. A side-effect of-calling this function is that 'GI.GLib.Functions.setPrgname' will be-called.--If the parsing is successful, any parsed arguments are-removed from the array and /@argc@/ and /@argv@/ are updated-accordingly. A \'--\' option is stripped from /@argv@/-unless there are unparsed options before and after it,-or some of the options after it start with \'-\'. In case-of an error, /@argc@/ and /@argv@/ are left unmodified.--If automatic @--help@ support is enabled-(see 'GI.GLib.Structs.OptionContext.optionContextSetHelpEnabled'), and the-/@argv@/ array contains one of the recognized help options,-this function will produce help output to stdout and-call @exit (0)@.--Note that function depends on the [current locale][setlocale] for-automatic character set conversion of string and filename-arguments.--/Since: 2.6/--}-optionContextParse ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionContext-    {- ^ /@context@/: a 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> Maybe ([T.Text])-    {- ^ /@argv@/: a pointer to the array of command line arguments -}-    -> m ((Maybe [T.Text]))-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-optionContextParse context argv = liftIO $ do-    let argc = case argv of-            Nothing -> 0-            Just jArgv -> fromIntegral $ length jArgv-    context' <- unsafeManagedPtrGetPtr context-    argc' <- allocMem :: IO (Ptr Int32)-    poke argc' argc-    maybeArgv <- case argv of-        Nothing -> return nullPtr-        Just jArgv -> do-            jArgv' <- packUTF8CArray jArgv-            return jArgv'-    maybeArgv' <- allocMem :: IO (Ptr (Ptr CString))-    poke maybeArgv' maybeArgv-    onException (do-        _ <- propagateGError $ g_option_context_parse context' argc' maybeArgv'-        argc'' <- peek argc'-        maybeArgv'' <- peek maybeArgv'-        maybeMaybeArgv'' <- convertIfNonNull maybeArgv'' $ \maybeArgv''' -> do-            maybeArgv'''' <- (unpackUTF8CArrayWithLength argc'') maybeArgv'''-            (mapCArrayWithLength argc'') freeMem maybeArgv'''-            freeMem maybeArgv'''-            return maybeArgv''''-        touchManagedPtr context-        freeMem argc'-        freeMem maybeArgv'-        return maybeMaybeArgv''-     ) (do-        freeMem argc'-        freeMem maybeArgv'-     )--#if ENABLE_OVERLOADING-data OptionContextParseMethodInfo-instance (signature ~ (Maybe ([T.Text]) -> m ((Maybe [T.Text]))), MonadIO m) => O.MethodInfo OptionContextParseMethodInfo OptionContext signature where-    overloadedMethod _ = optionContextParse--#endif---- method OptionContext::parse_strv--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "arguments", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionInout, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to the\n   command line arguments (which must be in UTF-8 on Windows)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : True--- Skip return : False--foreign import ccall "g_option_context_parse_strv" g_option_context_parse_strv :: -    Ptr OptionContext ->                    -- context : TInterface (Name {namespace = "GLib", name = "OptionContext"})-    Ptr (Ptr CString) ->                    -- arguments : TCArray True (-1) (-1) (TBasicType TUTF8)-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Parses the command line arguments.--This function is similar to 'GI.GLib.Structs.OptionContext.optionContextParse' except that it-respects the normal memory rules when dealing with a strv instead of-assuming that the passed-in array is the argv of the main function.--In particular, strings that are removed from the arguments list will-be freed using 'GI.GLib.Functions.free'.--On Windows, the strings are expected to be in UTF-8.  This is in-contrast to 'GI.GLib.Structs.OptionContext.optionContextParse' which expects them to be in the-system codepage, which is how they are passed as /@argv@/ to @/main()/@.-See @/g_win32_get_command_line()/@ for a solution.--This function is useful if you are trying to use 'GI.GLib.Structs.OptionContext.OptionContext' with-@/GApplication/@.--/Since: 2.40/--}-optionContextParseStrv ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionContext-    {- ^ /@context@/: a 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> [T.Text]-    {- ^ /@arguments@/: a pointer to the-   command line arguments (which must be in UTF-8 on Windows) -}-    -> m ([T.Text])-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-optionContextParseStrv context arguments = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    arguments' <- packZeroTerminatedUTF8CArray arguments-    arguments'' <- allocMem :: IO (Ptr (Ptr CString))-    poke arguments'' arguments'-    onException (do-        _ <- propagateGError $ g_option_context_parse_strv context' arguments''-        arguments''' <- peek arguments''-        arguments'''' <- unpackZeroTerminatedUTF8CArray arguments'''-        mapZeroTerminatedCArray freeMem arguments'''-        freeMem arguments'''-        touchManagedPtr context-        freeMem arguments''-        return arguments''''-     ) (do-        freeMem arguments''-     )--#if ENABLE_OVERLOADING-data OptionContextParseStrvMethodInfo-instance (signature ~ ([T.Text] -> m ([T.Text])), MonadIO m) => O.MethodInfo OptionContextParseStrvMethodInfo OptionContext signature where-    overloadedMethod _ = optionContextParseStrv--#endif---- method OptionContext::set_description--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string to be shown in `--help` output\n  after the list of options, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_option_context_set_description" g_option_context_set_description :: -    Ptr OptionContext ->                    -- context : TInterface (Name {namespace = "GLib", name = "OptionContext"})-    CString ->                              -- description : TBasicType TUTF8-    IO ()--{- |-Adds a string to be displayed in @--help@ output after the list-of options. This text often includes a bug reporting address.--Note that the summary is translated (see-'GI.GLib.Structs.OptionContext.optionContextSetTranslateFunc').--/Since: 2.12/--}-optionContextSetDescription ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionContext-    {- ^ /@context@/: a 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> Maybe (T.Text)-    {- ^ /@description@/: a string to be shown in @--help@ output-  after the list of options, or 'Nothing' -}-    -> m ()-optionContextSetDescription context description = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    maybeDescription <- case description of-        Nothing -> return nullPtr-        Just jDescription -> do-            jDescription' <- textToCString jDescription-            return jDescription'-    g_option_context_set_description context' maybeDescription-    touchManagedPtr context-    freeMem maybeDescription-    return ()--#if ENABLE_OVERLOADING-data OptionContextSetDescriptionMethodInfo-instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m) => O.MethodInfo OptionContextSetDescriptionMethodInfo OptionContext signature where-    overloadedMethod _ = optionContextSetDescription--#endif---- method OptionContext::set_help_enabled--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "help_enabled", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to enable `--help`, %FALSE to disable it", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_option_context_set_help_enabled" g_option_context_set_help_enabled :: -    Ptr OptionContext ->                    -- context : TInterface (Name {namespace = "GLib", name = "OptionContext"})-    CInt ->                                 -- help_enabled : TBasicType TBoolean-    IO ()--{- |-Enables or disables automatic generation of @--help@ output.-By default, 'GI.GLib.Structs.OptionContext.optionContextParse' recognizes @--help@, @-h@,-@-?@, @--help-all@ and @--help-groupname@ and creates suitable-output to stdout.--/Since: 2.6/--}-optionContextSetHelpEnabled ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionContext-    {- ^ /@context@/: a 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> Bool-    {- ^ /@helpEnabled@/: 'True' to enable @--help@, 'False' to disable it -}-    -> m ()-optionContextSetHelpEnabled context helpEnabled = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    let helpEnabled' = (fromIntegral . fromEnum) helpEnabled-    g_option_context_set_help_enabled context' helpEnabled'-    touchManagedPtr context-    return ()--#if ENABLE_OVERLOADING-data OptionContextSetHelpEnabledMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m) => O.MethodInfo OptionContextSetHelpEnabledMethodInfo OptionContext signature where-    overloadedMethod _ = optionContextSetHelpEnabled--#endif---- method OptionContext::set_ignore_unknown_options--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ignore_unknown", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to ignore unknown options, %FALSE to produce\n   an error when unknown options are met", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_option_context_set_ignore_unknown_options" g_option_context_set_ignore_unknown_options :: -    Ptr OptionContext ->                    -- context : TInterface (Name {namespace = "GLib", name = "OptionContext"})-    CInt ->                                 -- ignore_unknown : TBasicType TBoolean-    IO ()--{- |-Sets whether to ignore unknown options or not. If an argument is-ignored, it is left in the /@argv@/ array after parsing. By default,-'GI.GLib.Structs.OptionContext.optionContextParse' treats unknown options as error.--This setting does not affect non-option arguments (i.e. arguments-which don\'t start with a dash). But note that GOption cannot reliably-determine whether a non-option belongs to a preceding unknown option.--/Since: 2.6/--}-optionContextSetIgnoreUnknownOptions ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionContext-    {- ^ /@context@/: a 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> Bool-    {- ^ /@ignoreUnknown@/: 'True' to ignore unknown options, 'False' to produce-   an error when unknown options are met -}-    -> m ()-optionContextSetIgnoreUnknownOptions context ignoreUnknown = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    let ignoreUnknown' = (fromIntegral . fromEnum) ignoreUnknown-    g_option_context_set_ignore_unknown_options context' ignoreUnknown'-    touchManagedPtr context-    return ()--#if ENABLE_OVERLOADING-data OptionContextSetIgnoreUnknownOptionsMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m) => O.MethodInfo OptionContextSetIgnoreUnknownOptionsMethodInfo OptionContext signature where-    overloadedMethod _ = optionContextSetIgnoreUnknownOptions--#endif---- method OptionContext::set_main_group--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "group", argType = TInterface (Name {namespace = "GLib", name = "OptionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the group to set as main group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_option_context_set_main_group" g_option_context_set_main_group :: -    Ptr OptionContext ->                    -- context : TInterface (Name {namespace = "GLib", name = "OptionContext"})-    Ptr GLib.OptionGroup.OptionGroup ->     -- group : TInterface (Name {namespace = "GLib", name = "OptionGroup"})-    IO ()--{- |-Sets a 'GI.GLib.Structs.OptionGroup.OptionGroup' as main group of the /@context@/.-This has the same effect as calling 'GI.GLib.Structs.OptionContext.optionContextAddGroup',-the only difference is that the options in the main group are-treated differently when generating @--help@ output.--/Since: 2.6/--}-optionContextSetMainGroup ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionContext-    {- ^ /@context@/: a 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> GLib.OptionGroup.OptionGroup-    {- ^ /@group@/: the group to set as main group -}-    -> m ()-optionContextSetMainGroup context group = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    group' <- B.ManagedPtr.disownBoxed group-    g_option_context_set_main_group context' group'-    touchManagedPtr context-    touchManagedPtr group-    return ()--#if ENABLE_OVERLOADING-data OptionContextSetMainGroupMethodInfo-instance (signature ~ (GLib.OptionGroup.OptionGroup -> m ()), MonadIO m) => O.MethodInfo OptionContextSetMainGroupMethodInfo OptionContext signature where-    overloadedMethod _ = optionContextSetMainGroup--#endif---- method OptionContext::set_strict_posix--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "strict_posix", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new value", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_option_context_set_strict_posix" g_option_context_set_strict_posix :: -    Ptr OptionContext ->                    -- context : TInterface (Name {namespace = "GLib", name = "OptionContext"})-    CInt ->                                 -- strict_posix : TBasicType TBoolean-    IO ()--{- |-Sets strict POSIX mode.--By default, this mode is disabled.--In strict POSIX mode, the first non-argument parameter encountered-(eg: filename) terminates argument processing.  Remaining arguments-are treated as non-options and are not attempted to be parsed.--If strict POSIX mode is disabled then parsing is done in the GNU way-where option arguments can be freely mixed with non-options.--As an example, consider \"ls foo -l\".  With GNU style parsing, this-will list \"foo\" in long mode.  In strict POSIX style, this will list-the files named \"foo\" and \"-l\".--It may be useful to force strict POSIX mode when creating \"verb-style\" command line tools.  For example, the \"gsettings\" command line-tool supports the global option \"--schemadir\" as well as many-subcommands (\"get\", \"set\", etc.) which each have their own set of-arguments.  Using strict POSIX mode will allow parsing the global-options up to the verb name while leaving the remaining options to be-parsed by the relevant subcommand (which can be determined by-examining the verb name, which should be present in argv[1] after-parsing).--/Since: 2.44/--}-optionContextSetStrictPosix ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionContext-    {- ^ /@context@/: a 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> Bool-    {- ^ /@strictPosix@/: the new value -}-    -> m ()-optionContextSetStrictPosix context strictPosix = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    let strictPosix' = (fromIntegral . fromEnum) strictPosix-    g_option_context_set_strict_posix context' strictPosix'-    touchManagedPtr context-    return ()--#if ENABLE_OVERLOADING-data OptionContextSetStrictPosixMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m) => O.MethodInfo OptionContextSetStrictPosixMethodInfo OptionContext signature where-    overloadedMethod _ = optionContextSetStrictPosix--#endif---- method OptionContext::set_summary--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "summary", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a string to be shown in `--help` output\n before the list of options, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_option_context_set_summary" g_option_context_set_summary :: -    Ptr OptionContext ->                    -- context : TInterface (Name {namespace = "GLib", name = "OptionContext"})-    CString ->                              -- summary : TBasicType TUTF8-    IO ()--{- |-Adds a string to be displayed in @--help@ output before the list-of options. This is typically a summary of the program functionality.--Note that the summary is translated (see-'GI.GLib.Structs.OptionContext.optionContextSetTranslateFunc' and-'GI.GLib.Structs.OptionContext.optionContextSetTranslationDomain').--/Since: 2.12/--}-optionContextSetSummary ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionContext-    {- ^ /@context@/: a 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> Maybe (T.Text)-    {- ^ /@summary@/: a string to be shown in @--help@ output- before the list of options, or 'Nothing' -}-    -> m ()-optionContextSetSummary context summary = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    maybeSummary <- case summary of-        Nothing -> return nullPtr-        Just jSummary -> do-            jSummary' <- textToCString jSummary-            return jSummary'-    g_option_context_set_summary context' maybeSummary-    touchManagedPtr context-    freeMem maybeSummary-    return ()--#if ENABLE_OVERLOADING-data OptionContextSetSummaryMethodInfo-instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m) => O.MethodInfo OptionContextSetSummaryMethodInfo OptionContext signature where-    overloadedMethod _ = optionContextSetSummary--#endif---- method OptionContext::set_translate_func--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "GLib", name = "TranslateFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GTranslateFunc, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to @func, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy_notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a function which gets called to free @data, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_option_context_set_translate_func" g_option_context_set_translate_func :: -    Ptr OptionContext ->                    -- context : TInterface (Name {namespace = "GLib", name = "OptionContext"})-    FunPtr GLib.Callbacks.C_TranslateFunc -> -- func : TInterface (Name {namespace = "GLib", name = "TranslateFunc"})-    Ptr () ->                               -- data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy_notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-Sets the function which is used to translate the contexts-user-visible strings, for @--help@ output. If /@func@/ is 'Nothing',-strings are not translated.--Note that option groups have their own translation functions,-this function only affects the /@parameterString@/ (see @/g_option_context_new()/@),-the summary (see 'GI.GLib.Structs.OptionContext.optionContextSetSummary') and the description-(see 'GI.GLib.Structs.OptionContext.optionContextSetDescription').--If you are using @/gettext()/@, you only need to set the translation-domain, see 'GI.GLib.Structs.OptionContext.optionContextSetTranslationDomain'.--/Since: 2.12/--}-optionContextSetTranslateFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionContext-    {- ^ /@context@/: a 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> Maybe (GLib.Callbacks.TranslateFunc)-    {- ^ /@func@/: the 'GI.GLib.Callbacks.TranslateFunc', or 'Nothing' -}-    -> m ()-optionContextSetTranslateFunc context func = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    maybeFunc <- case func of-        Nothing -> return (castPtrToFunPtr nullPtr)-        Just jFunc -> do-            jFunc' <- GLib.Callbacks.mk_TranslateFunc (GLib.Callbacks.wrap_TranslateFunc Nothing jFunc)-            return jFunc'-    let data_ = castFunPtrToPtr maybeFunc-    let destroyNotify = safeFreeFunPtrPtr-    g_option_context_set_translate_func context' maybeFunc data_ destroyNotify-    touchManagedPtr context-    return ()--#if ENABLE_OVERLOADING-data OptionContextSetTranslateFuncMethodInfo-instance (signature ~ (Maybe (GLib.Callbacks.TranslateFunc) -> m ()), MonadIO m) => O.MethodInfo OptionContextSetTranslateFuncMethodInfo OptionContext signature where-    overloadedMethod _ = optionContextSetTranslateFunc--#endif---- method OptionContext::set_translation_domain--- method type : OrdinaryMethod--- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "OptionContext"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionContext", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the domain to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_option_context_set_translation_domain" g_option_context_set_translation_domain :: -    Ptr OptionContext ->                    -- context : TInterface (Name {namespace = "GLib", name = "OptionContext"})-    CString ->                              -- domain : TBasicType TUTF8-    IO ()--{- |-A convenience function to use @/gettext()/@ for translating-user-visible strings.--/Since: 2.12/--}-optionContextSetTranslationDomain ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionContext-    {- ^ /@context@/: a 'GI.GLib.Structs.OptionContext.OptionContext' -}-    -> T.Text-    {- ^ /@domain@/: the domain to use -}-    -> m ()-optionContextSetTranslationDomain context domain = liftIO $ do-    context' <- unsafeManagedPtrGetPtr context-    domain' <- textToCString domain-    g_option_context_set_translation_domain context' domain'-    touchManagedPtr context-    freeMem domain'-    return ()--#if ENABLE_OVERLOADING-data OptionContextSetTranslationDomainMethodInfo-instance (signature ~ (T.Text -> m ()), MonadIO m) => O.MethodInfo OptionContextSetTranslationDomainMethodInfo OptionContext signature where-    overloadedMethod _ = optionContextSetTranslationDomain--#endif--#if ENABLE_OVERLOADING-type family ResolveOptionContextMethod (t :: Symbol) (o :: *) :: * where-    ResolveOptionContextMethod "addGroup" o = OptionContextAddGroupMethodInfo-    ResolveOptionContextMethod "addMainEntries" o = OptionContextAddMainEntriesMethodInfo-    ResolveOptionContextMethod "free" o = OptionContextFreeMethodInfo-    ResolveOptionContextMethod "parse" o = OptionContextParseMethodInfo-    ResolveOptionContextMethod "parseStrv" o = OptionContextParseStrvMethodInfo-    ResolveOptionContextMethod "getDescription" o = OptionContextGetDescriptionMethodInfo-    ResolveOptionContextMethod "getHelp" o = OptionContextGetHelpMethodInfo-    ResolveOptionContextMethod "getHelpEnabled" o = OptionContextGetHelpEnabledMethodInfo-    ResolveOptionContextMethod "getIgnoreUnknownOptions" o = OptionContextGetIgnoreUnknownOptionsMethodInfo-    ResolveOptionContextMethod "getMainGroup" o = OptionContextGetMainGroupMethodInfo-    ResolveOptionContextMethod "getStrictPosix" o = OptionContextGetStrictPosixMethodInfo-    ResolveOptionContextMethod "getSummary" o = OptionContextGetSummaryMethodInfo-    ResolveOptionContextMethod "setDescription" o = OptionContextSetDescriptionMethodInfo-    ResolveOptionContextMethod "setHelpEnabled" o = OptionContextSetHelpEnabledMethodInfo-    ResolveOptionContextMethod "setIgnoreUnknownOptions" o = OptionContextSetIgnoreUnknownOptionsMethodInfo-    ResolveOptionContextMethod "setMainGroup" o = OptionContextSetMainGroupMethodInfo-    ResolveOptionContextMethod "setStrictPosix" o = OptionContextSetStrictPosixMethodInfo-    ResolveOptionContextMethod "setSummary" o = OptionContextSetSummaryMethodInfo-    ResolveOptionContextMethod "setTranslateFunc" o = OptionContextSetTranslateFuncMethodInfo-    ResolveOptionContextMethod "setTranslationDomain" o = OptionContextSetTranslationDomainMethodInfo-    ResolveOptionContextMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveOptionContextMethod t OptionContext, O.MethodInfo info OptionContext p) => OL.IsLabel t (OptionContext -> 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/GLib/Structs/OptionContext.hs-boot
@@ -1,86 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.OptionContext 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 OptionContext = OptionContext (ManagedPtr OptionContext)-instance WrappedPtr OptionContext where-#if ENABLE_OVERLOADING-data OptionContextAddGroupMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionContextAddMainEntriesMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionContextFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionContextGetDescriptionMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionContextGetHelpMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionContextGetHelpEnabledMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionContextGetIgnoreUnknownOptionsMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionContextGetMainGroupMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionContextGetStrictPosixMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionContextGetSummaryMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionContextParseMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionContextParseStrvMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionContextSetDescriptionMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionContextSetHelpEnabledMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionContextSetIgnoreUnknownOptionsMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionContextSetMainGroupMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionContextSetStrictPosixMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionContextSetSummaryMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionContextSetTranslateFuncMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionContextSetTranslationDomainMethodInfo-#endif
− GI/GLib/Structs/OptionEntry.hs
@@ -1,570 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A GOptionEntry struct defines a single option. To have an effect, they-must be added to a 'GI.GLib.Structs.OptionGroup.OptionGroup' with 'GI.GLib.Structs.OptionContext.optionContextAddMainEntries'-or 'GI.GLib.Structs.OptionGroup.optionGroupAddEntries'.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.OptionEntry-    ( ---- * Exported types-    OptionEntry(..)                         ,-    newZeroOptionEntry                      ,-    noOptionEntry                           ,--- -- * Properties--- ** arg #attr:arg#-{- | The type of the option, as a 'GI.GLib.Enums.OptionArg'--}-    getOptionEntryArg                       ,-#if ENABLE_OVERLOADING-    optionEntry_arg                         ,-#endif-    setOptionEntryArg                       ,----- ** argData #attr:argData#-{- | If the /@arg@/ type is 'GI.GLib.Enums.OptionArgCallback', then /@argData@/-    must point to a 'GI.GLib.Callbacks.OptionArgFunc' callback function, which will be-    called to handle the extra argument. Otherwise, /@argData@/ is a-    pointer to a location to store the value, the required type of-    the location depends on the /@arg@/ type:-    - 'GI.GLib.Enums.OptionArgNone': @/gboolean/@-    - 'GI.GLib.Enums.OptionArgString': @/gchar/@*-    - 'GI.GLib.Enums.OptionArgInt': @/gint/@-    - 'GI.GLib.Enums.OptionArgFilename': @/gchar/@*-    - 'GI.GLib.Enums.OptionArgStringArray': @/gchar/@**-    - 'GI.GLib.Enums.OptionArgFilenameArray': @/gchar/@**-    - 'GI.GLib.Enums.OptionArgDouble': @/gdouble/@-    If /@arg@/ type is 'GI.GLib.Enums.OptionArgString' or 'GI.GLib.Enums.OptionArgFilename',-    the location will contain a newly allocated string if the option-    was given. That string needs to be freed by the callee using 'GI.GLib.Functions.free'.-    Likewise if /@arg@/ type is 'GI.GLib.Enums.OptionArgStringArray' or-    'GI.GLib.Enums.OptionArgFilenameArray', the data should be freed using 'GI.GLib.Functions.strfreev'.--}-    clearOptionEntryArgData                 ,-    getOptionEntryArgData                   ,-#if ENABLE_OVERLOADING-    optionEntry_argData                     ,-#endif-    setOptionEntryArgData                   ,----- ** argDescription #attr:argDescription#-{- | The placeholder to use for the extra argument parsed-    by the option in @--help@ output. The /@argDescription@/ is translated-    using the /@translateFunc@/ of the group, see-    'GI.GLib.Structs.OptionGroup.optionGroupSetTranslationDomain'.--}-    clearOptionEntryArgDescription          ,-    getOptionEntryArgDescription            ,-#if ENABLE_OVERLOADING-    optionEntry_argDescription              ,-#endif-    setOptionEntryArgDescription            ,----- ** description #attr:description#-{- | the description for the option in @--help@-    output. The /@description@/ is translated using the /@translateFunc@/-    of the group, see 'GI.GLib.Structs.OptionGroup.optionGroupSetTranslationDomain'.--}-    clearOptionEntryDescription             ,-    getOptionEntryDescription               ,-#if ENABLE_OVERLOADING-    optionEntry_description                 ,-#endif-    setOptionEntryDescription               ,----- ** flags #attr:flags#-{- | Flags from 'GI.GLib.Flags.OptionFlags'--}-    getOptionEntryFlags                     ,-#if ENABLE_OVERLOADING-    optionEntry_flags                       ,-#endif-    setOptionEntryFlags                     ,----- ** longName #attr:longName#-{- | The long name of an option can be used to specify it-    in a commandline as @--long_name@. Every option must have a-    long name. To resolve conflicts if multiple option groups contain-    the same long name, it is also possible to specify the option as-    @--groupname-long_name@.--}-    clearOptionEntryLongName                ,-    getOptionEntryLongName                  ,-#if ENABLE_OVERLOADING-    optionEntry_longName                    ,-#endif-    setOptionEntryLongName                  ,----- ** shortName #attr:shortName#-{- | If an option has a short name, it can be specified-    @-short_name@ in a commandline. /@shortName@/ must be  a printable-    ASCII character different from \'-\', or zero if the option has no-    short name.--}-    getOptionEntryShortName                 ,-#if ENABLE_OVERLOADING-    optionEntry_shortName                   ,-#endif-    setOptionEntryShortName                 ,-----    ) 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.GLib.Enums as GLib.Enums---- | Memory-managed wrapper type.-newtype OptionEntry = OptionEntry (ManagedPtr OptionEntry)-instance WrappedPtr OptionEntry where-    wrappedPtrCalloc = callocBytes 48-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 48 >=> wrapPtr OptionEntry)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `OptionEntry` struct initialized to zero.-newZeroOptionEntry :: MonadIO m => m OptionEntry-newZeroOptionEntry = liftIO $ wrappedPtrCalloc >>= wrapPtr OptionEntry--instance tag ~ 'AttrSet => Constructible OptionEntry tag where-    new _ attrs = do-        o <- newZeroOptionEntry-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `OptionEntry`.-noOptionEntry :: Maybe OptionEntry-noOptionEntry = Nothing--{- |-Get the value of the “@long_name@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' optionEntry #longName-@--}-getOptionEntryLongName :: MonadIO m => OptionEntry -> m (Maybe T.Text)-getOptionEntryLongName 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 “@long_name@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' optionEntry [ #longName 'Data.GI.Base.Attributes.:=' value ]-@--}-setOptionEntryLongName :: MonadIO m => OptionEntry -> CString -> m ()-setOptionEntryLongName s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: CString)--{- |-Set the value of the “@long_name@” 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' #longName-@--}-clearOptionEntryLongName :: MonadIO m => OptionEntry -> m ()-clearOptionEntryLongName s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data OptionEntryLongNameFieldInfo-instance AttrInfo OptionEntryLongNameFieldInfo where-    type AttrAllowedOps OptionEntryLongNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint OptionEntryLongNameFieldInfo = (~) CString-    type AttrBaseTypeConstraint OptionEntryLongNameFieldInfo = (~) OptionEntry-    type AttrGetType OptionEntryLongNameFieldInfo = Maybe T.Text-    type AttrLabel OptionEntryLongNameFieldInfo = "long_name"-    type AttrOrigin OptionEntryLongNameFieldInfo = OptionEntry-    attrGet _ = getOptionEntryLongName-    attrSet _ = setOptionEntryLongName-    attrConstruct = undefined-    attrClear _ = clearOptionEntryLongName--optionEntry_longName :: AttrLabelProxy "longName"-optionEntry_longName = AttrLabelProxy--#endif---{- |-Get the value of the “@short_name@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' optionEntry #shortName-@--}-getOptionEntryShortName :: MonadIO m => OptionEntry -> m Int8-getOptionEntryShortName s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO Int8-    return val--{- |-Set the value of the “@short_name@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' optionEntry [ #shortName 'Data.GI.Base.Attributes.:=' value ]-@--}-setOptionEntryShortName :: MonadIO m => OptionEntry -> Int8 -> m ()-setOptionEntryShortName s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Int8)--#if ENABLE_OVERLOADING-data OptionEntryShortNameFieldInfo-instance AttrInfo OptionEntryShortNameFieldInfo where-    type AttrAllowedOps OptionEntryShortNameFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint OptionEntryShortNameFieldInfo = (~) Int8-    type AttrBaseTypeConstraint OptionEntryShortNameFieldInfo = (~) OptionEntry-    type AttrGetType OptionEntryShortNameFieldInfo = Int8-    type AttrLabel OptionEntryShortNameFieldInfo = "short_name"-    type AttrOrigin OptionEntryShortNameFieldInfo = OptionEntry-    attrGet _ = getOptionEntryShortName-    attrSet _ = setOptionEntryShortName-    attrConstruct = undefined-    attrClear _ = undefined--optionEntry_shortName :: AttrLabelProxy "shortName"-optionEntry_shortName = AttrLabelProxy--#endif---{- |-Get the value of the “@flags@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' optionEntry #flags-@--}-getOptionEntryFlags :: MonadIO m => OptionEntry -> m Int32-getOptionEntryFlags s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 12) :: IO Int32-    return val--{- |-Set the value of the “@flags@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' optionEntry [ #flags 'Data.GI.Base.Attributes.:=' value ]-@--}-setOptionEntryFlags :: MonadIO m => OptionEntry -> Int32 -> m ()-setOptionEntryFlags s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 12) (val :: Int32)--#if ENABLE_OVERLOADING-data OptionEntryFlagsFieldInfo-instance AttrInfo OptionEntryFlagsFieldInfo where-    type AttrAllowedOps OptionEntryFlagsFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint OptionEntryFlagsFieldInfo = (~) Int32-    type AttrBaseTypeConstraint OptionEntryFlagsFieldInfo = (~) OptionEntry-    type AttrGetType OptionEntryFlagsFieldInfo = Int32-    type AttrLabel OptionEntryFlagsFieldInfo = "flags"-    type AttrOrigin OptionEntryFlagsFieldInfo = OptionEntry-    attrGet _ = getOptionEntryFlags-    attrSet _ = setOptionEntryFlags-    attrConstruct = undefined-    attrClear _ = undefined--optionEntry_flags :: AttrLabelProxy "flags"-optionEntry_flags = AttrLabelProxy--#endif---{- |-Get the value of the “@arg@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' optionEntry #arg-@--}-getOptionEntryArg :: MonadIO m => OptionEntry -> m GLib.Enums.OptionArg-getOptionEntryArg s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO CUInt-    let val' = (toEnum . fromIntegral) val-    return val'--{- |-Set the value of the “@arg@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' optionEntry [ #arg 'Data.GI.Base.Attributes.:=' value ]-@--}-setOptionEntryArg :: MonadIO m => OptionEntry -> GLib.Enums.OptionArg -> m ()-setOptionEntryArg s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 16) (val' :: CUInt)--#if ENABLE_OVERLOADING-data OptionEntryArgFieldInfo-instance AttrInfo OptionEntryArgFieldInfo where-    type AttrAllowedOps OptionEntryArgFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint OptionEntryArgFieldInfo = (~) GLib.Enums.OptionArg-    type AttrBaseTypeConstraint OptionEntryArgFieldInfo = (~) OptionEntry-    type AttrGetType OptionEntryArgFieldInfo = GLib.Enums.OptionArg-    type AttrLabel OptionEntryArgFieldInfo = "arg"-    type AttrOrigin OptionEntryArgFieldInfo = OptionEntry-    attrGet _ = getOptionEntryArg-    attrSet _ = setOptionEntryArg-    attrConstruct = undefined-    attrClear _ = undefined--optionEntry_arg :: AttrLabelProxy "arg"-optionEntry_arg = AttrLabelProxy--#endif---{- |-Get the value of the “@arg_data@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' optionEntry #argData-@--}-getOptionEntryArgData :: MonadIO m => OptionEntry -> m (Ptr ())-getOptionEntryArgData s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO (Ptr ())-    return val--{- |-Set the value of the “@arg_data@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' optionEntry [ #argData 'Data.GI.Base.Attributes.:=' value ]-@--}-setOptionEntryArgData :: MonadIO m => OptionEntry -> Ptr () -> m ()-setOptionEntryArgData s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (val :: Ptr ())--{- |-Set the value of the “@arg_data@” 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' #argData-@--}-clearOptionEntryArgData :: MonadIO m => OptionEntry -> m ()-clearOptionEntryArgData s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (FP.nullPtr :: Ptr ())--#if ENABLE_OVERLOADING-data OptionEntryArgDataFieldInfo-instance AttrInfo OptionEntryArgDataFieldInfo where-    type AttrAllowedOps OptionEntryArgDataFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint OptionEntryArgDataFieldInfo = (~) (Ptr ())-    type AttrBaseTypeConstraint OptionEntryArgDataFieldInfo = (~) OptionEntry-    type AttrGetType OptionEntryArgDataFieldInfo = Ptr ()-    type AttrLabel OptionEntryArgDataFieldInfo = "arg_data"-    type AttrOrigin OptionEntryArgDataFieldInfo = OptionEntry-    attrGet _ = getOptionEntryArgData-    attrSet _ = setOptionEntryArgData-    attrConstruct = undefined-    attrClear _ = clearOptionEntryArgData--optionEntry_argData :: AttrLabelProxy "argData"-optionEntry_argData = AttrLabelProxy--#endif---{- |-Get the value of the “@description@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' optionEntry #description-@--}-getOptionEntryDescription :: MonadIO m => OptionEntry -> m (Maybe T.Text)-getOptionEntryDescription s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO CString-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- cstringToText val'-        return val''-    return result--{- |-Set the value of the “@description@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' optionEntry [ #description 'Data.GI.Base.Attributes.:=' value ]-@--}-setOptionEntryDescription :: MonadIO m => OptionEntry -> CString -> m ()-setOptionEntryDescription s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (val :: CString)--{- |-Set the value of the “@description@” 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' #description-@--}-clearOptionEntryDescription :: MonadIO m => OptionEntry -> m ()-clearOptionEntryDescription s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data OptionEntryDescriptionFieldInfo-instance AttrInfo OptionEntryDescriptionFieldInfo where-    type AttrAllowedOps OptionEntryDescriptionFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint OptionEntryDescriptionFieldInfo = (~) CString-    type AttrBaseTypeConstraint OptionEntryDescriptionFieldInfo = (~) OptionEntry-    type AttrGetType OptionEntryDescriptionFieldInfo = Maybe T.Text-    type AttrLabel OptionEntryDescriptionFieldInfo = "description"-    type AttrOrigin OptionEntryDescriptionFieldInfo = OptionEntry-    attrGet _ = getOptionEntryDescription-    attrSet _ = setOptionEntryDescription-    attrConstruct = undefined-    attrClear _ = clearOptionEntryDescription--optionEntry_description :: AttrLabelProxy "description"-optionEntry_description = AttrLabelProxy--#endif---{- |-Get the value of the “@arg_description@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' optionEntry #argDescription-@--}-getOptionEntryArgDescription :: MonadIO m => OptionEntry -> m (Maybe T.Text)-getOptionEntryArgDescription s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 40) :: IO CString-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- cstringToText val'-        return val''-    return result--{- |-Set the value of the “@arg_description@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' optionEntry [ #argDescription 'Data.GI.Base.Attributes.:=' value ]-@--}-setOptionEntryArgDescription :: MonadIO m => OptionEntry -> CString -> m ()-setOptionEntryArgDescription s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 40) (val :: CString)--{- |-Set the value of the “@arg_description@” 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' #argDescription-@--}-clearOptionEntryArgDescription :: MonadIO m => OptionEntry -> m ()-clearOptionEntryArgDescription s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 40) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data OptionEntryArgDescriptionFieldInfo-instance AttrInfo OptionEntryArgDescriptionFieldInfo where-    type AttrAllowedOps OptionEntryArgDescriptionFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint OptionEntryArgDescriptionFieldInfo = (~) CString-    type AttrBaseTypeConstraint OptionEntryArgDescriptionFieldInfo = (~) OptionEntry-    type AttrGetType OptionEntryArgDescriptionFieldInfo = Maybe T.Text-    type AttrLabel OptionEntryArgDescriptionFieldInfo = "arg_description"-    type AttrOrigin OptionEntryArgDescriptionFieldInfo = OptionEntry-    attrGet _ = getOptionEntryArgDescription-    attrSet _ = setOptionEntryArgDescription-    attrConstruct = undefined-    attrClear _ = clearOptionEntryArgDescription--optionEntry_argDescription :: AttrLabelProxy "argDescription"-optionEntry_argDescription = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList OptionEntry-type instance O.AttributeList OptionEntry = OptionEntryAttributeList-type OptionEntryAttributeList = ('[ '("longName", OptionEntryLongNameFieldInfo), '("shortName", OptionEntryShortNameFieldInfo), '("flags", OptionEntryFlagsFieldInfo), '("arg", OptionEntryArgFieldInfo), '("argData", OptionEntryArgDataFieldInfo), '("description", OptionEntryDescriptionFieldInfo), '("argDescription", OptionEntryArgDescriptionFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveOptionEntryMethod (t :: Symbol) (o :: *) :: * where-    ResolveOptionEntryMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveOptionEntryMethod t OptionEntry, O.MethodInfo info OptionEntry p) => OL.IsLabel t (OptionEntry -> 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/GLib/Structs/OptionEntry.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.OptionEntry 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 OptionEntry = OptionEntry (ManagedPtr OptionEntry)-instance WrappedPtr OptionEntry where
− GI/GLib/Structs/OptionGroup.hs
@@ -1,456 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A @GOptionGroup@ struct defines the options in a single-group. The struct has only private fields and should not be directly accessed.--All options in a group share the same translation function. Libraries which-need to parse commandline options are expected to provide a function for-getting a @GOptionGroup@ holding their options, which-the application can then add to its 'GI.GLib.Structs.OptionContext.OptionContext'.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.OptionGroup-    ( ---- * Exported types-    OptionGroup(..)                         ,-    noOptionGroup                           ,--- -- * Methods--- ** addEntries #method:addEntries#--#if ENABLE_OVERLOADING-    OptionGroupAddEntriesMethodInfo         ,-#endif-    optionGroupAddEntries                   ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    OptionGroupFreeMethodInfo               ,-#endif-    optionGroupFree                         ,----- ** new #method:new#--    optionGroupNew                          ,----- ** ref #method:ref#--#if ENABLE_OVERLOADING-    OptionGroupRefMethodInfo                ,-#endif-    optionGroupRef                          ,----- ** setTranslateFunc #method:setTranslateFunc#--#if ENABLE_OVERLOADING-    OptionGroupSetTranslateFuncMethodInfo   ,-#endif-    optionGroupSetTranslateFunc             ,----- ** setTranslationDomain #method:setTranslationDomain#--#if ENABLE_OVERLOADING-    OptionGroupSetTranslationDomainMethodInfo,-#endif-    optionGroupSetTranslationDomain         ,----- ** unref #method:unref#--#if ENABLE_OVERLOADING-    OptionGroupUnrefMethodInfo              ,-#endif-    optionGroupUnref                        ,-----    ) 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 qualified GI.GLib.Callbacks as GLib.Callbacks-import {-# SOURCE #-} qualified GI.GLib.Structs.OptionEntry as GLib.OptionEntry---- | Memory-managed wrapper type.-newtype OptionGroup = OptionGroup (ManagedPtr OptionGroup)-foreign import ccall "g_option_group_get_type" c_g_option_group_get_type :: -    IO GType--instance BoxedObject OptionGroup where-    boxedType _ = c_g_option_group_get_type---- | A convenience alias for `Nothing` :: `Maybe` `OptionGroup`.-noOptionGroup :: Maybe OptionGroup-noOptionGroup = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList OptionGroup-type instance O.AttributeList OptionGroup = OptionGroupAttributeList-type OptionGroupAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method OptionGroup::new--- method type : Constructor--- Args : [Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the name for the option group, this is used to provide\n  help for the options in this group with `--help-`@name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a description for this group to be shown in\n  `--help`. This string is translated using the translation\n  domain or translation function of the group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "help_description", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a description for the `--help-`@name option.\n  This string is translated using the translation domain or translation function\n  of the group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data that will be passed to the pre- and post-parse hooks,\n  the error hook and to callbacks of %G_OPTION_ARG_CALLBACK options, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a function that will be called to free @user_data, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "OptionGroup"}))--- throws : False--- Skip return : False--foreign import ccall "g_option_group_new" g_option_group_new :: -    CString ->                              -- name : TBasicType TUTF8-    CString ->                              -- description : TBasicType TUTF8-    CString ->                              -- help_description : TBasicType TUTF8-    Ptr () ->                               -- user_data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO (Ptr OptionGroup)--{- |-Creates a new 'GI.GLib.Structs.OptionGroup.OptionGroup'.--/Since: 2.6/--}-optionGroupNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@name@/: the name for the option group, this is used to provide-  help for the options in this group with @--help-@/@name@/ -}-    -> T.Text-    {- ^ /@description@/: a description for this group to be shown in-  @--help@. This string is translated using the translation-  domain or translation function of the group -}-    -> T.Text-    {- ^ /@helpDescription@/: a description for the @--help-@/@name@/ option.-  This string is translated using the translation domain or translation function-  of the group -}-    -> Ptr ()-    {- ^ /@userData@/: user data that will be passed to the pre- and post-parse hooks,-  the error hook and to callbacks of 'GI.GLib.Enums.OptionArgCallback' options, or 'Nothing' -}-    -> Maybe (GLib.Callbacks.DestroyNotify)-    {- ^ /@destroy@/: a function that will be called to free /@userData@/, or 'Nothing' -}-    -> m OptionGroup-    {- ^ __Returns:__ a newly created option group. It should be added-  to a 'GI.GLib.Structs.OptionContext.OptionContext' or freed with 'GI.GLib.Structs.OptionGroup.optionGroupUnref'. -}-optionGroupNew name description helpDescription userData destroy = liftIO $ do-    name' <- textToCString name-    description' <- textToCString description-    helpDescription' <- textToCString helpDescription-    maybeDestroy <- case destroy of-        Nothing -> return (castPtrToFunPtr nullPtr)-        Just jDestroy -> do-            ptrdestroy <- callocMem :: IO (Ptr (FunPtr GLib.Callbacks.C_DestroyNotify))-            jDestroy' <- GLib.Callbacks.mk_DestroyNotify (GLib.Callbacks.wrap_DestroyNotify (Just ptrdestroy) jDestroy)-            poke ptrdestroy jDestroy'-            return jDestroy'-    result <- g_option_group_new name' description' helpDescription' userData maybeDestroy-    checkUnexpectedReturnNULL "optionGroupNew" result-    result' <- (wrapBoxed OptionGroup) result-    freeMem name'-    freeMem description'-    freeMem helpDescription'-    return result'--#if ENABLE_OVERLOADING-#endif---- method OptionGroup::add_entries--- method type : OrdinaryMethod--- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "GLib", name = "OptionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "entries", argType = TInterface (Name {namespace = "GLib", name = "OptionEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a %NULL-terminated array of #GOptionEntrys", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_option_group_add_entries" g_option_group_add_entries :: -    Ptr OptionGroup ->                      -- group : TInterface (Name {namespace = "GLib", name = "OptionGroup"})-    Ptr GLib.OptionEntry.OptionEntry ->     -- entries : TInterface (Name {namespace = "GLib", name = "OptionEntry"})-    IO ()--{- |-Adds the options specified in /@entries@/ to /@group@/.--/Since: 2.6/--}-optionGroupAddEntries ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionGroup-    {- ^ /@group@/: a 'GI.GLib.Structs.OptionGroup.OptionGroup' -}-    -> GLib.OptionEntry.OptionEntry-    {- ^ /@entries@/: a 'Nothing'-terminated array of @/GOptionEntrys/@ -}-    -> m ()-optionGroupAddEntries group entries = liftIO $ do-    group' <- unsafeManagedPtrGetPtr group-    entries' <- unsafeManagedPtrGetPtr entries-    g_option_group_add_entries group' entries'-    touchManagedPtr group-    touchManagedPtr entries-    return ()--#if ENABLE_OVERLOADING-data OptionGroupAddEntriesMethodInfo-instance (signature ~ (GLib.OptionEntry.OptionEntry -> m ()), MonadIO m) => O.MethodInfo OptionGroupAddEntriesMethodInfo OptionGroup signature where-    overloadedMethod _ = optionGroupAddEntries--#endif---- method OptionGroup::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "GLib", name = "OptionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_option_group_free" g_option_group_free :: -    Ptr OptionGroup ->                      -- group : TInterface (Name {namespace = "GLib", name = "OptionGroup"})-    IO ()--{-# DEPRECATED optionGroupFree ["(Since version 2.44)","Use 'GI.GLib.Structs.OptionGroup.optionGroupUnref' instead."] #-}-{- |-Frees a 'GI.GLib.Structs.OptionGroup.OptionGroup'. Note that you must not free groups-which have been added to a 'GI.GLib.Structs.OptionContext.OptionContext'.--/Since: 2.6/--}-optionGroupFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionGroup-    {- ^ /@group@/: a 'GI.GLib.Structs.OptionGroup.OptionGroup' -}-    -> m ()-optionGroupFree group = liftIO $ do-    group' <- unsafeManagedPtrGetPtr group-    g_option_group_free group'-    touchManagedPtr group-    return ()--#if ENABLE_OVERLOADING-data OptionGroupFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo OptionGroupFreeMethodInfo OptionGroup signature where-    overloadedMethod _ = optionGroupFree--#endif---- method OptionGroup::ref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "GLib", name = "OptionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "OptionGroup"}))--- throws : False--- Skip return : False--foreign import ccall "g_option_group_ref" g_option_group_ref :: -    Ptr OptionGroup ->                      -- group : TInterface (Name {namespace = "GLib", name = "OptionGroup"})-    IO (Ptr OptionGroup)--{- |-Increments the reference count of /@group@/ by one.--/Since: 2.44/--}-optionGroupRef ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionGroup-    {- ^ /@group@/: a 'GI.GLib.Structs.OptionGroup.OptionGroup' -}-    -> m OptionGroup-    {- ^ __Returns:__ a 'GI.GLib.Structs.OptionGroup.OptionGroup' -}-optionGroupRef group = liftIO $ do-    group' <- unsafeManagedPtrGetPtr group-    result <- g_option_group_ref group'-    checkUnexpectedReturnNULL "optionGroupRef" result-    result' <- (wrapBoxed OptionGroup) result-    touchManagedPtr group-    return result'--#if ENABLE_OVERLOADING-data OptionGroupRefMethodInfo-instance (signature ~ (m OptionGroup), MonadIO m) => O.MethodInfo OptionGroupRefMethodInfo OptionGroup signature where-    overloadedMethod _ = optionGroupRef--#endif---- method OptionGroup::set_translate_func--- method type : OrdinaryMethod--- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "GLib", name = "OptionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "GLib", name = "TranslateFunc"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GTranslateFunc, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "user data to pass to @func, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy_notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a function which gets called to free @data, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_option_group_set_translate_func" g_option_group_set_translate_func :: -    Ptr OptionGroup ->                      -- group : TInterface (Name {namespace = "GLib", name = "OptionGroup"})-    FunPtr GLib.Callbacks.C_TranslateFunc -> -- func : TInterface (Name {namespace = "GLib", name = "TranslateFunc"})-    Ptr () ->                               -- data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy_notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-Sets the function which is used to translate user-visible strings,-for @--help@ output. Different groups can use different-@/GTranslateFuncs/@. If /@func@/ is 'Nothing', strings are not translated.--If you are using @/gettext()/@, you only need to set the translation-domain, see 'GI.GLib.Structs.OptionGroup.optionGroupSetTranslationDomain'.--/Since: 2.6/--}-optionGroupSetTranslateFunc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionGroup-    {- ^ /@group@/: a 'GI.GLib.Structs.OptionGroup.OptionGroup' -}-    -> Maybe (GLib.Callbacks.TranslateFunc)-    {- ^ /@func@/: the 'GI.GLib.Callbacks.TranslateFunc', or 'Nothing' -}-    -> m ()-optionGroupSetTranslateFunc group func = liftIO $ do-    group' <- unsafeManagedPtrGetPtr group-    maybeFunc <- case func of-        Nothing -> return (castPtrToFunPtr nullPtr)-        Just jFunc -> do-            jFunc' <- GLib.Callbacks.mk_TranslateFunc (GLib.Callbacks.wrap_TranslateFunc Nothing jFunc)-            return jFunc'-    let data_ = castFunPtrToPtr maybeFunc-    let destroyNotify = safeFreeFunPtrPtr-    g_option_group_set_translate_func group' maybeFunc data_ destroyNotify-    touchManagedPtr group-    return ()--#if ENABLE_OVERLOADING-data OptionGroupSetTranslateFuncMethodInfo-instance (signature ~ (Maybe (GLib.Callbacks.TranslateFunc) -> m ()), MonadIO m) => O.MethodInfo OptionGroupSetTranslateFuncMethodInfo OptionGroup signature where-    overloadedMethod _ = optionGroupSetTranslateFunc--#endif---- method OptionGroup::set_translation_domain--- method type : OrdinaryMethod--- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "GLib", name = "OptionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "domain", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the domain to use", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_option_group_set_translation_domain" g_option_group_set_translation_domain :: -    Ptr OptionGroup ->                      -- group : TInterface (Name {namespace = "GLib", name = "OptionGroup"})-    CString ->                              -- domain : TBasicType TUTF8-    IO ()--{- |-A convenience function to use @/gettext()/@ for translating-user-visible strings.--/Since: 2.6/--}-optionGroupSetTranslationDomain ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionGroup-    {- ^ /@group@/: a 'GI.GLib.Structs.OptionGroup.OptionGroup' -}-    -> T.Text-    {- ^ /@domain@/: the domain to use -}-    -> m ()-optionGroupSetTranslationDomain group domain = liftIO $ do-    group' <- unsafeManagedPtrGetPtr group-    domain' <- textToCString domain-    g_option_group_set_translation_domain group' domain'-    touchManagedPtr group-    freeMem domain'-    return ()--#if ENABLE_OVERLOADING-data OptionGroupSetTranslationDomainMethodInfo-instance (signature ~ (T.Text -> m ()), MonadIO m) => O.MethodInfo OptionGroupSetTranslationDomainMethodInfo OptionGroup signature where-    overloadedMethod _ = optionGroupSetTranslationDomain--#endif---- method OptionGroup::unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "group", argType = TInterface (Name {namespace = "GLib", name = "OptionGroup"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GOptionGroup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_option_group_unref" g_option_group_unref :: -    Ptr OptionGroup ->                      -- group : TInterface (Name {namespace = "GLib", name = "OptionGroup"})-    IO ()--{- |-Decrements the reference count of /@group@/ by one.-If the reference count drops to 0, the /@group@/ will be freed.-and all memory allocated by the /@group@/ is released.--/Since: 2.44/--}-optionGroupUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    OptionGroup-    {- ^ /@group@/: a 'GI.GLib.Structs.OptionGroup.OptionGroup' -}-    -> m ()-optionGroupUnref group = liftIO $ do-    group' <- unsafeManagedPtrGetPtr group-    g_option_group_unref group'-    touchManagedPtr group-    return ()--#if ENABLE_OVERLOADING-data OptionGroupUnrefMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo OptionGroupUnrefMethodInfo OptionGroup signature where-    overloadedMethod _ = optionGroupUnref--#endif--#if ENABLE_OVERLOADING-type family ResolveOptionGroupMethod (t :: Symbol) (o :: *) :: * where-    ResolveOptionGroupMethod "addEntries" o = OptionGroupAddEntriesMethodInfo-    ResolveOptionGroupMethod "free" o = OptionGroupFreeMethodInfo-    ResolveOptionGroupMethod "ref" o = OptionGroupRefMethodInfo-    ResolveOptionGroupMethod "unref" o = OptionGroupUnrefMethodInfo-    ResolveOptionGroupMethod "setTranslateFunc" o = OptionGroupSetTranslateFuncMethodInfo-    ResolveOptionGroupMethod "setTranslationDomain" o = OptionGroupSetTranslationDomainMethodInfo-    ResolveOptionGroupMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveOptionGroupMethod t OptionGroup, O.MethodInfo info OptionGroup p) => OL.IsLabel t (OptionGroup -> 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/GLib/Structs/OptionGroup.hs-boot
@@ -1,44 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.OptionGroup 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 OptionGroup = OptionGroup (ManagedPtr OptionGroup)-instance BoxedObject OptionGroup where-#if ENABLE_OVERLOADING-data OptionGroupAddEntriesMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionGroupFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionGroupRefMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionGroupSetTranslateFuncMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionGroupSetTranslationDomainMethodInfo-#endif-#if ENABLE_OVERLOADING-data OptionGroupUnrefMethodInfo-#endif
− GI/GLib/Structs/PatternSpec.hs
@@ -1,173 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A GPatternSpec struct is the \'compiled\' form of a pattern. This-structure is opaque and its fields cannot be accessed directly.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.PatternSpec-    ( ---- * Exported types-    PatternSpec(..)                         ,-    noPatternSpec                           ,--- -- * Methods--- ** equal #method:equal#--#if ENABLE_OVERLOADING-    PatternSpecEqualMethodInfo              ,-#endif-    patternSpecEqual                        ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    PatternSpecFreeMethodInfo               ,-#endif-    patternSpecFree                         ,-----    ) 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 PatternSpec = PatternSpec (ManagedPtr PatternSpec)--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?-instance WrappedPtr PatternSpec where-    wrappedPtrCalloc = return nullPtr-    wrappedPtrCopy = return-    wrappedPtrFree = Nothing---- | A convenience alias for `Nothing` :: `Maybe` `PatternSpec`.-noPatternSpec :: Maybe PatternSpec-noPatternSpec = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList PatternSpec-type instance O.AttributeList PatternSpec = PatternSpecAttributeList-type PatternSpecAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method PatternSpec::equal--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pspec1", argType = TInterface (Name {namespace = "GLib", name = "PatternSpec"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GPatternSpec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pspec2", argType = TInterface (Name {namespace = "GLib", name = "PatternSpec"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another #GPatternSpec", 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_pattern_spec_equal" g_pattern_spec_equal :: -    Ptr PatternSpec ->                      -- pspec1 : TInterface (Name {namespace = "GLib", name = "PatternSpec"})-    Ptr PatternSpec ->                      -- pspec2 : TInterface (Name {namespace = "GLib", name = "PatternSpec"})-    IO CInt--{- |-Compares two compiled pattern specs and returns whether they will-match the same set of strings.--}-patternSpecEqual ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    PatternSpec-    {- ^ /@pspec1@/: a 'GI.GLib.Structs.PatternSpec.PatternSpec' -}-    -> PatternSpec-    {- ^ /@pspec2@/: another 'GI.GLib.Structs.PatternSpec.PatternSpec' -}-    -> m Bool-    {- ^ __Returns:__ Whether the compiled patterns are equal -}-patternSpecEqual pspec1 pspec2 = liftIO $ do-    pspec1' <- unsafeManagedPtrGetPtr pspec1-    pspec2' <- unsafeManagedPtrGetPtr pspec2-    result <- g_pattern_spec_equal pspec1' pspec2'-    let result' = (/= 0) result-    touchManagedPtr pspec1-    touchManagedPtr pspec2-    return result'--#if ENABLE_OVERLOADING-data PatternSpecEqualMethodInfo-instance (signature ~ (PatternSpec -> m Bool), MonadIO m) => O.MethodInfo PatternSpecEqualMethodInfo PatternSpec signature where-    overloadedMethod _ = patternSpecEqual--#endif---- method PatternSpec::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pspec", argType = TInterface (Name {namespace = "GLib", name = "PatternSpec"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GPatternSpec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_pattern_spec_free" g_pattern_spec_free :: -    Ptr PatternSpec ->                      -- pspec : TInterface (Name {namespace = "GLib", name = "PatternSpec"})-    IO ()--{- |-Frees the memory allocated for the 'GI.GLib.Structs.PatternSpec.PatternSpec'.--}-patternSpecFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    PatternSpec-    {- ^ /@pspec@/: a 'GI.GLib.Structs.PatternSpec.PatternSpec' -}-    -> m ()-patternSpecFree pspec = liftIO $ do-    pspec' <- unsafeManagedPtrGetPtr pspec-    g_pattern_spec_free pspec'-    touchManagedPtr pspec-    return ()--#if ENABLE_OVERLOADING-data PatternSpecFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo PatternSpecFreeMethodInfo PatternSpec signature where-    overloadedMethod _ = patternSpecFree--#endif--#if ENABLE_OVERLOADING-type family ResolvePatternSpecMethod (t :: Symbol) (o :: *) :: * where-    ResolvePatternSpecMethod "equal" o = PatternSpecEqualMethodInfo-    ResolvePatternSpecMethod "free" o = PatternSpecFreeMethodInfo-    ResolvePatternSpecMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolvePatternSpecMethod t PatternSpec, O.MethodInfo info PatternSpec p) => OL.IsLabel t (PatternSpec -> 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/GLib/Structs/PatternSpec.hs-boot
@@ -1,32 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.PatternSpec 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 PatternSpec = PatternSpec (ManagedPtr PatternSpec)-instance WrappedPtr PatternSpec where-#if ENABLE_OVERLOADING-data PatternSpecEqualMethodInfo-#endif-#if ENABLE_OVERLOADING-data PatternSpecFreeMethodInfo-#endif
− GI/GLib/Structs/PollFD.hs
@@ -1,262 +0,0 @@---{- |-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 file descriptor, which events to poll for, and which events-occurred.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.PollFD-    ( ---- * Exported types-    PollFD(..)                              ,-    newZeroPollFD                           ,-    noPollFD                                ,--- -- * Properties--- ** events #attr:events#-{- | a bitwise combination from 'GI.GLib.Flags.IOCondition', specifying which-    events should be polled for. Typically for reading from a file-    descriptor you would use 'GI.GLib.Flags.IOConditionIn' | 'GI.GLib.Flags.IOConditionHup' | 'GI.GLib.Flags.IOConditionErr', and-    for writing you would use 'GI.GLib.Flags.IOConditionOut' | 'GI.GLib.Flags.IOConditionErr'.--}-    getPollFDEvents                         ,-#if ENABLE_OVERLOADING-    pollFD_events                           ,-#endif-    setPollFDEvents                         ,----- ** fd #attr:fd#-{- | the file descriptor to poll (or a HANDLE on Win32)--}-    getPollFDFd                             ,-#if ENABLE_OVERLOADING-    pollFD_fd                               ,-#endif-    setPollFDFd                             ,----- ** revents #attr:revents#-{- | a bitwise combination of flags from 'GI.GLib.Flags.IOCondition', returned-    from the @/poll()/@ function to indicate which events occurred.--}-    getPollFDRevents                        ,-#if ENABLE_OVERLOADING-    pollFD_revents                          ,-#endif-    setPollFDRevents                        ,-----    ) 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 PollFD = PollFD (ManagedPtr PollFD)-foreign import ccall "g_pollfd_get_type" c_g_pollfd_get_type :: -    IO GType--instance BoxedObject PollFD where-    boxedType _ = c_g_pollfd_get_type---- | Construct a `PollFD` struct initialized to zero.-newZeroPollFD :: MonadIO m => m PollFD-newZeroPollFD = liftIO $ callocBoxedBytes 8 >>= wrapBoxed PollFD--instance tag ~ 'AttrSet => Constructible PollFD tag where-    new _ attrs = do-        o <- newZeroPollFD-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `PollFD`.-noPollFD :: Maybe PollFD-noPollFD = Nothing--{- |-Get the value of the “@fd@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' pollFD #fd-@--}-getPollFDFd :: MonadIO m => PollFD -> m Int32-getPollFDFd s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO Int32-    return val--{- |-Set the value of the “@fd@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' pollFD [ #fd 'Data.GI.Base.Attributes.:=' value ]-@--}-setPollFDFd :: MonadIO m => PollFD -> Int32 -> m ()-setPollFDFd s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: Int32)--#if ENABLE_OVERLOADING-data PollFDFdFieldInfo-instance AttrInfo PollFDFdFieldInfo where-    type AttrAllowedOps PollFDFdFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint PollFDFdFieldInfo = (~) Int32-    type AttrBaseTypeConstraint PollFDFdFieldInfo = (~) PollFD-    type AttrGetType PollFDFdFieldInfo = Int32-    type AttrLabel PollFDFdFieldInfo = "fd"-    type AttrOrigin PollFDFdFieldInfo = PollFD-    attrGet _ = getPollFDFd-    attrSet _ = setPollFDFd-    attrConstruct = undefined-    attrClear _ = undefined--pollFD_fd :: AttrLabelProxy "fd"-pollFD_fd = AttrLabelProxy--#endif---{- |-Get the value of the “@events@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' pollFD #events-@--}-getPollFDEvents :: MonadIO m => PollFD -> m Word16-getPollFDEvents s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 4) :: IO Word16-    return val--{- |-Set the value of the “@events@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' pollFD [ #events 'Data.GI.Base.Attributes.:=' value ]-@--}-setPollFDEvents :: MonadIO m => PollFD -> Word16 -> m ()-setPollFDEvents s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 4) (val :: Word16)--#if ENABLE_OVERLOADING-data PollFDEventsFieldInfo-instance AttrInfo PollFDEventsFieldInfo where-    type AttrAllowedOps PollFDEventsFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint PollFDEventsFieldInfo = (~) Word16-    type AttrBaseTypeConstraint PollFDEventsFieldInfo = (~) PollFD-    type AttrGetType PollFDEventsFieldInfo = Word16-    type AttrLabel PollFDEventsFieldInfo = "events"-    type AttrOrigin PollFDEventsFieldInfo = PollFD-    attrGet _ = getPollFDEvents-    attrSet _ = setPollFDEvents-    attrConstruct = undefined-    attrClear _ = undefined--pollFD_events :: AttrLabelProxy "events"-pollFD_events = AttrLabelProxy--#endif---{- |-Get the value of the “@revents@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' pollFD #revents-@--}-getPollFDRevents :: MonadIO m => PollFD -> m Word16-getPollFDRevents s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 6) :: IO Word16-    return val--{- |-Set the value of the “@revents@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' pollFD [ #revents 'Data.GI.Base.Attributes.:=' value ]-@--}-setPollFDRevents :: MonadIO m => PollFD -> Word16 -> m ()-setPollFDRevents s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 6) (val :: Word16)--#if ENABLE_OVERLOADING-data PollFDReventsFieldInfo-instance AttrInfo PollFDReventsFieldInfo where-    type AttrAllowedOps PollFDReventsFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint PollFDReventsFieldInfo = (~) Word16-    type AttrBaseTypeConstraint PollFDReventsFieldInfo = (~) PollFD-    type AttrGetType PollFDReventsFieldInfo = Word16-    type AttrLabel PollFDReventsFieldInfo = "revents"-    type AttrOrigin PollFDReventsFieldInfo = PollFD-    attrGet _ = getPollFDRevents-    attrSet _ = setPollFDRevents-    attrConstruct = undefined-    attrClear _ = undefined--pollFD_revents :: AttrLabelProxy "revents"-pollFD_revents = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList PollFD-type instance O.AttributeList PollFD = PollFDAttributeList-type PollFDAttributeList = ('[ '("fd", PollFDFdFieldInfo), '("events", PollFDEventsFieldInfo), '("revents", PollFDReventsFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolvePollFDMethod (t :: Symbol) (o :: *) :: * where-    ResolvePollFDMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolvePollFDMethod t PollFD, O.MethodInfo info PollFD p) => OL.IsLabel t (PollFD -> 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/GLib/Structs/PollFD.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.PollFD 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 PollFD = PollFD (ManagedPtr PollFD)-instance BoxedObject PollFD where
− GI/GLib/Structs/PtrArray.hs
@@ -1,216 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Contains the public fields of a pointer array.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.PtrArray-    ( ---- * Exported types-    PtrArray(..)                            ,-    newZeroPtrArray                         ,-    noPtrArray                              ,--- -- * Properties--- ** len #attr:len#-{- | number of pointers in the array--}-    getPtrArrayLen                          ,-#if ENABLE_OVERLOADING-    ptrArray_len                            ,-#endif-    setPtrArrayLen                          ,----- ** pdata #attr:pdata#-{- | points to the array of pointers, which may be moved when the-    array grows--}-    clearPtrArrayPdata                      ,-    getPtrArrayPdata                        ,-#if ENABLE_OVERLOADING-    ptrArray_pdata                          ,-#endif-    setPtrArrayPdata                        ,-----    ) 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 PtrArray = PtrArray (ManagedPtr PtrArray)-foreign import ccall "g_ptr_array_get_type" c_g_ptr_array_get_type :: -    IO GType--instance BoxedObject PtrArray where-    boxedType _ = c_g_ptr_array_get_type---- | Construct a `PtrArray` struct initialized to zero.-newZeroPtrArray :: MonadIO m => m PtrArray-newZeroPtrArray = liftIO $ callocBoxedBytes 16 >>= wrapBoxed PtrArray--instance tag ~ 'AttrSet => Constructible PtrArray tag where-    new _ attrs = do-        o <- newZeroPtrArray-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `PtrArray`.-noPtrArray :: Maybe PtrArray-noPtrArray = Nothing--{- |-Get the value of the “@pdata@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' ptrArray #pdata-@--}-getPtrArrayPdata :: MonadIO m => PtrArray -> m (Ptr ())-getPtrArrayPdata s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr ())-    return val--{- |-Set the value of the “@pdata@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' ptrArray [ #pdata 'Data.GI.Base.Attributes.:=' value ]-@--}-setPtrArrayPdata :: MonadIO m => PtrArray -> Ptr () -> m ()-setPtrArrayPdata s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: Ptr ())--{- |-Set the value of the “@pdata@” 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' #pdata-@--}-clearPtrArrayPdata :: MonadIO m => PtrArray -> m ()-clearPtrArrayPdata s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr ())--#if ENABLE_OVERLOADING-data PtrArrayPdataFieldInfo-instance AttrInfo PtrArrayPdataFieldInfo where-    type AttrAllowedOps PtrArrayPdataFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint PtrArrayPdataFieldInfo = (~) (Ptr ())-    type AttrBaseTypeConstraint PtrArrayPdataFieldInfo = (~) PtrArray-    type AttrGetType PtrArrayPdataFieldInfo = Ptr ()-    type AttrLabel PtrArrayPdataFieldInfo = "pdata"-    type AttrOrigin PtrArrayPdataFieldInfo = PtrArray-    attrGet _ = getPtrArrayPdata-    attrSet _ = setPtrArrayPdata-    attrConstruct = undefined-    attrClear _ = clearPtrArrayPdata--ptrArray_pdata :: AttrLabelProxy "pdata"-ptrArray_pdata = AttrLabelProxy--#endif---{- |-Get the value of the “@len@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' ptrArray #len-@--}-getPtrArrayLen :: MonadIO m => PtrArray -> m Word32-getPtrArrayLen s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO Word32-    return val--{- |-Set the value of the “@len@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' ptrArray [ #len 'Data.GI.Base.Attributes.:=' value ]-@--}-setPtrArrayLen :: MonadIO m => PtrArray -> Word32 -> m ()-setPtrArrayLen s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Word32)--#if ENABLE_OVERLOADING-data PtrArrayLenFieldInfo-instance AttrInfo PtrArrayLenFieldInfo where-    type AttrAllowedOps PtrArrayLenFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint PtrArrayLenFieldInfo = (~) Word32-    type AttrBaseTypeConstraint PtrArrayLenFieldInfo = (~) PtrArray-    type AttrGetType PtrArrayLenFieldInfo = Word32-    type AttrLabel PtrArrayLenFieldInfo = "len"-    type AttrOrigin PtrArrayLenFieldInfo = PtrArray-    attrGet _ = getPtrArrayLen-    attrSet _ = setPtrArrayLen-    attrConstruct = undefined-    attrClear _ = undefined--ptrArray_len :: AttrLabelProxy "len"-ptrArray_len = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList PtrArray-type instance O.AttributeList PtrArray = PtrArrayAttributeList-type PtrArrayAttributeList = ('[ '("pdata", PtrArrayPdataFieldInfo), '("len", PtrArrayLenFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolvePtrArrayMethod (t :: Symbol) (o :: *) :: * where-    ResolvePtrArrayMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolvePtrArrayMethod t PtrArray, O.MethodInfo info PtrArray p) => OL.IsLabel t (PtrArray -> 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/GLib/Structs/PtrArray.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.PtrArray 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 PtrArray = PtrArray (ManagedPtr PtrArray)-instance BoxedObject PtrArray where
− GI/GLib/Structs/Queue.hs
@@ -1,1231 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Contains the public fields of a-[Queue][glib-Double-ended-Queues].--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.Queue-    ( ---- * Exported types-    Queue(..)                               ,-    newZeroQueue                            ,-    noQueue                                 ,--- -- * Methods--- ** clear #method:clear#--#if ENABLE_OVERLOADING-    QueueClearMethodInfo                    ,-#endif-    queueClear                              ,----- ** clearFull #method:clearFull#--#if ENABLE_OVERLOADING-    QueueClearFullMethodInfo                ,-#endif-    queueClearFull                          ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    QueueFreeMethodInfo                     ,-#endif-    queueFree                               ,----- ** freeFull #method:freeFull#--#if ENABLE_OVERLOADING-    QueueFreeFullMethodInfo                 ,-#endif-    queueFreeFull                           ,----- ** getLength #method:getLength#--#if ENABLE_OVERLOADING-    QueueGetLengthMethodInfo                ,-#endif-    queueGetLength                          ,----- ** index #method:index#--#if ENABLE_OVERLOADING-    QueueIndexMethodInfo                    ,-#endif-    queueIndex                              ,----- ** init #method:init#--#if ENABLE_OVERLOADING-    QueueInitMethodInfo                     ,-#endif-    queueInit                               ,----- ** isEmpty #method:isEmpty#--#if ENABLE_OVERLOADING-    QueueIsEmptyMethodInfo                  ,-#endif-    queueIsEmpty                            ,----- ** peekHead #method:peekHead#--#if ENABLE_OVERLOADING-    QueuePeekHeadMethodInfo                 ,-#endif-    queuePeekHead                           ,----- ** peekNth #method:peekNth#--#if ENABLE_OVERLOADING-    QueuePeekNthMethodInfo                  ,-#endif-    queuePeekNth                            ,----- ** peekTail #method:peekTail#--#if ENABLE_OVERLOADING-    QueuePeekTailMethodInfo                 ,-#endif-    queuePeekTail                           ,----- ** popHead #method:popHead#--#if ENABLE_OVERLOADING-    QueuePopHeadMethodInfo                  ,-#endif-    queuePopHead                            ,----- ** popNth #method:popNth#--#if ENABLE_OVERLOADING-    QueuePopNthMethodInfo                   ,-#endif-    queuePopNth                             ,----- ** popTail #method:popTail#--#if ENABLE_OVERLOADING-    QueuePopTailMethodInfo                  ,-#endif-    queuePopTail                            ,----- ** pushHead #method:pushHead#--#if ENABLE_OVERLOADING-    QueuePushHeadMethodInfo                 ,-#endif-    queuePushHead                           ,----- ** pushNth #method:pushNth#--#if ENABLE_OVERLOADING-    QueuePushNthMethodInfo                  ,-#endif-    queuePushNth                            ,----- ** pushTail #method:pushTail#--#if ENABLE_OVERLOADING-    QueuePushTailMethodInfo                 ,-#endif-    queuePushTail                           ,----- ** remove #method:remove#--#if ENABLE_OVERLOADING-    QueueRemoveMethodInfo                   ,-#endif-    queueRemove                             ,----- ** removeAll #method:removeAll#--#if ENABLE_OVERLOADING-    QueueRemoveAllMethodInfo                ,-#endif-    queueRemoveAll                          ,----- ** reverse #method:reverse#--#if ENABLE_OVERLOADING-    QueueReverseMethodInfo                  ,-#endif-    queueReverse                            ,----- -- * Properties--- ** head #attr:head#-{- | a pointer to the first element of the queue--}-    clearQueueHead                          ,-    getQueueHead                            ,-#if ENABLE_OVERLOADING-    queue_head                              ,-#endif-    setQueueHead                            ,----- ** length #attr:length#-{- | the number of elements in the queue--}-    getQueueLength                          ,-#if ENABLE_OVERLOADING-    queue_length                            ,-#endif-    setQueueLength                          ,----- ** tail #attr:tail#-{- | a pointer to the last element of the queue--}-    clearQueueTail                          ,-    getQueueTail                            ,-#if ENABLE_OVERLOADING-    queue_tail                              ,-#endif-    setQueueTail                            ,-----    ) 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 qualified GI.GLib.Callbacks as GLib.Callbacks---- | Memory-managed wrapper type.-newtype Queue = Queue (ManagedPtr Queue)-instance WrappedPtr Queue where-    wrappedPtrCalloc = callocBytes 24-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 24 >=> wrapPtr Queue)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `Queue` struct initialized to zero.-newZeroQueue :: MonadIO m => m Queue-newZeroQueue = liftIO $ wrappedPtrCalloc >>= wrapPtr Queue--instance tag ~ 'AttrSet => Constructible Queue tag where-    new _ attrs = do-        o <- newZeroQueue-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `Queue`.-noQueue :: Maybe Queue-noQueue = Nothing--{- |-Get the value of the “@head@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' queue #head-@--}-getQueueHead :: MonadIO m => Queue -> m ([Ptr ()])-getQueueHead s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr (GList (Ptr ())))-    val' <- unpackGList val-    return val'--{- |-Set the value of the “@head@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' queue [ #head 'Data.GI.Base.Attributes.:=' value ]-@--}-setQueueHead :: MonadIO m => Queue -> Ptr (GList (Ptr ())) -> m ()-setQueueHead s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: Ptr (GList (Ptr ())))--{- |-Set the value of the “@head@” 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' #head-@--}-clearQueueHead :: MonadIO m => Queue -> m ()-clearQueueHead s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr (GList (Ptr ())))--#if ENABLE_OVERLOADING-data QueueHeadFieldInfo-instance AttrInfo QueueHeadFieldInfo where-    type AttrAllowedOps QueueHeadFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint QueueHeadFieldInfo = (~) (Ptr (GList (Ptr ())))-    type AttrBaseTypeConstraint QueueHeadFieldInfo = (~) Queue-    type AttrGetType QueueHeadFieldInfo = [Ptr ()]-    type AttrLabel QueueHeadFieldInfo = "head"-    type AttrOrigin QueueHeadFieldInfo = Queue-    attrGet _ = getQueueHead-    attrSet _ = setQueueHead-    attrConstruct = undefined-    attrClear _ = clearQueueHead--queue_head :: AttrLabelProxy "head"-queue_head = AttrLabelProxy--#endif---{- |-Get the value of the “@tail@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' queue #tail-@--}-getQueueTail :: MonadIO m => Queue -> m ([Ptr ()])-getQueueTail s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr (GList (Ptr ())))-    val' <- unpackGList val-    return val'--{- |-Set the value of the “@tail@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' queue [ #tail 'Data.GI.Base.Attributes.:=' value ]-@--}-setQueueTail :: MonadIO m => Queue -> Ptr (GList (Ptr ())) -> m ()-setQueueTail s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Ptr (GList (Ptr ())))--{- |-Set the value of the “@tail@” 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' #tail-@--}-clearQueueTail :: MonadIO m => Queue -> m ()-clearQueueTail s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr (GList (Ptr ())))--#if ENABLE_OVERLOADING-data QueueTailFieldInfo-instance AttrInfo QueueTailFieldInfo where-    type AttrAllowedOps QueueTailFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint QueueTailFieldInfo = (~) (Ptr (GList (Ptr ())))-    type AttrBaseTypeConstraint QueueTailFieldInfo = (~) Queue-    type AttrGetType QueueTailFieldInfo = [Ptr ()]-    type AttrLabel QueueTailFieldInfo = "tail"-    type AttrOrigin QueueTailFieldInfo = Queue-    attrGet _ = getQueueTail-    attrSet _ = setQueueTail-    attrConstruct = undefined-    attrClear _ = clearQueueTail--queue_tail :: AttrLabelProxy "tail"-queue_tail = AttrLabelProxy--#endif---{- |-Get the value of the “@length@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' queue #length-@--}-getQueueLength :: MonadIO m => Queue -> m Word32-getQueueLength s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO Word32-    return val--{- |-Set the value of the “@length@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' queue [ #length 'Data.GI.Base.Attributes.:=' value ]-@--}-setQueueLength :: MonadIO m => Queue -> Word32 -> m ()-setQueueLength s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: Word32)--#if ENABLE_OVERLOADING-data QueueLengthFieldInfo-instance AttrInfo QueueLengthFieldInfo where-    type AttrAllowedOps QueueLengthFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint QueueLengthFieldInfo = (~) Word32-    type AttrBaseTypeConstraint QueueLengthFieldInfo = (~) Queue-    type AttrGetType QueueLengthFieldInfo = Word32-    type AttrLabel QueueLengthFieldInfo = "length"-    type AttrOrigin QueueLengthFieldInfo = Queue-    attrGet _ = getQueueLength-    attrSet _ = setQueueLength-    attrConstruct = undefined-    attrClear _ = undefined--queue_length :: AttrLabelProxy "length"-queue_length = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList Queue-type instance O.AttributeList Queue = QueueAttributeList-type QueueAttributeList = ('[ '("head", QueueHeadFieldInfo), '("tail", QueueTailFieldInfo), '("length", QueueLengthFieldInfo)] :: [(Symbol, *)])-#endif---- method Queue::clear--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "Queue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_queue_clear" g_queue_clear :: -    Ptr Queue ->                            -- queue : TInterface (Name {namespace = "GLib", name = "Queue"})-    IO ()--{- |-Removes all the elements in /@queue@/. If queue elements contain-dynamically-allocated memory, they should be freed first.--/Since: 2.14/--}-queueClear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Queue-    {- ^ /@queue@/: a 'GI.GLib.Structs.Queue.Queue' -}-    -> m ()-queueClear queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    g_queue_clear queue'-    touchManagedPtr queue-    return ()--#if ENABLE_OVERLOADING-data QueueClearMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo QueueClearMethodInfo Queue signature where-    overloadedMethod _ = queueClear--#endif---- method Queue::clear_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "Queue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "free_func", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the function to be called to free memory allocated", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_queue_clear_full" g_queue_clear_full :: -    Ptr Queue ->                            -- queue : TInterface (Name {namespace = "GLib", name = "Queue"})-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- free_func : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-Convenience method, which frees all the memory used by a 'GI.GLib.Structs.Queue.Queue',-and calls the provided /@freeFunc@/ on each item in the 'GI.GLib.Structs.Queue.Queue'.--/Since: 2.60/--}-queueClearFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Queue-    {- ^ /@queue@/: a pointer to a 'GI.GLib.Structs.Queue.Queue' -}-    -> Maybe (GLib.Callbacks.DestroyNotify)-    {- ^ /@freeFunc@/: the function to be called to free memory allocated -}-    -> m ()-queueClearFull queue freeFunc = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    maybeFreeFunc <- case freeFunc of-        Nothing -> return (castPtrToFunPtr nullPtr)-        Just jFreeFunc -> do-            ptrfreeFunc <- callocMem :: IO (Ptr (FunPtr GLib.Callbacks.C_DestroyNotify))-            jFreeFunc' <- GLib.Callbacks.mk_DestroyNotify (GLib.Callbacks.wrap_DestroyNotify (Just ptrfreeFunc) jFreeFunc)-            poke ptrfreeFunc jFreeFunc'-            return jFreeFunc'-    g_queue_clear_full queue' maybeFreeFunc-    touchManagedPtr queue-    return ()--#if ENABLE_OVERLOADING-data QueueClearFullMethodInfo-instance (signature ~ (Maybe (GLib.Callbacks.DestroyNotify) -> m ()), MonadIO m) => O.MethodInfo QueueClearFullMethodInfo Queue signature where-    overloadedMethod _ = queueClearFull--#endif---- method Queue::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "Queue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_queue_free" g_queue_free :: -    Ptr Queue ->                            -- queue : TInterface (Name {namespace = "GLib", name = "Queue"})-    IO ()--{- |-Frees the memory allocated for the 'GI.GLib.Structs.Queue.Queue'. Only call this function-if /@queue@/ was created with @/g_queue_new()/@. If queue elements contain-dynamically-allocated memory, they should be freed first.--If queue elements contain dynamically-allocated memory, you should-either use 'GI.GLib.Structs.Queue.queueFreeFull' or free them manually first.--}-queueFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Queue-    {- ^ /@queue@/: a 'GI.GLib.Structs.Queue.Queue' -}-    -> m ()-queueFree queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    g_queue_free queue'-    touchManagedPtr queue-    return ()--#if ENABLE_OVERLOADING-data QueueFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo QueueFreeMethodInfo Queue signature where-    overloadedMethod _ = queueFree--#endif---- method Queue::free_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "Queue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a #GQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "free_func", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the function to be called to free each element's data", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_queue_free_full" g_queue_free_full :: -    Ptr Queue ->                            -- queue : TInterface (Name {namespace = "GLib", name = "Queue"})-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- free_func : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-Convenience method, which frees all the memory used by a 'GI.GLib.Structs.Queue.Queue',-and calls the specified destroy function on every element\'s data.--/@freeFunc@/ should not modify the queue (eg, by removing the freed-element from it).--/Since: 2.32/--}-queueFreeFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Queue-    {- ^ /@queue@/: a pointer to a 'GI.GLib.Structs.Queue.Queue' -}-    -> GLib.Callbacks.DestroyNotify-    {- ^ /@freeFunc@/: the function to be called to free each element\'s data -}-    -> m ()-queueFreeFull queue freeFunc = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    ptrfreeFunc <- callocMem :: IO (Ptr (FunPtr GLib.Callbacks.C_DestroyNotify))-    freeFunc' <- GLib.Callbacks.mk_DestroyNotify (GLib.Callbacks.wrap_DestroyNotify (Just ptrfreeFunc) freeFunc)-    poke ptrfreeFunc freeFunc'-    g_queue_free_full queue' freeFunc'-    touchManagedPtr queue-    return ()--#if ENABLE_OVERLOADING-data QueueFreeFullMethodInfo-instance (signature ~ (GLib.Callbacks.DestroyNotify -> m ()), MonadIO m) => O.MethodInfo QueueFreeFullMethodInfo Queue signature where-    overloadedMethod _ = queueFreeFull--#endif---- method Queue::get_length--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "Queue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_queue_get_length" g_queue_get_length :: -    Ptr Queue ->                            -- queue : TInterface (Name {namespace = "GLib", name = "Queue"})-    IO Word32--{- |-Returns the number of items in /@queue@/.--/Since: 2.4/--}-queueGetLength ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Queue-    {- ^ /@queue@/: a 'GI.GLib.Structs.Queue.Queue' -}-    -> m Word32-    {- ^ __Returns:__ the number of items in /@queue@/ -}-queueGetLength queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- g_queue_get_length queue'-    touchManagedPtr queue-    return result--#if ENABLE_OVERLOADING-data QueueGetLengthMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo QueueGetLengthMethodInfo Queue signature where-    overloadedMethod _ = queueGetLength--#endif---- method Queue::index--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "Queue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data to find", 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_queue_index" g_queue_index :: -    Ptr Queue ->                            -- queue : TInterface (Name {namespace = "GLib", name = "Queue"})-    Ptr () ->                               -- data : TBasicType TPtr-    IO Int32--{- |-Returns the position of the first element in /@queue@/ which contains /@data@/.--/Since: 2.4/--}-queueIndex ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Queue-    {- ^ /@queue@/: a 'GI.GLib.Structs.Queue.Queue' -}-    -> Ptr ()-    {- ^ /@data@/: the data to find -}-    -> m Int32-    {- ^ __Returns:__ the position of the first element in /@queue@/ which-    contains /@data@/, or -1 if no element in /@queue@/ contains /@data@/ -}-queueIndex queue data_ = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- g_queue_index queue' data_-    touchManagedPtr queue-    return result--#if ENABLE_OVERLOADING-data QueueIndexMethodInfo-instance (signature ~ (Ptr () -> m Int32), MonadIO m) => O.MethodInfo QueueIndexMethodInfo Queue signature where-    overloadedMethod _ = queueIndex--#endif---- method Queue::init--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "Queue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an uninitialized #GQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_queue_init" g_queue_init :: -    Ptr Queue ->                            -- queue : TInterface (Name {namespace = "GLib", name = "Queue"})-    IO ()--{- |-A statically-allocated 'GI.GLib.Structs.Queue.Queue' must be initialized with this function-before it can be used. Alternatively you can initialize it with-@/G_QUEUE_INIT/@. It is not necessary to initialize queues created with-@/g_queue_new()/@.--/Since: 2.14/--}-queueInit ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Queue-    {- ^ /@queue@/: an uninitialized 'GI.GLib.Structs.Queue.Queue' -}-    -> m ()-queueInit queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    g_queue_init queue'-    touchManagedPtr queue-    return ()--#if ENABLE_OVERLOADING-data QueueInitMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo QueueInitMethodInfo Queue signature where-    overloadedMethod _ = queueInit--#endif---- method Queue::is_empty--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "Queue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GQueue.", 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_queue_is_empty" g_queue_is_empty :: -    Ptr Queue ->                            -- queue : TInterface (Name {namespace = "GLib", name = "Queue"})-    IO CInt--{- |-Returns 'True' if the queue is empty.--}-queueIsEmpty ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Queue-    {- ^ /@queue@/: a 'GI.GLib.Structs.Queue.Queue'. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the queue is empty -}-queueIsEmpty queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- g_queue_is_empty queue'-    let result' = (/= 0) result-    touchManagedPtr queue-    return result'--#if ENABLE_OVERLOADING-data QueueIsEmptyMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo QueueIsEmptyMethodInfo Queue signature where-    overloadedMethod _ = queueIsEmpty--#endif---- method Queue::peek_head--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "Queue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_queue_peek_head" g_queue_peek_head :: -    Ptr Queue ->                            -- queue : TInterface (Name {namespace = "GLib", name = "Queue"})-    IO (Ptr ())--{- |-Returns the first element of the queue.--}-queuePeekHead ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Queue-    {- ^ /@queue@/: a 'GI.GLib.Structs.Queue.Queue' -}-    -> m (Ptr ())-    {- ^ __Returns:__ the data of the first element in the queue, or 'Nothing'-    if the queue is empty -}-queuePeekHead queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- g_queue_peek_head queue'-    touchManagedPtr queue-    return result--#if ENABLE_OVERLOADING-data QueuePeekHeadMethodInfo-instance (signature ~ (m (Ptr ())), MonadIO m) => O.MethodInfo QueuePeekHeadMethodInfo Queue signature where-    overloadedMethod _ = queuePeekHead--#endif---- method Queue::peek_nth--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "Queue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position of the element", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_queue_peek_nth" g_queue_peek_nth :: -    Ptr Queue ->                            -- queue : TInterface (Name {namespace = "GLib", name = "Queue"})-    Word32 ->                               -- n : TBasicType TUInt-    IO (Ptr ())--{- |-Returns the /@n@/\'th element of /@queue@/.--/Since: 2.4/--}-queuePeekNth ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Queue-    {- ^ /@queue@/: a 'GI.GLib.Structs.Queue.Queue' -}-    -> Word32-    {- ^ /@n@/: the position of the element -}-    -> m (Ptr ())-    {- ^ __Returns:__ the data for the /@n@/\'th element of /@queue@/,-    or 'Nothing' if /@n@/ is off the end of /@queue@/ -}-queuePeekNth queue n = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- g_queue_peek_nth queue' n-    touchManagedPtr queue-    return result--#if ENABLE_OVERLOADING-data QueuePeekNthMethodInfo-instance (signature ~ (Word32 -> m (Ptr ())), MonadIO m) => O.MethodInfo QueuePeekNthMethodInfo Queue signature where-    overloadedMethod _ = queuePeekNth--#endif---- method Queue::peek_tail--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "Queue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_queue_peek_tail" g_queue_peek_tail :: -    Ptr Queue ->                            -- queue : TInterface (Name {namespace = "GLib", name = "Queue"})-    IO (Ptr ())--{- |-Returns the last element of the queue.--}-queuePeekTail ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Queue-    {- ^ /@queue@/: a 'GI.GLib.Structs.Queue.Queue' -}-    -> m (Ptr ())-    {- ^ __Returns:__ the data of the last element in the queue, or 'Nothing'-    if the queue is empty -}-queuePeekTail queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- g_queue_peek_tail queue'-    touchManagedPtr queue-    return result--#if ENABLE_OVERLOADING-data QueuePeekTailMethodInfo-instance (signature ~ (m (Ptr ())), MonadIO m) => O.MethodInfo QueuePeekTailMethodInfo Queue signature where-    overloadedMethod _ = queuePeekTail--#endif---- method Queue::pop_head--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "Queue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_queue_pop_head" g_queue_pop_head :: -    Ptr Queue ->                            -- queue : TInterface (Name {namespace = "GLib", name = "Queue"})-    IO (Ptr ())--{- |-Removes the first element of the queue and returns its data.--}-queuePopHead ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Queue-    {- ^ /@queue@/: a 'GI.GLib.Structs.Queue.Queue' -}-    -> m (Ptr ())-    {- ^ __Returns:__ the data of the first element in the queue, or 'Nothing'-    if the queue is empty -}-queuePopHead queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- g_queue_pop_head queue'-    touchManagedPtr queue-    return result--#if ENABLE_OVERLOADING-data QueuePopHeadMethodInfo-instance (signature ~ (m (Ptr ())), MonadIO m) => O.MethodInfo QueuePopHeadMethodInfo Queue signature where-    overloadedMethod _ = queuePopHead--#endif---- method Queue::pop_nth--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "Queue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position of the element", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_queue_pop_nth" g_queue_pop_nth :: -    Ptr Queue ->                            -- queue : TInterface (Name {namespace = "GLib", name = "Queue"})-    Word32 ->                               -- n : TBasicType TUInt-    IO (Ptr ())--{- |-Removes the /@n@/\'th element of /@queue@/ and returns its data.--/Since: 2.4/--}-queuePopNth ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Queue-    {- ^ /@queue@/: a 'GI.GLib.Structs.Queue.Queue' -}-    -> Word32-    {- ^ /@n@/: the position of the element -}-    -> m (Ptr ())-    {- ^ __Returns:__ the element\'s data, or 'Nothing' if /@n@/ is off the end of /@queue@/ -}-queuePopNth queue n = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- g_queue_pop_nth queue' n-    touchManagedPtr queue-    return result--#if ENABLE_OVERLOADING-data QueuePopNthMethodInfo-instance (signature ~ (Word32 -> m (Ptr ())), MonadIO m) => O.MethodInfo QueuePopNthMethodInfo Queue signature where-    overloadedMethod _ = queuePopNth--#endif---- method Queue::pop_tail--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "Queue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_queue_pop_tail" g_queue_pop_tail :: -    Ptr Queue ->                            -- queue : TInterface (Name {namespace = "GLib", name = "Queue"})-    IO (Ptr ())--{- |-Removes the last element of the queue and returns its data.--}-queuePopTail ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Queue-    {- ^ /@queue@/: a 'GI.GLib.Structs.Queue.Queue' -}-    -> m (Ptr ())-    {- ^ __Returns:__ the data of the last element in the queue, or 'Nothing'-    if the queue is empty -}-queuePopTail queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- g_queue_pop_tail queue'-    touchManagedPtr queue-    return result--#if ENABLE_OVERLOADING-data QueuePopTailMethodInfo-instance (signature ~ (m (Ptr ())), MonadIO m) => O.MethodInfo QueuePopTailMethodInfo Queue signature where-    overloadedMethod _ = queuePopTail--#endif---- method Queue::push_head--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "Queue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GQueue.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data for the new element.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_queue_push_head" g_queue_push_head :: -    Ptr Queue ->                            -- queue : TInterface (Name {namespace = "GLib", name = "Queue"})-    Ptr () ->                               -- data : TBasicType TPtr-    IO ()--{- |-Adds a new element at the head of the queue.--}-queuePushHead ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Queue-    {- ^ /@queue@/: a 'GI.GLib.Structs.Queue.Queue'. -}-    -> Ptr ()-    {- ^ /@data@/: the data for the new element. -}-    -> m ()-queuePushHead queue data_ = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    g_queue_push_head queue' data_-    touchManagedPtr queue-    return ()--#if ENABLE_OVERLOADING-data QueuePushHeadMethodInfo-instance (signature ~ (Ptr () -> m ()), MonadIO m) => O.MethodInfo QueuePushHeadMethodInfo Queue signature where-    overloadedMethod _ = queuePushHead--#endif---- method Queue::push_nth--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "Queue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data for the new element", 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 position to insert the new element. If @n is negative or\n    larger than the number of elements in the @queue, the element is\n    added to the end of the queue.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_queue_push_nth" g_queue_push_nth :: -    Ptr Queue ->                            -- queue : TInterface (Name {namespace = "GLib", name = "Queue"})-    Ptr () ->                               -- data : TBasicType TPtr-    Int32 ->                                -- n : TBasicType TInt-    IO ()--{- |-Inserts a new element into /@queue@/ at the given position.--/Since: 2.4/--}-queuePushNth ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Queue-    {- ^ /@queue@/: a 'GI.GLib.Structs.Queue.Queue' -}-    -> Ptr ()-    {- ^ /@data@/: the data for the new element -}-    -> Int32-    {- ^ /@n@/: the position to insert the new element. If /@n@/ is negative or-    larger than the number of elements in the /@queue@/, the element is-    added to the end of the queue. -}-    -> m ()-queuePushNth queue data_ n = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    g_queue_push_nth queue' data_ n-    touchManagedPtr queue-    return ()--#if ENABLE_OVERLOADING-data QueuePushNthMethodInfo-instance (signature ~ (Ptr () -> Int32 -> m ()), MonadIO m) => O.MethodInfo QueuePushNthMethodInfo Queue signature where-    overloadedMethod _ = queuePushNth--#endif---- method Queue::push_tail--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "Queue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data for the new element", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_queue_push_tail" g_queue_push_tail :: -    Ptr Queue ->                            -- queue : TInterface (Name {namespace = "GLib", name = "Queue"})-    Ptr () ->                               -- data : TBasicType TPtr-    IO ()--{- |-Adds a new element at the tail of the queue.--}-queuePushTail ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Queue-    {- ^ /@queue@/: a 'GI.GLib.Structs.Queue.Queue' -}-    -> Ptr ()-    {- ^ /@data@/: the data for the new element -}-    -> m ()-queuePushTail queue data_ = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    g_queue_push_tail queue' data_-    touchManagedPtr queue-    return ()--#if ENABLE_OVERLOADING-data QueuePushTailMethodInfo-instance (signature ~ (Ptr () -> m ()), MonadIO m) => O.MethodInfo QueuePushTailMethodInfo Queue signature where-    overloadedMethod _ = queuePushTail--#endif---- method Queue::remove--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "Queue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data to remove", 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_queue_remove" g_queue_remove :: -    Ptr Queue ->                            -- queue : TInterface (Name {namespace = "GLib", name = "Queue"})-    Ptr () ->                               -- data : TBasicType TPtr-    IO CInt--{- |-Removes the first element in /@queue@/ that contains /@data@/.--/Since: 2.4/--}-queueRemove ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Queue-    {- ^ /@queue@/: a 'GI.GLib.Structs.Queue.Queue' -}-    -> Ptr ()-    {- ^ /@data@/: the data to remove -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@data@/ was found and removed from /@queue@/ -}-queueRemove queue data_ = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- g_queue_remove queue' data_-    let result' = (/= 0) result-    touchManagedPtr queue-    return result'--#if ENABLE_OVERLOADING-data QueueRemoveMethodInfo-instance (signature ~ (Ptr () -> m Bool), MonadIO m) => O.MethodInfo QueueRemoveMethodInfo Queue signature where-    overloadedMethod _ = queueRemove--#endif---- method Queue::remove_all--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "Queue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_queue_remove_all" g_queue_remove_all :: -    Ptr Queue ->                            -- queue : TInterface (Name {namespace = "GLib", name = "Queue"})-    Ptr () ->                               -- data : TBasicType TPtr-    IO Word32--{- |-Remove all elements whose data equals /@data@/ from /@queue@/.--/Since: 2.4/--}-queueRemoveAll ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Queue-    {- ^ /@queue@/: a 'GI.GLib.Structs.Queue.Queue' -}-    -> Ptr ()-    {- ^ /@data@/: the data to remove -}-    -> m Word32-    {- ^ __Returns:__ the number of elements removed from /@queue@/ -}-queueRemoveAll queue data_ = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    result <- g_queue_remove_all queue' data_-    touchManagedPtr queue-    return result--#if ENABLE_OVERLOADING-data QueueRemoveAllMethodInfo-instance (signature ~ (Ptr () -> m Word32), MonadIO m) => O.MethodInfo QueueRemoveAllMethodInfo Queue signature where-    overloadedMethod _ = queueRemoveAll--#endif---- method Queue::reverse--- method type : OrdinaryMethod--- Args : [Arg {argCName = "queue", argType = TInterface (Name {namespace = "GLib", name = "Queue"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GQueue", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_queue_reverse" g_queue_reverse :: -    Ptr Queue ->                            -- queue : TInterface (Name {namespace = "GLib", name = "Queue"})-    IO ()--{- |-Reverses the order of the items in /@queue@/.--/Since: 2.4/--}-queueReverse ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Queue-    {- ^ /@queue@/: a 'GI.GLib.Structs.Queue.Queue' -}-    -> m ()-queueReverse queue = liftIO $ do-    queue' <- unsafeManagedPtrGetPtr queue-    g_queue_reverse queue'-    touchManagedPtr queue-    return ()--#if ENABLE_OVERLOADING-data QueueReverseMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo QueueReverseMethodInfo Queue signature where-    overloadedMethod _ = queueReverse--#endif--#if ENABLE_OVERLOADING-type family ResolveQueueMethod (t :: Symbol) (o :: *) :: * where-    ResolveQueueMethod "clear" o = QueueClearMethodInfo-    ResolveQueueMethod "clearFull" o = QueueClearFullMethodInfo-    ResolveQueueMethod "free" o = QueueFreeMethodInfo-    ResolveQueueMethod "freeFull" o = QueueFreeFullMethodInfo-    ResolveQueueMethod "index" o = QueueIndexMethodInfo-    ResolveQueueMethod "init" o = QueueInitMethodInfo-    ResolveQueueMethod "isEmpty" o = QueueIsEmptyMethodInfo-    ResolveQueueMethod "peekHead" o = QueuePeekHeadMethodInfo-    ResolveQueueMethod "peekNth" o = QueuePeekNthMethodInfo-    ResolveQueueMethod "peekTail" o = QueuePeekTailMethodInfo-    ResolveQueueMethod "popHead" o = QueuePopHeadMethodInfo-    ResolveQueueMethod "popNth" o = QueuePopNthMethodInfo-    ResolveQueueMethod "popTail" o = QueuePopTailMethodInfo-    ResolveQueueMethod "pushHead" o = QueuePushHeadMethodInfo-    ResolveQueueMethod "pushNth" o = QueuePushNthMethodInfo-    ResolveQueueMethod "pushTail" o = QueuePushTailMethodInfo-    ResolveQueueMethod "remove" o = QueueRemoveMethodInfo-    ResolveQueueMethod "removeAll" o = QueueRemoveAllMethodInfo-    ResolveQueueMethod "reverse" o = QueueReverseMethodInfo-    ResolveQueueMethod "getLength" o = QueueGetLengthMethodInfo-    ResolveQueueMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveQueueMethod t Queue, O.MethodInfo info Queue p) => OL.IsLabel t (Queue -> 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/GLib/Structs/Queue.hs-boot
@@ -1,86 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.Queue 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 Queue = Queue (ManagedPtr Queue)-instance WrappedPtr Queue where-#if ENABLE_OVERLOADING-data QueueClearMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueueClearFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueueFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueueFreeFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueueGetLengthMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueueIndexMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueueInitMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueueIsEmptyMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueuePeekHeadMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueuePeekNthMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueuePeekTailMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueuePopHeadMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueuePopNthMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueuePopTailMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueuePushHeadMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueuePushNthMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueuePushTailMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueueRemoveMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueueRemoveAllMethodInfo-#endif-#if ENABLE_OVERLOADING-data QueueReverseMethodInfo-#endif
− GI/GLib/Structs/RWLock.hs
@@ -1,563 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The GRWLock struct is an opaque data structure to represent a-reader-writer lock. It is similar to a 'GI.GLib.Unions.Mutex.Mutex' in that it allows-multiple threads to coordinate access to a shared resource.--The difference to a mutex is that a reader-writer lock discriminates-between read-only (\'reader\') and full (\'writer\') access. While only-one thread at a time is allowed write access (by holding the \'writer\'-lock via 'GI.GLib.Structs.RWLock.rWLockWriterLock'), multiple threads can gain-simultaneous read-only access (by holding the \'reader\' lock via-'GI.GLib.Structs.RWLock.rWLockReaderLock').--It is unspecified whether readers or writers have priority in acquiring the-lock when a reader already holds the lock and a writer is queued to acquire-it.--Here is an example for an array with access functions:--=== /C code/->->  GRWLock lock;->  GPtrArray *array;->->  gpointer->  my_array_get (guint index)->  {->    gpointer retval = NULL;->->    if (!array)->      return NULL;->->    g_rw_lock_reader_lock (&lock);->    if (index < array->len)->      retval = g_ptr_array_index (array, index);->    g_rw_lock_reader_unlock (&lock);->->    return retval;->  }->->  void->  my_array_set (guint index, gpointer data)->  {->    g_rw_lock_writer_lock (&lock);->->    if (!array)->      array = g_ptr_array_new ();->->    if (index >= array->len)->      g_ptr_array_set_size (array, index+1);->    g_ptr_array_index (array, index) = data;->->    g_rw_lock_writer_unlock (&lock);->  }-> --This example shows an array which can be accessed by many readers-(the @/my_array_get()/@ function) simultaneously, whereas the writers-(the @/my_array_set()/@ function) will only be allowed one at a time-and only if no readers currently access the array. This is because-of the potentially dangerous resizing of the array. Using these-functions is fully multi-thread safe now.--If a 'GI.GLib.Structs.RWLock.RWLock' is allocated in static storage then it can be used-without initialisation.  Otherwise, you should call-'GI.GLib.Structs.RWLock.rWLockInit' on it and 'GI.GLib.Structs.RWLock.rWLockClear' when done.--A GRWLock should only be accessed with the g_rw_lock_ functions.--/Since: 2.32/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.RWLock-    ( ---- * Exported types-    RWLock(..)                              ,-    newZeroRWLock                           ,-    noRWLock                                ,--- -- * Methods--- ** clear #method:clear#--#if ENABLE_OVERLOADING-    RWLockClearMethodInfo                   ,-#endif-    rWLockClear                             ,----- ** init #method:init#--#if ENABLE_OVERLOADING-    RWLockInitMethodInfo                    ,-#endif-    rWLockInit                              ,----- ** readerLock #method:readerLock#--#if ENABLE_OVERLOADING-    RWLockReaderLockMethodInfo              ,-#endif-    rWLockReaderLock                        ,----- ** readerTrylock #method:readerTrylock#--#if ENABLE_OVERLOADING-    RWLockReaderTrylockMethodInfo           ,-#endif-    rWLockReaderTrylock                     ,----- ** readerUnlock #method:readerUnlock#--#if ENABLE_OVERLOADING-    RWLockReaderUnlockMethodInfo            ,-#endif-    rWLockReaderUnlock                      ,----- ** writerLock #method:writerLock#--#if ENABLE_OVERLOADING-    RWLockWriterLockMethodInfo              ,-#endif-    rWLockWriterLock                        ,----- ** writerTrylock #method:writerTrylock#--#if ENABLE_OVERLOADING-    RWLockWriterTrylockMethodInfo           ,-#endif-    rWLockWriterTrylock                     ,----- ** writerUnlock #method:writerUnlock#--#if ENABLE_OVERLOADING-    RWLockWriterUnlockMethodInfo            ,-#endif-    rWLockWriterUnlock                      ,-----    ) 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 RWLock = RWLock (ManagedPtr RWLock)-instance WrappedPtr RWLock where-    wrappedPtrCalloc = callocBytes 16-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 16 >=> wrapPtr RWLock)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `RWLock` struct initialized to zero.-newZeroRWLock :: MonadIO m => m RWLock-newZeroRWLock = liftIO $ wrappedPtrCalloc >>= wrapPtr RWLock--instance tag ~ 'AttrSet => Constructible RWLock tag where-    new _ attrs = do-        o <- newZeroRWLock-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `RWLock`.-noRWLock :: Maybe RWLock-noRWLock = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList RWLock-type instance O.AttributeList RWLock = RWLockAttributeList-type RWLockAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method RWLock::clear--- method type : OrdinaryMethod--- Args : [Arg {argCName = "rw_lock", argType = TInterface (Name {namespace = "GLib", name = "RWLock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an initialized #GRWLock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_rw_lock_clear" g_rw_lock_clear :: -    Ptr RWLock ->                           -- rw_lock : TInterface (Name {namespace = "GLib", name = "RWLock"})-    IO ()--{- |-Frees the resources allocated to a lock with 'GI.GLib.Structs.RWLock.rWLockInit'.--This function should not be used with a 'GI.GLib.Structs.RWLock.RWLock' that has been-statically allocated.--Calling 'GI.GLib.Structs.RWLock.rWLockClear' when any thread holds the lock-leads to undefined behaviour.--Sine: 2.32--}-rWLockClear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    RWLock-    {- ^ /@rwLock@/: an initialized 'GI.GLib.Structs.RWLock.RWLock' -}-    -> m ()-rWLockClear rwLock = liftIO $ do-    rwLock' <- unsafeManagedPtrGetPtr rwLock-    g_rw_lock_clear rwLock'-    touchManagedPtr rwLock-    return ()--#if ENABLE_OVERLOADING-data RWLockClearMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo RWLockClearMethodInfo RWLock signature where-    overloadedMethod _ = rWLockClear--#endif---- method RWLock::init--- method type : OrdinaryMethod--- Args : [Arg {argCName = "rw_lock", argType = TInterface (Name {namespace = "GLib", name = "RWLock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an uninitialized #GRWLock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_rw_lock_init" g_rw_lock_init :: -    Ptr RWLock ->                           -- rw_lock : TInterface (Name {namespace = "GLib", name = "RWLock"})-    IO ()--{- |-Initializes a 'GI.GLib.Structs.RWLock.RWLock' so that it can be used.--This function is useful to initialize a lock that has been-allocated on the stack, or as part of a larger structure.  It is not-necessary to initialise a reader-writer lock that has been statically-allocated.---=== /C code/->->  typedef struct {->    GRWLock l;->    ...->  } Blob;->->Blob *b;->->b = g_new (Blob, 1);->g_rw_lock_init (&b->l);---To undo the effect of 'GI.GLib.Structs.RWLock.rWLockInit' when a lock is no longer-needed, use 'GI.GLib.Structs.RWLock.rWLockClear'.--Calling 'GI.GLib.Structs.RWLock.rWLockInit' on an already initialized 'GI.GLib.Structs.RWLock.RWLock' leads-to undefined behaviour.--/Since: 2.32/--}-rWLockInit ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    RWLock-    {- ^ /@rwLock@/: an uninitialized 'GI.GLib.Structs.RWLock.RWLock' -}-    -> m ()-rWLockInit rwLock = liftIO $ do-    rwLock' <- unsafeManagedPtrGetPtr rwLock-    g_rw_lock_init rwLock'-    touchManagedPtr rwLock-    return ()--#if ENABLE_OVERLOADING-data RWLockInitMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo RWLockInitMethodInfo RWLock signature where-    overloadedMethod _ = rWLockInit--#endif---- method RWLock::reader_lock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "rw_lock", argType = TInterface (Name {namespace = "GLib", name = "RWLock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRWLock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_rw_lock_reader_lock" g_rw_lock_reader_lock :: -    Ptr RWLock ->                           -- rw_lock : TInterface (Name {namespace = "GLib", name = "RWLock"})-    IO ()--{- |-Obtain a read lock on /@rwLock@/. If another thread currently holds-the write lock on /@rwLock@/ or blocks waiting for it, the current-thread will block. Read locks can be taken recursively.--It is implementation-defined how many threads are allowed to-hold read locks on the same lock simultaneously. If the limit is hit,-or if a deadlock is detected, a critical warning will be emitted.--/Since: 2.32/--}-rWLockReaderLock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    RWLock-    {- ^ /@rwLock@/: a 'GI.GLib.Structs.RWLock.RWLock' -}-    -> m ()-rWLockReaderLock rwLock = liftIO $ do-    rwLock' <- unsafeManagedPtrGetPtr rwLock-    g_rw_lock_reader_lock rwLock'-    touchManagedPtr rwLock-    return ()--#if ENABLE_OVERLOADING-data RWLockReaderLockMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo RWLockReaderLockMethodInfo RWLock signature where-    overloadedMethod _ = rWLockReaderLock--#endif---- method RWLock::reader_trylock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "rw_lock", argType = TInterface (Name {namespace = "GLib", name = "RWLock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRWLock", 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_rw_lock_reader_trylock" g_rw_lock_reader_trylock :: -    Ptr RWLock ->                           -- rw_lock : TInterface (Name {namespace = "GLib", name = "RWLock"})-    IO CInt--{- |-Tries to obtain a read lock on /@rwLock@/ and returns 'True' if-the read lock was successfully obtained. Otherwise it-returns 'False'.--/Since: 2.32/--}-rWLockReaderTrylock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    RWLock-    {- ^ /@rwLock@/: a 'GI.GLib.Structs.RWLock.RWLock' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@rwLock@/ could be locked -}-rWLockReaderTrylock rwLock = liftIO $ do-    rwLock' <- unsafeManagedPtrGetPtr rwLock-    result <- g_rw_lock_reader_trylock rwLock'-    let result' = (/= 0) result-    touchManagedPtr rwLock-    return result'--#if ENABLE_OVERLOADING-data RWLockReaderTrylockMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo RWLockReaderTrylockMethodInfo RWLock signature where-    overloadedMethod _ = rWLockReaderTrylock--#endif---- method RWLock::reader_unlock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "rw_lock", argType = TInterface (Name {namespace = "GLib", name = "RWLock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRWLock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_rw_lock_reader_unlock" g_rw_lock_reader_unlock :: -    Ptr RWLock ->                           -- rw_lock : TInterface (Name {namespace = "GLib", name = "RWLock"})-    IO ()--{- |-Release a read lock on /@rwLock@/.--Calling 'GI.GLib.Structs.RWLock.rWLockReaderUnlock' on a lock that is not held-by the current thread leads to undefined behaviour.--/Since: 2.32/--}-rWLockReaderUnlock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    RWLock-    {- ^ /@rwLock@/: a 'GI.GLib.Structs.RWLock.RWLock' -}-    -> m ()-rWLockReaderUnlock rwLock = liftIO $ do-    rwLock' <- unsafeManagedPtrGetPtr rwLock-    g_rw_lock_reader_unlock rwLock'-    touchManagedPtr rwLock-    return ()--#if ENABLE_OVERLOADING-data RWLockReaderUnlockMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo RWLockReaderUnlockMethodInfo RWLock signature where-    overloadedMethod _ = rWLockReaderUnlock--#endif---- method RWLock::writer_lock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "rw_lock", argType = TInterface (Name {namespace = "GLib", name = "RWLock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRWLock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_rw_lock_writer_lock" g_rw_lock_writer_lock :: -    Ptr RWLock ->                           -- rw_lock : TInterface (Name {namespace = "GLib", name = "RWLock"})-    IO ()--{- |-Obtain a write lock on /@rwLock@/. If any thread already holds-a read or write lock on /@rwLock@/, the current thread will block-until all other threads have dropped their locks on /@rwLock@/.--/Since: 2.32/--}-rWLockWriterLock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    RWLock-    {- ^ /@rwLock@/: a 'GI.GLib.Structs.RWLock.RWLock' -}-    -> m ()-rWLockWriterLock rwLock = liftIO $ do-    rwLock' <- unsafeManagedPtrGetPtr rwLock-    g_rw_lock_writer_lock rwLock'-    touchManagedPtr rwLock-    return ()--#if ENABLE_OVERLOADING-data RWLockWriterLockMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo RWLockWriterLockMethodInfo RWLock signature where-    overloadedMethod _ = rWLockWriterLock--#endif---- method RWLock::writer_trylock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "rw_lock", argType = TInterface (Name {namespace = "GLib", name = "RWLock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRWLock", 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_rw_lock_writer_trylock" g_rw_lock_writer_trylock :: -    Ptr RWLock ->                           -- rw_lock : TInterface (Name {namespace = "GLib", name = "RWLock"})-    IO CInt--{- |-Tries to obtain a write lock on /@rwLock@/. If any other thread holds-a read or write lock on /@rwLock@/, it immediately returns 'False'.-Otherwise it locks /@rwLock@/ and returns 'True'.--/Since: 2.32/--}-rWLockWriterTrylock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    RWLock-    {- ^ /@rwLock@/: a 'GI.GLib.Structs.RWLock.RWLock' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@rwLock@/ could be locked -}-rWLockWriterTrylock rwLock = liftIO $ do-    rwLock' <- unsafeManagedPtrGetPtr rwLock-    result <- g_rw_lock_writer_trylock rwLock'-    let result' = (/= 0) result-    touchManagedPtr rwLock-    return result'--#if ENABLE_OVERLOADING-data RWLockWriterTrylockMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo RWLockWriterTrylockMethodInfo RWLock signature where-    overloadedMethod _ = rWLockWriterTrylock--#endif---- method RWLock::writer_unlock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "rw_lock", argType = TInterface (Name {namespace = "GLib", name = "RWLock"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRWLock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_rw_lock_writer_unlock" g_rw_lock_writer_unlock :: -    Ptr RWLock ->                           -- rw_lock : TInterface (Name {namespace = "GLib", name = "RWLock"})-    IO ()--{- |-Release a write lock on /@rwLock@/.--Calling 'GI.GLib.Structs.RWLock.rWLockWriterUnlock' on a lock that is not held-by the current thread leads to undefined behaviour.--/Since: 2.32/--}-rWLockWriterUnlock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    RWLock-    {- ^ /@rwLock@/: a 'GI.GLib.Structs.RWLock.RWLock' -}-    -> m ()-rWLockWriterUnlock rwLock = liftIO $ do-    rwLock' <- unsafeManagedPtrGetPtr rwLock-    g_rw_lock_writer_unlock rwLock'-    touchManagedPtr rwLock-    return ()--#if ENABLE_OVERLOADING-data RWLockWriterUnlockMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo RWLockWriterUnlockMethodInfo RWLock signature where-    overloadedMethod _ = rWLockWriterUnlock--#endif--#if ENABLE_OVERLOADING-type family ResolveRWLockMethod (t :: Symbol) (o :: *) :: * where-    ResolveRWLockMethod "clear" o = RWLockClearMethodInfo-    ResolveRWLockMethod "init" o = RWLockInitMethodInfo-    ResolveRWLockMethod "readerLock" o = RWLockReaderLockMethodInfo-    ResolveRWLockMethod "readerTrylock" o = RWLockReaderTrylockMethodInfo-    ResolveRWLockMethod "readerUnlock" o = RWLockReaderUnlockMethodInfo-    ResolveRWLockMethod "writerLock" o = RWLockWriterLockMethodInfo-    ResolveRWLockMethod "writerTrylock" o = RWLockWriterTrylockMethodInfo-    ResolveRWLockMethod "writerUnlock" o = RWLockWriterUnlockMethodInfo-    ResolveRWLockMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveRWLockMethod t RWLock, O.MethodInfo info RWLock p) => OL.IsLabel t (RWLock -> 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/GLib/Structs/RWLock.hs-boot
@@ -1,50 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.RWLock 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 RWLock = RWLock (ManagedPtr RWLock)-instance WrappedPtr RWLock where-#if ENABLE_OVERLOADING-data RWLockClearMethodInfo-#endif-#if ENABLE_OVERLOADING-data RWLockInitMethodInfo-#endif-#if ENABLE_OVERLOADING-data RWLockReaderLockMethodInfo-#endif-#if ENABLE_OVERLOADING-data RWLockReaderTrylockMethodInfo-#endif-#if ENABLE_OVERLOADING-data RWLockReaderUnlockMethodInfo-#endif-#if ENABLE_OVERLOADING-data RWLockWriterLockMethodInfo-#endif-#if ENABLE_OVERLOADING-data RWLockWriterTrylockMethodInfo-#endif-#if ENABLE_OVERLOADING-data RWLockWriterUnlockMethodInfo-#endif
− GI/GLib/Structs/Rand.hs
@@ -1,414 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The GRand struct is an opaque data structure. It should only be-accessed through the g_rand_* functions.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.Rand-    ( ---- * Exported types-    Rand(..)                                ,-    noRand                                  ,--- -- * Methods--- ** double #method:double#--#if ENABLE_OVERLOADING-    RandDoubleMethodInfo                    ,-#endif-    randDouble                              ,----- ** doubleRange #method:doubleRange#--#if ENABLE_OVERLOADING-    RandDoubleRangeMethodInfo               ,-#endif-    randDoubleRange                         ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    RandFreeMethodInfo                      ,-#endif-    randFree                                ,----- ** int #method:int#--#if ENABLE_OVERLOADING-    RandIntMethodInfo                       ,-#endif-    randInt                                 ,----- ** intRange #method:intRange#--#if ENABLE_OVERLOADING-    RandIntRangeMethodInfo                  ,-#endif-    randIntRange                            ,----- ** setSeed #method:setSeed#--#if ENABLE_OVERLOADING-    RandSetSeedMethodInfo                   ,-#endif-    randSetSeed                             ,----- ** setSeedArray #method:setSeedArray#--#if ENABLE_OVERLOADING-    RandSetSeedArrayMethodInfo              ,-#endif-    randSetSeedArray                        ,-----    ) 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 Rand = Rand (ManagedPtr Rand)--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?-instance WrappedPtr Rand where-    wrappedPtrCalloc = return nullPtr-    wrappedPtrCopy = return-    wrappedPtrFree = Nothing---- | A convenience alias for `Nothing` :: `Maybe` `Rand`.-noRand :: Maybe Rand-noRand = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList Rand-type instance O.AttributeList Rand = RandAttributeList-type RandAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method Rand::double--- method type : OrdinaryMethod--- Args : [Arg {argCName = "rand_", argType = TInterface (Name {namespace = "GLib", name = "Rand"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRand", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TDouble)--- throws : False--- Skip return : False--foreign import ccall "g_rand_double" g_rand_double :: -    Ptr Rand ->                             -- rand_ : TInterface (Name {namespace = "GLib", name = "Rand"})-    IO CDouble--{- |-Returns the next random @/gdouble/@ from /@rand_@/ equally distributed over-the range [0..1).--}-randDouble ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Rand-    {- ^ /@rand_@/: a 'GI.GLib.Structs.Rand.Rand' -}-    -> m Double-    {- ^ __Returns:__ a random number -}-randDouble rand_ = liftIO $ do-    rand_' <- unsafeManagedPtrGetPtr rand_-    result <- g_rand_double rand_'-    let result' = realToFrac result-    touchManagedPtr rand_-    return result'--#if ENABLE_OVERLOADING-data RandDoubleMethodInfo-instance (signature ~ (m Double), MonadIO m) => O.MethodInfo RandDoubleMethodInfo Rand signature where-    overloadedMethod _ = randDouble--#endif---- method Rand::double_range--- method type : OrdinaryMethod--- Args : [Arg {argCName = "rand_", argType = TInterface (Name {namespace = "GLib", name = "Rand"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRand", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "begin", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "lower closed bound of the interval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TBasicType TDouble, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "upper open bound of the interval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TDouble)--- throws : False--- Skip return : False--foreign import ccall "g_rand_double_range" g_rand_double_range :: -    Ptr Rand ->                             -- rand_ : TInterface (Name {namespace = "GLib", name = "Rand"})-    CDouble ->                              -- begin : TBasicType TDouble-    CDouble ->                              -- end : TBasicType TDouble-    IO CDouble--{- |-Returns the next random @/gdouble/@ from /@rand_@/ equally distributed over-the range [/@begin@/../@end@/).--}-randDoubleRange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Rand-    {- ^ /@rand_@/: a 'GI.GLib.Structs.Rand.Rand' -}-    -> Double-    {- ^ /@begin@/: lower closed bound of the interval -}-    -> Double-    {- ^ /@end@/: upper open bound of the interval -}-    -> m Double-    {- ^ __Returns:__ a random number -}-randDoubleRange rand_ begin end = liftIO $ do-    rand_' <- unsafeManagedPtrGetPtr rand_-    let begin' = realToFrac begin-    let end' = realToFrac end-    result <- g_rand_double_range rand_' begin' end'-    let result' = realToFrac result-    touchManagedPtr rand_-    return result'--#if ENABLE_OVERLOADING-data RandDoubleRangeMethodInfo-instance (signature ~ (Double -> Double -> m Double), MonadIO m) => O.MethodInfo RandDoubleRangeMethodInfo Rand signature where-    overloadedMethod _ = randDoubleRange--#endif---- method Rand::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "rand_", argType = TInterface (Name {namespace = "GLib", name = "Rand"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRand", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_rand_free" g_rand_free :: -    Ptr Rand ->                             -- rand_ : TInterface (Name {namespace = "GLib", name = "Rand"})-    IO ()--{- |-Frees the memory allocated for the 'GI.GLib.Structs.Rand.Rand'.--}-randFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Rand-    {- ^ /@rand_@/: a 'GI.GLib.Structs.Rand.Rand' -}-    -> m ()-randFree rand_ = liftIO $ do-    rand_' <- unsafeManagedPtrGetPtr rand_-    g_rand_free rand_'-    touchManagedPtr rand_-    return ()--#if ENABLE_OVERLOADING-data RandFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo RandFreeMethodInfo Rand signature where-    overloadedMethod _ = randFree--#endif---- method Rand::int--- method type : OrdinaryMethod--- Args : [Arg {argCName = "rand_", argType = TInterface (Name {namespace = "GLib", name = "Rand"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRand", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "g_rand_int" g_rand_int :: -    Ptr Rand ->                             -- rand_ : TInterface (Name {namespace = "GLib", name = "Rand"})-    IO Word32--{- |-Returns the next random @/guint32/@ from /@rand_@/ equally distributed over-the range [0..2^32-1].--}-randInt ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Rand-    {- ^ /@rand_@/: a 'GI.GLib.Structs.Rand.Rand' -}-    -> m Word32-    {- ^ __Returns:__ a random number -}-randInt rand_ = liftIO $ do-    rand_' <- unsafeManagedPtrGetPtr rand_-    result <- g_rand_int rand_'-    touchManagedPtr rand_-    return result--#if ENABLE_OVERLOADING-data RandIntMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo RandIntMethodInfo Rand signature where-    overloadedMethod _ = randInt--#endif---- method Rand::int_range--- method type : OrdinaryMethod--- Args : [Arg {argCName = "rand_", argType = TInterface (Name {namespace = "GLib", name = "Rand"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRand", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "begin", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "lower closed bound of the interval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "upper open bound of the interval", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt32)--- throws : False--- Skip return : False--foreign import ccall "g_rand_int_range" g_rand_int_range :: -    Ptr Rand ->                             -- rand_ : TInterface (Name {namespace = "GLib", name = "Rand"})-    Int32 ->                                -- begin : TBasicType TInt32-    Int32 ->                                -- end : TBasicType TInt32-    IO Int32--{- |-Returns the next random @/gint32/@ from /@rand_@/ equally distributed over-the range [/@begin@/../@end@/-1].--}-randIntRange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Rand-    {- ^ /@rand_@/: a 'GI.GLib.Structs.Rand.Rand' -}-    -> Int32-    {- ^ /@begin@/: lower closed bound of the interval -}-    -> Int32-    {- ^ /@end@/: upper open bound of the interval -}-    -> m Int32-    {- ^ __Returns:__ a random number -}-randIntRange rand_ begin end = liftIO $ do-    rand_' <- unsafeManagedPtrGetPtr rand_-    result <- g_rand_int_range rand_' begin end-    touchManagedPtr rand_-    return result--#if ENABLE_OVERLOADING-data RandIntRangeMethodInfo-instance (signature ~ (Int32 -> Int32 -> m Int32), MonadIO m) => O.MethodInfo RandIntRangeMethodInfo Rand signature where-    overloadedMethod _ = randIntRange--#endif---- method Rand::set_seed--- method type : OrdinaryMethod--- Args : [Arg {argCName = "rand_", argType = TInterface (Name {namespace = "GLib", name = "Rand"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRand", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "seed", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a value to reinitialize the random number generator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_rand_set_seed" g_rand_set_seed :: -    Ptr Rand ->                             -- rand_ : TInterface (Name {namespace = "GLib", name = "Rand"})-    Word32 ->                               -- seed : TBasicType TUInt32-    IO ()--{- |-Sets the seed for the random number generator 'GI.GLib.Structs.Rand.Rand' to /@seed@/.--}-randSetSeed ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Rand-    {- ^ /@rand_@/: a 'GI.GLib.Structs.Rand.Rand' -}-    -> Word32-    {- ^ /@seed@/: a value to reinitialize the random number generator -}-    -> m ()-randSetSeed rand_ seed = liftIO $ do-    rand_' <- unsafeManagedPtrGetPtr rand_-    g_rand_set_seed rand_' seed-    touchManagedPtr rand_-    return ()--#if ENABLE_OVERLOADING-data RandSetSeedMethodInfo-instance (signature ~ (Word32 -> m ()), MonadIO m) => O.MethodInfo RandSetSeedMethodInfo Rand signature where-    overloadedMethod _ = randSetSeed--#endif---- method Rand::set_seed_array--- method type : OrdinaryMethod--- Args : [Arg {argCName = "rand_", argType = TInterface (Name {namespace = "GLib", name = "Rand"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRand", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "seed", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "array to initialize with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "seed_length", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "length of array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_rand_set_seed_array" g_rand_set_seed_array :: -    Ptr Rand ->                             -- rand_ : TInterface (Name {namespace = "GLib", name = "Rand"})-    Word32 ->                               -- seed : TBasicType TUInt32-    Word32 ->                               -- seed_length : TBasicType TUInt-    IO ()--{- |-Initializes the random number generator by an array of longs.-Array can be of arbitrary size, though only the first 624 values-are taken.  This function is useful if you have many low entropy-seeds, or if you require more then 32 bits of actual entropy for-your application.--/Since: 2.4/--}-randSetSeedArray ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Rand-    {- ^ /@rand_@/: a 'GI.GLib.Structs.Rand.Rand' -}-    -> Word32-    {- ^ /@seed@/: array to initialize with -}-    -> Word32-    {- ^ /@seedLength@/: length of array -}-    -> m ()-randSetSeedArray rand_ seed seedLength = liftIO $ do-    rand_' <- unsafeManagedPtrGetPtr rand_-    g_rand_set_seed_array rand_' seed seedLength-    touchManagedPtr rand_-    return ()--#if ENABLE_OVERLOADING-data RandSetSeedArrayMethodInfo-instance (signature ~ (Word32 -> Word32 -> m ()), MonadIO m) => O.MethodInfo RandSetSeedArrayMethodInfo Rand signature where-    overloadedMethod _ = randSetSeedArray--#endif--#if ENABLE_OVERLOADING-type family ResolveRandMethod (t :: Symbol) (o :: *) :: * where-    ResolveRandMethod "double" o = RandDoubleMethodInfo-    ResolveRandMethod "doubleRange" o = RandDoubleRangeMethodInfo-    ResolveRandMethod "free" o = RandFreeMethodInfo-    ResolveRandMethod "int" o = RandIntMethodInfo-    ResolveRandMethod "intRange" o = RandIntRangeMethodInfo-    ResolveRandMethod "setSeed" o = RandSetSeedMethodInfo-    ResolveRandMethod "setSeedArray" o = RandSetSeedArrayMethodInfo-    ResolveRandMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveRandMethod t Rand, O.MethodInfo info Rand p) => OL.IsLabel t (Rand -> 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/GLib/Structs/Rand.hs-boot
@@ -1,47 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.Rand 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 Rand = Rand (ManagedPtr Rand)-instance WrappedPtr Rand where-#if ENABLE_OVERLOADING-data RandDoubleMethodInfo-#endif-#if ENABLE_OVERLOADING-data RandDoubleRangeMethodInfo-#endif-#if ENABLE_OVERLOADING-data RandFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data RandIntMethodInfo-#endif-#if ENABLE_OVERLOADING-data RandIntRangeMethodInfo-#endif-#if ENABLE_OVERLOADING-data RandSetSeedMethodInfo-#endif-#if ENABLE_OVERLOADING-data RandSetSeedArrayMethodInfo-#endif
− GI/GLib/Structs/RecMutex.hs
@@ -1,372 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The GRecMutex struct is an opaque data structure to represent a-recursive mutex. It is similar to a 'GI.GLib.Unions.Mutex.Mutex' with the difference-that it is possible to lock a GRecMutex multiple times in the same-thread without deadlock. When doing so, care has to be taken to-unlock the recursive mutex as often as it has been locked.--If a 'GI.GLib.Structs.RecMutex.RecMutex' is allocated in static storage then it can be used-without initialisation.  Otherwise, you should call-'GI.GLib.Structs.RecMutex.recMutexInit' on it and 'GI.GLib.Structs.RecMutex.recMutexClear' when done.--A GRecMutex should only be accessed with the-g_rec_mutex_ functions.--/Since: 2.32/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.RecMutex-    ( ---- * Exported types-    RecMutex(..)                            ,-    newZeroRecMutex                         ,-    noRecMutex                              ,--- -- * Methods--- ** clear #method:clear#--#if ENABLE_OVERLOADING-    RecMutexClearMethodInfo                 ,-#endif-    recMutexClear                           ,----- ** init #method:init#--#if ENABLE_OVERLOADING-    RecMutexInitMethodInfo                  ,-#endif-    recMutexInit                            ,----- ** lock #method:lock#--#if ENABLE_OVERLOADING-    RecMutexLockMethodInfo                  ,-#endif-    recMutexLock                            ,----- ** trylock #method:trylock#--#if ENABLE_OVERLOADING-    RecMutexTrylockMethodInfo               ,-#endif-    recMutexTrylock                         ,----- ** unlock #method:unlock#--#if ENABLE_OVERLOADING-    RecMutexUnlockMethodInfo                ,-#endif-    recMutexUnlock                          ,-----    ) 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 RecMutex = RecMutex (ManagedPtr RecMutex)-instance WrappedPtr RecMutex where-    wrappedPtrCalloc = callocBytes 16-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 16 >=> wrapPtr RecMutex)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `RecMutex` struct initialized to zero.-newZeroRecMutex :: MonadIO m => m RecMutex-newZeroRecMutex = liftIO $ wrappedPtrCalloc >>= wrapPtr RecMutex--instance tag ~ 'AttrSet => Constructible RecMutex tag where-    new _ attrs = do-        o <- newZeroRecMutex-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `RecMutex`.-noRecMutex :: Maybe RecMutex-noRecMutex = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList RecMutex-type instance O.AttributeList RecMutex = RecMutexAttributeList-type RecMutexAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method RecMutex::clear--- method type : OrdinaryMethod--- Args : [Arg {argCName = "rec_mutex", argType = TInterface (Name {namespace = "GLib", name = "RecMutex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an initialized #GRecMutex", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_rec_mutex_clear" g_rec_mutex_clear :: -    Ptr RecMutex ->                         -- rec_mutex : TInterface (Name {namespace = "GLib", name = "RecMutex"})-    IO ()--{- |-Frees the resources allocated to a recursive mutex with-'GI.GLib.Structs.RecMutex.recMutexInit'.--This function should not be used with a 'GI.GLib.Structs.RecMutex.RecMutex' that has been-statically allocated.--Calling 'GI.GLib.Structs.RecMutex.recMutexClear' on a locked recursive mutex leads-to undefined behaviour.--Sine: 2.32--}-recMutexClear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    RecMutex-    {- ^ /@recMutex@/: an initialized 'GI.GLib.Structs.RecMutex.RecMutex' -}-    -> m ()-recMutexClear recMutex = liftIO $ do-    recMutex' <- unsafeManagedPtrGetPtr recMutex-    g_rec_mutex_clear recMutex'-    touchManagedPtr recMutex-    return ()--#if ENABLE_OVERLOADING-data RecMutexClearMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo RecMutexClearMethodInfo RecMutex signature where-    overloadedMethod _ = recMutexClear--#endif---- method RecMutex::init--- method type : OrdinaryMethod--- Args : [Arg {argCName = "rec_mutex", argType = TInterface (Name {namespace = "GLib", name = "RecMutex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an uninitialized #GRecMutex", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_rec_mutex_init" g_rec_mutex_init :: -    Ptr RecMutex ->                         -- rec_mutex : TInterface (Name {namespace = "GLib", name = "RecMutex"})-    IO ()--{- |-Initializes a 'GI.GLib.Structs.RecMutex.RecMutex' so that it can be used.--This function is useful to initialize a recursive mutex-that has been allocated on the stack, or as part of a larger-structure.--It is not necessary to initialise a recursive mutex that has been-statically allocated.---=== /C code/->->  typedef struct {->    GRecMutex m;->    ...->  } Blob;->->Blob *b;->->b = g_new (Blob, 1);->g_rec_mutex_init (&b->m);---Calling 'GI.GLib.Structs.RecMutex.recMutexInit' on an already initialized 'GI.GLib.Structs.RecMutex.RecMutex'-leads to undefined behaviour.--To undo the effect of 'GI.GLib.Structs.RecMutex.recMutexInit' when a recursive mutex-is no longer needed, use 'GI.GLib.Structs.RecMutex.recMutexClear'.--/Since: 2.32/--}-recMutexInit ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    RecMutex-    {- ^ /@recMutex@/: an uninitialized 'GI.GLib.Structs.RecMutex.RecMutex' -}-    -> m ()-recMutexInit recMutex = liftIO $ do-    recMutex' <- unsafeManagedPtrGetPtr recMutex-    g_rec_mutex_init recMutex'-    touchManagedPtr recMutex-    return ()--#if ENABLE_OVERLOADING-data RecMutexInitMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo RecMutexInitMethodInfo RecMutex signature where-    overloadedMethod _ = recMutexInit--#endif---- method RecMutex::lock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "rec_mutex", argType = TInterface (Name {namespace = "GLib", name = "RecMutex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRecMutex", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_rec_mutex_lock" g_rec_mutex_lock :: -    Ptr RecMutex ->                         -- rec_mutex : TInterface (Name {namespace = "GLib", name = "RecMutex"})-    IO ()--{- |-Locks /@recMutex@/. If /@recMutex@/ is already locked by another-thread, the current thread will block until /@recMutex@/ is-unlocked by the other thread. If /@recMutex@/ is already locked-by the current thread, the \'lock count\' of /@recMutex@/ is increased.-The mutex will only become available again when it is unlocked-as many times as it has been locked.--/Since: 2.32/--}-recMutexLock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    RecMutex-    {- ^ /@recMutex@/: a 'GI.GLib.Structs.RecMutex.RecMutex' -}-    -> m ()-recMutexLock recMutex = liftIO $ do-    recMutex' <- unsafeManagedPtrGetPtr recMutex-    g_rec_mutex_lock recMutex'-    touchManagedPtr recMutex-    return ()--#if ENABLE_OVERLOADING-data RecMutexLockMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo RecMutexLockMethodInfo RecMutex signature where-    overloadedMethod _ = recMutexLock--#endif---- method RecMutex::trylock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "rec_mutex", argType = TInterface (Name {namespace = "GLib", name = "RecMutex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRecMutex", 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_rec_mutex_trylock" g_rec_mutex_trylock :: -    Ptr RecMutex ->                         -- rec_mutex : TInterface (Name {namespace = "GLib", name = "RecMutex"})-    IO CInt--{- |-Tries to lock /@recMutex@/. If /@recMutex@/ is already locked-by another thread, it immediately returns 'False'. Otherwise-it locks /@recMutex@/ and returns 'True'.--/Since: 2.32/--}-recMutexTrylock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    RecMutex-    {- ^ /@recMutex@/: a 'GI.GLib.Structs.RecMutex.RecMutex' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@recMutex@/ could be locked -}-recMutexTrylock recMutex = liftIO $ do-    recMutex' <- unsafeManagedPtrGetPtr recMutex-    result <- g_rec_mutex_trylock recMutex'-    let result' = (/= 0) result-    touchManagedPtr recMutex-    return result'--#if ENABLE_OVERLOADING-data RecMutexTrylockMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo RecMutexTrylockMethodInfo RecMutex signature where-    overloadedMethod _ = recMutexTrylock--#endif---- method RecMutex::unlock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "rec_mutex", argType = TInterface (Name {namespace = "GLib", name = "RecMutex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRecMutex", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_rec_mutex_unlock" g_rec_mutex_unlock :: -    Ptr RecMutex ->                         -- rec_mutex : TInterface (Name {namespace = "GLib", name = "RecMutex"})-    IO ()--{- |-Unlocks /@recMutex@/. If another thread is blocked in a-'GI.GLib.Structs.RecMutex.recMutexLock' call for /@recMutex@/, it will become unblocked-and can lock /@recMutex@/ itself.--Calling 'GI.GLib.Structs.RecMutex.recMutexUnlock' on a recursive mutex that is not-locked by the current thread leads to undefined behaviour.--/Since: 2.32/--}-recMutexUnlock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    RecMutex-    {- ^ /@recMutex@/: a 'GI.GLib.Structs.RecMutex.RecMutex' -}-    -> m ()-recMutexUnlock recMutex = liftIO $ do-    recMutex' <- unsafeManagedPtrGetPtr recMutex-    g_rec_mutex_unlock recMutex'-    touchManagedPtr recMutex-    return ()--#if ENABLE_OVERLOADING-data RecMutexUnlockMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo RecMutexUnlockMethodInfo RecMutex signature where-    overloadedMethod _ = recMutexUnlock--#endif--#if ENABLE_OVERLOADING-type family ResolveRecMutexMethod (t :: Symbol) (o :: *) :: * where-    ResolveRecMutexMethod "clear" o = RecMutexClearMethodInfo-    ResolveRecMutexMethod "init" o = RecMutexInitMethodInfo-    ResolveRecMutexMethod "lock" o = RecMutexLockMethodInfo-    ResolveRecMutexMethod "trylock" o = RecMutexTrylockMethodInfo-    ResolveRecMutexMethod "unlock" o = RecMutexUnlockMethodInfo-    ResolveRecMutexMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveRecMutexMethod t RecMutex, O.MethodInfo info RecMutex p) => OL.IsLabel t (RecMutex -> 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/GLib/Structs/RecMutex.hs-boot
@@ -1,41 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.RecMutex 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 RecMutex = RecMutex (ManagedPtr RecMutex)-instance WrappedPtr RecMutex where-#if ENABLE_OVERLOADING-data RecMutexClearMethodInfo-#endif-#if ENABLE_OVERLOADING-data RecMutexInitMethodInfo-#endif-#if ENABLE_OVERLOADING-data RecMutexLockMethodInfo-#endif-#if ENABLE_OVERLOADING-data RecMutexTrylockMethodInfo-#endif-#if ENABLE_OVERLOADING-data RecMutexUnlockMethodInfo-#endif
− GI/GLib/Structs/Regex.hs
@@ -1,1757 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The g_regex_*() functions implement regular-expression pattern matching using syntax and semantics similar to-Perl regular expression.--Some functions accept a /@startPosition@/ argument, setting it differs-from just passing over a shortened string and setting @/G_REGEX_MATCH_NOTBOL/@-in the case of a pattern that begins with any kind of lookbehind assertion.-For example, consider the pattern \"\\Biss\\B\" which finds occurrences of \"iss\"-in the middle of words. (\"\\B\" matches only if the current position in the-subject is not a word boundary.) When applied to the string \"Mississipi\"-from the fourth byte, namely \"issipi\", it does not match, because \"\\B\" is-always false at the start of the subject, which is deemed to be a word-boundary. However, if the entire string is passed , but with-/@startPosition@/ set to 4, it finds the second occurrence of \"iss\" because-it is able to look behind the starting point to discover that it is-preceded by a letter.--Note that, unless you set the @/G_REGEX_RAW/@ flag, all the strings passed-to these functions must be encoded in UTF-8. The lengths and the positions-inside the strings are in bytes and not in characters, so, for instance,-\"\\xc3\\xa0\" (i.e. \"à\") is two bytes long but it is treated as a-single character. If you set @/G_REGEX_RAW/@ the strings can be non-valid-UTF-8 strings and a byte is treated as a character, so \"\\xc3\\xa0\" is two-bytes and two characters long.--When matching a pattern, \"\\n\" matches only against a \"\\n\" character in-the string, and \"\\r\" matches only a \"\\r\" character. To match any newline-sequence use \"\\R\". This particular group matches either the two-character-sequence CR + LF (\"\\r\\n\"), or one of the single characters LF (linefeed,-U+000A, \"\\n\"), VT vertical tab, U+000B, \"\\v\"), FF (formfeed, U+000C, \"\\f\"),-CR (carriage return, U+000D, \"\\r\"), NEL (next line, U+0085), LS (line-separator, U+2028), or PS (paragraph separator, U+2029).--The behaviour of the dot, circumflex, and dollar metacharacters are-affected by newline characters, the default is to recognize any newline-character (the same characters recognized by \"\\R\"). This can be changed-with @/G_REGEX_NEWLINE_CR/@, @/G_REGEX_NEWLINE_LF/@ and @/G_REGEX_NEWLINE_CRLF/@-compile options, and with @/G_REGEX_MATCH_NEWLINE_ANY/@,-@/G_REGEX_MATCH_NEWLINE_CR/@, @/G_REGEX_MATCH_NEWLINE_LF/@ and-@/G_REGEX_MATCH_NEWLINE_CRLF/@ match options. These settings are also-relevant when compiling a pattern if @/G_REGEX_EXTENDED/@ is set, and an-unescaped \"#\" outside a character class is encountered. This indicates-a comment that lasts until after the next newline.--When setting the 'GI.GLib.Flags.RegexCompileFlagsJavascriptCompat' flag, pattern syntax and pattern-matching is changed to be compatible with the way that regular expressions-work in JavaScript. More precisely, a lonely \']\' character in the pattern-is a syntax error; the \'\\x\' escape only allows 0 to 2 hexadecimal digits, and-you must use the \'\\u\' escape sequence with 4 hex digits to specify a unicode-codepoint instead of \'\\x\' or \'x{....}\'. If \'\\x\' or \'\\u\' are not followed by-the specified number of hex digits, they match \'x\' and \'u\' literally; also-\'\\U\' always matches \'U\' instead of being an error in the pattern. Finally,-pattern matching is modified so that back references to an unset subpattern-group produces a match with the empty string instead of an error. See-pcreapi(3) for more information.--Creating and manipulating the same 'GI.GLib.Structs.Regex.Regex' structure from different-threads is not a problem as 'GI.GLib.Structs.Regex.Regex' does not modify its internal-state between creation and destruction, on the other hand 'GI.GLib.Structs.MatchInfo.MatchInfo'-is not threadsafe.--The regular expressions low-level functionalities are obtained through-the excellent-<http://www.pcre.org/ PCRE>-library written by Philip Hazel.--/Since: 2.14/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.Regex-    ( ---- * Exported types-    Regex(..)                               ,-    noRegex                                 ,--- -- * Methods--- ** checkReplacement #method:checkReplacement#--    regexCheckReplacement                   ,----- ** errorQuark #method:errorQuark#--    regexErrorQuark                         ,----- ** escapeNul #method:escapeNul#--    regexEscapeNul                          ,----- ** escapeString #method:escapeString#--    regexEscapeString                       ,----- ** getCaptureCount #method:getCaptureCount#--#if ENABLE_OVERLOADING-    RegexGetCaptureCountMethodInfo          ,-#endif-    regexGetCaptureCount                    ,----- ** getCompileFlags #method:getCompileFlags#--#if ENABLE_OVERLOADING-    RegexGetCompileFlagsMethodInfo          ,-#endif-    regexGetCompileFlags                    ,----- ** getHasCrOrLf #method:getHasCrOrLf#--#if ENABLE_OVERLOADING-    RegexGetHasCrOrLfMethodInfo             ,-#endif-    regexGetHasCrOrLf                       ,----- ** getMatchFlags #method:getMatchFlags#--#if ENABLE_OVERLOADING-    RegexGetMatchFlagsMethodInfo            ,-#endif-    regexGetMatchFlags                      ,----- ** getMaxBackref #method:getMaxBackref#--#if ENABLE_OVERLOADING-    RegexGetMaxBackrefMethodInfo            ,-#endif-    regexGetMaxBackref                      ,----- ** getMaxLookbehind #method:getMaxLookbehind#--#if ENABLE_OVERLOADING-    RegexGetMaxLookbehindMethodInfo         ,-#endif-    regexGetMaxLookbehind                   ,----- ** getPattern #method:getPattern#--#if ENABLE_OVERLOADING-    RegexGetPatternMethodInfo               ,-#endif-    regexGetPattern                         ,----- ** getStringNumber #method:getStringNumber#--#if ENABLE_OVERLOADING-    RegexGetStringNumberMethodInfo          ,-#endif-    regexGetStringNumber                    ,----- ** match #method:match#--#if ENABLE_OVERLOADING-    RegexMatchMethodInfo                    ,-#endif-    regexMatch                              ,----- ** matchAll #method:matchAll#--#if ENABLE_OVERLOADING-    RegexMatchAllMethodInfo                 ,-#endif-    regexMatchAll                           ,----- ** matchAllFull #method:matchAllFull#--#if ENABLE_OVERLOADING-    RegexMatchAllFullMethodInfo             ,-#endif-    regexMatchAllFull                       ,----- ** matchFull #method:matchFull#--#if ENABLE_OVERLOADING-    RegexMatchFullMethodInfo                ,-#endif-    regexMatchFull                          ,----- ** matchSimple #method:matchSimple#--    regexMatchSimple                        ,----- ** new #method:new#--    regexNew                                ,----- ** ref #method:ref#--#if ENABLE_OVERLOADING-    RegexRefMethodInfo                      ,-#endif-    regexRef                                ,----- ** replace #method:replace#--#if ENABLE_OVERLOADING-    RegexReplaceMethodInfo                  ,-#endif-    regexReplace                            ,----- ** replaceLiteral #method:replaceLiteral#--#if ENABLE_OVERLOADING-    RegexReplaceLiteralMethodInfo           ,-#endif-    regexReplaceLiteral                     ,----- ** split #method:split#--#if ENABLE_OVERLOADING-    RegexSplitMethodInfo                    ,-#endif-    regexSplit                              ,----- ** splitFull #method:splitFull#--#if ENABLE_OVERLOADING-    RegexSplitFullMethodInfo                ,-#endif-    regexSplitFull                          ,----- ** splitSimple #method:splitSimple#--    regexSplitSimple                        ,----- ** unref #method:unref#--#if ENABLE_OVERLOADING-    RegexUnrefMethodInfo                    ,-#endif-    regexUnref                              ,-----    ) 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.GLib.Flags as GLib.Flags-import {-# SOURCE #-} qualified GI.GLib.Structs.MatchInfo as GLib.MatchInfo---- | Memory-managed wrapper type.-newtype Regex = Regex (ManagedPtr Regex)-foreign import ccall "g_regex_get_type" c_g_regex_get_type :: -    IO GType--instance BoxedObject Regex where-    boxedType _ = c_g_regex_get_type---- | A convenience alias for `Nothing` :: `Maybe` `Regex`.-noRegex :: Maybe Regex-noRegex = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList Regex-type instance O.AttributeList Regex = RegexAttributeList-type RegexAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method Regex::new--- method type : Constructor--- Args : [Arg {argCName = "pattern", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the regular expression", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "compile_options", argType = TInterface (Name {namespace = "GLib", name = "RegexCompileFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "compile options for the regular expression, or 0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_options", argType = TInterface (Name {namespace = "GLib", name = "RegexMatchFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "match options for the regular expression, or 0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Regex"}))--- throws : True--- Skip return : False--foreign import ccall "g_regex_new" g_regex_new :: -    CString ->                              -- pattern : TBasicType TUTF8-    CUInt ->                                -- compile_options : TInterface (Name {namespace = "GLib", name = "RegexCompileFlags"})-    CUInt ->                                -- match_options : TInterface (Name {namespace = "GLib", name = "RegexMatchFlags"})-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr Regex)--{- |-Compiles the regular expression to an internal form, and does-the initial setup of the 'GI.GLib.Structs.Regex.Regex' structure.--/Since: 2.14/--}-regexNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@pattern@/: the regular expression -}-    -> [GLib.Flags.RegexCompileFlags]-    {- ^ /@compileOptions@/: compile options for the regular expression, or 0 -}-    -> [GLib.Flags.RegexMatchFlags]-    {- ^ /@matchOptions@/: match options for the regular expression, or 0 -}-    -> m (Maybe Regex)-    {- ^ __Returns:__ a 'GI.GLib.Structs.Regex.Regex' structure or 'Nothing' if an error occured. Call-  'GI.GLib.Structs.Regex.regexUnref' when you are done with it /(Can throw 'Data.GI.Base.GError.GError')/ -}-regexNew pattern compileOptions matchOptions = liftIO $ do-    pattern' <- textToCString pattern-    let compileOptions' = gflagsToWord compileOptions-    let matchOptions' = gflagsToWord matchOptions-    onException (do-        result <- propagateGError $ g_regex_new pattern' compileOptions' matchOptions'-        maybeResult <- convertIfNonNull result $ \result' -> do-            result'' <- (wrapBoxed Regex) result'-            return result''-        freeMem pattern'-        return maybeResult-     ) (do-        freeMem pattern'-     )--#if ENABLE_OVERLOADING-#endif---- method Regex::get_capture_count--- method type : OrdinaryMethod--- Args : [Arg {argCName = "regex", argType = TInterface (Name {namespace = "GLib", name = "Regex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRegex", 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_regex_get_capture_count" g_regex_get_capture_count :: -    Ptr Regex ->                            -- regex : TInterface (Name {namespace = "GLib", name = "Regex"})-    IO Int32--{- |-Returns the number of capturing subpatterns in the pattern.--/Since: 2.14/--}-regexGetCaptureCount ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Regex-    {- ^ /@regex@/: a 'GI.GLib.Structs.Regex.Regex' -}-    -> m Int32-    {- ^ __Returns:__ the number of capturing subpatterns -}-regexGetCaptureCount regex = liftIO $ do-    regex' <- unsafeManagedPtrGetPtr regex-    result <- g_regex_get_capture_count regex'-    touchManagedPtr regex-    return result--#if ENABLE_OVERLOADING-data RegexGetCaptureCountMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo RegexGetCaptureCountMethodInfo Regex signature where-    overloadedMethod _ = regexGetCaptureCount--#endif---- method Regex::get_compile_flags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "regex", argType = TInterface (Name {namespace = "GLib", name = "Regex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRegex", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "RegexCompileFlags"}))--- throws : False--- Skip return : False--foreign import ccall "g_regex_get_compile_flags" g_regex_get_compile_flags :: -    Ptr Regex ->                            -- regex : TInterface (Name {namespace = "GLib", name = "Regex"})-    IO CUInt--{- |-Returns the compile options that /@regex@/ was created with.--Depending on the version of PCRE that is used, this may or may not-include flags set by option expressions such as @(?i)@ found at the-top-level within the compiled pattern.--/Since: 2.26/--}-regexGetCompileFlags ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Regex-    {- ^ /@regex@/: a 'GI.GLib.Structs.Regex.Regex' -}-    -> m [GLib.Flags.RegexCompileFlags]-    {- ^ __Returns:__ flags from 'GI.GLib.Flags.RegexCompileFlags' -}-regexGetCompileFlags regex = liftIO $ do-    regex' <- unsafeManagedPtrGetPtr regex-    result <- g_regex_get_compile_flags regex'-    let result' = wordToGFlags result-    touchManagedPtr regex-    return result'--#if ENABLE_OVERLOADING-data RegexGetCompileFlagsMethodInfo-instance (signature ~ (m [GLib.Flags.RegexCompileFlags]), MonadIO m) => O.MethodInfo RegexGetCompileFlagsMethodInfo Regex signature where-    overloadedMethod _ = regexGetCompileFlags--#endif---- method Regex::get_has_cr_or_lf--- method type : OrdinaryMethod--- Args : [Arg {argCName = "regex", argType = TInterface (Name {namespace = "GLib", name = "Regex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRegex structure", 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_regex_get_has_cr_or_lf" g_regex_get_has_cr_or_lf :: -    Ptr Regex ->                            -- regex : TInterface (Name {namespace = "GLib", name = "Regex"})-    IO CInt--{- |-Checks whether the pattern contains explicit CR or LF references.--/Since: 2.34/--}-regexGetHasCrOrLf ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Regex-    {- ^ /@regex@/: a 'GI.GLib.Structs.Regex.Regex' structure -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the pattern contains explicit CR or LF references -}-regexGetHasCrOrLf regex = liftIO $ do-    regex' <- unsafeManagedPtrGetPtr regex-    result <- g_regex_get_has_cr_or_lf regex'-    let result' = (/= 0) result-    touchManagedPtr regex-    return result'--#if ENABLE_OVERLOADING-data RegexGetHasCrOrLfMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo RegexGetHasCrOrLfMethodInfo Regex signature where-    overloadedMethod _ = regexGetHasCrOrLf--#endif---- method Regex::get_match_flags--- method type : OrdinaryMethod--- Args : [Arg {argCName = "regex", argType = TInterface (Name {namespace = "GLib", name = "Regex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRegex", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "RegexMatchFlags"}))--- throws : False--- Skip return : False--foreign import ccall "g_regex_get_match_flags" g_regex_get_match_flags :: -    Ptr Regex ->                            -- regex : TInterface (Name {namespace = "GLib", name = "Regex"})-    IO CUInt--{- |-Returns the match options that /@regex@/ was created with.--/Since: 2.26/--}-regexGetMatchFlags ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Regex-    {- ^ /@regex@/: a 'GI.GLib.Structs.Regex.Regex' -}-    -> m [GLib.Flags.RegexMatchFlags]-    {- ^ __Returns:__ flags from 'GI.GLib.Flags.RegexMatchFlags' -}-regexGetMatchFlags regex = liftIO $ do-    regex' <- unsafeManagedPtrGetPtr regex-    result <- g_regex_get_match_flags regex'-    let result' = wordToGFlags result-    touchManagedPtr regex-    return result'--#if ENABLE_OVERLOADING-data RegexGetMatchFlagsMethodInfo-instance (signature ~ (m [GLib.Flags.RegexMatchFlags]), MonadIO m) => O.MethodInfo RegexGetMatchFlagsMethodInfo Regex signature where-    overloadedMethod _ = regexGetMatchFlags--#endif---- method Regex::get_max_backref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "regex", argType = TInterface (Name {namespace = "GLib", name = "Regex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRegex", 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_regex_get_max_backref" g_regex_get_max_backref :: -    Ptr Regex ->                            -- regex : TInterface (Name {namespace = "GLib", name = "Regex"})-    IO Int32--{- |-Returns the number of the highest back reference-in the pattern, or 0 if the pattern does not contain-back references.--/Since: 2.14/--}-regexGetMaxBackref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Regex-    {- ^ /@regex@/: a 'GI.GLib.Structs.Regex.Regex' -}-    -> m Int32-    {- ^ __Returns:__ the number of the highest back reference -}-regexGetMaxBackref regex = liftIO $ do-    regex' <- unsafeManagedPtrGetPtr regex-    result <- g_regex_get_max_backref regex'-    touchManagedPtr regex-    return result--#if ENABLE_OVERLOADING-data RegexGetMaxBackrefMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo RegexGetMaxBackrefMethodInfo Regex signature where-    overloadedMethod _ = regexGetMaxBackref--#endif---- method Regex::get_max_lookbehind--- method type : OrdinaryMethod--- Args : [Arg {argCName = "regex", argType = TInterface (Name {namespace = "GLib", name = "Regex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRegex structure", 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_regex_get_max_lookbehind" g_regex_get_max_lookbehind :: -    Ptr Regex ->                            -- regex : TInterface (Name {namespace = "GLib", name = "Regex"})-    IO Int32--{- |-Gets the number of characters in the longest lookbehind assertion in the-pattern. This information is useful when doing multi-segment matching using-the partial matching facilities.--/Since: 2.38/--}-regexGetMaxLookbehind ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Regex-    {- ^ /@regex@/: a 'GI.GLib.Structs.Regex.Regex' structure -}-    -> m Int32-    {- ^ __Returns:__ the number of characters in the longest lookbehind assertion. -}-regexGetMaxLookbehind regex = liftIO $ do-    regex' <- unsafeManagedPtrGetPtr regex-    result <- g_regex_get_max_lookbehind regex'-    touchManagedPtr regex-    return result--#if ENABLE_OVERLOADING-data RegexGetMaxLookbehindMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo RegexGetMaxLookbehindMethodInfo Regex signature where-    overloadedMethod _ = regexGetMaxLookbehind--#endif---- method Regex::get_pattern--- method type : OrdinaryMethod--- Args : [Arg {argCName = "regex", argType = TInterface (Name {namespace = "GLib", name = "Regex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRegex structure", 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_regex_get_pattern" g_regex_get_pattern :: -    Ptr Regex ->                            -- regex : TInterface (Name {namespace = "GLib", name = "Regex"})-    IO CString--{- |-Gets the pattern string associated with /@regex@/, i.e. a copy of-the string passed to 'GI.GLib.Structs.Regex.regexNew'.--/Since: 2.14/--}-regexGetPattern ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Regex-    {- ^ /@regex@/: a 'GI.GLib.Structs.Regex.Regex' structure -}-    -> m T.Text-    {- ^ __Returns:__ the pattern of /@regex@/ -}-regexGetPattern regex = liftIO $ do-    regex' <- unsafeManagedPtrGetPtr regex-    result <- g_regex_get_pattern regex'-    checkUnexpectedReturnNULL "regexGetPattern" result-    result' <- cstringToText result-    touchManagedPtr regex-    return result'--#if ENABLE_OVERLOADING-data RegexGetPatternMethodInfo-instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo RegexGetPatternMethodInfo Regex signature where-    overloadedMethod _ = regexGetPattern--#endif---- method Regex::get_string_number--- method type : OrdinaryMethod--- Args : [Arg {argCName = "regex", argType = TInterface (Name {namespace = "GLib", name = "Regex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GRegex structure", 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 the subexpression", 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_regex_get_string_number" g_regex_get_string_number :: -    Ptr Regex ->                            -- regex : TInterface (Name {namespace = "GLib", name = "Regex"})-    CString ->                              -- name : TBasicType TUTF8-    IO Int32--{- |-Retrieves the number of the subexpression named /@name@/.--/Since: 2.14/--}-regexGetStringNumber ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Regex-    {- ^ /@regex@/: 'GI.GLib.Structs.Regex.Regex' structure -}-    -> T.Text-    {- ^ /@name@/: name of the subexpression -}-    -> m Int32-    {- ^ __Returns:__ The number of the subexpression or -1 if /@name@/-  does not exists -}-regexGetStringNumber regex name = liftIO $ do-    regex' <- unsafeManagedPtrGetPtr regex-    name' <- textToCString name-    result <- g_regex_get_string_number regex' name'-    touchManagedPtr regex-    freeMem name'-    return result--#if ENABLE_OVERLOADING-data RegexGetStringNumberMethodInfo-instance (signature ~ (T.Text -> m Int32), MonadIO m) => O.MethodInfo RegexGetStringNumberMethodInfo Regex signature where-    overloadedMethod _ = regexGetStringNumber--#endif---- method Regex::match--- method type : OrdinaryMethod--- Args : [Arg {argCName = "regex", argType = TInterface (Name {namespace = "GLib", name = "Regex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRegex structure from g_regex_new()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to scan for matches", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_options", argType = TInterface (Name {namespace = "GLib", name = "RegexMatchFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "match options", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_info", argType = TInterface (Name {namespace = "GLib", name = "MatchInfo"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to location where to store\n    the #GMatchInfo, or %NULL if you do not need it", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "g_regex_match" g_regex_match :: -    Ptr Regex ->                            -- regex : TInterface (Name {namespace = "GLib", name = "Regex"})-    CString ->                              -- string : TBasicType TUTF8-    CUInt ->                                -- match_options : TInterface (Name {namespace = "GLib", name = "RegexMatchFlags"})-    Ptr (Ptr GLib.MatchInfo.MatchInfo) ->   -- match_info : TInterface (Name {namespace = "GLib", name = "MatchInfo"})-    IO CInt--{- |-Scans for a match in /@string@/ for the pattern in /@regex@/.-The /@matchOptions@/ are combined with the match options specified-when the /@regex@/ structure was created, letting you have more-flexibility in reusing 'GI.GLib.Structs.Regex.Regex' structures.--Unless 'GI.GLib.Flags.RegexCompileFlagsRaw' is specified in the options, /@string@/ must be valid UTF-8.--A 'GI.GLib.Structs.MatchInfo.MatchInfo' structure, used to get information on the match,-is stored in /@matchInfo@/ if not 'Nothing'. Note that if /@matchInfo@/-is not 'Nothing' then it is created even if the function returns 'False',-i.e. you must free it regardless if regular expression actually matched.--To retrieve all the non-overlapping matches of the pattern in-string you can use 'GI.GLib.Structs.MatchInfo.matchInfoNext'.---=== /C code/->->static void->print_uppercase_words (const gchar *string)->{->  // Print all uppercase-only words.->  GRegex *regex;->  GMatchInfo *match_info;-> ->  regex = g_regex_new ("[A-Z]+", 0, 0, NULL);->  g_regex_match (regex, string, 0, &match_info);->  while (g_match_info_matches (match_info))->    {->      gchar *word = g_match_info_fetch (match_info, 0);->      g_print ("Found: %s\n", word);->      g_free (word);->      g_match_info_next (match_info, NULL);->    }->  g_match_info_free (match_info);->  g_regex_unref (regex);->}---/@string@/ is not copied and is used in 'GI.GLib.Structs.MatchInfo.MatchInfo' internally. If-you use any 'GI.GLib.Structs.MatchInfo.MatchInfo' method (except 'GI.GLib.Structs.MatchInfo.matchInfoFree') after-freeing or modifying /@string@/ then the behaviour is undefined.--/Since: 2.14/--}-regexMatch ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Regex-    {- ^ /@regex@/: a 'GI.GLib.Structs.Regex.Regex' structure from 'GI.GLib.Structs.Regex.regexNew' -}-    -> T.Text-    {- ^ /@string@/: the string to scan for matches -}-    -> [GLib.Flags.RegexMatchFlags]-    {- ^ /@matchOptions@/: match options -}-    -> m ((Bool, GLib.MatchInfo.MatchInfo))-    {- ^ __Returns:__ 'True' is the string matched, 'False' otherwise -}-regexMatch regex string matchOptions = liftIO $ do-    regex' <- unsafeManagedPtrGetPtr regex-    string' <- textToCString string-    let matchOptions' = gflagsToWord matchOptions-    matchInfo <- allocMem :: IO (Ptr (Ptr GLib.MatchInfo.MatchInfo))-    result <- g_regex_match regex' string' matchOptions' matchInfo-    let result' = (/= 0) result-    matchInfo' <- peek matchInfo-    matchInfo'' <- (wrapBoxed GLib.MatchInfo.MatchInfo) matchInfo'-    touchManagedPtr regex-    freeMem string'-    freeMem matchInfo-    return (result', matchInfo'')--#if ENABLE_OVERLOADING-data RegexMatchMethodInfo-instance (signature ~ (T.Text -> [GLib.Flags.RegexMatchFlags] -> m ((Bool, GLib.MatchInfo.MatchInfo))), MonadIO m) => O.MethodInfo RegexMatchMethodInfo Regex signature where-    overloadedMethod _ = regexMatch--#endif---- method Regex::match_all--- method type : OrdinaryMethod--- Args : [Arg {argCName = "regex", argType = TInterface (Name {namespace = "GLib", name = "Regex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRegex structure from g_regex_new()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to scan for matches", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_options", argType = TInterface (Name {namespace = "GLib", name = "RegexMatchFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "match options", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_info", argType = TInterface (Name {namespace = "GLib", name = "MatchInfo"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to location where to store\n    the #GMatchInfo, or %NULL if you do not need it", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "g_regex_match_all" g_regex_match_all :: -    Ptr Regex ->                            -- regex : TInterface (Name {namespace = "GLib", name = "Regex"})-    CString ->                              -- string : TBasicType TUTF8-    CUInt ->                                -- match_options : TInterface (Name {namespace = "GLib", name = "RegexMatchFlags"})-    Ptr (Ptr GLib.MatchInfo.MatchInfo) ->   -- match_info : TInterface (Name {namespace = "GLib", name = "MatchInfo"})-    IO CInt--{- |-Using the standard algorithm for regular expression matching only-the longest match in the string is retrieved. This function uses-a different algorithm so it can retrieve all the possible matches.-For more documentation see 'GI.GLib.Structs.Regex.regexMatchAllFull'.--A 'GI.GLib.Structs.MatchInfo.MatchInfo' structure, used to get information on the match, is-stored in /@matchInfo@/ if not 'Nothing'. Note that if /@matchInfo@/ is-not 'Nothing' then it is created even if the function returns 'False',-i.e. you must free it regardless if regular expression actually-matched.--/@string@/ is not copied and is used in 'GI.GLib.Structs.MatchInfo.MatchInfo' internally. If-you use any 'GI.GLib.Structs.MatchInfo.MatchInfo' method (except 'GI.GLib.Structs.MatchInfo.matchInfoFree') after-freeing or modifying /@string@/ then the behaviour is undefined.--/Since: 2.14/--}-regexMatchAll ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Regex-    {- ^ /@regex@/: a 'GI.GLib.Structs.Regex.Regex' structure from 'GI.GLib.Structs.Regex.regexNew' -}-    -> T.Text-    {- ^ /@string@/: the string to scan for matches -}-    -> [GLib.Flags.RegexMatchFlags]-    {- ^ /@matchOptions@/: match options -}-    -> m ((Bool, GLib.MatchInfo.MatchInfo))-    {- ^ __Returns:__ 'True' is the string matched, 'False' otherwise -}-regexMatchAll regex string matchOptions = liftIO $ do-    regex' <- unsafeManagedPtrGetPtr regex-    string' <- textToCString string-    let matchOptions' = gflagsToWord matchOptions-    matchInfo <- allocMem :: IO (Ptr (Ptr GLib.MatchInfo.MatchInfo))-    result <- g_regex_match_all regex' string' matchOptions' matchInfo-    let result' = (/= 0) result-    matchInfo' <- peek matchInfo-    matchInfo'' <- (wrapBoxed GLib.MatchInfo.MatchInfo) matchInfo'-    touchManagedPtr regex-    freeMem string'-    freeMem matchInfo-    return (result', matchInfo'')--#if ENABLE_OVERLOADING-data RegexMatchAllMethodInfo-instance (signature ~ (T.Text -> [GLib.Flags.RegexMatchFlags] -> m ((Bool, GLib.MatchInfo.MatchInfo))), MonadIO m) => O.MethodInfo RegexMatchAllMethodInfo Regex signature where-    overloadedMethod _ = regexMatchAll--#endif---- method Regex::match_all_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "regex", argType = TInterface (Name {namespace = "GLib", name = "Regex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRegex structure from g_regex_new()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TCArray False (-1) 2 (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to scan for matches", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string_len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @string, in bytes, or -1 if @string is nul-terminated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "starting index of the string to match, in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_options", argType = TInterface (Name {namespace = "GLib", name = "RegexMatchFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "match options", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_info", argType = TInterface (Name {namespace = "GLib", name = "MatchInfo"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to location where to store\n    the #GMatchInfo, or %NULL if you do not need it", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "string_len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @string, in bytes, or -1 if @string is nul-terminated", 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_regex_match_all_full" g_regex_match_all_full :: -    Ptr Regex ->                            -- regex : TInterface (Name {namespace = "GLib", name = "Regex"})-    Ptr CString ->                          -- string : TCArray False (-1) 2 (TBasicType TUTF8)-    Int64 ->                                -- string_len : TBasicType TInt64-    Int32 ->                                -- start_position : TBasicType TInt-    CUInt ->                                -- match_options : TInterface (Name {namespace = "GLib", name = "RegexMatchFlags"})-    Ptr (Ptr GLib.MatchInfo.MatchInfo) ->   -- match_info : TInterface (Name {namespace = "GLib", name = "MatchInfo"})-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Using the standard algorithm for regular expression matching only-the longest match in the /@string@/ is retrieved, it is not possible-to obtain all the available matches. For instance matching-\"\<a> \<b> \<c>\" against the pattern \"\<.*>\"-you get \"\<a> \<b> \<c>\".--This function uses a different algorithm (called DFA, i.e. deterministic-finite automaton), so it can retrieve all the possible matches, all-starting at the same point in the string. For instance matching-\"\<a> \<b> \<c>\" against the pattern \"\<.*>;\"-you would obtain three matches: \"\<a> \<b> \<c>\",-\"\<a> \<b>\" and \"\<a>\".--The number of matched strings is retrieved using-'GI.GLib.Structs.MatchInfo.matchInfoGetMatchCount'. To obtain the matched strings and-their position you can use, respectively, 'GI.GLib.Structs.MatchInfo.matchInfoFetch' and-'GI.GLib.Structs.MatchInfo.matchInfoFetchPos'. Note that the strings are returned in-reverse order of length; that is, the longest matching string is-given first.--Note that the DFA algorithm is slower than the standard one and it-is not able to capture substrings, so backreferences do not work.--Setting /@startPosition@/ differs from just passing over a shortened-string and setting @/G_REGEX_MATCH_NOTBOL/@ in the case of a pattern-that begins with any kind of lookbehind assertion, such as \"\\b\".--Unless 'GI.GLib.Flags.RegexCompileFlagsRaw' is specified in the options, /@string@/ must be valid UTF-8.--A 'GI.GLib.Structs.MatchInfo.MatchInfo' structure, used to get information on the match, is-stored in /@matchInfo@/ if not 'Nothing'. Note that if /@matchInfo@/ is-not 'Nothing' then it is created even if the function returns 'False',-i.e. you must free it regardless if regular expression actually-matched.--/@string@/ is not copied and is used in 'GI.GLib.Structs.MatchInfo.MatchInfo' internally. If-you use any 'GI.GLib.Structs.MatchInfo.MatchInfo' method (except 'GI.GLib.Structs.MatchInfo.matchInfoFree') after-freeing or modifying /@string@/ then the behaviour is undefined.--/Since: 2.14/--}-regexMatchAllFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Regex-    {- ^ /@regex@/: a 'GI.GLib.Structs.Regex.Regex' structure from 'GI.GLib.Structs.Regex.regexNew' -}-    -> [T.Text]-    {- ^ /@string@/: the string to scan for matches -}-    -> Int32-    {- ^ /@startPosition@/: starting index of the string to match, in bytes -}-    -> [GLib.Flags.RegexMatchFlags]-    {- ^ /@matchOptions@/: match options -}-    -> m (GLib.MatchInfo.MatchInfo)-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-regexMatchAllFull regex string startPosition matchOptions = liftIO $ do-    let stringLen = fromIntegral $ length string-    regex' <- unsafeManagedPtrGetPtr regex-    string' <- packUTF8CArray string-    let matchOptions' = gflagsToWord matchOptions-    matchInfo <- allocMem :: IO (Ptr (Ptr GLib.MatchInfo.MatchInfo))-    onException (do-        _ <- propagateGError $ g_regex_match_all_full regex' string' stringLen startPosition matchOptions' matchInfo-        matchInfo' <- peek matchInfo-        matchInfo'' <- (wrapBoxed GLib.MatchInfo.MatchInfo) matchInfo'-        touchManagedPtr regex-        (mapCArrayWithLength stringLen) freeMem string'-        freeMem string'-        freeMem matchInfo-        return matchInfo''-     ) (do-        (mapCArrayWithLength stringLen) freeMem string'-        freeMem string'-        freeMem matchInfo-     )--#if ENABLE_OVERLOADING-data RegexMatchAllFullMethodInfo-instance (signature ~ ([T.Text] -> Int32 -> [GLib.Flags.RegexMatchFlags] -> m (GLib.MatchInfo.MatchInfo)), MonadIO m) => O.MethodInfo RegexMatchAllFullMethodInfo Regex signature where-    overloadedMethod _ = regexMatchAllFull--#endif---- method Regex::match_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "regex", argType = TInterface (Name {namespace = "GLib", name = "Regex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRegex structure from g_regex_new()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TCArray False (-1) 2 (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to scan for matches", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string_len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @string, in bytes, or -1 if @string is nul-terminated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "starting index of the string to match, in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_options", argType = TInterface (Name {namespace = "GLib", name = "RegexMatchFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "match options", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_info", argType = TInterface (Name {namespace = "GLib", name = "MatchInfo"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "pointer to location where to store\n    the #GMatchInfo, or %NULL if you do not need it", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : [Arg {argCName = "string_len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @string, in bytes, or -1 if @string is nul-terminated", 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_regex_match_full" g_regex_match_full :: -    Ptr Regex ->                            -- regex : TInterface (Name {namespace = "GLib", name = "Regex"})-    Ptr CString ->                          -- string : TCArray False (-1) 2 (TBasicType TUTF8)-    Int64 ->                                -- string_len : TBasicType TInt64-    Int32 ->                                -- start_position : TBasicType TInt-    CUInt ->                                -- match_options : TInterface (Name {namespace = "GLib", name = "RegexMatchFlags"})-    Ptr (Ptr GLib.MatchInfo.MatchInfo) ->   -- match_info : TInterface (Name {namespace = "GLib", name = "MatchInfo"})-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Scans for a match in /@string@/ for the pattern in /@regex@/.-The /@matchOptions@/ are combined with the match options specified-when the /@regex@/ structure was created, letting you have more-flexibility in reusing 'GI.GLib.Structs.Regex.Regex' structures.--Setting /@startPosition@/ differs from just passing over a shortened-string and setting @/G_REGEX_MATCH_NOTBOL/@ in the case of a pattern-that begins with any kind of lookbehind assertion, such as \"\\b\".--Unless 'GI.GLib.Flags.RegexCompileFlagsRaw' is specified in the options, /@string@/ must be valid UTF-8.--A 'GI.GLib.Structs.MatchInfo.MatchInfo' structure, used to get information on the match, is-stored in /@matchInfo@/ if not 'Nothing'. Note that if /@matchInfo@/ is-not 'Nothing' then it is created even if the function returns 'False',-i.e. you must free it regardless if regular expression actually-matched.--/@string@/ is not copied and is used in 'GI.GLib.Structs.MatchInfo.MatchInfo' internally. If-you use any 'GI.GLib.Structs.MatchInfo.MatchInfo' method (except 'GI.GLib.Structs.MatchInfo.matchInfoFree') after-freeing or modifying /@string@/ then the behaviour is undefined.--To retrieve all the non-overlapping matches of the pattern in-string you can use 'GI.GLib.Structs.MatchInfo.matchInfoNext'.---=== /C code/->->static void->print_uppercase_words (const gchar *string)->{->  // Print all uppercase-only words.->  GRegex *regex;->  GMatchInfo *match_info;->  GError *error = NULL;->  ->  regex = g_regex_new ("[A-Z]+", 0, 0, NULL);->  g_regex_match_full (regex, string, -1, 0, 0, &match_info, &error);->  while (g_match_info_matches (match_info))->    {->      gchar *word = g_match_info_fetch (match_info, 0);->      g_print ("Found: %s\n", word);->      g_free (word);->      g_match_info_next (match_info, &error);->    }->  g_match_info_free (match_info);->  g_regex_unref (regex);->  if (error != NULL)->    {->      g_printerr ("Error while matching: %s\n", error->message);->      g_error_free (error);->    }->}---/Since: 2.14/--}-regexMatchFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Regex-    {- ^ /@regex@/: a 'GI.GLib.Structs.Regex.Regex' structure from 'GI.GLib.Structs.Regex.regexNew' -}-    -> [T.Text]-    {- ^ /@string@/: the string to scan for matches -}-    -> Int32-    {- ^ /@startPosition@/: starting index of the string to match, in bytes -}-    -> [GLib.Flags.RegexMatchFlags]-    {- ^ /@matchOptions@/: match options -}-    -> m (GLib.MatchInfo.MatchInfo)-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-regexMatchFull regex string startPosition matchOptions = liftIO $ do-    let stringLen = fromIntegral $ length string-    regex' <- unsafeManagedPtrGetPtr regex-    string' <- packUTF8CArray string-    let matchOptions' = gflagsToWord matchOptions-    matchInfo <- allocMem :: IO (Ptr (Ptr GLib.MatchInfo.MatchInfo))-    onException (do-        _ <- propagateGError $ g_regex_match_full regex' string' stringLen startPosition matchOptions' matchInfo-        matchInfo' <- peek matchInfo-        matchInfo'' <- (wrapBoxed GLib.MatchInfo.MatchInfo) matchInfo'-        touchManagedPtr regex-        (mapCArrayWithLength stringLen) freeMem string'-        freeMem string'-        freeMem matchInfo-        return matchInfo''-     ) (do-        (mapCArrayWithLength stringLen) freeMem string'-        freeMem string'-        freeMem matchInfo-     )--#if ENABLE_OVERLOADING-data RegexMatchFullMethodInfo-instance (signature ~ ([T.Text] -> Int32 -> [GLib.Flags.RegexMatchFlags] -> m (GLib.MatchInfo.MatchInfo)), MonadIO m) => O.MethodInfo RegexMatchFullMethodInfo Regex signature where-    overloadedMethod _ = regexMatchFull--#endif---- method Regex::ref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "regex", argType = TInterface (Name {namespace = "GLib", name = "Regex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRegex", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Regex"}))--- throws : False--- Skip return : False--foreign import ccall "g_regex_ref" g_regex_ref :: -    Ptr Regex ->                            -- regex : TInterface (Name {namespace = "GLib", name = "Regex"})-    IO (Ptr Regex)--{- |-Increases reference count of /@regex@/ by 1.--/Since: 2.14/--}-regexRef ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Regex-    {- ^ /@regex@/: a 'GI.GLib.Structs.Regex.Regex' -}-    -> m Regex-    {- ^ __Returns:__ /@regex@/ -}-regexRef regex = liftIO $ do-    regex' <- unsafeManagedPtrGetPtr regex-    result <- g_regex_ref regex'-    checkUnexpectedReturnNULL "regexRef" result-    result' <- (wrapBoxed Regex) result-    touchManagedPtr regex-    return result'--#if ENABLE_OVERLOADING-data RegexRefMethodInfo-instance (signature ~ (m Regex), MonadIO m) => O.MethodInfo RegexRefMethodInfo Regex signature where-    overloadedMethod _ = regexRef--#endif---- method Regex::replace--- method type : OrdinaryMethod--- Args : [Arg {argCName = "regex", argType = TInterface (Name {namespace = "GLib", name = "Regex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRegex structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TCArray False (-1) 2 (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to perform matches against", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string_len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @string, in bytes, or -1 if @string is nul-terminated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "starting index of the string to match, in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "replacement", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "text to replace each match with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_options", argType = TInterface (Name {namespace = "GLib", name = "RegexMatchFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "options for the match", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "string_len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @string, in bytes, or -1 if @string is nul-terminated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TBasicType TUTF8)--- throws : True--- Skip return : False--foreign import ccall "g_regex_replace" g_regex_replace :: -    Ptr Regex ->                            -- regex : TInterface (Name {namespace = "GLib", name = "Regex"})-    Ptr CString ->                          -- string : TCArray False (-1) 2 (TBasicType TUTF8)-    Int64 ->                                -- string_len : TBasicType TInt64-    Int32 ->                                -- start_position : TBasicType TInt-    CString ->                              -- replacement : TBasicType TUTF8-    CUInt ->                                -- match_options : TInterface (Name {namespace = "GLib", name = "RegexMatchFlags"})-    Ptr (Ptr GError) ->                     -- error-    IO CString--{- |-Replaces all occurrences of the pattern in /@regex@/ with the-replacement text. Backreferences of the form \'\\number\' or-\'\\g\<number>\' in the replacement text are interpolated by the-number-th captured subexpression of the match, \'\\g\<name>\' refers-to the captured subexpression with the given name. \'\\0\' refers-to the complete match, but \'\\0\' followed by a number is the octal-representation of a character. To include a literal \'\\\' in the-replacement, write \'\\\\\'.--There are also escapes that changes the case of the following text:--* \\l: Convert to lower case the next character-* \\u: Convert to upper case the next character-* \\L: Convert to lower case till \\E-* \\U: Convert to upper case till \\E-* \\E: End case modification---If you do not need to use backreferences use 'GI.GLib.Structs.Regex.regexReplaceLiteral'.--The /@replacement@/ string must be UTF-8 encoded even if @/G_REGEX_RAW/@ was-passed to 'GI.GLib.Structs.Regex.regexNew'. If you want to use not UTF-8 encoded stings-you can use 'GI.GLib.Structs.Regex.regexReplaceLiteral'.--Setting /@startPosition@/ differs from just passing over a shortened-string and setting @/G_REGEX_MATCH_NOTBOL/@ in the case of a pattern that-begins with any kind of lookbehind assertion, such as \"\\b\".--/Since: 2.14/--}-regexReplace ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Regex-    {- ^ /@regex@/: a 'GI.GLib.Structs.Regex.Regex' structure -}-    -> [T.Text]-    {- ^ /@string@/: the string to perform matches against -}-    -> Int32-    {- ^ /@startPosition@/: starting index of the string to match, in bytes -}-    -> T.Text-    {- ^ /@replacement@/: text to replace each match with -}-    -> [GLib.Flags.RegexMatchFlags]-    {- ^ /@matchOptions@/: options for the match -}-    -> m T.Text-    {- ^ __Returns:__ a newly allocated string containing the replacements /(Can throw 'Data.GI.Base.GError.GError')/ -}-regexReplace regex string startPosition replacement matchOptions = liftIO $ do-    let stringLen = fromIntegral $ length string-    regex' <- unsafeManagedPtrGetPtr regex-    string' <- packUTF8CArray string-    replacement' <- textToCString replacement-    let matchOptions' = gflagsToWord matchOptions-    onException (do-        result <- propagateGError $ g_regex_replace regex' string' stringLen startPosition replacement' matchOptions'-        checkUnexpectedReturnNULL "regexReplace" result-        result' <- cstringToText result-        freeMem result-        touchManagedPtr regex-        (mapCArrayWithLength stringLen) freeMem string'-        freeMem string'-        freeMem replacement'-        return result'-     ) (do-        (mapCArrayWithLength stringLen) freeMem string'-        freeMem string'-        freeMem replacement'-     )--#if ENABLE_OVERLOADING-data RegexReplaceMethodInfo-instance (signature ~ ([T.Text] -> Int32 -> T.Text -> [GLib.Flags.RegexMatchFlags] -> m T.Text), MonadIO m) => O.MethodInfo RegexReplaceMethodInfo Regex signature where-    overloadedMethod _ = regexReplace--#endif---- method Regex::replace_literal--- method type : OrdinaryMethod--- Args : [Arg {argCName = "regex", argType = TInterface (Name {namespace = "GLib", name = "Regex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRegex structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TCArray False (-1) 2 (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to perform matches against", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string_len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @string, in bytes, or -1 if @string is nul-terminated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "starting index of the string to match, in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "replacement", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "text to replace each match with", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_options", argType = TInterface (Name {namespace = "GLib", name = "RegexMatchFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "options for the match", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "string_len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @string, in bytes, or -1 if @string is nul-terminated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TBasicType TUTF8)--- throws : True--- Skip return : False--foreign import ccall "g_regex_replace_literal" g_regex_replace_literal :: -    Ptr Regex ->                            -- regex : TInterface (Name {namespace = "GLib", name = "Regex"})-    Ptr CString ->                          -- string : TCArray False (-1) 2 (TBasicType TUTF8)-    Int64 ->                                -- string_len : TBasicType TInt64-    Int32 ->                                -- start_position : TBasicType TInt-    CString ->                              -- replacement : TBasicType TUTF8-    CUInt ->                                -- match_options : TInterface (Name {namespace = "GLib", name = "RegexMatchFlags"})-    Ptr (Ptr GError) ->                     -- error-    IO CString--{- |-Replaces all occurrences of the pattern in /@regex@/ with the-replacement text. /@replacement@/ is replaced literally, to-include backreferences use 'GI.GLib.Structs.Regex.regexReplace'.--Setting /@startPosition@/ differs from just passing over a-shortened string and setting @/G_REGEX_MATCH_NOTBOL/@ in the-case of a pattern that begins with any kind of lookbehind-assertion, such as \"\\b\".--/Since: 2.14/--}-regexReplaceLiteral ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Regex-    {- ^ /@regex@/: a 'GI.GLib.Structs.Regex.Regex' structure -}-    -> [T.Text]-    {- ^ /@string@/: the string to perform matches against -}-    -> Int32-    {- ^ /@startPosition@/: starting index of the string to match, in bytes -}-    -> T.Text-    {- ^ /@replacement@/: text to replace each match with -}-    -> [GLib.Flags.RegexMatchFlags]-    {- ^ /@matchOptions@/: options for the match -}-    -> m T.Text-    {- ^ __Returns:__ a newly allocated string containing the replacements /(Can throw 'Data.GI.Base.GError.GError')/ -}-regexReplaceLiteral regex string startPosition replacement matchOptions = liftIO $ do-    let stringLen = fromIntegral $ length string-    regex' <- unsafeManagedPtrGetPtr regex-    string' <- packUTF8CArray string-    replacement' <- textToCString replacement-    let matchOptions' = gflagsToWord matchOptions-    onException (do-        result <- propagateGError $ g_regex_replace_literal regex' string' stringLen startPosition replacement' matchOptions'-        checkUnexpectedReturnNULL "regexReplaceLiteral" result-        result' <- cstringToText result-        freeMem result-        touchManagedPtr regex-        (mapCArrayWithLength stringLen) freeMem string'-        freeMem string'-        freeMem replacement'-        return result'-     ) (do-        (mapCArrayWithLength stringLen) freeMem string'-        freeMem string'-        freeMem replacement'-     )--#if ENABLE_OVERLOADING-data RegexReplaceLiteralMethodInfo-instance (signature ~ ([T.Text] -> Int32 -> T.Text -> [GLib.Flags.RegexMatchFlags] -> m T.Text), MonadIO m) => O.MethodInfo RegexReplaceLiteralMethodInfo Regex signature where-    overloadedMethod _ = regexReplaceLiteral--#endif---- method Regex::split--- method type : OrdinaryMethod--- Args : [Arg {argCName = "regex", argType = TInterface (Name {namespace = "GLib", name = "Regex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRegex structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to split with the pattern", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_options", argType = TInterface (Name {namespace = "GLib", name = "RegexMatchFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "match time option flags", 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_regex_split" g_regex_split :: -    Ptr Regex ->                            -- regex : TInterface (Name {namespace = "GLib", name = "Regex"})-    CString ->                              -- string : TBasicType TUTF8-    CUInt ->                                -- match_options : TInterface (Name {namespace = "GLib", name = "RegexMatchFlags"})-    IO (Ptr CString)--{- |-Breaks the string on the pattern, and returns an array of the tokens.-If the pattern contains capturing parentheses, then the text for each-of the substrings will also be returned. If the pattern does not match-anywhere in the string, then the whole string is returned as the first-token.--As a special case, the result of splitting the empty string \"\" is an-empty vector, not a vector containing a single string. The reason for-this special case is that being able to represent a empty vector is-typically more useful than consistent handling of empty elements. If-you do need to represent empty elements, you\'ll need to check for the-empty string before calling this function.--A pattern that can match empty strings splits /@string@/ into separate-characters wherever it matches the empty string between characters.-For example splitting \"ab c\" using as a separator \"\\s*\", you will get-\"a\", \"b\" and \"c\".--/Since: 2.14/--}-regexSplit ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Regex-    {- ^ /@regex@/: a 'GI.GLib.Structs.Regex.Regex' structure -}-    -> T.Text-    {- ^ /@string@/: the string to split with the pattern -}-    -> [GLib.Flags.RegexMatchFlags]-    {- ^ /@matchOptions@/: match time option flags -}-    -> m [T.Text]-    {- ^ __Returns:__ a 'Nothing'-terminated gchar ** array. Free-it using 'GI.GLib.Functions.strfreev' -}-regexSplit regex string matchOptions = liftIO $ do-    regex' <- unsafeManagedPtrGetPtr regex-    string' <- textToCString string-    let matchOptions' = gflagsToWord matchOptions-    result <- g_regex_split regex' string' matchOptions'-    checkUnexpectedReturnNULL "regexSplit" result-    result' <- unpackZeroTerminatedUTF8CArray result-    mapZeroTerminatedCArray freeMem result-    freeMem result-    touchManagedPtr regex-    freeMem string'-    return result'--#if ENABLE_OVERLOADING-data RegexSplitMethodInfo-instance (signature ~ (T.Text -> [GLib.Flags.RegexMatchFlags] -> m [T.Text]), MonadIO m) => O.MethodInfo RegexSplitMethodInfo Regex signature where-    overloadedMethod _ = regexSplit--#endif---- method Regex::split_full--- method type : OrdinaryMethod--- Args : [Arg {argCName = "regex", argType = TInterface (Name {namespace = "GLib", name = "Regex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRegex structure", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TCArray False (-1) 2 (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to split with the pattern", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string_len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @string, in bytes, or -1 if @string is nul-terminated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start_position", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "starting index of the string to match, in bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_options", argType = TInterface (Name {namespace = "GLib", name = "RegexMatchFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "match time option flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_tokens", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum number of tokens to split @string into.\n  If this is less than 1, the string is split completely", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "string_len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @string, in bytes, or -1 if @string is nul-terminated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TCArray True (-1) (-1) (TBasicType TUTF8))--- throws : True--- Skip return : False--foreign import ccall "g_regex_split_full" g_regex_split_full :: -    Ptr Regex ->                            -- regex : TInterface (Name {namespace = "GLib", name = "Regex"})-    Ptr CString ->                          -- string : TCArray False (-1) 2 (TBasicType TUTF8)-    Int64 ->                                -- string_len : TBasicType TInt64-    Int32 ->                                -- start_position : TBasicType TInt-    CUInt ->                                -- match_options : TInterface (Name {namespace = "GLib", name = "RegexMatchFlags"})-    Int32 ->                                -- max_tokens : TBasicType TInt-    Ptr (Ptr GError) ->                     -- error-    IO (Ptr CString)--{- |-Breaks the string on the pattern, and returns an array of the tokens.-If the pattern contains capturing parentheses, then the text for each-of the substrings will also be returned. If the pattern does not match-anywhere in the string, then the whole string is returned as the first-token.--As a special case, the result of splitting the empty string \"\" is an-empty vector, not a vector containing a single string. The reason for-this special case is that being able to represent a empty vector is-typically more useful than consistent handling of empty elements. If-you do need to represent empty elements, you\'ll need to check for the-empty string before calling this function.--A pattern that can match empty strings splits /@string@/ into separate-characters wherever it matches the empty string between characters.-For example splitting \"ab c\" using as a separator \"\\s*\", you will get-\"a\", \"b\" and \"c\".--Setting /@startPosition@/ differs from just passing over a shortened-string and setting @/G_REGEX_MATCH_NOTBOL/@ in the case of a pattern-that begins with any kind of lookbehind assertion, such as \"\\b\".--/Since: 2.14/--}-regexSplitFull ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Regex-    {- ^ /@regex@/: a 'GI.GLib.Structs.Regex.Regex' structure -}-    -> [T.Text]-    {- ^ /@string@/: the string to split with the pattern -}-    -> Int32-    {- ^ /@startPosition@/: starting index of the string to match, in bytes -}-    -> [GLib.Flags.RegexMatchFlags]-    {- ^ /@matchOptions@/: match time option flags -}-    -> Int32-    {- ^ /@maxTokens@/: the maximum number of tokens to split /@string@/ into.-  If this is less than 1, the string is split completely -}-    -> m [T.Text]-    {- ^ __Returns:__ a 'Nothing'-terminated gchar ** array. Free-it using 'GI.GLib.Functions.strfreev' /(Can throw 'Data.GI.Base.GError.GError')/ -}-regexSplitFull regex string startPosition matchOptions maxTokens = liftIO $ do-    let stringLen = fromIntegral $ length string-    regex' <- unsafeManagedPtrGetPtr regex-    string' <- packUTF8CArray string-    let matchOptions' = gflagsToWord matchOptions-    onException (do-        result <- propagateGError $ g_regex_split_full regex' string' stringLen startPosition matchOptions' maxTokens-        checkUnexpectedReturnNULL "regexSplitFull" result-        result' <- unpackZeroTerminatedUTF8CArray result-        mapZeroTerminatedCArray freeMem result-        freeMem result-        touchManagedPtr regex-        (mapCArrayWithLength stringLen) freeMem string'-        freeMem string'-        return result'-     ) (do-        (mapCArrayWithLength stringLen) freeMem string'-        freeMem string'-     )--#if ENABLE_OVERLOADING-data RegexSplitFullMethodInfo-instance (signature ~ ([T.Text] -> Int32 -> [GLib.Flags.RegexMatchFlags] -> Int32 -> m [T.Text]), MonadIO m) => O.MethodInfo RegexSplitFullMethodInfo Regex signature where-    overloadedMethod _ = regexSplitFull--#endif---- method Regex::unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "regex", argType = TInterface (Name {namespace = "GLib", name = "Regex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GRegex", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_regex_unref" g_regex_unref :: -    Ptr Regex ->                            -- regex : TInterface (Name {namespace = "GLib", name = "Regex"})-    IO ()--{- |-Decreases reference count of /@regex@/ by 1. When reference count drops-to zero, it frees all the memory associated with the regex structure.--/Since: 2.14/--}-regexUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Regex-    {- ^ /@regex@/: a 'GI.GLib.Structs.Regex.Regex' -}-    -> m ()-regexUnref regex = liftIO $ do-    regex' <- unsafeManagedPtrGetPtr regex-    g_regex_unref regex'-    touchManagedPtr regex-    return ()--#if ENABLE_OVERLOADING-data RegexUnrefMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo RegexUnrefMethodInfo Regex signature where-    overloadedMethod _ = regexUnref--#endif---- method Regex::check_replacement--- method type : MemberFunction--- Args : [Arg {argCName = "replacement", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the replacement string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "has_references", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store information about\n  references in @replacement or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : True--- Skip return : False--foreign import ccall "g_regex_check_replacement" g_regex_check_replacement :: -    CString ->                              -- replacement : TBasicType TUTF8-    Ptr CInt ->                             -- has_references : TBasicType TBoolean-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Checks whether /@replacement@/ is a valid replacement string-(see 'GI.GLib.Structs.Regex.regexReplace'), i.e. that all escape sequences in-it are valid.--If /@hasReferences@/ is not 'Nothing' then /@replacement@/ is checked-for pattern references. For instance, replacement text \'foo\\n\'-does not contain references and may be evaluated without information-about actual match, but \'\\0\\1\' (whole match followed by first-subpattern) requires valid 'GI.GLib.Structs.MatchInfo.MatchInfo' object.--/Since: 2.14/--}-regexCheckReplacement ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@replacement@/: the replacement string -}-    -> m (Bool)-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-regexCheckReplacement replacement = liftIO $ do-    replacement' <- textToCString replacement-    hasReferences <- allocMem :: IO (Ptr CInt)-    onException (do-        _ <- propagateGError $ g_regex_check_replacement replacement' hasReferences-        hasReferences' <- peek hasReferences-        let hasReferences'' = (/= 0) hasReferences'-        freeMem replacement'-        freeMem hasReferences-        return hasReferences''-     ) (do-        freeMem replacement'-        freeMem hasReferences-     )--#if ENABLE_OVERLOADING-#endif---- method Regex::error_quark--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "g_regex_error_quark" g_regex_error_quark :: -    IO Word32--{- |-/No description available in the introspection data./--}-regexErrorQuark ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Word32-regexErrorQuark  = liftIO $ do-    result <- g_regex_error_quark-    return result--#if ENABLE_OVERLOADING-#endif---- method Regex::escape_nul--- method type : MemberFunction--- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to escape", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @string", 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_regex_escape_nul" g_regex_escape_nul :: -    CString ->                              -- string : TBasicType TUTF8-    Int32 ->                                -- length : TBasicType TInt-    IO CString--{- |-Escapes the nul characters in /@string@/ to \"\\x00\".  It can be used-to compile a regex with embedded nul characters.--For completeness, /@length@/ can be -1 for a nul-terminated string.-In this case the output string will be of course equal to /@string@/.--/Since: 2.30/--}-regexEscapeNul ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@string@/: the string to escape -}-    -> Int32-    {- ^ /@length@/: the length of /@string@/ -}-    -> m T.Text-    {- ^ __Returns:__ a newly-allocated escaped string -}-regexEscapeNul string length_ = liftIO $ do-    string' <- textToCString string-    result <- g_regex_escape_nul string' length_-    checkUnexpectedReturnNULL "regexEscapeNul" result-    result' <- cstringToText result-    freeMem result-    freeMem string'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Regex::escape_string--- method type : MemberFunction--- Args : [Arg {argCName = "string", argType = TCArray False (-1) 1 (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to escape", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @string, in bytes, or -1 if @string is nul-terminated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @string, in bytes, or -1 if @string is nul-terminated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TBasicType TUTF8)--- throws : False--- Skip return : False--foreign import ccall "g_regex_escape_string" g_regex_escape_string :: -    Ptr CString ->                          -- string : TCArray False (-1) 1 (TBasicType TUTF8)-    Int32 ->                                -- length : TBasicType TInt-    IO CString--{- |-Escapes the special characters used for regular expressions-in /@string@/, for instance \"a.b*c\" becomes \"a\\.b\\*c\". This-function is useful to dynamically generate regular expressions.--/@string@/ can contain nul characters that are replaced with \"\\0\",-in this case remember to specify the correct length of /@string@/-in /@length@/.--/Since: 2.14/--}-regexEscapeString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [T.Text]-    {- ^ /@string@/: the string to escape -}-    -> m T.Text-    {- ^ __Returns:__ a newly-allocated escaped string -}-regexEscapeString string = liftIO $ do-    let length_ = fromIntegral $ length string-    string' <- packUTF8CArray string-    result <- g_regex_escape_string string' length_-    checkUnexpectedReturnNULL "regexEscapeString" result-    result' <- cstringToText result-    freeMem result-    (mapCArrayWithLength length_) freeMem string'-    freeMem string'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Regex::match_simple--- method type : MemberFunction--- Args : [Arg {argCName = "pattern", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the regular expression", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to scan for matches", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "compile_options", argType = TInterface (Name {namespace = "GLib", name = "RegexCompileFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "compile options for the regular expression, or 0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_options", argType = TInterface (Name {namespace = "GLib", name = "RegexMatchFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "match options, or 0", 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_regex_match_simple" g_regex_match_simple :: -    CString ->                              -- pattern : TBasicType TUTF8-    CString ->                              -- string : TBasicType TUTF8-    CUInt ->                                -- compile_options : TInterface (Name {namespace = "GLib", name = "RegexCompileFlags"})-    CUInt ->                                -- match_options : TInterface (Name {namespace = "GLib", name = "RegexMatchFlags"})-    IO CInt--{- |-Scans for a match in /@string@/ for /@pattern@/.--This function is equivalent to 'GI.GLib.Structs.Regex.regexMatch' but it does not-require to compile the pattern with 'GI.GLib.Structs.Regex.regexNew', avoiding some-lines of code when you need just to do a match without extracting-substrings, capture counts, and so on.--If this function is to be called on the same /@pattern@/ more than-once, it\'s more efficient to compile the pattern once with-'GI.GLib.Structs.Regex.regexNew' and then use 'GI.GLib.Structs.Regex.regexMatch'.--/Since: 2.14/--}-regexMatchSimple ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@pattern@/: the regular expression -}-    -> T.Text-    {- ^ /@string@/: the string to scan for matches -}-    -> [GLib.Flags.RegexCompileFlags]-    {- ^ /@compileOptions@/: compile options for the regular expression, or 0 -}-    -> [GLib.Flags.RegexMatchFlags]-    {- ^ /@matchOptions@/: match options, or 0 -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the string matched, 'False' otherwise -}-regexMatchSimple pattern string compileOptions matchOptions = liftIO $ do-    pattern' <- textToCString pattern-    string' <- textToCString string-    let compileOptions' = gflagsToWord compileOptions-    let matchOptions' = gflagsToWord matchOptions-    result <- g_regex_match_simple pattern' string' compileOptions' matchOptions'-    let result' = (/= 0) result-    freeMem pattern'-    freeMem string'-    return result'--#if ENABLE_OVERLOADING-#endif---- method Regex::split_simple--- method type : MemberFunction--- Args : [Arg {argCName = "pattern", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the regular expression", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to scan for matches", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "compile_options", argType = TInterface (Name {namespace = "GLib", name = "RegexCompileFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "compile options for the regular expression, or 0", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "match_options", argType = TInterface (Name {namespace = "GLib", name = "RegexMatchFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "match options, or 0", 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_regex_split_simple" g_regex_split_simple :: -    CString ->                              -- pattern : TBasicType TUTF8-    CString ->                              -- string : TBasicType TUTF8-    CUInt ->                                -- compile_options : TInterface (Name {namespace = "GLib", name = "RegexCompileFlags"})-    CUInt ->                                -- match_options : TInterface (Name {namespace = "GLib", name = "RegexMatchFlags"})-    IO (Ptr CString)--{- |-Breaks the string on the pattern, and returns an array of-the tokens. If the pattern contains capturing parentheses,-then the text for each of the substrings will also be returned.-If the pattern does not match anywhere in the string, then the-whole string is returned as the first token.--This function is equivalent to 'GI.GLib.Structs.Regex.regexSplit' but it does-not require to compile the pattern with 'GI.GLib.Structs.Regex.regexNew', avoiding-some lines of code when you need just to do a split without-extracting substrings, capture counts, and so on.--If this function is to be called on the same /@pattern@/ more than-once, it\'s more efficient to compile the pattern once with-'GI.GLib.Structs.Regex.regexNew' and then use 'GI.GLib.Structs.Regex.regexSplit'.--As a special case, the result of splitting the empty string \"\"-is an empty vector, not a vector containing a single string.-The reason for this special case is that being able to represent-a empty vector is typically more useful than consistent handling-of empty elements. If you do need to represent empty elements,-you\'ll need to check for the empty string before calling this-function.--A pattern that can match empty strings splits /@string@/ into-separate characters wherever it matches the empty string between-characters. For example splitting \"ab c\" using as a separator-\"\\s*\", you will get \"a\", \"b\" and \"c\".--/Since: 2.14/--}-regexSplitSimple ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@pattern@/: the regular expression -}-    -> T.Text-    {- ^ /@string@/: the string to scan for matches -}-    -> [GLib.Flags.RegexCompileFlags]-    {- ^ /@compileOptions@/: compile options for the regular expression, or 0 -}-    -> [GLib.Flags.RegexMatchFlags]-    {- ^ /@matchOptions@/: match options, or 0 -}-    -> m [T.Text]-    {- ^ __Returns:__ a 'Nothing'-terminated array of strings. Free-it using 'GI.GLib.Functions.strfreev' -}-regexSplitSimple pattern string compileOptions matchOptions = liftIO $ do-    pattern' <- textToCString pattern-    string' <- textToCString string-    let compileOptions' = gflagsToWord compileOptions-    let matchOptions' = gflagsToWord matchOptions-    result <- g_regex_split_simple pattern' string' compileOptions' matchOptions'-    checkUnexpectedReturnNULL "regexSplitSimple" result-    result' <- unpackZeroTerminatedUTF8CArray result-    mapZeroTerminatedCArray freeMem result-    freeMem result-    freeMem pattern'-    freeMem string'-    return result'--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveRegexMethod (t :: Symbol) (o :: *) :: * where-    ResolveRegexMethod "match" o = RegexMatchMethodInfo-    ResolveRegexMethod "matchAll" o = RegexMatchAllMethodInfo-    ResolveRegexMethod "matchAllFull" o = RegexMatchAllFullMethodInfo-    ResolveRegexMethod "matchFull" o = RegexMatchFullMethodInfo-    ResolveRegexMethod "ref" o = RegexRefMethodInfo-    ResolveRegexMethod "replace" o = RegexReplaceMethodInfo-    ResolveRegexMethod "replaceLiteral" o = RegexReplaceLiteralMethodInfo-    ResolveRegexMethod "split" o = RegexSplitMethodInfo-    ResolveRegexMethod "splitFull" o = RegexSplitFullMethodInfo-    ResolveRegexMethod "unref" o = RegexUnrefMethodInfo-    ResolveRegexMethod "getCaptureCount" o = RegexGetCaptureCountMethodInfo-    ResolveRegexMethod "getCompileFlags" o = RegexGetCompileFlagsMethodInfo-    ResolveRegexMethod "getHasCrOrLf" o = RegexGetHasCrOrLfMethodInfo-    ResolveRegexMethod "getMatchFlags" o = RegexGetMatchFlagsMethodInfo-    ResolveRegexMethod "getMaxBackref" o = RegexGetMaxBackrefMethodInfo-    ResolveRegexMethod "getMaxLookbehind" o = RegexGetMaxLookbehindMethodInfo-    ResolveRegexMethod "getPattern" o = RegexGetPatternMethodInfo-    ResolveRegexMethod "getStringNumber" o = RegexGetStringNumberMethodInfo-    ResolveRegexMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveRegexMethod t Regex, O.MethodInfo info Regex p) => OL.IsLabel t (Regex -> 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/GLib/Structs/Regex.hs-boot
@@ -1,80 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.Regex 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 Regex = Regex (ManagedPtr Regex)-instance BoxedObject Regex where-#if ENABLE_OVERLOADING-data RegexGetCaptureCountMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegexGetCompileFlagsMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegexGetHasCrOrLfMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegexGetMatchFlagsMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegexGetMaxBackrefMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegexGetMaxLookbehindMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegexGetPatternMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegexGetStringNumberMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegexMatchMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegexMatchAllMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegexMatchAllFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegexMatchFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegexRefMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegexReplaceMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegexReplaceLiteralMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegexSplitMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegexSplitFullMethodInfo-#endif-#if ENABLE_OVERLOADING-data RegexUnrefMethodInfo-#endif
− GI/GLib/Structs/Scanner.hs
@@ -1,1795 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The data structure representing a lexical scanner.--You should set /@inputName@/ after creating the scanner, since-it is used by the default message handler when displaying-warnings and errors. If you are scanning a file, the filename-would be a good choice.--The /@userData@/ and /@maxParseErrors@/ fields are not used.-If you need to associate extra data with the scanner you-can place them here.--If you want to use your own message handler you can set the-/@msgHandler@/ field. The type of the message handler function-is declared by 'GI.GLib.Callbacks.ScannerMsgFunc'.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.Scanner-    ( ---- * Exported types-    Scanner(..)                             ,-    newZeroScanner                          ,-    noScanner                               ,--- -- * Methods--- ** curLine #method:curLine#--#if ENABLE_OVERLOADING-    ScannerCurLineMethodInfo                ,-#endif-    scannerCurLine                          ,----- ** curPosition #method:curPosition#--#if ENABLE_OVERLOADING-    ScannerCurPositionMethodInfo            ,-#endif-    scannerCurPosition                      ,----- ** curToken #method:curToken#--#if ENABLE_OVERLOADING-    ScannerCurTokenMethodInfo               ,-#endif-    scannerCurToken                         ,----- ** destroy #method:destroy#--#if ENABLE_OVERLOADING-    ScannerDestroyMethodInfo                ,-#endif-    scannerDestroy                          ,----- ** eof #method:eof#--#if ENABLE_OVERLOADING-    ScannerEofMethodInfo                    ,-#endif-    scannerEof                              ,----- ** getNextToken #method:getNextToken#--#if ENABLE_OVERLOADING-    ScannerGetNextTokenMethodInfo           ,-#endif-    scannerGetNextToken                     ,----- ** inputFile #method:inputFile#--#if ENABLE_OVERLOADING-    ScannerInputFileMethodInfo              ,-#endif-    scannerInputFile                        ,----- ** inputText #method:inputText#--#if ENABLE_OVERLOADING-    ScannerInputTextMethodInfo              ,-#endif-    scannerInputText                        ,----- ** lookupSymbol #method:lookupSymbol#--#if ENABLE_OVERLOADING-    ScannerLookupSymbolMethodInfo           ,-#endif-    scannerLookupSymbol                     ,----- ** peekNextToken #method:peekNextToken#--#if ENABLE_OVERLOADING-    ScannerPeekNextTokenMethodInfo          ,-#endif-    scannerPeekNextToken                    ,----- ** scopeAddSymbol #method:scopeAddSymbol#--#if ENABLE_OVERLOADING-    ScannerScopeAddSymbolMethodInfo         ,-#endif-    scannerScopeAddSymbol                   ,----- ** scopeLookupSymbol #method:scopeLookupSymbol#--#if ENABLE_OVERLOADING-    ScannerScopeLookupSymbolMethodInfo      ,-#endif-    scannerScopeLookupSymbol                ,----- ** scopeRemoveSymbol #method:scopeRemoveSymbol#--#if ENABLE_OVERLOADING-    ScannerScopeRemoveSymbolMethodInfo      ,-#endif-    scannerScopeRemoveSymbol                ,----- ** setScope #method:setScope#--#if ENABLE_OVERLOADING-    ScannerSetScopeMethodInfo               ,-#endif-    scannerSetScope                         ,----- ** syncFileOffset #method:syncFileOffset#--#if ENABLE_OVERLOADING-    ScannerSyncFileOffsetMethodInfo         ,-#endif-    scannerSyncFileOffset                   ,----- ** unexpToken #method:unexpToken#--#if ENABLE_OVERLOADING-    ScannerUnexpTokenMethodInfo             ,-#endif-    scannerUnexpToken                       ,----- -- * Properties--- ** config #attr:config#-{- | link into the scanner configuration--}-    clearScannerConfig                      ,-    getScannerConfig                        ,-#if ENABLE_OVERLOADING-    scanner_config                          ,-#endif-    setScannerConfig                        ,----- ** inputName #attr:inputName#-{- | name of input stream, featured by the default message handler--}-    clearScannerInputName                   ,-    getScannerInputName                     ,-#if ENABLE_OVERLOADING-    scanner_inputName                       ,-#endif-    setScannerInputName                     ,----- ** line #attr:line#-{- | line number of the last token from 'GI.GLib.Structs.Scanner.scannerGetNextToken'--}-    getScannerLine                          ,-#if ENABLE_OVERLOADING-    scanner_line                            ,-#endif-    setScannerLine                          ,----- ** maxParseErrors #attr:maxParseErrors#-{- | unused--}-    getScannerMaxParseErrors                ,-#if ENABLE_OVERLOADING-    scanner_maxParseErrors                  ,-#endif-    setScannerMaxParseErrors                ,----- ** msgHandler #attr:msgHandler#-{- | handler function for _warn and _error--}-    clearScannerMsgHandler                  ,-    getScannerMsgHandler                    ,-#if ENABLE_OVERLOADING-    scanner_msgHandler                      ,-#endif-    setScannerMsgHandler                    ,----- ** nextLine #attr:nextLine#-{- | line number of the last token from 'GI.GLib.Structs.Scanner.scannerPeekNextToken'--}-    getScannerNextLine                      ,-#if ENABLE_OVERLOADING-    scanner_nextLine                        ,-#endif-    setScannerNextLine                      ,----- ** nextPosition #attr:nextPosition#-{- | char number of the last token from 'GI.GLib.Structs.Scanner.scannerPeekNextToken'--}-    getScannerNextPosition                  ,-#if ENABLE_OVERLOADING-    scanner_nextPosition                    ,-#endif-    setScannerNextPosition                  ,----- ** nextToken #attr:nextToken#-{- | token parsed by the last 'GI.GLib.Structs.Scanner.scannerPeekNextToken'--}-    getScannerNextToken                     ,-#if ENABLE_OVERLOADING-    scanner_nextToken                       ,-#endif-    setScannerNextToken                     ,----- ** nextValue #attr:nextValue#-{- | value of the last token from 'GI.GLib.Structs.Scanner.scannerPeekNextToken'--}-    getScannerNextValue                     ,-#if ENABLE_OVERLOADING-    scanner_nextValue                       ,-#endif----- ** parseErrors #attr:parseErrors#-{- | @/g_scanner_error()/@ increments this field--}-    getScannerParseErrors                   ,-#if ENABLE_OVERLOADING-    scanner_parseErrors                     ,-#endif-    setScannerParseErrors                   ,----- ** position #attr:position#-{- | char number of the last token from 'GI.GLib.Structs.Scanner.scannerGetNextToken'--}-    getScannerPosition                      ,-#if ENABLE_OVERLOADING-    scanner_position                        ,-#endif-    setScannerPosition                      ,----- ** qdata #attr:qdata#-{- | quarked data--}-    clearScannerQdata                       ,-    getScannerQdata                         ,-#if ENABLE_OVERLOADING-    scanner_qdata                           ,-#endif-    setScannerQdata                         ,----- ** token #attr:token#-{- | token parsed by the last 'GI.GLib.Structs.Scanner.scannerGetNextToken'--}-    getScannerToken                         ,-#if ENABLE_OVERLOADING-    scanner_token                           ,-#endif-    setScannerToken                         ,----- ** userData #attr:userData#-{- | unused--}-    clearScannerUserData                    ,-    getScannerUserData                      ,-#if ENABLE_OVERLOADING-    scanner_userData                        ,-#endif-    setScannerUserData                      ,----- ** value #attr:value#-{- | value of the last token from 'GI.GLib.Structs.Scanner.scannerGetNextToken'--}-    getScannerValue                         ,-#if ENABLE_OVERLOADING-    scanner_value                           ,-#endif-----    ) 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 qualified GI.GLib.Callbacks as GLib.Callbacks-import {-# SOURCE #-} qualified GI.GLib.Enums as GLib.Enums-import {-# SOURCE #-} qualified GI.GLib.Structs.Data as GLib.Data-import {-# SOURCE #-} qualified GI.GLib.Structs.ScannerConfig as GLib.ScannerConfig-import {-# SOURCE #-} qualified GI.GLib.Unions.TokenValue as GLib.TokenValue---- | Memory-managed wrapper type.-newtype Scanner = Scanner (ManagedPtr Scanner)-instance WrappedPtr Scanner where-    wrappedPtrCalloc = callocBytes 144-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 144 >=> wrapPtr Scanner)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `Scanner` struct initialized to zero.-newZeroScanner :: MonadIO m => m Scanner-newZeroScanner = liftIO $ wrappedPtrCalloc >>= wrapPtr Scanner--instance tag ~ 'AttrSet => Constructible Scanner tag where-    new _ attrs = do-        o <- newZeroScanner-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `Scanner`.-noScanner :: Maybe Scanner-noScanner = Nothing--{- |-Get the value of the “@user_data@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scanner #userData-@--}-getScannerUserData :: MonadIO m => Scanner -> m (Ptr ())-getScannerUserData s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr ())-    return val--{- |-Set the value of the “@user_data@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scanner [ #userData 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerUserData :: MonadIO m => Scanner -> Ptr () -> m ()-setScannerUserData s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: Ptr ())--{- |-Set the value of the “@user_data@” 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' #userData-@--}-clearScannerUserData :: MonadIO m => Scanner -> m ()-clearScannerUserData s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr ())--#if ENABLE_OVERLOADING-data ScannerUserDataFieldInfo-instance AttrInfo ScannerUserDataFieldInfo where-    type AttrAllowedOps ScannerUserDataFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ScannerUserDataFieldInfo = (~) (Ptr ())-    type AttrBaseTypeConstraint ScannerUserDataFieldInfo = (~) Scanner-    type AttrGetType ScannerUserDataFieldInfo = Ptr ()-    type AttrLabel ScannerUserDataFieldInfo = "user_data"-    type AttrOrigin ScannerUserDataFieldInfo = Scanner-    attrGet _ = getScannerUserData-    attrSet _ = setScannerUserData-    attrConstruct = undefined-    attrClear _ = clearScannerUserData--scanner_userData :: AttrLabelProxy "userData"-scanner_userData = AttrLabelProxy--#endif---{- |-Get the value of the “@max_parse_errors@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scanner #maxParseErrors-@--}-getScannerMaxParseErrors :: MonadIO m => Scanner -> m Word32-getScannerMaxParseErrors s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO Word32-    return val--{- |-Set the value of the “@max_parse_errors@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scanner [ #maxParseErrors 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerMaxParseErrors :: MonadIO m => Scanner -> Word32 -> m ()-setScannerMaxParseErrors s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerMaxParseErrorsFieldInfo-instance AttrInfo ScannerMaxParseErrorsFieldInfo where-    type AttrAllowedOps ScannerMaxParseErrorsFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerMaxParseErrorsFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerMaxParseErrorsFieldInfo = (~) Scanner-    type AttrGetType ScannerMaxParseErrorsFieldInfo = Word32-    type AttrLabel ScannerMaxParseErrorsFieldInfo = "max_parse_errors"-    type AttrOrigin ScannerMaxParseErrorsFieldInfo = Scanner-    attrGet _ = getScannerMaxParseErrors-    attrSet _ = setScannerMaxParseErrors-    attrConstruct = undefined-    attrClear _ = undefined--scanner_maxParseErrors :: AttrLabelProxy "maxParseErrors"-scanner_maxParseErrors = AttrLabelProxy--#endif---{- |-Get the value of the “@parse_errors@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scanner #parseErrors-@--}-getScannerParseErrors :: MonadIO m => Scanner -> m Word32-getScannerParseErrors s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 12) :: IO Word32-    return val--{- |-Set the value of the “@parse_errors@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scanner [ #parseErrors 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerParseErrors :: MonadIO m => Scanner -> Word32 -> m ()-setScannerParseErrors s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 12) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerParseErrorsFieldInfo-instance AttrInfo ScannerParseErrorsFieldInfo where-    type AttrAllowedOps ScannerParseErrorsFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerParseErrorsFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerParseErrorsFieldInfo = (~) Scanner-    type AttrGetType ScannerParseErrorsFieldInfo = Word32-    type AttrLabel ScannerParseErrorsFieldInfo = "parse_errors"-    type AttrOrigin ScannerParseErrorsFieldInfo = Scanner-    attrGet _ = getScannerParseErrors-    attrSet _ = setScannerParseErrors-    attrConstruct = undefined-    attrClear _ = undefined--scanner_parseErrors :: AttrLabelProxy "parseErrors"-scanner_parseErrors = AttrLabelProxy--#endif---{- |-Get the value of the “@input_name@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scanner #inputName-@--}-getScannerInputName :: MonadIO m => Scanner -> m (Maybe T.Text)-getScannerInputName s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO CString-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- cstringToText val'-        return val''-    return result--{- |-Set the value of the “@input_name@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scanner [ #inputName 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerInputName :: MonadIO m => Scanner -> CString -> m ()-setScannerInputName s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: CString)--{- |-Set the value of the “@input_name@” 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' #inputName-@--}-clearScannerInputName :: MonadIO m => Scanner -> m ()-clearScannerInputName s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data ScannerInputNameFieldInfo-instance AttrInfo ScannerInputNameFieldInfo where-    type AttrAllowedOps ScannerInputNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ScannerInputNameFieldInfo = (~) CString-    type AttrBaseTypeConstraint ScannerInputNameFieldInfo = (~) Scanner-    type AttrGetType ScannerInputNameFieldInfo = Maybe T.Text-    type AttrLabel ScannerInputNameFieldInfo = "input_name"-    type AttrOrigin ScannerInputNameFieldInfo = Scanner-    attrGet _ = getScannerInputName-    attrSet _ = setScannerInputName-    attrConstruct = undefined-    attrClear _ = clearScannerInputName--scanner_inputName :: AttrLabelProxy "inputName"-scanner_inputName = AttrLabelProxy--#endif---{- |-Get the value of the “@qdata@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scanner #qdata-@--}-getScannerQdata :: MonadIO m => Scanner -> m (Maybe GLib.Data.Data)-getScannerQdata s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO (Ptr GLib.Data.Data)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newPtr GLib.Data.Data) val'-        return val''-    return result--{- |-Set the value of the “@qdata@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scanner [ #qdata 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerQdata :: MonadIO m => Scanner -> Ptr GLib.Data.Data -> m ()-setScannerQdata s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (val :: Ptr GLib.Data.Data)--{- |-Set the value of the “@qdata@” 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' #qdata-@--}-clearScannerQdata :: MonadIO m => Scanner -> m ()-clearScannerQdata s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (FP.nullPtr :: Ptr GLib.Data.Data)--#if ENABLE_OVERLOADING-data ScannerQdataFieldInfo-instance AttrInfo ScannerQdataFieldInfo where-    type AttrAllowedOps ScannerQdataFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ScannerQdataFieldInfo = (~) (Ptr GLib.Data.Data)-    type AttrBaseTypeConstraint ScannerQdataFieldInfo = (~) Scanner-    type AttrGetType ScannerQdataFieldInfo = Maybe GLib.Data.Data-    type AttrLabel ScannerQdataFieldInfo = "qdata"-    type AttrOrigin ScannerQdataFieldInfo = Scanner-    attrGet _ = getScannerQdata-    attrSet _ = setScannerQdata-    attrConstruct = undefined-    attrClear _ = clearScannerQdata--scanner_qdata :: AttrLabelProxy "qdata"-scanner_qdata = AttrLabelProxy--#endif---{- |-Get the value of the “@config@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scanner #config-@--}-getScannerConfig :: MonadIO m => Scanner -> m (Maybe GLib.ScannerConfig.ScannerConfig)-getScannerConfig s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO (Ptr GLib.ScannerConfig.ScannerConfig)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newPtr GLib.ScannerConfig.ScannerConfig) val'-        return val''-    return result--{- |-Set the value of the “@config@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scanner [ #config 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfig :: MonadIO m => Scanner -> Ptr GLib.ScannerConfig.ScannerConfig -> m ()-setScannerConfig s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (val :: Ptr GLib.ScannerConfig.ScannerConfig)--{- |-Set the value of the “@config@” 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' #config-@--}-clearScannerConfig :: MonadIO m => Scanner -> m ()-clearScannerConfig s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (FP.nullPtr :: Ptr GLib.ScannerConfig.ScannerConfig)--#if ENABLE_OVERLOADING-data ScannerConfigFieldInfo-instance AttrInfo ScannerConfigFieldInfo where-    type AttrAllowedOps ScannerConfigFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ScannerConfigFieldInfo = (~) (Ptr GLib.ScannerConfig.ScannerConfig)-    type AttrBaseTypeConstraint ScannerConfigFieldInfo = (~) Scanner-    type AttrGetType ScannerConfigFieldInfo = Maybe GLib.ScannerConfig.ScannerConfig-    type AttrLabel ScannerConfigFieldInfo = "config"-    type AttrOrigin ScannerConfigFieldInfo = Scanner-    attrGet _ = getScannerConfig-    attrSet _ = setScannerConfig-    attrConstruct = undefined-    attrClear _ = clearScannerConfig--scanner_config :: AttrLabelProxy "config"-scanner_config = AttrLabelProxy--#endif---{- |-Get the value of the “@token@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scanner #token-@--}-getScannerToken :: MonadIO m => Scanner -> m GLib.Enums.TokenType-getScannerToken s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 40) :: IO CUInt-    let val' = (toEnum . fromIntegral) val-    return val'--{- |-Set the value of the “@token@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scanner [ #token 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerToken :: MonadIO m => Scanner -> GLib.Enums.TokenType -> m ()-setScannerToken s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 40) (val' :: CUInt)--#if ENABLE_OVERLOADING-data ScannerTokenFieldInfo-instance AttrInfo ScannerTokenFieldInfo where-    type AttrAllowedOps ScannerTokenFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerTokenFieldInfo = (~) GLib.Enums.TokenType-    type AttrBaseTypeConstraint ScannerTokenFieldInfo = (~) Scanner-    type AttrGetType ScannerTokenFieldInfo = GLib.Enums.TokenType-    type AttrLabel ScannerTokenFieldInfo = "token"-    type AttrOrigin ScannerTokenFieldInfo = Scanner-    attrGet _ = getScannerToken-    attrSet _ = setScannerToken-    attrConstruct = undefined-    attrClear _ = undefined--scanner_token :: AttrLabelProxy "token"-scanner_token = AttrLabelProxy--#endif---{- |-Get the value of the “@value@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scanner #value-@--}-getScannerValue :: MonadIO m => Scanner -> m GLib.TokenValue.TokenValue-getScannerValue s = liftIO $ withManagedPtr s $ \ptr -> do-    let val = ptr `plusPtr` 48 :: (Ptr GLib.TokenValue.TokenValue)-    val' <- (newPtr GLib.TokenValue.TokenValue) val-    return val'--#if ENABLE_OVERLOADING-data ScannerValueFieldInfo-instance AttrInfo ScannerValueFieldInfo where-    type AttrAllowedOps ScannerValueFieldInfo = '[ 'AttrGet]-    type AttrSetTypeConstraint ScannerValueFieldInfo = (~) (Ptr GLib.TokenValue.TokenValue)-    type AttrBaseTypeConstraint ScannerValueFieldInfo = (~) Scanner-    type AttrGetType ScannerValueFieldInfo = GLib.TokenValue.TokenValue-    type AttrLabel ScannerValueFieldInfo = "value"-    type AttrOrigin ScannerValueFieldInfo = Scanner-    attrGet _ = getScannerValue-    attrSet _ = undefined-    attrConstruct = undefined-    attrClear _ = undefined--scanner_value :: AttrLabelProxy "value"-scanner_value = AttrLabelProxy--#endif---{- |-Get the value of the “@line@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scanner #line-@--}-getScannerLine :: MonadIO m => Scanner -> m Word32-getScannerLine s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 56) :: IO Word32-    return val--{- |-Set the value of the “@line@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scanner [ #line 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerLine :: MonadIO m => Scanner -> Word32 -> m ()-setScannerLine s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 56) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerLineFieldInfo-instance AttrInfo ScannerLineFieldInfo where-    type AttrAllowedOps ScannerLineFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerLineFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerLineFieldInfo = (~) Scanner-    type AttrGetType ScannerLineFieldInfo = Word32-    type AttrLabel ScannerLineFieldInfo = "line"-    type AttrOrigin ScannerLineFieldInfo = Scanner-    attrGet _ = getScannerLine-    attrSet _ = setScannerLine-    attrConstruct = undefined-    attrClear _ = undefined--scanner_line :: AttrLabelProxy "line"-scanner_line = AttrLabelProxy--#endif---{- |-Get the value of the “@position@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scanner #position-@--}-getScannerPosition :: MonadIO m => Scanner -> m Word32-getScannerPosition s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 60) :: IO Word32-    return val--{- |-Set the value of the “@position@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scanner [ #position 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerPosition :: MonadIO m => Scanner -> Word32 -> m ()-setScannerPosition s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 60) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerPositionFieldInfo-instance AttrInfo ScannerPositionFieldInfo where-    type AttrAllowedOps ScannerPositionFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerPositionFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerPositionFieldInfo = (~) Scanner-    type AttrGetType ScannerPositionFieldInfo = Word32-    type AttrLabel ScannerPositionFieldInfo = "position"-    type AttrOrigin ScannerPositionFieldInfo = Scanner-    attrGet _ = getScannerPosition-    attrSet _ = setScannerPosition-    attrConstruct = undefined-    attrClear _ = undefined--scanner_position :: AttrLabelProxy "position"-scanner_position = AttrLabelProxy--#endif---{- |-Get the value of the “@next_token@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scanner #nextToken-@--}-getScannerNextToken :: MonadIO m => Scanner -> m GLib.Enums.TokenType-getScannerNextToken s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 64) :: IO CUInt-    let val' = (toEnum . fromIntegral) val-    return val'--{- |-Set the value of the “@next_token@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scanner [ #nextToken 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerNextToken :: MonadIO m => Scanner -> GLib.Enums.TokenType -> m ()-setScannerNextToken s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 64) (val' :: CUInt)--#if ENABLE_OVERLOADING-data ScannerNextTokenFieldInfo-instance AttrInfo ScannerNextTokenFieldInfo where-    type AttrAllowedOps ScannerNextTokenFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerNextTokenFieldInfo = (~) GLib.Enums.TokenType-    type AttrBaseTypeConstraint ScannerNextTokenFieldInfo = (~) Scanner-    type AttrGetType ScannerNextTokenFieldInfo = GLib.Enums.TokenType-    type AttrLabel ScannerNextTokenFieldInfo = "next_token"-    type AttrOrigin ScannerNextTokenFieldInfo = Scanner-    attrGet _ = getScannerNextToken-    attrSet _ = setScannerNextToken-    attrConstruct = undefined-    attrClear _ = undefined--scanner_nextToken :: AttrLabelProxy "nextToken"-scanner_nextToken = AttrLabelProxy--#endif---{- |-Get the value of the “@next_value@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scanner #nextValue-@--}-getScannerNextValue :: MonadIO m => Scanner -> m GLib.TokenValue.TokenValue-getScannerNextValue s = liftIO $ withManagedPtr s $ \ptr -> do-    let val = ptr `plusPtr` 72 :: (Ptr GLib.TokenValue.TokenValue)-    val' <- (newPtr GLib.TokenValue.TokenValue) val-    return val'--#if ENABLE_OVERLOADING-data ScannerNextValueFieldInfo-instance AttrInfo ScannerNextValueFieldInfo where-    type AttrAllowedOps ScannerNextValueFieldInfo = '[ 'AttrGet]-    type AttrSetTypeConstraint ScannerNextValueFieldInfo = (~) (Ptr GLib.TokenValue.TokenValue)-    type AttrBaseTypeConstraint ScannerNextValueFieldInfo = (~) Scanner-    type AttrGetType ScannerNextValueFieldInfo = GLib.TokenValue.TokenValue-    type AttrLabel ScannerNextValueFieldInfo = "next_value"-    type AttrOrigin ScannerNextValueFieldInfo = Scanner-    attrGet _ = getScannerNextValue-    attrSet _ = undefined-    attrConstruct = undefined-    attrClear _ = undefined--scanner_nextValue :: AttrLabelProxy "nextValue"-scanner_nextValue = AttrLabelProxy--#endif---{- |-Get the value of the “@next_line@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scanner #nextLine-@--}-getScannerNextLine :: MonadIO m => Scanner -> m Word32-getScannerNextLine s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 80) :: IO Word32-    return val--{- |-Set the value of the “@next_line@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scanner [ #nextLine 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerNextLine :: MonadIO m => Scanner -> Word32 -> m ()-setScannerNextLine s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 80) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerNextLineFieldInfo-instance AttrInfo ScannerNextLineFieldInfo where-    type AttrAllowedOps ScannerNextLineFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerNextLineFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerNextLineFieldInfo = (~) Scanner-    type AttrGetType ScannerNextLineFieldInfo = Word32-    type AttrLabel ScannerNextLineFieldInfo = "next_line"-    type AttrOrigin ScannerNextLineFieldInfo = Scanner-    attrGet _ = getScannerNextLine-    attrSet _ = setScannerNextLine-    attrConstruct = undefined-    attrClear _ = undefined--scanner_nextLine :: AttrLabelProxy "nextLine"-scanner_nextLine = AttrLabelProxy--#endif---{- |-Get the value of the “@next_position@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scanner #nextPosition-@--}-getScannerNextPosition :: MonadIO m => Scanner -> m Word32-getScannerNextPosition s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 84) :: IO Word32-    return val--{- |-Set the value of the “@next_position@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scanner [ #nextPosition 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerNextPosition :: MonadIO m => Scanner -> Word32 -> m ()-setScannerNextPosition s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 84) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerNextPositionFieldInfo-instance AttrInfo ScannerNextPositionFieldInfo where-    type AttrAllowedOps ScannerNextPositionFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerNextPositionFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerNextPositionFieldInfo = (~) Scanner-    type AttrGetType ScannerNextPositionFieldInfo = Word32-    type AttrLabel ScannerNextPositionFieldInfo = "next_position"-    type AttrOrigin ScannerNextPositionFieldInfo = Scanner-    attrGet _ = getScannerNextPosition-    attrSet _ = setScannerNextPosition-    attrConstruct = undefined-    attrClear _ = undefined--scanner_nextPosition :: AttrLabelProxy "nextPosition"-scanner_nextPosition = AttrLabelProxy--#endif---{- |-Get the value of the “@msg_handler@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scanner #msgHandler-@--}-getScannerMsgHandler :: MonadIO m => Scanner -> m (Maybe GLib.Callbacks.ScannerMsgFunc)-getScannerMsgHandler s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 136) :: IO (FunPtr GLib.Callbacks.C_ScannerMsgFunc)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_ScannerMsgFunc val'-        return val''-    return result--{- |-Set the value of the “@msg_handler@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scanner [ #msgHandler 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerMsgHandler :: MonadIO m => Scanner -> FunPtr GLib.Callbacks.C_ScannerMsgFunc -> m ()-setScannerMsgHandler s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 136) (val :: FunPtr GLib.Callbacks.C_ScannerMsgFunc)--{- |-Set the value of the “@msg_handler@” 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' #msgHandler-@--}-clearScannerMsgHandler :: MonadIO m => Scanner -> m ()-clearScannerMsgHandler s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 136) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_ScannerMsgFunc)--#if ENABLE_OVERLOADING-data ScannerMsgHandlerFieldInfo-instance AttrInfo ScannerMsgHandlerFieldInfo where-    type AttrAllowedOps ScannerMsgHandlerFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ScannerMsgHandlerFieldInfo = (~) (FunPtr GLib.Callbacks.C_ScannerMsgFunc)-    type AttrBaseTypeConstraint ScannerMsgHandlerFieldInfo = (~) Scanner-    type AttrGetType ScannerMsgHandlerFieldInfo = Maybe GLib.Callbacks.ScannerMsgFunc-    type AttrLabel ScannerMsgHandlerFieldInfo = "msg_handler"-    type AttrOrigin ScannerMsgHandlerFieldInfo = Scanner-    attrGet _ = getScannerMsgHandler-    attrSet _ = setScannerMsgHandler-    attrConstruct = undefined-    attrClear _ = clearScannerMsgHandler--scanner_msgHandler :: AttrLabelProxy "msgHandler"-scanner_msgHandler = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList Scanner-type instance O.AttributeList Scanner = ScannerAttributeList-type ScannerAttributeList = ('[ '("userData", ScannerUserDataFieldInfo), '("maxParseErrors", ScannerMaxParseErrorsFieldInfo), '("parseErrors", ScannerParseErrorsFieldInfo), '("inputName", ScannerInputNameFieldInfo), '("qdata", ScannerQdataFieldInfo), '("config", ScannerConfigFieldInfo), '("token", ScannerTokenFieldInfo), '("value", ScannerValueFieldInfo), '("line", ScannerLineFieldInfo), '("position", ScannerPositionFieldInfo), '("nextToken", ScannerNextTokenFieldInfo), '("nextValue", ScannerNextValueFieldInfo), '("nextLine", ScannerNextLineFieldInfo), '("nextPosition", ScannerNextPositionFieldInfo), '("msgHandler", ScannerMsgHandlerFieldInfo)] :: [(Symbol, *)])-#endif---- method Scanner::cur_line--- method type : OrdinaryMethod--- Args : [Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GScanner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_scanner_cur_line" g_scanner_cur_line :: -    Ptr Scanner ->                          -- scanner : TInterface (Name {namespace = "GLib", name = "Scanner"})-    IO Word32--{- |-Returns the current line in the input stream (counting-from 1). This is the line of the last token parsed via-'GI.GLib.Structs.Scanner.scannerGetNextToken'.--}-scannerCurLine ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Scanner-    {- ^ /@scanner@/: a 'GI.GLib.Structs.Scanner.Scanner' -}-    -> m Word32-    {- ^ __Returns:__ the current line -}-scannerCurLine scanner = liftIO $ do-    scanner' <- unsafeManagedPtrGetPtr scanner-    result <- g_scanner_cur_line scanner'-    touchManagedPtr scanner-    return result--#if ENABLE_OVERLOADING-data ScannerCurLineMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo ScannerCurLineMethodInfo Scanner signature where-    overloadedMethod _ = scannerCurLine--#endif---- method Scanner::cur_position--- method type : OrdinaryMethod--- Args : [Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GScanner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_scanner_cur_position" g_scanner_cur_position :: -    Ptr Scanner ->                          -- scanner : TInterface (Name {namespace = "GLib", name = "Scanner"})-    IO Word32--{- |-Returns the current position in the current line (counting-from 0). This is the position of the last token parsed via-'GI.GLib.Structs.Scanner.scannerGetNextToken'.--}-scannerCurPosition ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Scanner-    {- ^ /@scanner@/: a 'GI.GLib.Structs.Scanner.Scanner' -}-    -> m Word32-    {- ^ __Returns:__ the current position on the line -}-scannerCurPosition scanner = liftIO $ do-    scanner' <- unsafeManagedPtrGetPtr scanner-    result <- g_scanner_cur_position scanner'-    touchManagedPtr scanner-    return result--#if ENABLE_OVERLOADING-data ScannerCurPositionMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo ScannerCurPositionMethodInfo Scanner signature where-    overloadedMethod _ = scannerCurPosition--#endif---- method Scanner::cur_token--- method type : OrdinaryMethod--- Args : [Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GScanner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "TokenType"}))--- throws : False--- Skip return : False--foreign import ccall "g_scanner_cur_token" g_scanner_cur_token :: -    Ptr Scanner ->                          -- scanner : TInterface (Name {namespace = "GLib", name = "Scanner"})-    IO CUInt--{- |-Gets the current token type. This is simply the /@token@/-field in the 'GI.GLib.Structs.Scanner.Scanner' structure.--}-scannerCurToken ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Scanner-    {- ^ /@scanner@/: a 'GI.GLib.Structs.Scanner.Scanner' -}-    -> m GLib.Enums.TokenType-    {- ^ __Returns:__ the current token type -}-scannerCurToken scanner = liftIO $ do-    scanner' <- unsafeManagedPtrGetPtr scanner-    result <- g_scanner_cur_token scanner'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr scanner-    return result'--#if ENABLE_OVERLOADING-data ScannerCurTokenMethodInfo-instance (signature ~ (m GLib.Enums.TokenType), MonadIO m) => O.MethodInfo ScannerCurTokenMethodInfo Scanner signature where-    overloadedMethod _ = scannerCurToken--#endif---- method Scanner::destroy--- method type : OrdinaryMethod--- Args : [Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GScanner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_scanner_destroy" g_scanner_destroy :: -    Ptr Scanner ->                          -- scanner : TInterface (Name {namespace = "GLib", name = "Scanner"})-    IO ()--{- |-Frees all memory used by the 'GI.GLib.Structs.Scanner.Scanner'.--}-scannerDestroy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Scanner-    {- ^ /@scanner@/: a 'GI.GLib.Structs.Scanner.Scanner' -}-    -> m ()-scannerDestroy scanner = liftIO $ do-    scanner' <- unsafeManagedPtrGetPtr scanner-    g_scanner_destroy scanner'-    touchManagedPtr scanner-    return ()--#if ENABLE_OVERLOADING-data ScannerDestroyMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo ScannerDestroyMethodInfo Scanner signature where-    overloadedMethod _ = scannerDestroy--#endif---- method Scanner::eof--- method type : OrdinaryMethod--- Args : [Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GScanner", 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_scanner_eof" g_scanner_eof :: -    Ptr Scanner ->                          -- scanner : TInterface (Name {namespace = "GLib", name = "Scanner"})-    IO CInt--{- |-Returns 'True' if the scanner has reached the end of-the file or text buffer.--}-scannerEof ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Scanner-    {- ^ /@scanner@/: a 'GI.GLib.Structs.Scanner.Scanner' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the scanner has reached the end of-    the file or text buffer -}-scannerEof scanner = liftIO $ do-    scanner' <- unsafeManagedPtrGetPtr scanner-    result <- g_scanner_eof scanner'-    let result' = (/= 0) result-    touchManagedPtr scanner-    return result'--#if ENABLE_OVERLOADING-data ScannerEofMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo ScannerEofMethodInfo Scanner signature where-    overloadedMethod _ = scannerEof--#endif---- method Scanner::get_next_token--- method type : OrdinaryMethod--- Args : [Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GScanner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "TokenType"}))--- throws : False--- Skip return : False--foreign import ccall "g_scanner_get_next_token" g_scanner_get_next_token :: -    Ptr Scanner ->                          -- scanner : TInterface (Name {namespace = "GLib", name = "Scanner"})-    IO CUInt--{- |-Parses the next token just like 'GI.GLib.Structs.Scanner.scannerPeekNextToken'-and also removes it from the input stream. The token data is-placed in the /@token@/, /@value@/, /@line@/, and /@position@/ fields of-the 'GI.GLib.Structs.Scanner.Scanner' structure.--}-scannerGetNextToken ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Scanner-    {- ^ /@scanner@/: a 'GI.GLib.Structs.Scanner.Scanner' -}-    -> m GLib.Enums.TokenType-    {- ^ __Returns:__ the type of the token -}-scannerGetNextToken scanner = liftIO $ do-    scanner' <- unsafeManagedPtrGetPtr scanner-    result <- g_scanner_get_next_token scanner'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr scanner-    return result'--#if ENABLE_OVERLOADING-data ScannerGetNextTokenMethodInfo-instance (signature ~ (m GLib.Enums.TokenType), MonadIO m) => O.MethodInfo ScannerGetNextTokenMethodInfo Scanner signature where-    overloadedMethod _ = scannerGetNextToken--#endif---- method Scanner::input_file--- method type : OrdinaryMethod--- Args : [Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GScanner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "input_fd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a file descriptor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_scanner_input_file" g_scanner_input_file :: -    Ptr Scanner ->                          -- scanner : TInterface (Name {namespace = "GLib", name = "Scanner"})-    Int32 ->                                -- input_fd : TBasicType TInt-    IO ()--{- |-Prepares to scan a file.--}-scannerInputFile ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Scanner-    {- ^ /@scanner@/: a 'GI.GLib.Structs.Scanner.Scanner' -}-    -> Int32-    {- ^ /@inputFd@/: a file descriptor -}-    -> m ()-scannerInputFile scanner inputFd = liftIO $ do-    scanner' <- unsafeManagedPtrGetPtr scanner-    g_scanner_input_file scanner' inputFd-    touchManagedPtr scanner-    return ()--#if ENABLE_OVERLOADING-data ScannerInputFileMethodInfo-instance (signature ~ (Int32 -> m ()), MonadIO m) => O.MethodInfo ScannerInputFileMethodInfo Scanner signature where-    overloadedMethod _ = scannerInputFile--#endif---- method Scanner::input_text--- method type : OrdinaryMethod--- Args : [Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GScanner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the text buffer to scan", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "text_len", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of the text buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_scanner_input_text" g_scanner_input_text :: -    Ptr Scanner ->                          -- scanner : TInterface (Name {namespace = "GLib", name = "Scanner"})-    CString ->                              -- text : TBasicType TUTF8-    Word32 ->                               -- text_len : TBasicType TUInt-    IO ()--{- |-Prepares to scan a text buffer.--}-scannerInputText ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Scanner-    {- ^ /@scanner@/: a 'GI.GLib.Structs.Scanner.Scanner' -}-    -> T.Text-    {- ^ /@text@/: the text buffer to scan -}-    -> Word32-    {- ^ /@textLen@/: the length of the text buffer -}-    -> m ()-scannerInputText scanner text textLen = liftIO $ do-    scanner' <- unsafeManagedPtrGetPtr scanner-    text' <- textToCString text-    g_scanner_input_text scanner' text' textLen-    touchManagedPtr scanner-    freeMem text'-    return ()--#if ENABLE_OVERLOADING-data ScannerInputTextMethodInfo-instance (signature ~ (T.Text -> Word32 -> m ()), MonadIO m) => O.MethodInfo ScannerInputTextMethodInfo Scanner signature where-    overloadedMethod _ = scannerInputText--#endif---- method Scanner::lookup_symbol--- method type : OrdinaryMethod--- Args : [Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GScanner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "symbol", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the symbol to look up", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_scanner_lookup_symbol" g_scanner_lookup_symbol :: -    Ptr Scanner ->                          -- scanner : TInterface (Name {namespace = "GLib", name = "Scanner"})-    CString ->                              -- symbol : TBasicType TUTF8-    IO (Ptr ())--{- |-Looks up a symbol in the current scope and return its value.-If the symbol is not bound in the current scope, 'Nothing' is-returned.--}-scannerLookupSymbol ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Scanner-    {- ^ /@scanner@/: a 'GI.GLib.Structs.Scanner.Scanner' -}-    -> T.Text-    {- ^ /@symbol@/: the symbol to look up -}-    -> m (Ptr ())-    {- ^ __Returns:__ the value of /@symbol@/ in the current scope, or 'Nothing'-    if /@symbol@/ is not bound in the current scope -}-scannerLookupSymbol scanner symbol = liftIO $ do-    scanner' <- unsafeManagedPtrGetPtr scanner-    symbol' <- textToCString symbol-    result <- g_scanner_lookup_symbol scanner' symbol'-    touchManagedPtr scanner-    freeMem symbol'-    return result--#if ENABLE_OVERLOADING-data ScannerLookupSymbolMethodInfo-instance (signature ~ (T.Text -> m (Ptr ())), MonadIO m) => O.MethodInfo ScannerLookupSymbolMethodInfo Scanner signature where-    overloadedMethod _ = scannerLookupSymbol--#endif---- method Scanner::peek_next_token--- method type : OrdinaryMethod--- Args : [Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GScanner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "TokenType"}))--- throws : False--- Skip return : False--foreign import ccall "g_scanner_peek_next_token" g_scanner_peek_next_token :: -    Ptr Scanner ->                          -- scanner : TInterface (Name {namespace = "GLib", name = "Scanner"})-    IO CUInt--{- |-Parses the next token, without removing it from the input stream.-The token data is placed in the /@nextToken@/, /@nextValue@/, /@nextLine@/,-and /@nextPosition@/ fields of the 'GI.GLib.Structs.Scanner.Scanner' structure.--Note that, while the token is not removed from the input stream-(i.e. the next call to 'GI.GLib.Structs.Scanner.scannerGetNextToken' will return the-same token), it will not be reevaluated. This can lead to surprising-results when changing scope or the scanner configuration after peeking-the next token. Getting the next token after switching the scope or-configuration will return whatever was peeked before, regardless of-any symbols that may have been added or removed in the new scope.--}-scannerPeekNextToken ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Scanner-    {- ^ /@scanner@/: a 'GI.GLib.Structs.Scanner.Scanner' -}-    -> m GLib.Enums.TokenType-    {- ^ __Returns:__ the type of the token -}-scannerPeekNextToken scanner = liftIO $ do-    scanner' <- unsafeManagedPtrGetPtr scanner-    result <- g_scanner_peek_next_token scanner'-    let result' = (toEnum . fromIntegral) result-    touchManagedPtr scanner-    return result'--#if ENABLE_OVERLOADING-data ScannerPeekNextTokenMethodInfo-instance (signature ~ (m GLib.Enums.TokenType), MonadIO m) => O.MethodInfo ScannerPeekNextTokenMethodInfo Scanner signature where-    overloadedMethod _ = scannerPeekNextToken--#endif---- method Scanner::scope_add_symbol--- method type : OrdinaryMethod--- Args : [Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GScanner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scope_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the scope id", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "symbol", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the symbol to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the value of the symbol", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_scanner_scope_add_symbol" g_scanner_scope_add_symbol :: -    Ptr Scanner ->                          -- scanner : TInterface (Name {namespace = "GLib", name = "Scanner"})-    Word32 ->                               -- scope_id : TBasicType TUInt-    CString ->                              -- symbol : TBasicType TUTF8-    Ptr () ->                               -- value : TBasicType TPtr-    IO ()--{- |-Adds a symbol to the given scope.--}-scannerScopeAddSymbol ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Scanner-    {- ^ /@scanner@/: a 'GI.GLib.Structs.Scanner.Scanner' -}-    -> Word32-    {- ^ /@scopeId@/: the scope id -}-    -> T.Text-    {- ^ /@symbol@/: the symbol to add -}-    -> Ptr ()-    {- ^ /@value@/: the value of the symbol -}-    -> m ()-scannerScopeAddSymbol scanner scopeId symbol value = liftIO $ do-    scanner' <- unsafeManagedPtrGetPtr scanner-    symbol' <- textToCString symbol-    g_scanner_scope_add_symbol scanner' scopeId symbol' value-    touchManagedPtr scanner-    freeMem symbol'-    return ()--#if ENABLE_OVERLOADING-data ScannerScopeAddSymbolMethodInfo-instance (signature ~ (Word32 -> T.Text -> Ptr () -> m ()), MonadIO m) => O.MethodInfo ScannerScopeAddSymbolMethodInfo Scanner signature where-    overloadedMethod _ = scannerScopeAddSymbol--#endif---- method Scanner::scope_lookup_symbol--- method type : OrdinaryMethod--- Args : [Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GScanner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scope_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the scope id", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "symbol", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the symbol to look up", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_scanner_scope_lookup_symbol" g_scanner_scope_lookup_symbol :: -    Ptr Scanner ->                          -- scanner : TInterface (Name {namespace = "GLib", name = "Scanner"})-    Word32 ->                               -- scope_id : TBasicType TUInt-    CString ->                              -- symbol : TBasicType TUTF8-    IO (Ptr ())--{- |-Looks up a symbol in a scope and return its value. If the-symbol is not bound in the scope, 'Nothing' is returned.--}-scannerScopeLookupSymbol ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Scanner-    {- ^ /@scanner@/: a 'GI.GLib.Structs.Scanner.Scanner' -}-    -> Word32-    {- ^ /@scopeId@/: the scope id -}-    -> T.Text-    {- ^ /@symbol@/: the symbol to look up -}-    -> m (Ptr ())-    {- ^ __Returns:__ the value of /@symbol@/ in the given scope, or 'Nothing'-    if /@symbol@/ is not bound in the given scope. -}-scannerScopeLookupSymbol scanner scopeId symbol = liftIO $ do-    scanner' <- unsafeManagedPtrGetPtr scanner-    symbol' <- textToCString symbol-    result <- g_scanner_scope_lookup_symbol scanner' scopeId symbol'-    touchManagedPtr scanner-    freeMem symbol'-    return result--#if ENABLE_OVERLOADING-data ScannerScopeLookupSymbolMethodInfo-instance (signature ~ (Word32 -> T.Text -> m (Ptr ())), MonadIO m) => O.MethodInfo ScannerScopeLookupSymbolMethodInfo Scanner signature where-    overloadedMethod _ = scannerScopeLookupSymbol--#endif---- method Scanner::scope_remove_symbol--- method type : OrdinaryMethod--- Args : [Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GScanner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scope_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the scope id", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "symbol", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the symbol to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_scanner_scope_remove_symbol" g_scanner_scope_remove_symbol :: -    Ptr Scanner ->                          -- scanner : TInterface (Name {namespace = "GLib", name = "Scanner"})-    Word32 ->                               -- scope_id : TBasicType TUInt-    CString ->                              -- symbol : TBasicType TUTF8-    IO ()--{- |-Removes a symbol from a scope.--}-scannerScopeRemoveSymbol ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Scanner-    {- ^ /@scanner@/: a 'GI.GLib.Structs.Scanner.Scanner' -}-    -> Word32-    {- ^ /@scopeId@/: the scope id -}-    -> T.Text-    {- ^ /@symbol@/: the symbol to remove -}-    -> m ()-scannerScopeRemoveSymbol scanner scopeId symbol = liftIO $ do-    scanner' <- unsafeManagedPtrGetPtr scanner-    symbol' <- textToCString symbol-    g_scanner_scope_remove_symbol scanner' scopeId symbol'-    touchManagedPtr scanner-    freeMem symbol'-    return ()--#if ENABLE_OVERLOADING-data ScannerScopeRemoveSymbolMethodInfo-instance (signature ~ (Word32 -> T.Text -> m ()), MonadIO m) => O.MethodInfo ScannerScopeRemoveSymbolMethodInfo Scanner signature where-    overloadedMethod _ = scannerScopeRemoveSymbol--#endif---- method Scanner::set_scope--- method type : OrdinaryMethod--- Args : [Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GScanner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scope_id", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new scope id", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_scanner_set_scope" g_scanner_set_scope :: -    Ptr Scanner ->                          -- scanner : TInterface (Name {namespace = "GLib", name = "Scanner"})-    Word32 ->                               -- scope_id : TBasicType TUInt-    IO Word32--{- |-Sets the current scope.--}-scannerSetScope ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Scanner-    {- ^ /@scanner@/: a 'GI.GLib.Structs.Scanner.Scanner' -}-    -> Word32-    {- ^ /@scopeId@/: the new scope id -}-    -> m Word32-    {- ^ __Returns:__ the old scope id -}-scannerSetScope scanner scopeId = liftIO $ do-    scanner' <- unsafeManagedPtrGetPtr scanner-    result <- g_scanner_set_scope scanner' scopeId-    touchManagedPtr scanner-    return result--#if ENABLE_OVERLOADING-data ScannerSetScopeMethodInfo-instance (signature ~ (Word32 -> m Word32), MonadIO m) => O.MethodInfo ScannerSetScopeMethodInfo Scanner signature where-    overloadedMethod _ = scannerSetScope--#endif---- method Scanner::sync_file_offset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GScanner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_scanner_sync_file_offset" g_scanner_sync_file_offset :: -    Ptr Scanner ->                          -- scanner : TInterface (Name {namespace = "GLib", name = "Scanner"})-    IO ()--{- |-Rewinds the filedescriptor to the current buffer position-and blows the file read ahead buffer. This is useful for-third party uses of the scanners filedescriptor, which hooks-onto the current scanning position.--}-scannerSyncFileOffset ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Scanner-    {- ^ /@scanner@/: a 'GI.GLib.Structs.Scanner.Scanner' -}-    -> m ()-scannerSyncFileOffset scanner = liftIO $ do-    scanner' <- unsafeManagedPtrGetPtr scanner-    g_scanner_sync_file_offset scanner'-    touchManagedPtr scanner-    return ()--#if ENABLE_OVERLOADING-data ScannerSyncFileOffsetMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo ScannerSyncFileOffsetMethodInfo Scanner signature where-    overloadedMethod _ = scannerSyncFileOffset--#endif---- method Scanner::unexp_token--- method type : OrdinaryMethod--- Args : [Arg {argCName = "scanner", argType = TInterface (Name {namespace = "GLib", name = "Scanner"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GScanner", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expected_token", argType = TInterface (Name {namespace = "GLib", name = "TokenType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the expected token", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "identifier_spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string describing how the scanner's user\n    refers to identifiers (%NULL defaults to \"identifier\").\n    This is used if @expected_token is %G_TOKEN_IDENTIFIER or\n    %G_TOKEN_IDENTIFIER_NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "symbol_spec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string describing how the scanner's user refers\n    to symbols (%NULL defaults to \"symbol\"). This is used if\n    @expected_token is %G_TOKEN_SYMBOL or any token value greater\n    than %G_TOKEN_LAST.", 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 = Just "the name of the symbol, if the scanner's current\n    token is a symbol.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "message", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a message string to output at the end of the\n    warning/error, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_error", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if %TRUE it is output as an error. If %FALSE it is\n    output as a warning.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_scanner_unexp_token" g_scanner_unexp_token :: -    Ptr Scanner ->                          -- scanner : TInterface (Name {namespace = "GLib", name = "Scanner"})-    CUInt ->                                -- expected_token : TInterface (Name {namespace = "GLib", name = "TokenType"})-    CString ->                              -- identifier_spec : TBasicType TUTF8-    CString ->                              -- symbol_spec : TBasicType TUTF8-    CString ->                              -- symbol_name : TBasicType TUTF8-    CString ->                              -- message : TBasicType TUTF8-    Int32 ->                                -- is_error : TBasicType TInt-    IO ()--{- |-Outputs a message through the scanner\'s msg_handler,-resulting from an unexpected token in the input stream.-Note that you should not call 'GI.GLib.Structs.Scanner.scannerPeekNextToken'-followed by 'GI.GLib.Structs.Scanner.scannerUnexpToken' without an intermediate-call to 'GI.GLib.Structs.Scanner.scannerGetNextToken', as 'GI.GLib.Structs.Scanner.scannerUnexpToken'-evaluates the scanner\'s current token (not the peeked token)-to construct part of the message.--}-scannerUnexpToken ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Scanner-    {- ^ /@scanner@/: a 'GI.GLib.Structs.Scanner.Scanner' -}-    -> GLib.Enums.TokenType-    {- ^ /@expectedToken@/: the expected token -}-    -> T.Text-    {- ^ /@identifierSpec@/: a string describing how the scanner\'s user-    refers to identifiers ('Nothing' defaults to \"identifier\").-    This is used if /@expectedToken@/ is 'GI.GLib.Enums.TokenTypeIdentifier' or-    'GI.GLib.Enums.TokenTypeIdentifierNull'. -}-    -> T.Text-    {- ^ /@symbolSpec@/: a string describing how the scanner\'s user refers-    to symbols ('Nothing' defaults to \"symbol\"). This is used if-    /@expectedToken@/ is 'GI.GLib.Enums.TokenTypeSymbol' or any token value greater-    than @/G_TOKEN_LAST/@. -}-    -> T.Text-    {- ^ /@symbolName@/: the name of the symbol, if the scanner\'s current-    token is a symbol. -}-    -> T.Text-    {- ^ /@message@/: a message string to output at the end of the-    warning\/error, or 'Nothing'. -}-    -> Int32-    {- ^ /@isError@/: if 'True' it is output as an error. If 'False' it is-    output as a warning. -}-    -> m ()-scannerUnexpToken scanner expectedToken identifierSpec symbolSpec symbolName message isError = liftIO $ do-    scanner' <- unsafeManagedPtrGetPtr scanner-    let expectedToken' = (fromIntegral . fromEnum) expectedToken-    identifierSpec' <- textToCString identifierSpec-    symbolSpec' <- textToCString symbolSpec-    symbolName' <- textToCString symbolName-    message' <- textToCString message-    g_scanner_unexp_token scanner' expectedToken' identifierSpec' symbolSpec' symbolName' message' isError-    touchManagedPtr scanner-    freeMem identifierSpec'-    freeMem symbolSpec'-    freeMem symbolName'-    freeMem message'-    return ()--#if ENABLE_OVERLOADING-data ScannerUnexpTokenMethodInfo-instance (signature ~ (GLib.Enums.TokenType -> T.Text -> T.Text -> T.Text -> T.Text -> Int32 -> m ()), MonadIO m) => O.MethodInfo ScannerUnexpTokenMethodInfo Scanner signature where-    overloadedMethod _ = scannerUnexpToken--#endif--#if ENABLE_OVERLOADING-type family ResolveScannerMethod (t :: Symbol) (o :: *) :: * where-    ResolveScannerMethod "curLine" o = ScannerCurLineMethodInfo-    ResolveScannerMethod "curPosition" o = ScannerCurPositionMethodInfo-    ResolveScannerMethod "curToken" o = ScannerCurTokenMethodInfo-    ResolveScannerMethod "destroy" o = ScannerDestroyMethodInfo-    ResolveScannerMethod "eof" o = ScannerEofMethodInfo-    ResolveScannerMethod "inputFile" o = ScannerInputFileMethodInfo-    ResolveScannerMethod "inputText" o = ScannerInputTextMethodInfo-    ResolveScannerMethod "lookupSymbol" o = ScannerLookupSymbolMethodInfo-    ResolveScannerMethod "peekNextToken" o = ScannerPeekNextTokenMethodInfo-    ResolveScannerMethod "scopeAddSymbol" o = ScannerScopeAddSymbolMethodInfo-    ResolveScannerMethod "scopeLookupSymbol" o = ScannerScopeLookupSymbolMethodInfo-    ResolveScannerMethod "scopeRemoveSymbol" o = ScannerScopeRemoveSymbolMethodInfo-    ResolveScannerMethod "syncFileOffset" o = ScannerSyncFileOffsetMethodInfo-    ResolveScannerMethod "unexpToken" o = ScannerUnexpTokenMethodInfo-    ResolveScannerMethod "getNextToken" o = ScannerGetNextTokenMethodInfo-    ResolveScannerMethod "setScope" o = ScannerSetScopeMethodInfo-    ResolveScannerMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveScannerMethod t Scanner, O.MethodInfo info Scanner p) => OL.IsLabel t (Scanner -> 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/GLib/Structs/Scanner.hs-boot
@@ -1,74 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.Scanner 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 Scanner = Scanner (ManagedPtr Scanner)-instance WrappedPtr Scanner where-#if ENABLE_OVERLOADING-data ScannerCurLineMethodInfo-#endif-#if ENABLE_OVERLOADING-data ScannerCurPositionMethodInfo-#endif-#if ENABLE_OVERLOADING-data ScannerCurTokenMethodInfo-#endif-#if ENABLE_OVERLOADING-data ScannerDestroyMethodInfo-#endif-#if ENABLE_OVERLOADING-data ScannerEofMethodInfo-#endif-#if ENABLE_OVERLOADING-data ScannerGetNextTokenMethodInfo-#endif-#if ENABLE_OVERLOADING-data ScannerInputFileMethodInfo-#endif-#if ENABLE_OVERLOADING-data ScannerInputTextMethodInfo-#endif-#if ENABLE_OVERLOADING-data ScannerLookupSymbolMethodInfo-#endif-#if ENABLE_OVERLOADING-data ScannerPeekNextTokenMethodInfo-#endif-#if ENABLE_OVERLOADING-data ScannerScopeAddSymbolMethodInfo-#endif-#if ENABLE_OVERLOADING-data ScannerScopeLookupSymbolMethodInfo-#endif-#if ENABLE_OVERLOADING-data ScannerScopeRemoveSymbolMethodInfo-#endif-#if ENABLE_OVERLOADING-data ScannerSetScopeMethodInfo-#endif-#if ENABLE_OVERLOADING-data ScannerSyncFileOffsetMethodInfo-#endif-#if ENABLE_OVERLOADING-data ScannerUnexpTokenMethodInfo-#endif
− GI/GLib/Structs/ScannerConfig.hs
@@ -1,1617 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Specifies the 'GI.GLib.Structs.Scanner.Scanner' parser configuration. Most settings can-be changed during the parsing phase and will affect the lexical-parsing of the next unpeeked token.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.ScannerConfig-    ( ---- * Exported types-    ScannerConfig(..)                       ,-    newZeroScannerConfig                    ,-    noScannerConfig                         ,--- -- * Properties--- ** caseSensitive #attr:caseSensitive#-{- | specifies if symbols are case sensitive (the-    default is 'False').--}-    getScannerConfigCaseSensitive           ,-#if ENABLE_OVERLOADING-    scannerConfig_caseSensitive             ,-#endif-    setScannerConfigCaseSensitive           ,----- ** char2Token #attr:char2Token#-{- | specifies if characters are reported by setting-    @token = ch@ or as 'GI.GLib.Enums.TokenTypeChar' (the default is 'True').--}-    getScannerConfigChar2Token              ,-#if ENABLE_OVERLOADING-    scannerConfig_char2Token                ,-#endif-    setScannerConfigChar2Token              ,----- ** cpairCommentSingle #attr:cpairCommentSingle#-{- | specifies the characters at the start and-    end of single-line comments. The default is \"#\\n\" which means-    that single-line comments start with a \'#\' and continue until-    a \'\\n\' (end of line).--}-    clearScannerConfigCpairCommentSingle    ,-    getScannerConfigCpairCommentSingle      ,-#if ENABLE_OVERLOADING-    scannerConfig_cpairCommentSingle        ,-#endif-    setScannerConfigCpairCommentSingle      ,----- ** csetIdentifierFirst #attr:csetIdentifierFirst#-{- | specifies the characters which can start-    identifiers (the default is 'GI.GLib.Constants.CSET_a_2_z', \"_\", and 'GI.GLib.Constants.CSET_A_2_Z').--}-    clearScannerConfigCsetIdentifierFirst   ,-    getScannerConfigCsetIdentifierFirst     ,-#if ENABLE_OVERLOADING-    scannerConfig_csetIdentifierFirst       ,-#endif-    setScannerConfigCsetIdentifierFirst     ,----- ** csetIdentifierNth #attr:csetIdentifierNth#-{- | specifies the characters which can be used-    in identifiers, after the first character (the default is-    'GI.GLib.Constants.CSET_a_2_z', \"_0123456789\", 'GI.GLib.Constants.CSET_A_2_Z', @/G_CSET_LATINS/@,-    @/G_CSET_LATINC/@).--}-    clearScannerConfigCsetIdentifierNth     ,-    getScannerConfigCsetIdentifierNth       ,-#if ENABLE_OVERLOADING-    scannerConfig_csetIdentifierNth         ,-#endif-    setScannerConfigCsetIdentifierNth       ,----- ** csetSkipCharacters #attr:csetSkipCharacters#-{- | specifies which characters should be skipped-    by the scanner (the default is the whitespace characters: space,-    tab, carriage-return and line-feed).--}-    clearScannerConfigCsetSkipCharacters    ,-    getScannerConfigCsetSkipCharacters      ,-#if ENABLE_OVERLOADING-    scannerConfig_csetSkipCharacters        ,-#endif-    setScannerConfigCsetSkipCharacters      ,----- ** identifier2String #attr:identifier2String#-{- | specifies if identifiers are reported as strings-    (the default is 'False').--}-    getScannerConfigIdentifier2String       ,-#if ENABLE_OVERLOADING-    scannerConfig_identifier2String         ,-#endif-    setScannerConfigIdentifier2String       ,----- ** int2Float #attr:int2Float#-{- | specifies if all numbers are reported as 'GI.GLib.Enums.TokenTypeFloat'-    (the default is 'False').--}-    getScannerConfigInt2Float               ,-#if ENABLE_OVERLOADING-    scannerConfig_int2Float                 ,-#endif-    setScannerConfigInt2Float               ,----- ** numbers2Int #attr:numbers2Int#-{- | specifies if binary, octal and hexadecimal numbers-    are reported as @/G_TOKEN_INT/@ (the default is 'True').--}-    getScannerConfigNumbers2Int             ,-#if ENABLE_OVERLOADING-    scannerConfig_numbers2Int               ,-#endif-    setScannerConfigNumbers2Int             ,----- ** scanBinary #attr:scanBinary#-{- | specifies if binary numbers are recognized (the-    default is 'False').--}-    getScannerConfigScanBinary              ,-#if ENABLE_OVERLOADING-    scannerConfig_scanBinary                ,-#endif-    setScannerConfigScanBinary              ,----- ** scanCommentMulti #attr:scanCommentMulti#-{- | specifies if multi-line comments are recognized-    (the default is 'True').--}-    getScannerConfigScanCommentMulti        ,-#if ENABLE_OVERLOADING-    scannerConfig_scanCommentMulti          ,-#endif-    setScannerConfigScanCommentMulti        ,----- ** scanFloat #attr:scanFloat#-{- | specifies if floating point numbers are recognized-    (the default is 'True').--}-    getScannerConfigScanFloat               ,-#if ENABLE_OVERLOADING-    scannerConfig_scanFloat                 ,-#endif-    setScannerConfigScanFloat               ,----- ** scanHex #attr:scanHex#-{- | specifies if hexadecimal numbers are recognized (the-    default is 'True').--}-    getScannerConfigScanHex                 ,-#if ENABLE_OVERLOADING-    scannerConfig_scanHex                   ,-#endif-    setScannerConfigScanHex                 ,----- ** scanHexDollar #attr:scanHexDollar#-{- | specifies if \'$\' is recognized as a prefix for-    hexadecimal numbers (the default is 'False').--}-    getScannerConfigScanHexDollar           ,-#if ENABLE_OVERLOADING-    scannerConfig_scanHexDollar             ,-#endif-    setScannerConfigScanHexDollar           ,----- ** scanIdentifier #attr:scanIdentifier#-{- | specifies if identifiers are recognized (the-    default is 'True').--}-    getScannerConfigScanIdentifier          ,-#if ENABLE_OVERLOADING-    scannerConfig_scanIdentifier            ,-#endif-    setScannerConfigScanIdentifier          ,----- ** scanIdentifier1char #attr:scanIdentifier1char#-{- | specifies if single-character-    identifiers are recognized (the default is 'False').--}-    getScannerConfigScanIdentifier1char     ,-#if ENABLE_OVERLOADING-    scannerConfig_scanIdentifier1char       ,-#endif-    setScannerConfigScanIdentifier1char     ,----- ** scanIdentifierNULL #attr:scanIdentifierNULL#-{- | specifies if 'Nothing' is reported as-    'GI.GLib.Enums.TokenTypeIdentifierNull' (the default is 'False').--}-    getScannerConfigScanIdentifierNULL      ,-#if ENABLE_OVERLOADING-    scannerConfig_scanIdentifierNULL        ,-#endif-    setScannerConfigScanIdentifierNULL      ,----- ** scanOctal #attr:scanOctal#-{- | specifies if octal numbers are recognized (the-    default is 'True').--}-    getScannerConfigScanOctal               ,-#if ENABLE_OVERLOADING-    scannerConfig_scanOctal                 ,-#endif-    setScannerConfigScanOctal               ,----- ** scanStringDq #attr:scanStringDq#-{- | specifies if strings can be enclosed in double-    quotes (the default is 'True').--}-    getScannerConfigScanStringDq            ,-#if ENABLE_OVERLOADING-    scannerConfig_scanStringDq              ,-#endif-    setScannerConfigScanStringDq            ,----- ** scanStringSq #attr:scanStringSq#-{- | specifies if strings can be enclosed in single-    quotes (the default is 'True').--}-    getScannerConfigScanStringSq            ,-#if ENABLE_OVERLOADING-    scannerConfig_scanStringSq              ,-#endif-    setScannerConfigScanStringSq            ,----- ** scanSymbols #attr:scanSymbols#-{- | specifies if symbols are recognized (the default-    is 'True').--}-    getScannerConfigScanSymbols             ,-#if ENABLE_OVERLOADING-    scannerConfig_scanSymbols               ,-#endif-    setScannerConfigScanSymbols             ,----- ** scope0Fallback #attr:scope0Fallback#-{- | specifies if a symbol is searched for in the-    default scope in addition to the current scope (the default is 'False').--}-    getScannerConfigScope0Fallback          ,-#if ENABLE_OVERLOADING-    scannerConfig_scope0Fallback            ,-#endif-    setScannerConfigScope0Fallback          ,----- ** skipCommentMulti #attr:skipCommentMulti#-{- | specifies if multi-line comments are skipped-    and not returned as tokens (the default is 'True').--}-    getScannerConfigSkipCommentMulti        ,-#if ENABLE_OVERLOADING-    scannerConfig_skipCommentMulti          ,-#endif-    setScannerConfigSkipCommentMulti        ,----- ** skipCommentSingle #attr:skipCommentSingle#-{- | specifies if single-line comments are skipped-    and not returned as tokens (the default is 'True').--}-    getScannerConfigSkipCommentSingle       ,-#if ENABLE_OVERLOADING-    scannerConfig_skipCommentSingle         ,-#endif-    setScannerConfigSkipCommentSingle       ,----- ** storeInt64 #attr:storeInt64#-{- | use value.v_int64 rather than v_int--}-    getScannerConfigStoreInt64              ,-#if ENABLE_OVERLOADING-    scannerConfig_storeInt64                ,-#endif-    setScannerConfigStoreInt64              ,----- ** symbol2Token #attr:symbol2Token#-{- | specifies if symbols are reported by setting-    @token = v_symbol@ or as 'GI.GLib.Enums.TokenTypeSymbol' (the default is 'False').--}-    getScannerConfigSymbol2Token            ,-#if ENABLE_OVERLOADING-    scannerConfig_symbol2Token              ,-#endif-    setScannerConfigSymbol2Token            ,-----    ) 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 ScannerConfig = ScannerConfig (ManagedPtr ScannerConfig)-instance WrappedPtr ScannerConfig where-    wrappedPtrCalloc = callocBytes 128-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 128 >=> wrapPtr ScannerConfig)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `ScannerConfig` struct initialized to zero.-newZeroScannerConfig :: MonadIO m => m ScannerConfig-newZeroScannerConfig = liftIO $ wrappedPtrCalloc >>= wrapPtr ScannerConfig--instance tag ~ 'AttrSet => Constructible ScannerConfig tag where-    new _ attrs = do-        o <- newZeroScannerConfig-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `ScannerConfig`.-noScannerConfig :: Maybe ScannerConfig-noScannerConfig = Nothing--{- |-Get the value of the “@cset_skip_characters@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #csetSkipCharacters-@--}-getScannerConfigCsetSkipCharacters :: MonadIO m => ScannerConfig -> m (Maybe T.Text)-getScannerConfigCsetSkipCharacters 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 “@cset_skip_characters@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #csetSkipCharacters 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigCsetSkipCharacters :: MonadIO m => ScannerConfig -> CString -> m ()-setScannerConfigCsetSkipCharacters s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: CString)--{- |-Set the value of the “@cset_skip_characters@” 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' #csetSkipCharacters-@--}-clearScannerConfigCsetSkipCharacters :: MonadIO m => ScannerConfig -> m ()-clearScannerConfigCsetSkipCharacters s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data ScannerConfigCsetSkipCharactersFieldInfo-instance AttrInfo ScannerConfigCsetSkipCharactersFieldInfo where-    type AttrAllowedOps ScannerConfigCsetSkipCharactersFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ScannerConfigCsetSkipCharactersFieldInfo = (~) CString-    type AttrBaseTypeConstraint ScannerConfigCsetSkipCharactersFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigCsetSkipCharactersFieldInfo = Maybe T.Text-    type AttrLabel ScannerConfigCsetSkipCharactersFieldInfo = "cset_skip_characters"-    type AttrOrigin ScannerConfigCsetSkipCharactersFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigCsetSkipCharacters-    attrSet _ = setScannerConfigCsetSkipCharacters-    attrConstruct = undefined-    attrClear _ = clearScannerConfigCsetSkipCharacters--scannerConfig_csetSkipCharacters :: AttrLabelProxy "csetSkipCharacters"-scannerConfig_csetSkipCharacters = AttrLabelProxy--#endif---{- |-Get the value of the “@cset_identifier_first@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #csetIdentifierFirst-@--}-getScannerConfigCsetIdentifierFirst :: MonadIO m => ScannerConfig -> m (Maybe T.Text)-getScannerConfigCsetIdentifierFirst s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO CString-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- cstringToText val'-        return val''-    return result--{- |-Set the value of the “@cset_identifier_first@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #csetIdentifierFirst 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigCsetIdentifierFirst :: MonadIO m => ScannerConfig -> CString -> m ()-setScannerConfigCsetIdentifierFirst s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: CString)--{- |-Set the value of the “@cset_identifier_first@” 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' #csetIdentifierFirst-@--}-clearScannerConfigCsetIdentifierFirst :: MonadIO m => ScannerConfig -> m ()-clearScannerConfigCsetIdentifierFirst s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data ScannerConfigCsetIdentifierFirstFieldInfo-instance AttrInfo ScannerConfigCsetIdentifierFirstFieldInfo where-    type AttrAllowedOps ScannerConfigCsetIdentifierFirstFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ScannerConfigCsetIdentifierFirstFieldInfo = (~) CString-    type AttrBaseTypeConstraint ScannerConfigCsetIdentifierFirstFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigCsetIdentifierFirstFieldInfo = Maybe T.Text-    type AttrLabel ScannerConfigCsetIdentifierFirstFieldInfo = "cset_identifier_first"-    type AttrOrigin ScannerConfigCsetIdentifierFirstFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigCsetIdentifierFirst-    attrSet _ = setScannerConfigCsetIdentifierFirst-    attrConstruct = undefined-    attrClear _ = clearScannerConfigCsetIdentifierFirst--scannerConfig_csetIdentifierFirst :: AttrLabelProxy "csetIdentifierFirst"-scannerConfig_csetIdentifierFirst = AttrLabelProxy--#endif---{- |-Get the value of the “@cset_identifier_nth@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #csetIdentifierNth-@--}-getScannerConfigCsetIdentifierNth :: MonadIO m => ScannerConfig -> m (Maybe T.Text)-getScannerConfigCsetIdentifierNth s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO CString-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- cstringToText val'-        return val''-    return result--{- |-Set the value of the “@cset_identifier_nth@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #csetIdentifierNth 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigCsetIdentifierNth :: MonadIO m => ScannerConfig -> CString -> m ()-setScannerConfigCsetIdentifierNth s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: CString)--{- |-Set the value of the “@cset_identifier_nth@” 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' #csetIdentifierNth-@--}-clearScannerConfigCsetIdentifierNth :: MonadIO m => ScannerConfig -> m ()-clearScannerConfigCsetIdentifierNth s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data ScannerConfigCsetIdentifierNthFieldInfo-instance AttrInfo ScannerConfigCsetIdentifierNthFieldInfo where-    type AttrAllowedOps ScannerConfigCsetIdentifierNthFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ScannerConfigCsetIdentifierNthFieldInfo = (~) CString-    type AttrBaseTypeConstraint ScannerConfigCsetIdentifierNthFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigCsetIdentifierNthFieldInfo = Maybe T.Text-    type AttrLabel ScannerConfigCsetIdentifierNthFieldInfo = "cset_identifier_nth"-    type AttrOrigin ScannerConfigCsetIdentifierNthFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigCsetIdentifierNth-    attrSet _ = setScannerConfigCsetIdentifierNth-    attrConstruct = undefined-    attrClear _ = clearScannerConfigCsetIdentifierNth--scannerConfig_csetIdentifierNth :: AttrLabelProxy "csetIdentifierNth"-scannerConfig_csetIdentifierNth = AttrLabelProxy--#endif---{- |-Get the value of the “@cpair_comment_single@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #cpairCommentSingle-@--}-getScannerConfigCpairCommentSingle :: MonadIO m => ScannerConfig -> m (Maybe T.Text)-getScannerConfigCpairCommentSingle s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO CString-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- cstringToText val'-        return val''-    return result--{- |-Set the value of the “@cpair_comment_single@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #cpairCommentSingle 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigCpairCommentSingle :: MonadIO m => ScannerConfig -> CString -> m ()-setScannerConfigCpairCommentSingle s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (val :: CString)--{- |-Set the value of the “@cpair_comment_single@” 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' #cpairCommentSingle-@--}-clearScannerConfigCpairCommentSingle :: MonadIO m => ScannerConfig -> m ()-clearScannerConfigCpairCommentSingle s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data ScannerConfigCpairCommentSingleFieldInfo-instance AttrInfo ScannerConfigCpairCommentSingleFieldInfo where-    type AttrAllowedOps ScannerConfigCpairCommentSingleFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ScannerConfigCpairCommentSingleFieldInfo = (~) CString-    type AttrBaseTypeConstraint ScannerConfigCpairCommentSingleFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigCpairCommentSingleFieldInfo = Maybe T.Text-    type AttrLabel ScannerConfigCpairCommentSingleFieldInfo = "cpair_comment_single"-    type AttrOrigin ScannerConfigCpairCommentSingleFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigCpairCommentSingle-    attrSet _ = setScannerConfigCpairCommentSingle-    attrConstruct = undefined-    attrClear _ = clearScannerConfigCpairCommentSingle--scannerConfig_cpairCommentSingle :: AttrLabelProxy "cpairCommentSingle"-scannerConfig_cpairCommentSingle = AttrLabelProxy--#endif---{- |-Get the value of the “@case_sensitive@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #caseSensitive-@--}-getScannerConfigCaseSensitive :: MonadIO m => ScannerConfig -> m Word32-getScannerConfigCaseSensitive s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 32) :: IO Word32-    return val--{- |-Set the value of the “@case_sensitive@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #caseSensitive 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigCaseSensitive :: MonadIO m => ScannerConfig -> Word32 -> m ()-setScannerConfigCaseSensitive s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 32) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerConfigCaseSensitiveFieldInfo-instance AttrInfo ScannerConfigCaseSensitiveFieldInfo where-    type AttrAllowedOps ScannerConfigCaseSensitiveFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerConfigCaseSensitiveFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerConfigCaseSensitiveFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigCaseSensitiveFieldInfo = Word32-    type AttrLabel ScannerConfigCaseSensitiveFieldInfo = "case_sensitive"-    type AttrOrigin ScannerConfigCaseSensitiveFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigCaseSensitive-    attrSet _ = setScannerConfigCaseSensitive-    attrConstruct = undefined-    attrClear _ = undefined--scannerConfig_caseSensitive :: AttrLabelProxy "caseSensitive"-scannerConfig_caseSensitive = AttrLabelProxy--#endif---{- |-Get the value of the “@skip_comment_multi@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #skipCommentMulti-@--}-getScannerConfigSkipCommentMulti :: MonadIO m => ScannerConfig -> m Word32-getScannerConfigSkipCommentMulti s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 36) :: IO Word32-    return val--{- |-Set the value of the “@skip_comment_multi@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #skipCommentMulti 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigSkipCommentMulti :: MonadIO m => ScannerConfig -> Word32 -> m ()-setScannerConfigSkipCommentMulti s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 36) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerConfigSkipCommentMultiFieldInfo-instance AttrInfo ScannerConfigSkipCommentMultiFieldInfo where-    type AttrAllowedOps ScannerConfigSkipCommentMultiFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerConfigSkipCommentMultiFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerConfigSkipCommentMultiFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigSkipCommentMultiFieldInfo = Word32-    type AttrLabel ScannerConfigSkipCommentMultiFieldInfo = "skip_comment_multi"-    type AttrOrigin ScannerConfigSkipCommentMultiFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigSkipCommentMulti-    attrSet _ = setScannerConfigSkipCommentMulti-    attrConstruct = undefined-    attrClear _ = undefined--scannerConfig_skipCommentMulti :: AttrLabelProxy "skipCommentMulti"-scannerConfig_skipCommentMulti = AttrLabelProxy--#endif---{- |-Get the value of the “@skip_comment_single@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #skipCommentSingle-@--}-getScannerConfigSkipCommentSingle :: MonadIO m => ScannerConfig -> m Word32-getScannerConfigSkipCommentSingle s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 40) :: IO Word32-    return val--{- |-Set the value of the “@skip_comment_single@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #skipCommentSingle 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigSkipCommentSingle :: MonadIO m => ScannerConfig -> Word32 -> m ()-setScannerConfigSkipCommentSingle s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 40) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerConfigSkipCommentSingleFieldInfo-instance AttrInfo ScannerConfigSkipCommentSingleFieldInfo where-    type AttrAllowedOps ScannerConfigSkipCommentSingleFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerConfigSkipCommentSingleFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerConfigSkipCommentSingleFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigSkipCommentSingleFieldInfo = Word32-    type AttrLabel ScannerConfigSkipCommentSingleFieldInfo = "skip_comment_single"-    type AttrOrigin ScannerConfigSkipCommentSingleFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigSkipCommentSingle-    attrSet _ = setScannerConfigSkipCommentSingle-    attrConstruct = undefined-    attrClear _ = undefined--scannerConfig_skipCommentSingle :: AttrLabelProxy "skipCommentSingle"-scannerConfig_skipCommentSingle = AttrLabelProxy--#endif---{- |-Get the value of the “@scan_comment_multi@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #scanCommentMulti-@--}-getScannerConfigScanCommentMulti :: MonadIO m => ScannerConfig -> m Word32-getScannerConfigScanCommentMulti s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 44) :: IO Word32-    return val--{- |-Set the value of the “@scan_comment_multi@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #scanCommentMulti 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigScanCommentMulti :: MonadIO m => ScannerConfig -> Word32 -> m ()-setScannerConfigScanCommentMulti s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 44) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerConfigScanCommentMultiFieldInfo-instance AttrInfo ScannerConfigScanCommentMultiFieldInfo where-    type AttrAllowedOps ScannerConfigScanCommentMultiFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerConfigScanCommentMultiFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerConfigScanCommentMultiFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigScanCommentMultiFieldInfo = Word32-    type AttrLabel ScannerConfigScanCommentMultiFieldInfo = "scan_comment_multi"-    type AttrOrigin ScannerConfigScanCommentMultiFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigScanCommentMulti-    attrSet _ = setScannerConfigScanCommentMulti-    attrConstruct = undefined-    attrClear _ = undefined--scannerConfig_scanCommentMulti :: AttrLabelProxy "scanCommentMulti"-scannerConfig_scanCommentMulti = AttrLabelProxy--#endif---{- |-Get the value of the “@scan_identifier@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #scanIdentifier-@--}-getScannerConfigScanIdentifier :: MonadIO m => ScannerConfig -> m Word32-getScannerConfigScanIdentifier s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 48) :: IO Word32-    return val--{- |-Set the value of the “@scan_identifier@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #scanIdentifier 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigScanIdentifier :: MonadIO m => ScannerConfig -> Word32 -> m ()-setScannerConfigScanIdentifier s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 48) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerConfigScanIdentifierFieldInfo-instance AttrInfo ScannerConfigScanIdentifierFieldInfo where-    type AttrAllowedOps ScannerConfigScanIdentifierFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerConfigScanIdentifierFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerConfigScanIdentifierFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigScanIdentifierFieldInfo = Word32-    type AttrLabel ScannerConfigScanIdentifierFieldInfo = "scan_identifier"-    type AttrOrigin ScannerConfigScanIdentifierFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigScanIdentifier-    attrSet _ = setScannerConfigScanIdentifier-    attrConstruct = undefined-    attrClear _ = undefined--scannerConfig_scanIdentifier :: AttrLabelProxy "scanIdentifier"-scannerConfig_scanIdentifier = AttrLabelProxy--#endif---{- |-Get the value of the “@scan_identifier_1char@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #scanIdentifier1char-@--}-getScannerConfigScanIdentifier1char :: MonadIO m => ScannerConfig -> m Word32-getScannerConfigScanIdentifier1char s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 52) :: IO Word32-    return val--{- |-Set the value of the “@scan_identifier_1char@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #scanIdentifier1char 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigScanIdentifier1char :: MonadIO m => ScannerConfig -> Word32 -> m ()-setScannerConfigScanIdentifier1char s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 52) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerConfigScanIdentifier1charFieldInfo-instance AttrInfo ScannerConfigScanIdentifier1charFieldInfo where-    type AttrAllowedOps ScannerConfigScanIdentifier1charFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerConfigScanIdentifier1charFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerConfigScanIdentifier1charFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigScanIdentifier1charFieldInfo = Word32-    type AttrLabel ScannerConfigScanIdentifier1charFieldInfo = "scan_identifier_1char"-    type AttrOrigin ScannerConfigScanIdentifier1charFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigScanIdentifier1char-    attrSet _ = setScannerConfigScanIdentifier1char-    attrConstruct = undefined-    attrClear _ = undefined--scannerConfig_scanIdentifier1char :: AttrLabelProxy "scanIdentifier1char"-scannerConfig_scanIdentifier1char = AttrLabelProxy--#endif---{- |-Get the value of the “@scan_identifier_NULL@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #scanIdentifierNULL-@--}-getScannerConfigScanIdentifierNULL :: MonadIO m => ScannerConfig -> m Word32-getScannerConfigScanIdentifierNULL s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 56) :: IO Word32-    return val--{- |-Set the value of the “@scan_identifier_NULL@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #scanIdentifierNULL 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigScanIdentifierNULL :: MonadIO m => ScannerConfig -> Word32 -> m ()-setScannerConfigScanIdentifierNULL s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 56) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerConfigScanIdentifierNULLFieldInfo-instance AttrInfo ScannerConfigScanIdentifierNULLFieldInfo where-    type AttrAllowedOps ScannerConfigScanIdentifierNULLFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerConfigScanIdentifierNULLFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerConfigScanIdentifierNULLFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigScanIdentifierNULLFieldInfo = Word32-    type AttrLabel ScannerConfigScanIdentifierNULLFieldInfo = "scan_identifier_NULL"-    type AttrOrigin ScannerConfigScanIdentifierNULLFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigScanIdentifierNULL-    attrSet _ = setScannerConfigScanIdentifierNULL-    attrConstruct = undefined-    attrClear _ = undefined--scannerConfig_scanIdentifierNULL :: AttrLabelProxy "scanIdentifierNULL"-scannerConfig_scanIdentifierNULL = AttrLabelProxy--#endif---{- |-Get the value of the “@scan_symbols@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #scanSymbols-@--}-getScannerConfigScanSymbols :: MonadIO m => ScannerConfig -> m Word32-getScannerConfigScanSymbols s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 60) :: IO Word32-    return val--{- |-Set the value of the “@scan_symbols@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #scanSymbols 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigScanSymbols :: MonadIO m => ScannerConfig -> Word32 -> m ()-setScannerConfigScanSymbols s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 60) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerConfigScanSymbolsFieldInfo-instance AttrInfo ScannerConfigScanSymbolsFieldInfo where-    type AttrAllowedOps ScannerConfigScanSymbolsFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerConfigScanSymbolsFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerConfigScanSymbolsFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigScanSymbolsFieldInfo = Word32-    type AttrLabel ScannerConfigScanSymbolsFieldInfo = "scan_symbols"-    type AttrOrigin ScannerConfigScanSymbolsFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigScanSymbols-    attrSet _ = setScannerConfigScanSymbols-    attrConstruct = undefined-    attrClear _ = undefined--scannerConfig_scanSymbols :: AttrLabelProxy "scanSymbols"-scannerConfig_scanSymbols = AttrLabelProxy--#endif---{- |-Get the value of the “@scan_binary@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #scanBinary-@--}-getScannerConfigScanBinary :: MonadIO m => ScannerConfig -> m Word32-getScannerConfigScanBinary s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 64) :: IO Word32-    return val--{- |-Set the value of the “@scan_binary@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #scanBinary 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigScanBinary :: MonadIO m => ScannerConfig -> Word32 -> m ()-setScannerConfigScanBinary s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 64) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerConfigScanBinaryFieldInfo-instance AttrInfo ScannerConfigScanBinaryFieldInfo where-    type AttrAllowedOps ScannerConfigScanBinaryFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerConfigScanBinaryFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerConfigScanBinaryFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigScanBinaryFieldInfo = Word32-    type AttrLabel ScannerConfigScanBinaryFieldInfo = "scan_binary"-    type AttrOrigin ScannerConfigScanBinaryFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigScanBinary-    attrSet _ = setScannerConfigScanBinary-    attrConstruct = undefined-    attrClear _ = undefined--scannerConfig_scanBinary :: AttrLabelProxy "scanBinary"-scannerConfig_scanBinary = AttrLabelProxy--#endif---{- |-Get the value of the “@scan_octal@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #scanOctal-@--}-getScannerConfigScanOctal :: MonadIO m => ScannerConfig -> m Word32-getScannerConfigScanOctal s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 68) :: IO Word32-    return val--{- |-Set the value of the “@scan_octal@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #scanOctal 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigScanOctal :: MonadIO m => ScannerConfig -> Word32 -> m ()-setScannerConfigScanOctal s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 68) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerConfigScanOctalFieldInfo-instance AttrInfo ScannerConfigScanOctalFieldInfo where-    type AttrAllowedOps ScannerConfigScanOctalFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerConfigScanOctalFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerConfigScanOctalFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigScanOctalFieldInfo = Word32-    type AttrLabel ScannerConfigScanOctalFieldInfo = "scan_octal"-    type AttrOrigin ScannerConfigScanOctalFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigScanOctal-    attrSet _ = setScannerConfigScanOctal-    attrConstruct = undefined-    attrClear _ = undefined--scannerConfig_scanOctal :: AttrLabelProxy "scanOctal"-scannerConfig_scanOctal = AttrLabelProxy--#endif---{- |-Get the value of the “@scan_float@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #scanFloat-@--}-getScannerConfigScanFloat :: MonadIO m => ScannerConfig -> m Word32-getScannerConfigScanFloat s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 72) :: IO Word32-    return val--{- |-Set the value of the “@scan_float@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #scanFloat 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigScanFloat :: MonadIO m => ScannerConfig -> Word32 -> m ()-setScannerConfigScanFloat s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 72) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerConfigScanFloatFieldInfo-instance AttrInfo ScannerConfigScanFloatFieldInfo where-    type AttrAllowedOps ScannerConfigScanFloatFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerConfigScanFloatFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerConfigScanFloatFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigScanFloatFieldInfo = Word32-    type AttrLabel ScannerConfigScanFloatFieldInfo = "scan_float"-    type AttrOrigin ScannerConfigScanFloatFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigScanFloat-    attrSet _ = setScannerConfigScanFloat-    attrConstruct = undefined-    attrClear _ = undefined--scannerConfig_scanFloat :: AttrLabelProxy "scanFloat"-scannerConfig_scanFloat = AttrLabelProxy--#endif---{- |-Get the value of the “@scan_hex@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #scanHex-@--}-getScannerConfigScanHex :: MonadIO m => ScannerConfig -> m Word32-getScannerConfigScanHex s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 76) :: IO Word32-    return val--{- |-Set the value of the “@scan_hex@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #scanHex 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigScanHex :: MonadIO m => ScannerConfig -> Word32 -> m ()-setScannerConfigScanHex s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 76) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerConfigScanHexFieldInfo-instance AttrInfo ScannerConfigScanHexFieldInfo where-    type AttrAllowedOps ScannerConfigScanHexFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerConfigScanHexFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerConfigScanHexFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigScanHexFieldInfo = Word32-    type AttrLabel ScannerConfigScanHexFieldInfo = "scan_hex"-    type AttrOrigin ScannerConfigScanHexFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigScanHex-    attrSet _ = setScannerConfigScanHex-    attrConstruct = undefined-    attrClear _ = undefined--scannerConfig_scanHex :: AttrLabelProxy "scanHex"-scannerConfig_scanHex = AttrLabelProxy--#endif---{- |-Get the value of the “@scan_hex_dollar@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #scanHexDollar-@--}-getScannerConfigScanHexDollar :: MonadIO m => ScannerConfig -> m Word32-getScannerConfigScanHexDollar s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 80) :: IO Word32-    return val--{- |-Set the value of the “@scan_hex_dollar@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #scanHexDollar 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigScanHexDollar :: MonadIO m => ScannerConfig -> Word32 -> m ()-setScannerConfigScanHexDollar s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 80) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerConfigScanHexDollarFieldInfo-instance AttrInfo ScannerConfigScanHexDollarFieldInfo where-    type AttrAllowedOps ScannerConfigScanHexDollarFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerConfigScanHexDollarFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerConfigScanHexDollarFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigScanHexDollarFieldInfo = Word32-    type AttrLabel ScannerConfigScanHexDollarFieldInfo = "scan_hex_dollar"-    type AttrOrigin ScannerConfigScanHexDollarFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigScanHexDollar-    attrSet _ = setScannerConfigScanHexDollar-    attrConstruct = undefined-    attrClear _ = undefined--scannerConfig_scanHexDollar :: AttrLabelProxy "scanHexDollar"-scannerConfig_scanHexDollar = AttrLabelProxy--#endif---{- |-Get the value of the “@scan_string_sq@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #scanStringSq-@--}-getScannerConfigScanStringSq :: MonadIO m => ScannerConfig -> m Word32-getScannerConfigScanStringSq s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 84) :: IO Word32-    return val--{- |-Set the value of the “@scan_string_sq@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #scanStringSq 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigScanStringSq :: MonadIO m => ScannerConfig -> Word32 -> m ()-setScannerConfigScanStringSq s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 84) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerConfigScanStringSqFieldInfo-instance AttrInfo ScannerConfigScanStringSqFieldInfo where-    type AttrAllowedOps ScannerConfigScanStringSqFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerConfigScanStringSqFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerConfigScanStringSqFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigScanStringSqFieldInfo = Word32-    type AttrLabel ScannerConfigScanStringSqFieldInfo = "scan_string_sq"-    type AttrOrigin ScannerConfigScanStringSqFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigScanStringSq-    attrSet _ = setScannerConfigScanStringSq-    attrConstruct = undefined-    attrClear _ = undefined--scannerConfig_scanStringSq :: AttrLabelProxy "scanStringSq"-scannerConfig_scanStringSq = AttrLabelProxy--#endif---{- |-Get the value of the “@scan_string_dq@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #scanStringDq-@--}-getScannerConfigScanStringDq :: MonadIO m => ScannerConfig -> m Word32-getScannerConfigScanStringDq s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 88) :: IO Word32-    return val--{- |-Set the value of the “@scan_string_dq@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #scanStringDq 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigScanStringDq :: MonadIO m => ScannerConfig -> Word32 -> m ()-setScannerConfigScanStringDq s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 88) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerConfigScanStringDqFieldInfo-instance AttrInfo ScannerConfigScanStringDqFieldInfo where-    type AttrAllowedOps ScannerConfigScanStringDqFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerConfigScanStringDqFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerConfigScanStringDqFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigScanStringDqFieldInfo = Word32-    type AttrLabel ScannerConfigScanStringDqFieldInfo = "scan_string_dq"-    type AttrOrigin ScannerConfigScanStringDqFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigScanStringDq-    attrSet _ = setScannerConfigScanStringDq-    attrConstruct = undefined-    attrClear _ = undefined--scannerConfig_scanStringDq :: AttrLabelProxy "scanStringDq"-scannerConfig_scanStringDq = AttrLabelProxy--#endif---{- |-Get the value of the “@numbers_2_int@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #numbers2Int-@--}-getScannerConfigNumbers2Int :: MonadIO m => ScannerConfig -> m Word32-getScannerConfigNumbers2Int s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 92) :: IO Word32-    return val--{- |-Set the value of the “@numbers_2_int@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #numbers2Int 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigNumbers2Int :: MonadIO m => ScannerConfig -> Word32 -> m ()-setScannerConfigNumbers2Int s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 92) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerConfigNumbers2IntFieldInfo-instance AttrInfo ScannerConfigNumbers2IntFieldInfo where-    type AttrAllowedOps ScannerConfigNumbers2IntFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerConfigNumbers2IntFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerConfigNumbers2IntFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigNumbers2IntFieldInfo = Word32-    type AttrLabel ScannerConfigNumbers2IntFieldInfo = "numbers_2_int"-    type AttrOrigin ScannerConfigNumbers2IntFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigNumbers2Int-    attrSet _ = setScannerConfigNumbers2Int-    attrConstruct = undefined-    attrClear _ = undefined--scannerConfig_numbers2Int :: AttrLabelProxy "numbers2Int"-scannerConfig_numbers2Int = AttrLabelProxy--#endif---{- |-Get the value of the “@int_2_float@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #int2Float-@--}-getScannerConfigInt2Float :: MonadIO m => ScannerConfig -> m Word32-getScannerConfigInt2Float s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 96) :: IO Word32-    return val--{- |-Set the value of the “@int_2_float@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #int2Float 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigInt2Float :: MonadIO m => ScannerConfig -> Word32 -> m ()-setScannerConfigInt2Float s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 96) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerConfigInt2FloatFieldInfo-instance AttrInfo ScannerConfigInt2FloatFieldInfo where-    type AttrAllowedOps ScannerConfigInt2FloatFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerConfigInt2FloatFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerConfigInt2FloatFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigInt2FloatFieldInfo = Word32-    type AttrLabel ScannerConfigInt2FloatFieldInfo = "int_2_float"-    type AttrOrigin ScannerConfigInt2FloatFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigInt2Float-    attrSet _ = setScannerConfigInt2Float-    attrConstruct = undefined-    attrClear _ = undefined--scannerConfig_int2Float :: AttrLabelProxy "int2Float"-scannerConfig_int2Float = AttrLabelProxy--#endif---{- |-Get the value of the “@identifier_2_string@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #identifier2String-@--}-getScannerConfigIdentifier2String :: MonadIO m => ScannerConfig -> m Word32-getScannerConfigIdentifier2String s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 100) :: IO Word32-    return val--{- |-Set the value of the “@identifier_2_string@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #identifier2String 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigIdentifier2String :: MonadIO m => ScannerConfig -> Word32 -> m ()-setScannerConfigIdentifier2String s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 100) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerConfigIdentifier2StringFieldInfo-instance AttrInfo ScannerConfigIdentifier2StringFieldInfo where-    type AttrAllowedOps ScannerConfigIdentifier2StringFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerConfigIdentifier2StringFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerConfigIdentifier2StringFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigIdentifier2StringFieldInfo = Word32-    type AttrLabel ScannerConfigIdentifier2StringFieldInfo = "identifier_2_string"-    type AttrOrigin ScannerConfigIdentifier2StringFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigIdentifier2String-    attrSet _ = setScannerConfigIdentifier2String-    attrConstruct = undefined-    attrClear _ = undefined--scannerConfig_identifier2String :: AttrLabelProxy "identifier2String"-scannerConfig_identifier2String = AttrLabelProxy--#endif---{- |-Get the value of the “@char_2_token@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #char2Token-@--}-getScannerConfigChar2Token :: MonadIO m => ScannerConfig -> m Word32-getScannerConfigChar2Token s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 104) :: IO Word32-    return val--{- |-Set the value of the “@char_2_token@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #char2Token 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigChar2Token :: MonadIO m => ScannerConfig -> Word32 -> m ()-setScannerConfigChar2Token s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 104) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerConfigChar2TokenFieldInfo-instance AttrInfo ScannerConfigChar2TokenFieldInfo where-    type AttrAllowedOps ScannerConfigChar2TokenFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerConfigChar2TokenFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerConfigChar2TokenFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigChar2TokenFieldInfo = Word32-    type AttrLabel ScannerConfigChar2TokenFieldInfo = "char_2_token"-    type AttrOrigin ScannerConfigChar2TokenFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigChar2Token-    attrSet _ = setScannerConfigChar2Token-    attrConstruct = undefined-    attrClear _ = undefined--scannerConfig_char2Token :: AttrLabelProxy "char2Token"-scannerConfig_char2Token = AttrLabelProxy--#endif---{- |-Get the value of the “@symbol_2_token@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #symbol2Token-@--}-getScannerConfigSymbol2Token :: MonadIO m => ScannerConfig -> m Word32-getScannerConfigSymbol2Token s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 108) :: IO Word32-    return val--{- |-Set the value of the “@symbol_2_token@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #symbol2Token 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigSymbol2Token :: MonadIO m => ScannerConfig -> Word32 -> m ()-setScannerConfigSymbol2Token s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 108) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerConfigSymbol2TokenFieldInfo-instance AttrInfo ScannerConfigSymbol2TokenFieldInfo where-    type AttrAllowedOps ScannerConfigSymbol2TokenFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerConfigSymbol2TokenFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerConfigSymbol2TokenFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigSymbol2TokenFieldInfo = Word32-    type AttrLabel ScannerConfigSymbol2TokenFieldInfo = "symbol_2_token"-    type AttrOrigin ScannerConfigSymbol2TokenFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigSymbol2Token-    attrSet _ = setScannerConfigSymbol2Token-    attrConstruct = undefined-    attrClear _ = undefined--scannerConfig_symbol2Token :: AttrLabelProxy "symbol2Token"-scannerConfig_symbol2Token = AttrLabelProxy--#endif---{- |-Get the value of the “@scope_0_fallback@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #scope0Fallback-@--}-getScannerConfigScope0Fallback :: MonadIO m => ScannerConfig -> m Word32-getScannerConfigScope0Fallback s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 112) :: IO Word32-    return val--{- |-Set the value of the “@scope_0_fallback@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #scope0Fallback 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigScope0Fallback :: MonadIO m => ScannerConfig -> Word32 -> m ()-setScannerConfigScope0Fallback s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 112) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerConfigScope0FallbackFieldInfo-instance AttrInfo ScannerConfigScope0FallbackFieldInfo where-    type AttrAllowedOps ScannerConfigScope0FallbackFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerConfigScope0FallbackFieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerConfigScope0FallbackFieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigScope0FallbackFieldInfo = Word32-    type AttrLabel ScannerConfigScope0FallbackFieldInfo = "scope_0_fallback"-    type AttrOrigin ScannerConfigScope0FallbackFieldInfo = ScannerConfig-    attrGet _ = getScannerConfigScope0Fallback-    attrSet _ = setScannerConfigScope0Fallback-    attrConstruct = undefined-    attrClear _ = undefined--scannerConfig_scope0Fallback :: AttrLabelProxy "scope0Fallback"-scannerConfig_scope0Fallback = AttrLabelProxy--#endif---{- |-Get the value of the “@store_int64@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' scannerConfig #storeInt64-@--}-getScannerConfigStoreInt64 :: MonadIO m => ScannerConfig -> m Word32-getScannerConfigStoreInt64 s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 116) :: IO Word32-    return val--{- |-Set the value of the “@store_int64@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' scannerConfig [ #storeInt64 'Data.GI.Base.Attributes.:=' value ]-@--}-setScannerConfigStoreInt64 :: MonadIO m => ScannerConfig -> Word32 -> m ()-setScannerConfigStoreInt64 s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 116) (val :: Word32)--#if ENABLE_OVERLOADING-data ScannerConfigStoreInt64FieldInfo-instance AttrInfo ScannerConfigStoreInt64FieldInfo where-    type AttrAllowedOps ScannerConfigStoreInt64FieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ScannerConfigStoreInt64FieldInfo = (~) Word32-    type AttrBaseTypeConstraint ScannerConfigStoreInt64FieldInfo = (~) ScannerConfig-    type AttrGetType ScannerConfigStoreInt64FieldInfo = Word32-    type AttrLabel ScannerConfigStoreInt64FieldInfo = "store_int64"-    type AttrOrigin ScannerConfigStoreInt64FieldInfo = ScannerConfig-    attrGet _ = getScannerConfigStoreInt64-    attrSet _ = setScannerConfigStoreInt64-    attrConstruct = undefined-    attrClear _ = undefined--scannerConfig_storeInt64 :: AttrLabelProxy "storeInt64"-scannerConfig_storeInt64 = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList ScannerConfig-type instance O.AttributeList ScannerConfig = ScannerConfigAttributeList-type ScannerConfigAttributeList = ('[ '("csetSkipCharacters", ScannerConfigCsetSkipCharactersFieldInfo), '("csetIdentifierFirst", ScannerConfigCsetIdentifierFirstFieldInfo), '("csetIdentifierNth", ScannerConfigCsetIdentifierNthFieldInfo), '("cpairCommentSingle", ScannerConfigCpairCommentSingleFieldInfo), '("caseSensitive", ScannerConfigCaseSensitiveFieldInfo), '("skipCommentMulti", ScannerConfigSkipCommentMultiFieldInfo), '("skipCommentSingle", ScannerConfigSkipCommentSingleFieldInfo), '("scanCommentMulti", ScannerConfigScanCommentMultiFieldInfo), '("scanIdentifier", ScannerConfigScanIdentifierFieldInfo), '("scanIdentifier1char", ScannerConfigScanIdentifier1charFieldInfo), '("scanIdentifierNULL", ScannerConfigScanIdentifierNULLFieldInfo), '("scanSymbols", ScannerConfigScanSymbolsFieldInfo), '("scanBinary", ScannerConfigScanBinaryFieldInfo), '("scanOctal", ScannerConfigScanOctalFieldInfo), '("scanFloat", ScannerConfigScanFloatFieldInfo), '("scanHex", ScannerConfigScanHexFieldInfo), '("scanHexDollar", ScannerConfigScanHexDollarFieldInfo), '("scanStringSq", ScannerConfigScanStringSqFieldInfo), '("scanStringDq", ScannerConfigScanStringDqFieldInfo), '("numbers2Int", ScannerConfigNumbers2IntFieldInfo), '("int2Float", ScannerConfigInt2FloatFieldInfo), '("identifier2String", ScannerConfigIdentifier2StringFieldInfo), '("char2Token", ScannerConfigChar2TokenFieldInfo), '("symbol2Token", ScannerConfigSymbol2TokenFieldInfo), '("scope0Fallback", ScannerConfigScope0FallbackFieldInfo), '("storeInt64", ScannerConfigStoreInt64FieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveScannerConfigMethod (t :: Symbol) (o :: *) :: * where-    ResolveScannerConfigMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveScannerConfigMethod t ScannerConfig, O.MethodInfo info ScannerConfig p) => OL.IsLabel t (ScannerConfig -> 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/GLib/Structs/ScannerConfig.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.ScannerConfig 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 ScannerConfig = ScannerConfig (ManagedPtr ScannerConfig)-instance WrappedPtr ScannerConfig where
− GI/GLib/Structs/Sequence.hs
@@ -1,864 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The 'GI.GLib.Structs.Sequence.Sequence' struct is an opaque data type representing a-[sequence][glib-Sequences] data type.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.Sequence-    ( ---- * Exported types-    Sequence(..)                            ,-    noSequence                              ,--- -- * Methods--- ** append #method:append#--#if ENABLE_OVERLOADING-    SequenceAppendMethodInfo                ,-#endif-    sequenceAppend                          ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    SequenceFreeMethodInfo                  ,-#endif-    sequenceFree                            ,----- ** get #method:get#--    sequenceGet                             ,----- ** getBeginIter #method:getBeginIter#--#if ENABLE_OVERLOADING-    SequenceGetBeginIterMethodInfo          ,-#endif-    sequenceGetBeginIter                    ,----- ** getEndIter #method:getEndIter#--#if ENABLE_OVERLOADING-    SequenceGetEndIterMethodInfo            ,-#endif-    sequenceGetEndIter                      ,----- ** getIterAtPos #method:getIterAtPos#--#if ENABLE_OVERLOADING-    SequenceGetIterAtPosMethodInfo          ,-#endif-    sequenceGetIterAtPos                    ,----- ** getLength #method:getLength#--#if ENABLE_OVERLOADING-    SequenceGetLengthMethodInfo             ,-#endif-    sequenceGetLength                       ,----- ** insertBefore #method:insertBefore#--    sequenceInsertBefore                    ,----- ** isEmpty #method:isEmpty#--#if ENABLE_OVERLOADING-    SequenceIsEmptyMethodInfo               ,-#endif-    sequenceIsEmpty                         ,----- ** move #method:move#--    sequenceMove                            ,----- ** moveRange #method:moveRange#--    sequenceMoveRange                       ,----- ** prepend #method:prepend#--#if ENABLE_OVERLOADING-    SequencePrependMethodInfo               ,-#endif-    sequencePrepend                         ,----- ** rangeGetMidpoint #method:rangeGetMidpoint#--    sequenceRangeGetMidpoint                ,----- ** remove #method:remove#--    sequenceRemove                          ,----- ** removeRange #method:removeRange#--    sequenceRemoveRange                     ,----- ** set #method:set#--    sequenceSet                             ,----- ** swap #method:swap#--    sequenceSwap                            ,-----    ) 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.GLib.Structs.SequenceIter as GLib.SequenceIter---- | Memory-managed wrapper type.-newtype Sequence = Sequence (ManagedPtr Sequence)--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?-instance WrappedPtr Sequence where-    wrappedPtrCalloc = return nullPtr-    wrappedPtrCopy = return-    wrappedPtrFree = Nothing---- | A convenience alias for `Nothing` :: `Maybe` `Sequence`.-noSequence :: Maybe Sequence-noSequence = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList Sequence-type instance O.AttributeList Sequence = SequenceAttributeList-type SequenceAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method Sequence::append--- method type : OrdinaryMethod--- Args : [Arg {argCName = "seq", argType = TInterface (Name {namespace = "GLib", name = "Sequence"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequence", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data for the new item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "SequenceIter"}))--- throws : False--- Skip return : False--foreign import ccall "g_sequence_append" g_sequence_append :: -    Ptr Sequence ->                         -- seq : TInterface (Name {namespace = "GLib", name = "Sequence"})-    Ptr () ->                               -- data : TBasicType TPtr-    IO (Ptr GLib.SequenceIter.SequenceIter)--{- |-Adds a new item to the end of /@seq@/.--/Since: 2.14/--}-sequenceAppend ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Sequence-    {- ^ /@seq@/: a 'GI.GLib.Structs.Sequence.Sequence' -}-    -> Ptr ()-    {- ^ /@data@/: the data for the new item -}-    -> m GLib.SequenceIter.SequenceIter-    {- ^ __Returns:__ an iterator pointing to the new item -}-sequenceAppend seq data_ = liftIO $ do-    seq' <- unsafeManagedPtrGetPtr seq-    result <- g_sequence_append seq' data_-    checkUnexpectedReturnNULL "sequenceAppend" result-    result' <- (newPtr GLib.SequenceIter.SequenceIter) result-    touchManagedPtr seq-    return result'--#if ENABLE_OVERLOADING-data SequenceAppendMethodInfo-instance (signature ~ (Ptr () -> m GLib.SequenceIter.SequenceIter), MonadIO m) => O.MethodInfo SequenceAppendMethodInfo Sequence signature where-    overloadedMethod _ = sequenceAppend--#endif---- method Sequence::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "seq", argType = TInterface (Name {namespace = "GLib", name = "Sequence"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequence", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_sequence_free" g_sequence_free :: -    Ptr Sequence ->                         -- seq : TInterface (Name {namespace = "GLib", name = "Sequence"})-    IO ()--{- |-Frees the memory allocated for /@seq@/. If /@seq@/ has a data destroy-function associated with it, that function is called on all items-in /@seq@/.--/Since: 2.14/--}-sequenceFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Sequence-    {- ^ /@seq@/: a 'GI.GLib.Structs.Sequence.Sequence' -}-    -> m ()-sequenceFree seq = liftIO $ do-    seq' <- unsafeManagedPtrGetPtr seq-    g_sequence_free seq'-    touchManagedPtr seq-    return ()--#if ENABLE_OVERLOADING-data SequenceFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo SequenceFreeMethodInfo Sequence signature where-    overloadedMethod _ = sequenceFree--#endif---- method Sequence::get_begin_iter--- method type : OrdinaryMethod--- Args : [Arg {argCName = "seq", argType = TInterface (Name {namespace = "GLib", name = "Sequence"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequence", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "SequenceIter"}))--- throws : False--- Skip return : False--foreign import ccall "g_sequence_get_begin_iter" g_sequence_get_begin_iter :: -    Ptr Sequence ->                         -- seq : TInterface (Name {namespace = "GLib", name = "Sequence"})-    IO (Ptr GLib.SequenceIter.SequenceIter)--{- |-Returns the begin iterator for /@seq@/.--/Since: 2.14/--}-sequenceGetBeginIter ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Sequence-    {- ^ /@seq@/: a 'GI.GLib.Structs.Sequence.Sequence' -}-    -> m GLib.SequenceIter.SequenceIter-    {- ^ __Returns:__ the begin iterator for /@seq@/. -}-sequenceGetBeginIter seq = liftIO $ do-    seq' <- unsafeManagedPtrGetPtr seq-    result <- g_sequence_get_begin_iter seq'-    checkUnexpectedReturnNULL "sequenceGetBeginIter" result-    result' <- (newPtr GLib.SequenceIter.SequenceIter) result-    touchManagedPtr seq-    return result'--#if ENABLE_OVERLOADING-data SequenceGetBeginIterMethodInfo-instance (signature ~ (m GLib.SequenceIter.SequenceIter), MonadIO m) => O.MethodInfo SequenceGetBeginIterMethodInfo Sequence signature where-    overloadedMethod _ = sequenceGetBeginIter--#endif---- method Sequence::get_end_iter--- method type : OrdinaryMethod--- Args : [Arg {argCName = "seq", argType = TInterface (Name {namespace = "GLib", name = "Sequence"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequence", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "SequenceIter"}))--- throws : False--- Skip return : False--foreign import ccall "g_sequence_get_end_iter" g_sequence_get_end_iter :: -    Ptr Sequence ->                         -- seq : TInterface (Name {namespace = "GLib", name = "Sequence"})-    IO (Ptr GLib.SequenceIter.SequenceIter)--{- |-Returns the end iterator for /@seg@/--/Since: 2.14/--}-sequenceGetEndIter ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Sequence-    {- ^ /@seq@/: a 'GI.GLib.Structs.Sequence.Sequence' -}-    -> m GLib.SequenceIter.SequenceIter-    {- ^ __Returns:__ the end iterator for /@seq@/ -}-sequenceGetEndIter seq = liftIO $ do-    seq' <- unsafeManagedPtrGetPtr seq-    result <- g_sequence_get_end_iter seq'-    checkUnexpectedReturnNULL "sequenceGetEndIter" result-    result' <- (newPtr GLib.SequenceIter.SequenceIter) result-    touchManagedPtr seq-    return result'--#if ENABLE_OVERLOADING-data SequenceGetEndIterMethodInfo-instance (signature ~ (m GLib.SequenceIter.SequenceIter), MonadIO m) => O.MethodInfo SequenceGetEndIterMethodInfo Sequence signature where-    overloadedMethod _ = sequenceGetEndIter--#endif---- method Sequence::get_iter_at_pos--- method type : OrdinaryMethod--- Args : [Arg {argCName = "seq", argType = TInterface (Name {namespace = "GLib", name = "Sequence"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequence", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a position in @seq, or -1 for the end", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "SequenceIter"}))--- throws : False--- Skip return : False--foreign import ccall "g_sequence_get_iter_at_pos" g_sequence_get_iter_at_pos :: -    Ptr Sequence ->                         -- seq : TInterface (Name {namespace = "GLib", name = "Sequence"})-    Int32 ->                                -- pos : TBasicType TInt-    IO (Ptr GLib.SequenceIter.SequenceIter)--{- |-Returns the iterator at position /@pos@/. If /@pos@/ is negative or larger-than the number of items in /@seq@/, the end iterator is returned.--/Since: 2.14/--}-sequenceGetIterAtPos ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Sequence-    {- ^ /@seq@/: a 'GI.GLib.Structs.Sequence.Sequence' -}-    -> Int32-    {- ^ /@pos@/: a position in /@seq@/, or -1 for the end -}-    -> m GLib.SequenceIter.SequenceIter-    {- ^ __Returns:__ The 'GI.GLib.Structs.SequenceIter.SequenceIter' at position /@pos@/ -}-sequenceGetIterAtPos seq pos = liftIO $ do-    seq' <- unsafeManagedPtrGetPtr seq-    result <- g_sequence_get_iter_at_pos seq' pos-    checkUnexpectedReturnNULL "sequenceGetIterAtPos" result-    result' <- (newPtr GLib.SequenceIter.SequenceIter) result-    touchManagedPtr seq-    return result'--#if ENABLE_OVERLOADING-data SequenceGetIterAtPosMethodInfo-instance (signature ~ (Int32 -> m GLib.SequenceIter.SequenceIter), MonadIO m) => O.MethodInfo SequenceGetIterAtPosMethodInfo Sequence signature where-    overloadedMethod _ = sequenceGetIterAtPos--#endif---- method Sequence::get_length--- method type : OrdinaryMethod--- Args : [Arg {argCName = "seq", argType = TInterface (Name {namespace = "GLib", name = "Sequence"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequence", 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_sequence_get_length" g_sequence_get_length :: -    Ptr Sequence ->                         -- seq : TInterface (Name {namespace = "GLib", name = "Sequence"})-    IO Int32--{- |-Returns the length of /@seq@/. Note that this method is O(h) where \`h\' is the-height of the tree. It is thus more efficient to use 'GI.GLib.Structs.Sequence.sequenceIsEmpty'-when comparing the length to zero.--/Since: 2.14/--}-sequenceGetLength ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Sequence-    {- ^ /@seq@/: a 'GI.GLib.Structs.Sequence.Sequence' -}-    -> m Int32-    {- ^ __Returns:__ the length of /@seq@/ -}-sequenceGetLength seq = liftIO $ do-    seq' <- unsafeManagedPtrGetPtr seq-    result <- g_sequence_get_length seq'-    touchManagedPtr seq-    return result--#if ENABLE_OVERLOADING-data SequenceGetLengthMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo SequenceGetLengthMethodInfo Sequence signature where-    overloadedMethod _ = sequenceGetLength--#endif---- method Sequence::is_empty--- method type : OrdinaryMethod--- Args : [Arg {argCName = "seq", argType = TInterface (Name {namespace = "GLib", name = "Sequence"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequence", 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_sequence_is_empty" g_sequence_is_empty :: -    Ptr Sequence ->                         -- seq : TInterface (Name {namespace = "GLib", name = "Sequence"})-    IO CInt--{- |-Returns 'True' if the sequence contains zero items.--This function is functionally identical to checking the result of-'GI.GLib.Structs.Sequence.sequenceGetLength' being equal to zero. However this function is-implemented in O(1) running time.--/Since: 2.48/--}-sequenceIsEmpty ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Sequence-    {- ^ /@seq@/: a 'GI.GLib.Structs.Sequence.Sequence' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the sequence is empty, otherwise 'False'. -}-sequenceIsEmpty seq = liftIO $ do-    seq' <- unsafeManagedPtrGetPtr seq-    result <- g_sequence_is_empty seq'-    let result' = (/= 0) result-    touchManagedPtr seq-    return result'--#if ENABLE_OVERLOADING-data SequenceIsEmptyMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo SequenceIsEmptyMethodInfo Sequence signature where-    overloadedMethod _ = sequenceIsEmpty--#endif---- method Sequence::prepend--- method type : OrdinaryMethod--- Args : [Arg {argCName = "seq", argType = TInterface (Name {namespace = "GLib", name = "Sequence"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequence", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data for the new item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "SequenceIter"}))--- throws : False--- Skip return : False--foreign import ccall "g_sequence_prepend" g_sequence_prepend :: -    Ptr Sequence ->                         -- seq : TInterface (Name {namespace = "GLib", name = "Sequence"})-    Ptr () ->                               -- data : TBasicType TPtr-    IO (Ptr GLib.SequenceIter.SequenceIter)--{- |-Adds a new item to the front of /@seq@/--/Since: 2.14/--}-sequencePrepend ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Sequence-    {- ^ /@seq@/: a 'GI.GLib.Structs.Sequence.Sequence' -}-    -> Ptr ()-    {- ^ /@data@/: the data for the new item -}-    -> m GLib.SequenceIter.SequenceIter-    {- ^ __Returns:__ an iterator pointing to the new item -}-sequencePrepend seq data_ = liftIO $ do-    seq' <- unsafeManagedPtrGetPtr seq-    result <- g_sequence_prepend seq' data_-    checkUnexpectedReturnNULL "sequencePrepend" result-    result' <- (newPtr GLib.SequenceIter.SequenceIter) result-    touchManagedPtr seq-    return result'--#if ENABLE_OVERLOADING-data SequencePrependMethodInfo-instance (signature ~ (Ptr () -> m GLib.SequenceIter.SequenceIter), MonadIO m) => O.MethodInfo SequencePrependMethodInfo Sequence signature where-    overloadedMethod _ = sequencePrepend--#endif---- method Sequence::get--- method type : MemberFunction--- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_sequence_get" g_sequence_get :: -    Ptr GLib.SequenceIter.SequenceIter ->   -- iter : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    IO (Ptr ())--{- |-Returns the data that /@iter@/ points to.--/Since: 2.14/--}-sequenceGet ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.SequenceIter.SequenceIter-    {- ^ /@iter@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> m (Ptr ())-    {- ^ __Returns:__ the data that /@iter@/ points to -}-sequenceGet iter = liftIO $ do-    iter' <- unsafeManagedPtrGetPtr iter-    result <- g_sequence_get iter'-    touchManagedPtr iter-    return result--#if ENABLE_OVERLOADING-#endif---- method Sequence::insert_before--- method type : MemberFunction--- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data for the new item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "SequenceIter"}))--- throws : False--- Skip return : False--foreign import ccall "g_sequence_insert_before" g_sequence_insert_before :: -    Ptr GLib.SequenceIter.SequenceIter ->   -- iter : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    Ptr () ->                               -- data : TBasicType TPtr-    IO (Ptr GLib.SequenceIter.SequenceIter)--{- |-Inserts a new item just before the item pointed to by /@iter@/.--/Since: 2.14/--}-sequenceInsertBefore ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.SequenceIter.SequenceIter-    {- ^ /@iter@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> Ptr ()-    {- ^ /@data@/: the data for the new item -}-    -> m GLib.SequenceIter.SequenceIter-    {- ^ __Returns:__ an iterator pointing to the new item -}-sequenceInsertBefore iter data_ = liftIO $ do-    iter' <- unsafeManagedPtrGetPtr iter-    result <- g_sequence_insert_before iter' data_-    checkUnexpectedReturnNULL "sequenceInsertBefore" result-    result' <- (newPtr GLib.SequenceIter.SequenceIter) result-    touchManagedPtr iter-    return result'--#if ENABLE_OVERLOADING-#endif---- method Sequence::move--- method type : MemberFunction--- Args : [Arg {argCName = "src", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter pointing to the item to move", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dest", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter pointing to the position to which\n    the item is moved", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_sequence_move" g_sequence_move :: -    Ptr GLib.SequenceIter.SequenceIter ->   -- src : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    Ptr GLib.SequenceIter.SequenceIter ->   -- dest : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    IO ()--{- |-Moves the item pointed to by /@src@/ to the position indicated by /@dest@/.-After calling this function /@dest@/ will point to the position immediately-after /@src@/. It is allowed for /@src@/ and /@dest@/ to point into different-sequences.--/Since: 2.14/--}-sequenceMove ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.SequenceIter.SequenceIter-    {- ^ /@src@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' pointing to the item to move -}-    -> GLib.SequenceIter.SequenceIter-    {- ^ /@dest@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' pointing to the position to which-    the item is moved -}-    -> m ()-sequenceMove src dest = liftIO $ do-    src' <- unsafeManagedPtrGetPtr src-    dest' <- unsafeManagedPtrGetPtr dest-    g_sequence_move src' dest'-    touchManagedPtr src-    touchManagedPtr dest-    return ()--#if ENABLE_OVERLOADING-#endif---- method Sequence::move_range--- method type : MemberFunction--- Args : [Arg {argCName = "dest", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "begin", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_sequence_move_range" g_sequence_move_range :: -    Ptr GLib.SequenceIter.SequenceIter ->   -- dest : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    Ptr GLib.SequenceIter.SequenceIter ->   -- begin : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    Ptr GLib.SequenceIter.SequenceIter ->   -- end : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    IO ()--{- |-Inserts the (/@begin@/, /@end@/) range at the destination pointed to by /@dest@/.-The /@begin@/ and /@end@/ iters must point into the same sequence. It is-allowed for /@dest@/ to point to a different sequence than the one pointed-into by /@begin@/ and /@end@/.--If /@dest@/ is 'Nothing', the range indicated by /@begin@/ and /@end@/ is-removed from the sequence. If /@dest@/ points to a place within-the (/@begin@/, /@end@/) range, the range does not move.--/Since: 2.14/--}-sequenceMoveRange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.SequenceIter.SequenceIter-    {- ^ /@dest@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> GLib.SequenceIter.SequenceIter-    {- ^ /@begin@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> GLib.SequenceIter.SequenceIter-    {- ^ /@end@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> m ()-sequenceMoveRange dest begin end = liftIO $ do-    dest' <- unsafeManagedPtrGetPtr dest-    begin' <- unsafeManagedPtrGetPtr begin-    end' <- unsafeManagedPtrGetPtr end-    g_sequence_move_range dest' begin' end'-    touchManagedPtr dest-    touchManagedPtr begin-    touchManagedPtr end-    return ()--#if ENABLE_OVERLOADING-#endif---- method Sequence::range_get_midpoint--- method type : MemberFunction--- Args : [Arg {argCName = "begin", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "SequenceIter"}))--- throws : False--- Skip return : False--foreign import ccall "g_sequence_range_get_midpoint" g_sequence_range_get_midpoint :: -    Ptr GLib.SequenceIter.SequenceIter ->   -- begin : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    Ptr GLib.SequenceIter.SequenceIter ->   -- end : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    IO (Ptr GLib.SequenceIter.SequenceIter)--{- |-Finds an iterator somewhere in the range (/@begin@/, /@end@/). This-iterator will be close to the middle of the range, but is not-guaranteed to be exactly in the middle.--The /@begin@/ and /@end@/ iterators must both point to the same sequence-and /@begin@/ must come before or be equal to /@end@/ in the sequence.--/Since: 2.14/--}-sequenceRangeGetMidpoint ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.SequenceIter.SequenceIter-    {- ^ /@begin@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> GLib.SequenceIter.SequenceIter-    {- ^ /@end@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> m GLib.SequenceIter.SequenceIter-    {- ^ __Returns:__ a 'GI.GLib.Structs.SequenceIter.SequenceIter' pointing somewhere in the-   (/@begin@/, /@end@/) range -}-sequenceRangeGetMidpoint begin end = liftIO $ do-    begin' <- unsafeManagedPtrGetPtr begin-    end' <- unsafeManagedPtrGetPtr end-    result <- g_sequence_range_get_midpoint begin' end'-    checkUnexpectedReturnNULL "sequenceRangeGetMidpoint" result-    result' <- (newPtr GLib.SequenceIter.SequenceIter) result-    touchManagedPtr begin-    touchManagedPtr end-    return result'--#if ENABLE_OVERLOADING-#endif---- method Sequence::remove--- method type : MemberFunction--- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_sequence_remove" g_sequence_remove :: -    Ptr GLib.SequenceIter.SequenceIter ->   -- iter : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    IO ()--{- |-Removes the item pointed to by /@iter@/. It is an error to pass the-end iterator to this function.--If the sequence has a data destroy function associated with it, this-function is called on the data for the removed item.--/Since: 2.14/--}-sequenceRemove ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.SequenceIter.SequenceIter-    {- ^ /@iter@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> m ()-sequenceRemove iter = liftIO $ do-    iter' <- unsafeManagedPtrGetPtr iter-    g_sequence_remove iter'-    touchManagedPtr iter-    return ()--#if ENABLE_OVERLOADING-#endif---- method Sequence::remove_range--- method type : MemberFunction--- Args : [Arg {argCName = "begin", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "end", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_sequence_remove_range" g_sequence_remove_range :: -    Ptr GLib.SequenceIter.SequenceIter ->   -- begin : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    Ptr GLib.SequenceIter.SequenceIter ->   -- end : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    IO ()--{- |-Removes all items in the (/@begin@/, /@end@/) range.--If the sequence has a data destroy function associated with it, this-function is called on the data for the removed items.--/Since: 2.14/--}-sequenceRemoveRange ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.SequenceIter.SequenceIter-    {- ^ /@begin@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> GLib.SequenceIter.SequenceIter-    {- ^ /@end@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> m ()-sequenceRemoveRange begin end = liftIO $ do-    begin' <- unsafeManagedPtrGetPtr begin-    end' <- unsafeManagedPtrGetPtr end-    g_sequence_remove_range begin' end'-    touchManagedPtr begin-    touchManagedPtr end-    return ()--#if ENABLE_OVERLOADING-#endif---- method Sequence::set--- method type : MemberFunction--- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "new data for the item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_sequence_set" g_sequence_set :: -    Ptr GLib.SequenceIter.SequenceIter ->   -- iter : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    Ptr () ->                               -- data : TBasicType TPtr-    IO ()--{- |-Changes the data for the item pointed to by /@iter@/ to be /@data@/. If-the sequence has a data destroy function associated with it, that-function is called on the existing data that /@iter@/ pointed to.--/Since: 2.14/--}-sequenceSet ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.SequenceIter.SequenceIter-    {- ^ /@iter@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> Ptr ()-    {- ^ /@data@/: new data for the item -}-    -> m ()-sequenceSet iter data_ = liftIO $ do-    iter' <- unsafeManagedPtrGetPtr iter-    g_sequence_set iter' data_-    touchManagedPtr iter-    return ()--#if ENABLE_OVERLOADING-#endif---- method Sequence::swap--- method type : MemberFunction--- Args : [Arg {argCName = "a", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_sequence_swap" g_sequence_swap :: -    Ptr GLib.SequenceIter.SequenceIter ->   -- a : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    Ptr GLib.SequenceIter.SequenceIter ->   -- b : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    IO ()--{- |-Swaps the items pointed to by /@a@/ and /@b@/. It is allowed for /@a@/ and /@b@/-to point into difference sequences.--/Since: 2.14/--}-sequenceSwap ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.SequenceIter.SequenceIter-    {- ^ /@a@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> GLib.SequenceIter.SequenceIter-    {- ^ /@b@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> m ()-sequenceSwap a b = liftIO $ do-    a' <- unsafeManagedPtrGetPtr a-    b' <- unsafeManagedPtrGetPtr b-    g_sequence_swap a' b'-    touchManagedPtr a-    touchManagedPtr b-    return ()--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveSequenceMethod (t :: Symbol) (o :: *) :: * where-    ResolveSequenceMethod "append" o = SequenceAppendMethodInfo-    ResolveSequenceMethod "free" o = SequenceFreeMethodInfo-    ResolveSequenceMethod "isEmpty" o = SequenceIsEmptyMethodInfo-    ResolveSequenceMethod "prepend" o = SequencePrependMethodInfo-    ResolveSequenceMethod "getBeginIter" o = SequenceGetBeginIterMethodInfo-    ResolveSequenceMethod "getEndIter" o = SequenceGetEndIterMethodInfo-    ResolveSequenceMethod "getIterAtPos" o = SequenceGetIterAtPosMethodInfo-    ResolveSequenceMethod "getLength" o = SequenceGetLengthMethodInfo-    ResolveSequenceMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveSequenceMethod t Sequence, O.MethodInfo info Sequence p) => OL.IsLabel t (Sequence -> 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/GLib/Structs/Sequence.hs-boot
@@ -1,50 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.Sequence 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 Sequence = Sequence (ManagedPtr Sequence)-instance WrappedPtr Sequence where-#if ENABLE_OVERLOADING-data SequenceAppendMethodInfo-#endif-#if ENABLE_OVERLOADING-data SequenceFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data SequenceGetBeginIterMethodInfo-#endif-#if ENABLE_OVERLOADING-data SequenceGetEndIterMethodInfo-#endif-#if ENABLE_OVERLOADING-data SequenceGetIterAtPosMethodInfo-#endif-#if ENABLE_OVERLOADING-data SequenceGetLengthMethodInfo-#endif-#if ENABLE_OVERLOADING-data SequenceIsEmptyMethodInfo-#endif-#if ENABLE_OVERLOADING-data SequencePrependMethodInfo-#endif
− GI/GLib/Structs/SequenceIter.hs
@@ -1,471 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The 'GI.GLib.Structs.SequenceIter.SequenceIter' struct is an opaque data type representing an-iterator pointing into a 'GI.GLib.Structs.Sequence.Sequence'.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.SequenceIter-    ( ---- * Exported types-    SequenceIter(..)                        ,-    noSequenceIter                          ,--- -- * Methods--- ** compare #method:compare#--#if ENABLE_OVERLOADING-    SequenceIterCompareMethodInfo           ,-#endif-    sequenceIterCompare                     ,----- ** getPosition #method:getPosition#--#if ENABLE_OVERLOADING-    SequenceIterGetPositionMethodInfo       ,-#endif-    sequenceIterGetPosition                 ,----- ** getSequence #method:getSequence#--#if ENABLE_OVERLOADING-    SequenceIterGetSequenceMethodInfo       ,-#endif-    sequenceIterGetSequence                 ,----- ** isBegin #method:isBegin#--#if ENABLE_OVERLOADING-    SequenceIterIsBeginMethodInfo           ,-#endif-    sequenceIterIsBegin                     ,----- ** isEnd #method:isEnd#--#if ENABLE_OVERLOADING-    SequenceIterIsEndMethodInfo             ,-#endif-    sequenceIterIsEnd                       ,----- ** move #method:move#--#if ENABLE_OVERLOADING-    SequenceIterMoveMethodInfo              ,-#endif-    sequenceIterMove                        ,----- ** next #method:next#--#if ENABLE_OVERLOADING-    SequenceIterNextMethodInfo              ,-#endif-    sequenceIterNext                        ,----- ** prev #method:prev#--#if ENABLE_OVERLOADING-    SequenceIterPrevMethodInfo              ,-#endif-    sequenceIterPrev                        ,-----    ) 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.GLib.Structs.Sequence as GLib.Sequence---- | Memory-managed wrapper type.-newtype SequenceIter = SequenceIter (ManagedPtr SequenceIter)--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?-instance WrappedPtr SequenceIter where-    wrappedPtrCalloc = return nullPtr-    wrappedPtrCopy = return-    wrappedPtrFree = Nothing---- | A convenience alias for `Nothing` :: `Maybe` `SequenceIter`.-noSequenceIter :: Maybe SequenceIter-noSequenceIter = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList SequenceIter-type instance O.AttributeList SequenceIter = SequenceIterAttributeList-type SequenceIterAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method SequenceIter::compare--- method type : OrdinaryMethod--- Args : [Arg {argCName = "a", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", 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_sequence_iter_compare" g_sequence_iter_compare :: -    Ptr SequenceIter ->                     -- a : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    Ptr SequenceIter ->                     -- b : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    IO Int32--{- |-Returns a negative number if /@a@/ comes before /@b@/, 0 if they are equal,-and a positive number if /@a@/ comes after /@b@/.--The /@a@/ and /@b@/ iterators must point into the same sequence.--/Since: 2.14/--}-sequenceIterCompare ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    SequenceIter-    {- ^ /@a@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> SequenceIter-    {- ^ /@b@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> m Int32-    {- ^ __Returns:__ a negative number if /@a@/ comes before /@b@/, 0 if they are-    equal, and a positive number if /@a@/ comes after /@b@/ -}-sequenceIterCompare a b = liftIO $ do-    a' <- unsafeManagedPtrGetPtr a-    b' <- unsafeManagedPtrGetPtr b-    result <- g_sequence_iter_compare a' b'-    touchManagedPtr a-    touchManagedPtr b-    return result--#if ENABLE_OVERLOADING-data SequenceIterCompareMethodInfo-instance (signature ~ (SequenceIter -> m Int32), MonadIO m) => O.MethodInfo SequenceIterCompareMethodInfo SequenceIter signature where-    overloadedMethod _ = sequenceIterCompare--#endif---- method SequenceIter::get_position--- method type : OrdinaryMethod--- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", 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_sequence_iter_get_position" g_sequence_iter_get_position :: -    Ptr SequenceIter ->                     -- iter : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    IO Int32--{- |-Returns the position of /@iter@/--/Since: 2.14/--}-sequenceIterGetPosition ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    SequenceIter-    {- ^ /@iter@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> m Int32-    {- ^ __Returns:__ the position of /@iter@/ -}-sequenceIterGetPosition iter = liftIO $ do-    iter' <- unsafeManagedPtrGetPtr iter-    result <- g_sequence_iter_get_position iter'-    touchManagedPtr iter-    return result--#if ENABLE_OVERLOADING-data SequenceIterGetPositionMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo SequenceIterGetPositionMethodInfo SequenceIter signature where-    overloadedMethod _ = sequenceIterGetPosition--#endif---- method SequenceIter::get_sequence--- method type : OrdinaryMethod--- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Sequence"}))--- throws : False--- Skip return : False--foreign import ccall "g_sequence_iter_get_sequence" g_sequence_iter_get_sequence :: -    Ptr SequenceIter ->                     -- iter : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    IO (Ptr GLib.Sequence.Sequence)--{- |-Returns the 'GI.GLib.Structs.Sequence.Sequence' that /@iter@/ points into.--/Since: 2.14/--}-sequenceIterGetSequence ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    SequenceIter-    {- ^ /@iter@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> m GLib.Sequence.Sequence-    {- ^ __Returns:__ the 'GI.GLib.Structs.Sequence.Sequence' that /@iter@/ points into -}-sequenceIterGetSequence iter = liftIO $ do-    iter' <- unsafeManagedPtrGetPtr iter-    result <- g_sequence_iter_get_sequence iter'-    checkUnexpectedReturnNULL "sequenceIterGetSequence" result-    result' <- (newPtr GLib.Sequence.Sequence) result-    touchManagedPtr iter-    return result'--#if ENABLE_OVERLOADING-data SequenceIterGetSequenceMethodInfo-instance (signature ~ (m GLib.Sequence.Sequence), MonadIO m) => O.MethodInfo SequenceIterGetSequenceMethodInfo SequenceIter signature where-    overloadedMethod _ = sequenceIterGetSequence--#endif---- method SequenceIter::is_begin--- method type : OrdinaryMethod--- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", 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_sequence_iter_is_begin" g_sequence_iter_is_begin :: -    Ptr SequenceIter ->                     -- iter : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    IO CInt--{- |-Returns whether /@iter@/ is the begin iterator--/Since: 2.14/--}-sequenceIterIsBegin ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    SequenceIter-    {- ^ /@iter@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> m Bool-    {- ^ __Returns:__ whether /@iter@/ is the begin iterator -}-sequenceIterIsBegin iter = liftIO $ do-    iter' <- unsafeManagedPtrGetPtr iter-    result <- g_sequence_iter_is_begin iter'-    let result' = (/= 0) result-    touchManagedPtr iter-    return result'--#if ENABLE_OVERLOADING-data SequenceIterIsBeginMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo SequenceIterIsBeginMethodInfo SequenceIter signature where-    overloadedMethod _ = sequenceIterIsBegin--#endif---- method SequenceIter::is_end--- method type : OrdinaryMethod--- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", 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_sequence_iter_is_end" g_sequence_iter_is_end :: -    Ptr SequenceIter ->                     -- iter : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    IO CInt--{- |-Returns whether /@iter@/ is the end iterator--/Since: 2.14/--}-sequenceIterIsEnd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    SequenceIter-    {- ^ /@iter@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> m Bool-    {- ^ __Returns:__ Whether /@iter@/ is the end iterator -}-sequenceIterIsEnd iter = liftIO $ do-    iter' <- unsafeManagedPtrGetPtr iter-    result <- g_sequence_iter_is_end iter'-    let result' = (/= 0) result-    touchManagedPtr iter-    return result'--#if ENABLE_OVERLOADING-data SequenceIterIsEndMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo SequenceIterIsEndMethodInfo SequenceIter signature where-    overloadedMethod _ = sequenceIterIsEnd--#endif---- method SequenceIter::move--- method type : OrdinaryMethod--- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "delta", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A positive or negative number indicating how many positions away\n   from @iter the returned #GSequenceIter will be", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "SequenceIter"}))--- throws : False--- Skip return : False--foreign import ccall "g_sequence_iter_move" g_sequence_iter_move :: -    Ptr SequenceIter ->                     -- iter : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    Int32 ->                                -- delta : TBasicType TInt-    IO (Ptr SequenceIter)--{- |-Returns the 'GI.GLib.Structs.SequenceIter.SequenceIter' which is /@delta@/ positions away from /@iter@/.-If /@iter@/ is closer than -/@delta@/ positions to the beginning of the sequence,-the begin iterator is returned. If /@iter@/ is closer than /@delta@/ positions-to the end of the sequence, the end iterator is returned.--/Since: 2.14/--}-sequenceIterMove ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    SequenceIter-    {- ^ /@iter@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> Int32-    {- ^ /@delta@/: A positive or negative number indicating how many positions away-   from /@iter@/ the returned 'GI.GLib.Structs.SequenceIter.SequenceIter' will be -}-    -> m SequenceIter-    {- ^ __Returns:__ a 'GI.GLib.Structs.SequenceIter.SequenceIter' which is /@delta@/ positions away from /@iter@/ -}-sequenceIterMove iter delta = liftIO $ do-    iter' <- unsafeManagedPtrGetPtr iter-    result <- g_sequence_iter_move iter' delta-    checkUnexpectedReturnNULL "sequenceIterMove" result-    result' <- (newPtr SequenceIter) result-    touchManagedPtr iter-    return result'--#if ENABLE_OVERLOADING-data SequenceIterMoveMethodInfo-instance (signature ~ (Int32 -> m SequenceIter), MonadIO m) => O.MethodInfo SequenceIterMoveMethodInfo SequenceIter signature where-    overloadedMethod _ = sequenceIterMove--#endif---- method SequenceIter::next--- method type : OrdinaryMethod--- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "SequenceIter"}))--- throws : False--- Skip return : False--foreign import ccall "g_sequence_iter_next" g_sequence_iter_next :: -    Ptr SequenceIter ->                     -- iter : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    IO (Ptr SequenceIter)--{- |-Returns an iterator pointing to the next position after /@iter@/.-If /@iter@/ is the end iterator, the end iterator is returned.--/Since: 2.14/--}-sequenceIterNext ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    SequenceIter-    {- ^ /@iter@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> m SequenceIter-    {- ^ __Returns:__ a 'GI.GLib.Structs.SequenceIter.SequenceIter' pointing to the next position after /@iter@/ -}-sequenceIterNext iter = liftIO $ do-    iter' <- unsafeManagedPtrGetPtr iter-    result <- g_sequence_iter_next iter'-    checkUnexpectedReturnNULL "sequenceIterNext" result-    result' <- (newPtr SequenceIter) result-    touchManagedPtr iter-    return result'--#if ENABLE_OVERLOADING-data SequenceIterNextMethodInfo-instance (signature ~ (m SequenceIter), MonadIO m) => O.MethodInfo SequenceIterNextMethodInfo SequenceIter signature where-    overloadedMethod _ = sequenceIterNext--#endif---- method SequenceIter::prev--- method type : OrdinaryMethod--- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "GLib", name = "SequenceIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSequenceIter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "SequenceIter"}))--- throws : False--- Skip return : False--foreign import ccall "g_sequence_iter_prev" g_sequence_iter_prev :: -    Ptr SequenceIter ->                     -- iter : TInterface (Name {namespace = "GLib", name = "SequenceIter"})-    IO (Ptr SequenceIter)--{- |-Returns an iterator pointing to the previous position before /@iter@/.-If /@iter@/ is the begin iterator, the begin iterator is returned.--/Since: 2.14/--}-sequenceIterPrev ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    SequenceIter-    {- ^ /@iter@/: a 'GI.GLib.Structs.SequenceIter.SequenceIter' -}-    -> m SequenceIter-    {- ^ __Returns:__ a 'GI.GLib.Structs.SequenceIter.SequenceIter' pointing to the previous position-    before /@iter@/ -}-sequenceIterPrev iter = liftIO $ do-    iter' <- unsafeManagedPtrGetPtr iter-    result <- g_sequence_iter_prev iter'-    checkUnexpectedReturnNULL "sequenceIterPrev" result-    result' <- (newPtr SequenceIter) result-    touchManagedPtr iter-    return result'--#if ENABLE_OVERLOADING-data SequenceIterPrevMethodInfo-instance (signature ~ (m SequenceIter), MonadIO m) => O.MethodInfo SequenceIterPrevMethodInfo SequenceIter signature where-    overloadedMethod _ = sequenceIterPrev--#endif--#if ENABLE_OVERLOADING-type family ResolveSequenceIterMethod (t :: Symbol) (o :: *) :: * where-    ResolveSequenceIterMethod "compare" o = SequenceIterCompareMethodInfo-    ResolveSequenceIterMethod "isBegin" o = SequenceIterIsBeginMethodInfo-    ResolveSequenceIterMethod "isEnd" o = SequenceIterIsEndMethodInfo-    ResolveSequenceIterMethod "move" o = SequenceIterMoveMethodInfo-    ResolveSequenceIterMethod "next" o = SequenceIterNextMethodInfo-    ResolveSequenceIterMethod "prev" o = SequenceIterPrevMethodInfo-    ResolveSequenceIterMethod "getPosition" o = SequenceIterGetPositionMethodInfo-    ResolveSequenceIterMethod "getSequence" o = SequenceIterGetSequenceMethodInfo-    ResolveSequenceIterMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveSequenceIterMethod t SequenceIter, O.MethodInfo info SequenceIter p) => OL.IsLabel t (SequenceIter -> 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/GLib/Structs/SequenceIter.hs-boot
@@ -1,50 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.SequenceIter 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 SequenceIter = SequenceIter (ManagedPtr SequenceIter)-instance WrappedPtr SequenceIter where-#if ENABLE_OVERLOADING-data SequenceIterCompareMethodInfo-#endif-#if ENABLE_OVERLOADING-data SequenceIterGetPositionMethodInfo-#endif-#if ENABLE_OVERLOADING-data SequenceIterGetSequenceMethodInfo-#endif-#if ENABLE_OVERLOADING-data SequenceIterIsBeginMethodInfo-#endif-#if ENABLE_OVERLOADING-data SequenceIterIsEndMethodInfo-#endif-#if ENABLE_OVERLOADING-data SequenceIterMoveMethodInfo-#endif-#if ENABLE_OVERLOADING-data SequenceIterNextMethodInfo-#endif-#if ENABLE_OVERLOADING-data SequenceIterPrevMethodInfo-#endif
− GI/GLib/Structs/Source.hs
@@ -1,1900 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The @GSource@ struct is an opaque data type-representing an event source.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.Source-    ( ---- * Exported types-    Source(..)                              ,-    newZeroSource                           ,-    noSource                                ,--- -- * Methods--- ** addChildSource #method:addChildSource#--#if ENABLE_OVERLOADING-    SourceAddChildSourceMethodInfo          ,-#endif-    sourceAddChildSource                    ,----- ** addPoll #method:addPoll#--#if ENABLE_OVERLOADING-    SourceAddPollMethodInfo                 ,-#endif-    sourceAddPoll                           ,----- ** addUnixFd #method:addUnixFd#--#if ENABLE_OVERLOADING-    SourceAddUnixFdMethodInfo               ,-#endif-    sourceAddUnixFd                         ,----- ** attach #method:attach#--#if ENABLE_OVERLOADING-    SourceAttachMethodInfo                  ,-#endif-    sourceAttach                            ,----- ** destroy #method:destroy#--#if ENABLE_OVERLOADING-    SourceDestroyMethodInfo                 ,-#endif-    sourceDestroy                           ,----- ** getCanRecurse #method:getCanRecurse#--#if ENABLE_OVERLOADING-    SourceGetCanRecurseMethodInfo           ,-#endif-    sourceGetCanRecurse                     ,----- ** getContext #method:getContext#--#if ENABLE_OVERLOADING-    SourceGetContextMethodInfo              ,-#endif-    sourceGetContext                        ,----- ** getCurrentTime #method:getCurrentTime#--#if ENABLE_OVERLOADING-    SourceGetCurrentTimeMethodInfo          ,-#endif-    sourceGetCurrentTime                    ,----- ** getId #method:getId#--#if ENABLE_OVERLOADING-    SourceGetIdMethodInfo                   ,-#endif-    sourceGetId                             ,----- ** getName #method:getName#--#if ENABLE_OVERLOADING-    SourceGetNameMethodInfo                 ,-#endif-    sourceGetName                           ,----- ** getPriority #method:getPriority#--#if ENABLE_OVERLOADING-    SourceGetPriorityMethodInfo             ,-#endif-    sourceGetPriority                       ,----- ** getReadyTime #method:getReadyTime#--#if ENABLE_OVERLOADING-    SourceGetReadyTimeMethodInfo            ,-#endif-    sourceGetReadyTime                      ,----- ** getTime #method:getTime#--#if ENABLE_OVERLOADING-    SourceGetTimeMethodInfo                 ,-#endif-    sourceGetTime                           ,----- ** isDestroyed #method:isDestroyed#--#if ENABLE_OVERLOADING-    SourceIsDestroyedMethodInfo             ,-#endif-    sourceIsDestroyed                       ,----- ** modifyUnixFd #method:modifyUnixFd#--#if ENABLE_OVERLOADING-    SourceModifyUnixFdMethodInfo            ,-#endif-    sourceModifyUnixFd                      ,----- ** new #method:new#--    sourceNew                               ,----- ** queryUnixFd #method:queryUnixFd#--#if ENABLE_OVERLOADING-    SourceQueryUnixFdMethodInfo             ,-#endif-    sourceQueryUnixFd                       ,----- ** ref #method:ref#--#if ENABLE_OVERLOADING-    SourceRefMethodInfo                     ,-#endif-    sourceRef                               ,----- ** remove #method:remove#--    sourceRemove                            ,----- ** removeByFuncsUserData #method:removeByFuncsUserData#--    sourceRemoveByFuncsUserData             ,----- ** removeByUserData #method:removeByUserData#--    sourceRemoveByUserData                  ,----- ** removeChildSource #method:removeChildSource#--#if ENABLE_OVERLOADING-    SourceRemoveChildSourceMethodInfo       ,-#endif-    sourceRemoveChildSource                 ,----- ** removePoll #method:removePoll#--#if ENABLE_OVERLOADING-    SourceRemovePollMethodInfo              ,-#endif-    sourceRemovePoll                        ,----- ** removeUnixFd #method:removeUnixFd#--#if ENABLE_OVERLOADING-    SourceRemoveUnixFdMethodInfo            ,-#endif-    sourceRemoveUnixFd                      ,----- ** setCallback #method:setCallback#--#if ENABLE_OVERLOADING-    SourceSetCallbackMethodInfo             ,-#endif-    sourceSetCallback                       ,----- ** setCallbackIndirect #method:setCallbackIndirect#--#if ENABLE_OVERLOADING-    SourceSetCallbackIndirectMethodInfo     ,-#endif-    sourceSetCallbackIndirect               ,----- ** setCanRecurse #method:setCanRecurse#--#if ENABLE_OVERLOADING-    SourceSetCanRecurseMethodInfo           ,-#endif-    sourceSetCanRecurse                     ,----- ** setFuncs #method:setFuncs#--#if ENABLE_OVERLOADING-    SourceSetFuncsMethodInfo                ,-#endif-    sourceSetFuncs                          ,----- ** setName #method:setName#--#if ENABLE_OVERLOADING-    SourceSetNameMethodInfo                 ,-#endif-    sourceSetName                           ,----- ** setNameById #method:setNameById#--    sourceSetNameById                       ,----- ** setPriority #method:setPriority#--#if ENABLE_OVERLOADING-    SourceSetPriorityMethodInfo             ,-#endif-    sourceSetPriority                       ,----- ** setReadyTime #method:setReadyTime#--#if ENABLE_OVERLOADING-    SourceSetReadyTimeMethodInfo            ,-#endif-    sourceSetReadyTime                      ,----- ** unref #method:unref#--#if ENABLE_OVERLOADING-    SourceUnrefMethodInfo                   ,-#endif-    sourceUnref                             ,-----    ) 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 qualified GI.GLib.Callbacks as GLib.Callbacks-import {-# SOURCE #-} qualified GI.GLib.Flags as GLib.Flags-import {-# SOURCE #-} qualified GI.GLib.Structs.MainContext as GLib.MainContext-import {-# SOURCE #-} qualified GI.GLib.Structs.PollFD as GLib.PollFD-import {-# SOURCE #-} qualified GI.GLib.Structs.SourceCallbackFuncs as GLib.SourceCallbackFuncs-import {-# SOURCE #-} qualified GI.GLib.Structs.SourceFuncs as GLib.SourceFuncs-import {-# SOURCE #-} qualified GI.GLib.Structs.TimeVal as GLib.TimeVal---- | Memory-managed wrapper type.-newtype Source = Source (ManagedPtr Source)-foreign import ccall "g_source_get_type" c_g_source_get_type :: -    IO GType--instance BoxedObject Source where-    boxedType _ = c_g_source_get_type---- | Construct a `Source` struct initialized to zero.-newZeroSource :: MonadIO m => m Source-newZeroSource = liftIO $ callocBoxedBytes 96 >>= wrapBoxed Source--instance tag ~ 'AttrSet => Constructible Source tag where-    new _ attrs = do-        o <- newZeroSource-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `Source`.-noSource :: Maybe Source-noSource = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList Source-type instance O.AttributeList Source = SourceAttributeList-type SourceAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method Source::new--- method type : Constructor--- Args : [Arg {argCName = "source_funcs", argType = TInterface (Name {namespace = "GLib", name = "SourceFuncs"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "structure containing functions that implement\n               the sources behavior.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "struct_size", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "size of the #GSource structure to create.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Source"}))--- throws : False--- Skip return : False--foreign import ccall "g_source_new" g_source_new :: -    Ptr GLib.SourceFuncs.SourceFuncs ->     -- source_funcs : TInterface (Name {namespace = "GLib", name = "SourceFuncs"})-    Word32 ->                               -- struct_size : TBasicType TUInt-    IO (Ptr Source)--{- |-Creates a new 'GI.GLib.Structs.Source.Source' structure. The size is specified to-allow creating structures derived from 'GI.GLib.Structs.Source.Source' that contain-additional data. The size passed in must be at least-@sizeof (GSource)@.--The source will not initially be associated with any 'GI.GLib.Structs.MainContext.MainContext'-and must be added to one with 'GI.GLib.Structs.Source.sourceAttach' before it will be-executed.--}-sourceNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.SourceFuncs.SourceFuncs-    {- ^ /@sourceFuncs@/: structure containing functions that implement-               the sources behavior. -}-    -> Word32-    {- ^ /@structSize@/: size of the 'GI.GLib.Structs.Source.Source' structure to create. -}-    -> m Source-    {- ^ __Returns:__ the newly-created 'GI.GLib.Structs.Source.Source'. -}-sourceNew sourceFuncs structSize = liftIO $ do-    sourceFuncs' <- unsafeManagedPtrGetPtr sourceFuncs-    result <- g_source_new sourceFuncs' structSize-    checkUnexpectedReturnNULL "sourceNew" result-    result' <- (wrapBoxed Source) result-    touchManagedPtr sourceFuncs-    return result'--#if ENABLE_OVERLOADING-#endif---- method Source::add_child_source--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a second #GSource that @source should \"poll\"", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_source_add_child_source" g_source_add_child_source :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    Ptr Source ->                           -- child_source : TInterface (Name {namespace = "GLib", name = "Source"})-    IO ()--{- |-Adds /@childSource@/ to /@source@/ as a \"polled\" source; when /@source@/ is-added to a 'GI.GLib.Structs.MainContext.MainContext', /@childSource@/ will be automatically added-with the same priority, when /@childSource@/ is triggered, it will-cause /@source@/ to dispatch (in addition to calling its own-callback), and when /@source@/ is destroyed, it will destroy-/@childSource@/ as well. (/@source@/ will also still be dispatched if-its own prepare\/check functions indicate that it is ready.)--If you don\'t need /@childSource@/ to do anything on its own when it-triggers, you can call @/g_source_set_dummy_callback()/@ on it to set a-callback that does nothing (except return 'True' if appropriate).--/@source@/ will hold a reference on /@childSource@/ while /@childSource@/-is attached to it.--This API is only intended to be used by implementations of 'GI.GLib.Structs.Source.Source'.-Do not call this API on a 'GI.GLib.Structs.Source.Source' that you did not create.--/Since: 2.28/--}-sourceAddChildSource ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> Source-    {- ^ /@childSource@/: a second 'GI.GLib.Structs.Source.Source' that /@source@/ should \"poll\" -}-    -> m ()-sourceAddChildSource source childSource = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    childSource' <- unsafeManagedPtrGetPtr childSource-    g_source_add_child_source source' childSource'-    touchManagedPtr source-    touchManagedPtr childSource-    return ()--#if ENABLE_OVERLOADING-data SourceAddChildSourceMethodInfo-instance (signature ~ (Source -> m ()), MonadIO m) => O.MethodInfo SourceAddChildSourceMethodInfo Source signature where-    overloadedMethod _ = sourceAddChildSource--#endif---- method Source::add_poll--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fd", argType = TInterface (Name {namespace = "GLib", name = "PollFD"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GPollFD structure holding information about a file\n     descriptor to watch.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_source_add_poll" g_source_add_poll :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    Ptr GLib.PollFD.PollFD ->               -- fd : TInterface (Name {namespace = "GLib", name = "PollFD"})-    IO ()--{- |-Adds a file descriptor to the set of file descriptors polled for-this source. This is usually combined with 'GI.GLib.Structs.Source.sourceNew' to add an-event source. The event source\'s check function will typically test-the /@revents@/ field in the 'GI.GLib.Structs.PollFD.PollFD' struct and return 'True' if events need-to be processed.--This API is only intended to be used by implementations of 'GI.GLib.Structs.Source.Source'.-Do not call this API on a 'GI.GLib.Structs.Source.Source' that you did not create.--Using this API forces the linear scanning of event sources on each-main loop iteration.  Newly-written event sources should try to use-'GI.GLib.Structs.Source.sourceAddUnixFd' instead of this API.--}-sourceAddPoll ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> GLib.PollFD.PollFD-    {- ^ /@fd@/: a 'GI.GLib.Structs.PollFD.PollFD' structure holding information about a file-     descriptor to watch. -}-    -> m ()-sourceAddPoll source fd = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    fd' <- unsafeManagedPtrGetPtr fd-    g_source_add_poll source' fd'-    touchManagedPtr source-    touchManagedPtr fd-    return ()--#if ENABLE_OVERLOADING-data SourceAddPollMethodInfo-instance (signature ~ (GLib.PollFD.PollFD -> m ()), MonadIO m) => O.MethodInfo SourceAddPollMethodInfo Source signature where-    overloadedMethod _ = sourceAddPoll--#endif---- method Source::add_unix_fd--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the fd to monitor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "events", argType = TInterface (Name {namespace = "GLib", name = "IOCondition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an event mask", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_source_add_unix_fd" g_source_add_unix_fd :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    Int32 ->                                -- fd : TBasicType TInt-    CUInt ->                                -- events : TInterface (Name {namespace = "GLib", name = "IOCondition"})-    IO (Ptr ())--{- |-Monitors /@fd@/ for the IO events in /@events@/.--The tag returned by this function can be used to remove or modify the-monitoring of the fd using 'GI.GLib.Structs.Source.sourceRemoveUnixFd' or-'GI.GLib.Structs.Source.sourceModifyUnixFd'.--It is not necessary to remove the fd before destroying the source; it-will be cleaned up automatically.--This API is only intended to be used by implementations of 'GI.GLib.Structs.Source.Source'.-Do not call this API on a 'GI.GLib.Structs.Source.Source' that you did not create.--As the name suggests, this function is not available on Windows.--/Since: 2.36/--}-sourceAddUnixFd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> Int32-    {- ^ /@fd@/: the fd to monitor -}-    -> [GLib.Flags.IOCondition]-    {- ^ /@events@/: an event mask -}-    -> m (Ptr ())-    {- ^ __Returns:__ an opaque tag -}-sourceAddUnixFd source fd events = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    let events' = gflagsToWord events-    result <- g_source_add_unix_fd source' fd events'-    touchManagedPtr source-    return result--#if ENABLE_OVERLOADING-data SourceAddUnixFdMethodInfo-instance (signature ~ (Int32 -> [GLib.Flags.IOCondition] -> m (Ptr ())), MonadIO m) => O.MethodInfo SourceAddUnixFdMethodInfo Source signature where-    overloadedMethod _ = sourceAddUnixFd--#endif---- method Source::attach--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GMainContext (if %NULL, the default context will be used)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_source_attach" g_source_attach :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    Ptr GLib.MainContext.MainContext ->     -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})-    IO Word32--{- |-Adds a 'GI.GLib.Structs.Source.Source' to a /@context@/ so that it will be executed within-that context. Remove it by calling 'GI.GLib.Structs.Source.sourceDestroy'.--}-sourceAttach ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> Maybe (GLib.MainContext.MainContext)-    {- ^ /@context@/: a 'GI.GLib.Structs.MainContext.MainContext' (if 'Nothing', the default context will be used) -}-    -> m Word32-    {- ^ __Returns:__ the ID (greater than 0) for the source within the-  'GI.GLib.Structs.MainContext.MainContext'. -}-sourceAttach source context = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    maybeContext <- case context of-        Nothing -> return nullPtr-        Just jContext -> do-            jContext' <- unsafeManagedPtrGetPtr jContext-            return jContext'-    result <- g_source_attach source' maybeContext-    touchManagedPtr source-    whenJust context touchManagedPtr-    return result--#if ENABLE_OVERLOADING-data SourceAttachMethodInfo-instance (signature ~ (Maybe (GLib.MainContext.MainContext) -> m Word32), MonadIO m) => O.MethodInfo SourceAttachMethodInfo Source signature where-    overloadedMethod _ = sourceAttach--#endif---- method Source::destroy--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_source_destroy" g_source_destroy :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    IO ()--{- |-Removes a source from its 'GI.GLib.Structs.MainContext.MainContext', if any, and mark it as-destroyed.  The source cannot be subsequently added to another-context. It is safe to call this on sources which have already been-removed from their context.--}-sourceDestroy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> m ()-sourceDestroy source = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    g_source_destroy source'-    touchManagedPtr source-    return ()--#if ENABLE_OVERLOADING-data SourceDestroyMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo SourceDestroyMethodInfo Source signature where-    overloadedMethod _ = sourceDestroy--#endif---- method Source::get_can_recurse--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", 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_source_get_can_recurse" g_source_get_can_recurse :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    IO CInt--{- |-Checks whether a source is allowed to be called recursively.-see 'GI.GLib.Structs.Source.sourceSetCanRecurse'.--}-sourceGetCanRecurse ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> m Bool-    {- ^ __Returns:__ whether recursion is allowed. -}-sourceGetCanRecurse source = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    result <- g_source_get_can_recurse source'-    let result' = (/= 0) result-    touchManagedPtr source-    return result'--#if ENABLE_OVERLOADING-data SourceGetCanRecurseMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo SourceGetCanRecurseMethodInfo Source signature where-    overloadedMethod _ = sourceGetCanRecurse--#endif---- method Source::get_context--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "MainContext"}))--- throws : False--- Skip return : False--foreign import ccall "g_source_get_context" g_source_get_context :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    IO (Ptr GLib.MainContext.MainContext)--{- |-Gets the 'GI.GLib.Structs.MainContext.MainContext' with which the source is associated.--You can call this on a source that has been destroyed, provided-that the 'GI.GLib.Structs.MainContext.MainContext' it was attached to still exists (in which-case it will return that 'GI.GLib.Structs.MainContext.MainContext'). In particular, you can-always call this function on the source returned from-'GI.GLib.Functions.mainCurrentSource'. But calling this function on a source-whose 'GI.GLib.Structs.MainContext.MainContext' has been destroyed is an error.--}-sourceGetContext ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> m (Maybe GLib.MainContext.MainContext)-    {- ^ __Returns:__ the 'GI.GLib.Structs.MainContext.MainContext' with which the-              source is associated, or 'Nothing' if the context has not-              yet been added to a source. -}-sourceGetContext source = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    result <- g_source_get_context source'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- (newBoxed GLib.MainContext.MainContext) result'-        return result''-    touchManagedPtr source-    return maybeResult--#if ENABLE_OVERLOADING-data SourceGetContextMethodInfo-instance (signature ~ (m (Maybe GLib.MainContext.MainContext)), MonadIO m) => O.MethodInfo SourceGetContextMethodInfo Source signature where-    overloadedMethod _ = sourceGetContext--#endif---- method Source::get_current_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "timeval", argType = TInterface (Name {namespace = "GLib", name = "TimeVal"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GTimeVal structure in which to store current time.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_source_get_current_time" g_source_get_current_time :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    Ptr GLib.TimeVal.TimeVal ->             -- timeval : TInterface (Name {namespace = "GLib", name = "TimeVal"})-    IO ()--{-# DEPRECATED sourceGetCurrentTime ["(Since version 2.28)","use 'GI.GLib.Structs.Source.sourceGetTime' instead"] #-}-{- |-This function ignores /@source@/ and is otherwise the same as-'GI.GLib.Functions.getCurrentTime'.--}-sourceGetCurrentTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> GLib.TimeVal.TimeVal-    {- ^ /@timeval@/: 'GI.GLib.Structs.TimeVal.TimeVal' structure in which to store current time. -}-    -> m ()-sourceGetCurrentTime source timeval = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    timeval' <- unsafeManagedPtrGetPtr timeval-    g_source_get_current_time source' timeval'-    touchManagedPtr source-    touchManagedPtr timeval-    return ()--#if ENABLE_OVERLOADING-data SourceGetCurrentTimeMethodInfo-instance (signature ~ (GLib.TimeVal.TimeVal -> m ()), MonadIO m) => O.MethodInfo SourceGetCurrentTimeMethodInfo Source signature where-    overloadedMethod _ = sourceGetCurrentTime--#endif---- method Source::get_id--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_source_get_id" g_source_get_id :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    IO Word32--{- |-Returns the numeric ID for a particular source. The ID of a source-is a positive integer which is unique within a particular main loop-context. The reverse-mapping from ID to source is done by 'GI.GLib.Structs.MainContext.mainContextFindSourceById'.--You can only call this function while the source is associated to a-'GI.GLib.Structs.MainContext.MainContext' instance; calling this function before 'GI.GLib.Structs.Source.sourceAttach'-or after 'GI.GLib.Structs.Source.sourceDestroy' yields undefined behavior. The ID returned-is unique within the 'GI.GLib.Structs.MainContext.MainContext' instance passed to 'GI.GLib.Structs.Source.sourceAttach'.--}-sourceGetId ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> m Word32-    {- ^ __Returns:__ the ID (greater than 0) for the source -}-sourceGetId source = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    result <- g_source_get_id source'-    touchManagedPtr source-    return result--#if ENABLE_OVERLOADING-data SourceGetIdMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo SourceGetIdMethodInfo Source signature where-    overloadedMethod _ = sourceGetId--#endif---- method Source::get_name--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", 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_source_get_name" g_source_get_name :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    IO CString--{- |-Gets a name for the source, used in debugging and profiling.  The-name may be @/NULL/@ if it has never been set with 'GI.GLib.Structs.Source.sourceSetName'.--/Since: 2.26/--}-sourceGetName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> m T.Text-    {- ^ __Returns:__ the name of the source -}-sourceGetName source = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    result <- g_source_get_name source'-    checkUnexpectedReturnNULL "sourceGetName" result-    result' <- cstringToText result-    touchManagedPtr source-    return result'--#if ENABLE_OVERLOADING-data SourceGetNameMethodInfo-instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo SourceGetNameMethodInfo Source signature where-    overloadedMethod _ = sourceGetName--#endif---- method Source::get_priority--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", 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_source_get_priority" g_source_get_priority :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    IO Int32--{- |-Gets the priority of a source.--}-sourceGetPriority ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> m Int32-    {- ^ __Returns:__ the priority of the source -}-sourceGetPriority source = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    result <- g_source_get_priority source'-    touchManagedPtr source-    return result--#if ENABLE_OVERLOADING-data SourceGetPriorityMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo SourceGetPriorityMethodInfo Source signature where-    overloadedMethod _ = sourceGetPriority--#endif---- method Source::get_ready_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", 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_source_get_ready_time" g_source_get_ready_time :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    IO Int64--{- |-Gets the \"ready time\" of /@source@/, as set by-'GI.GLib.Structs.Source.sourceSetReadyTime'.--Any time before the current monotonic time (including 0) is an-indication that the source will fire immediately.--}-sourceGetReadyTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> m Int64-    {- ^ __Returns:__ the monotonic ready time, -1 for \"never\" -}-sourceGetReadyTime source = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    result <- g_source_get_ready_time source'-    touchManagedPtr source-    return result--#if ENABLE_OVERLOADING-data SourceGetReadyTimeMethodInfo-instance (signature ~ (m Int64), MonadIO m) => O.MethodInfo SourceGetReadyTimeMethodInfo Source signature where-    overloadedMethod _ = sourceGetReadyTime--#endif---- method Source::get_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", 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_source_get_time" g_source_get_time :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    IO Int64--{- |-Gets the time to be used when checking this source. The advantage of-calling this function over calling 'GI.GLib.Functions.getMonotonicTime' directly is-that when checking multiple sources, GLib can cache a single value-instead of having to repeatedly get the system monotonic time.--The time here is the system monotonic time, if available, or some-other reasonable alternative otherwise.  See 'GI.GLib.Functions.getMonotonicTime'.--/Since: 2.28/--}-sourceGetTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> m Int64-    {- ^ __Returns:__ the monotonic time in microseconds -}-sourceGetTime source = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    result <- g_source_get_time source'-    touchManagedPtr source-    return result--#if ENABLE_OVERLOADING-data SourceGetTimeMethodInfo-instance (signature ~ (m Int64), MonadIO m) => O.MethodInfo SourceGetTimeMethodInfo Source signature where-    overloadedMethod _ = sourceGetTime--#endif---- method Source::is_destroyed--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", 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_source_is_destroyed" g_source_is_destroyed :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    IO CInt--{- |-Returns whether /@source@/ has been destroyed.--This is important when you operate upon your objects-from within idle handlers, but may have freed the object-before the dispatch of your idle handler.---=== /C code/->->static gboolean->idle_callback (gpointer data)->{->  SomeWidget *self = data;->   ->  GDK_THREADS_ENTER ();->  // do stuff with self->  self->idle_id = 0;->  GDK_THREADS_LEAVE ();->   ->  return G_SOURCE_REMOVE;->}-> ->static void->some_widget_do_stuff_later (SomeWidget *self)->{->  self->idle_id = g_idle_add (idle_callback, self);->}-> ->static void->some_widget_finalize (GObject *object)->{->  SomeWidget *self = SOME_WIDGET (object);->   ->  if (self->idle_id)->    g_source_remove (self->idle_id);->   ->  G_OBJECT_CLASS (parent_class)->finalize (object);->}---This will fail in a multi-threaded application if the-widget is destroyed before the idle handler fires due-to the use after free in the callback. A solution, to-this particular problem, is to check to if the source-has already been destroy within the callback.---=== /C code/->->static gboolean->idle_callback (gpointer data)->{->  SomeWidget *self = data;->  ->  GDK_THREADS_ENTER ();->  if (!g_source_is_destroyed (g_main_current_source ()))->    {->      // do stuff with self->    }->  GDK_THREADS_LEAVE ();->  ->  return FALSE;->}---Calls to this function from a thread other than the one acquired by the-'GI.GLib.Structs.MainContext.MainContext' the 'GI.GLib.Structs.Source.Source' is attached to are typically redundant, as the-source could be destroyed immediately after this function returns. However,-once a source is destroyed it cannot be un-destroyed, so this function can be-used for opportunistic checks from any thread.--/Since: 2.12/--}-sourceIsDestroyed ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the source has been destroyed -}-sourceIsDestroyed source = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    result <- g_source_is_destroyed source'-    let result' = (/= 0) result-    touchManagedPtr source-    return result'--#if ENABLE_OVERLOADING-data SourceIsDestroyedMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo SourceIsDestroyedMethodInfo Source signature where-    overloadedMethod _ = sourceIsDestroyed--#endif---- method Source::modify_unix_fd--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the tag from g_source_add_unix_fd()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_events", argType = TInterface (Name {namespace = "GLib", name = "IOCondition"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new event mask to watch", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_source_modify_unix_fd" g_source_modify_unix_fd :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    Ptr () ->                               -- tag : TBasicType TPtr-    CUInt ->                                -- new_events : TInterface (Name {namespace = "GLib", name = "IOCondition"})-    IO ()--{- |-Updates the event mask to watch for the fd identified by /@tag@/.--/@tag@/ is the tag returned from 'GI.GLib.Structs.Source.sourceAddUnixFd'.--If you want to remove a fd, don\'t set its event mask to zero.-Instead, call 'GI.GLib.Structs.Source.sourceRemoveUnixFd'.--This API is only intended to be used by implementations of 'GI.GLib.Structs.Source.Source'.-Do not call this API on a 'GI.GLib.Structs.Source.Source' that you did not create.--As the name suggests, this function is not available on Windows.--/Since: 2.36/--}-sourceModifyUnixFd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> Ptr ()-    {- ^ /@tag@/: the tag from 'GI.GLib.Structs.Source.sourceAddUnixFd' -}-    -> [GLib.Flags.IOCondition]-    {- ^ /@newEvents@/: the new event mask to watch -}-    -> m ()-sourceModifyUnixFd source tag newEvents = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    let newEvents' = gflagsToWord newEvents-    g_source_modify_unix_fd source' tag newEvents'-    touchManagedPtr source-    return ()--#if ENABLE_OVERLOADING-data SourceModifyUnixFdMethodInfo-instance (signature ~ (Ptr () -> [GLib.Flags.IOCondition] -> m ()), MonadIO m) => O.MethodInfo SourceModifyUnixFdMethodInfo Source signature where-    overloadedMethod _ = sourceModifyUnixFd--#endif---- method Source::query_unix_fd--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the tag from g_source_add_unix_fd()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "IOCondition"}))--- throws : False--- Skip return : False--foreign import ccall "g_source_query_unix_fd" g_source_query_unix_fd :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    Ptr () ->                               -- tag : TBasicType TPtr-    IO CUInt--{- |-Queries the events reported for the fd corresponding to /@tag@/ on-/@source@/ during the last poll.--The return value of this function is only defined when the function-is called from the check or dispatch functions for /@source@/.--This API is only intended to be used by implementations of 'GI.GLib.Structs.Source.Source'.-Do not call this API on a 'GI.GLib.Structs.Source.Source' that you did not create.--As the name suggests, this function is not available on Windows.--/Since: 2.36/--}-sourceQueryUnixFd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> Ptr ()-    {- ^ /@tag@/: the tag from 'GI.GLib.Structs.Source.sourceAddUnixFd' -}-    -> m [GLib.Flags.IOCondition]-    {- ^ __Returns:__ the conditions reported on the fd -}-sourceQueryUnixFd source tag = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    result <- g_source_query_unix_fd source' tag-    let result' = wordToGFlags result-    touchManagedPtr source-    return result'--#if ENABLE_OVERLOADING-data SourceQueryUnixFdMethodInfo-instance (signature ~ (Ptr () -> m [GLib.Flags.IOCondition]), MonadIO m) => O.MethodInfo SourceQueryUnixFdMethodInfo Source signature where-    overloadedMethod _ = sourceQueryUnixFd--#endif---- method Source::ref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Source"}))--- throws : False--- Skip return : False--foreign import ccall "g_source_ref" g_source_ref :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    IO (Ptr Source)--{- |-Increases the reference count on a source by one.--}-sourceRef ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> m Source-    {- ^ __Returns:__ /@source@/ -}-sourceRef source = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    result <- g_source_ref source'-    checkUnexpectedReturnNULL "sourceRef" result-    result' <- (wrapBoxed Source) result-    touchManagedPtr source-    return result'--#if ENABLE_OVERLOADING-data SourceRefMethodInfo-instance (signature ~ (m Source), MonadIO m) => O.MethodInfo SourceRefMethodInfo Source signature where-    overloadedMethod _ = sourceRef--#endif---- method Source::remove_child_source--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "child_source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource previously passed to\n    g_source_add_child_source().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_source_remove_child_source" g_source_remove_child_source :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    Ptr Source ->                           -- child_source : TInterface (Name {namespace = "GLib", name = "Source"})-    IO ()--{- |-Detaches /@childSource@/ from /@source@/ and destroys it.--This API is only intended to be used by implementations of 'GI.GLib.Structs.Source.Source'.-Do not call this API on a 'GI.GLib.Structs.Source.Source' that you did not create.--/Since: 2.28/--}-sourceRemoveChildSource ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> Source-    {- ^ /@childSource@/: a 'GI.GLib.Structs.Source.Source' previously passed to-    'GI.GLib.Structs.Source.sourceAddChildSource'. -}-    -> m ()-sourceRemoveChildSource source childSource = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    childSource' <- unsafeManagedPtrGetPtr childSource-    g_source_remove_child_source source' childSource'-    touchManagedPtr source-    touchManagedPtr childSource-    return ()--#if ENABLE_OVERLOADING-data SourceRemoveChildSourceMethodInfo-instance (signature ~ (Source -> m ()), MonadIO m) => O.MethodInfo SourceRemoveChildSourceMethodInfo Source signature where-    overloadedMethod _ = sourceRemoveChildSource--#endif---- method Source::remove_poll--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "fd", argType = TInterface (Name {namespace = "GLib", name = "PollFD"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GPollFD structure previously passed to g_source_add_poll().", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_source_remove_poll" g_source_remove_poll :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    Ptr GLib.PollFD.PollFD ->               -- fd : TInterface (Name {namespace = "GLib", name = "PollFD"})-    IO ()--{- |-Removes a file descriptor from the set of file descriptors polled for-this source.--This API is only intended to be used by implementations of 'GI.GLib.Structs.Source.Source'.-Do not call this API on a 'GI.GLib.Structs.Source.Source' that you did not create.--}-sourceRemovePoll ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> GLib.PollFD.PollFD-    {- ^ /@fd@/: a 'GI.GLib.Structs.PollFD.PollFD' structure previously passed to 'GI.GLib.Structs.Source.sourceAddPoll'. -}-    -> m ()-sourceRemovePoll source fd = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    fd' <- unsafeManagedPtrGetPtr fd-    g_source_remove_poll source' fd'-    touchManagedPtr source-    touchManagedPtr fd-    return ()--#if ENABLE_OVERLOADING-data SourceRemovePollMethodInfo-instance (signature ~ (GLib.PollFD.PollFD -> m ()), MonadIO m) => O.MethodInfo SourceRemovePollMethodInfo Source signature where-    overloadedMethod _ = sourceRemovePoll--#endif---- method Source::remove_unix_fd--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tag", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the tag from g_source_add_unix_fd()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_source_remove_unix_fd" g_source_remove_unix_fd :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    Ptr () ->                               -- tag : TBasicType TPtr-    IO ()--{- |-Reverses the effect of a previous call to 'GI.GLib.Structs.Source.sourceAddUnixFd'.--You only need to call this if you want to remove an fd from being-watched while keeping the same source around.  In the normal case you-will just want to destroy the source.--This API is only intended to be used by implementations of 'GI.GLib.Structs.Source.Source'.-Do not call this API on a 'GI.GLib.Structs.Source.Source' that you did not create.--As the name suggests, this function is not available on Windows.--/Since: 2.36/--}-sourceRemoveUnixFd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> Ptr ()-    {- ^ /@tag@/: the tag from 'GI.GLib.Structs.Source.sourceAddUnixFd' -}-    -> m ()-sourceRemoveUnixFd source tag = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    g_source_remove_unix_fd source' tag-    touchManagedPtr source-    return ()--#if ENABLE_OVERLOADING-data SourceRemoveUnixFdMethodInfo-instance (signature ~ (Ptr () -> m ()), MonadIO m) => O.MethodInfo SourceRemoveUnixFdMethodInfo Source signature where-    overloadedMethod _ = sourceRemoveUnixFd--#endif---- method Source::set_callback--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "func", argType = TInterface (Name {namespace = "GLib", name = "SourceFunc"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a callback function", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the data to pass to callback function", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a function to call when @data is no longer in use, or %NULL.", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_source_set_callback" g_source_set_callback :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    FunPtr GLib.Callbacks.C_SourceFunc ->   -- func : TInterface (Name {namespace = "GLib", name = "SourceFunc"})-    Ptr () ->                               -- data : TBasicType TPtr-    FunPtr GLib.Callbacks.C_DestroyNotify -> -- notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})-    IO ()--{- |-Sets the callback function for a source. The callback for a source is-called from the source\'s dispatch function.--The exact type of /@func@/ depends on the type of source; ie. you-should not count on /@func@/ being called with /@data@/ as its first-parameter. Cast /@func@/ with @/G_SOURCE_FUNC()/@ to avoid warnings about-incompatible function types.--See [memory management of sources][mainloop-memory-management] for details-on how to handle memory management of /@data@/.--Typically, you won\'t use this function. Instead use functions specific-to the type of source you are using, such as @/g_idle_add()/@ or @/g_timeout_add()/@.--It is safe to call this function multiple times on a source which has already-been attached to a context. The changes will take effect for the next time-the source is dispatched after this call returns.--}-sourceSetCallback ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: the source -}-    -> GLib.Callbacks.SourceFunc-    {- ^ /@func@/: a callback function -}-    -> m ()-sourceSetCallback source func = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    func' <- GLib.Callbacks.mk_SourceFunc (GLib.Callbacks.wrap_SourceFunc Nothing (GLib.Callbacks.drop_closures_SourceFunc func))-    let data_ = castFunPtrToPtr func'-    let notify = safeFreeFunPtrPtr-    g_source_set_callback source' func' data_ notify-    touchManagedPtr source-    return ()--#if ENABLE_OVERLOADING-data SourceSetCallbackMethodInfo-instance (signature ~ (GLib.Callbacks.SourceFunc -> m ()), MonadIO m) => O.MethodInfo SourceSetCallbackMethodInfo Source signature where-    overloadedMethod _ = sourceSetCallback--#endif---- method Source::set_callback_indirect--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the source", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "pointer to callback data \"object\"", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback_funcs", argType = TInterface (Name {namespace = "GLib", name = "SourceCallbackFuncs"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "functions for reference counting @callback_data\n                 and getting the callback and data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_source_set_callback_indirect" g_source_set_callback_indirect :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    Ptr () ->                               -- callback_data : TBasicType TPtr-    Ptr GLib.SourceCallbackFuncs.SourceCallbackFuncs -> -- callback_funcs : TInterface (Name {namespace = "GLib", name = "SourceCallbackFuncs"})-    IO ()--{- |-Sets the callback function storing the data as a refcounted callback-\"object\". This is used internally. Note that calling-'GI.GLib.Structs.Source.sourceSetCallbackIndirect' assumes-an initial reference count on /@callbackData@/, and thus-/@callbackFuncs@/->unref will eventually be called once more-than /@callbackFuncs@/->ref.--It is safe to call this function multiple times on a source which has already-been attached to a context. The changes will take effect for the next time-the source is dispatched after this call returns.--}-sourceSetCallbackIndirect ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: the source -}-    -> Ptr ()-    {- ^ /@callbackData@/: pointer to callback data \"object\" -}-    -> GLib.SourceCallbackFuncs.SourceCallbackFuncs-    {- ^ /@callbackFuncs@/: functions for reference counting /@callbackData@/-                 and getting the callback and data -}-    -> m ()-sourceSetCallbackIndirect source callbackData callbackFuncs = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    callbackFuncs' <- unsafeManagedPtrGetPtr callbackFuncs-    g_source_set_callback_indirect source' callbackData callbackFuncs'-    touchManagedPtr source-    touchManagedPtr callbackFuncs-    return ()--#if ENABLE_OVERLOADING-data SourceSetCallbackIndirectMethodInfo-instance (signature ~ (Ptr () -> GLib.SourceCallbackFuncs.SourceCallbackFuncs -> m ()), MonadIO m) => O.MethodInfo SourceSetCallbackIndirectMethodInfo Source signature where-    overloadedMethod _ = sourceSetCallbackIndirect--#endif---- method Source::set_can_recurse--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "can_recurse", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "whether recursion is allowed for this source", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_source_set_can_recurse" g_source_set_can_recurse :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    CInt ->                                 -- can_recurse : TBasicType TBoolean-    IO ()--{- |-Sets whether a source can be called recursively. If /@canRecurse@/ is-'True', then while the source is being dispatched then this source-will be processed normally. Otherwise, all processing of this-source is blocked until the dispatch function returns.--}-sourceSetCanRecurse ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> Bool-    {- ^ /@canRecurse@/: whether recursion is allowed for this source -}-    -> m ()-sourceSetCanRecurse source canRecurse = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    let canRecurse' = (fromIntegral . fromEnum) canRecurse-    g_source_set_can_recurse source' canRecurse'-    touchManagedPtr source-    return ()--#if ENABLE_OVERLOADING-data SourceSetCanRecurseMethodInfo-instance (signature ~ (Bool -> m ()), MonadIO m) => O.MethodInfo SourceSetCanRecurseMethodInfo Source signature where-    overloadedMethod _ = sourceSetCanRecurse--#endif---- method Source::set_funcs--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "funcs", argType = TInterface (Name {namespace = "GLib", name = "SourceFuncs"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new #GSourceFuncs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_source_set_funcs" g_source_set_funcs :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    Ptr GLib.SourceFuncs.SourceFuncs ->     -- funcs : TInterface (Name {namespace = "GLib", name = "SourceFuncs"})-    IO ()--{- |-Sets the source functions (can be used to override-default implementations) of an unattached source.--/Since: 2.12/--}-sourceSetFuncs ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> GLib.SourceFuncs.SourceFuncs-    {- ^ /@funcs@/: the new 'GI.GLib.Structs.SourceFuncs.SourceFuncs' -}-    -> m ()-sourceSetFuncs source funcs = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    funcs' <- unsafeManagedPtrGetPtr funcs-    g_source_set_funcs source' funcs'-    touchManagedPtr source-    touchManagedPtr funcs-    return ()--#if ENABLE_OVERLOADING-data SourceSetFuncsMethodInfo-instance (signature ~ (GLib.SourceFuncs.SourceFuncs -> m ()), MonadIO m) => O.MethodInfo SourceSetFuncsMethodInfo Source signature where-    overloadedMethod _ = sourceSetFuncs--#endif---- method Source::set_name--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", 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 "debug name for the source", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_source_set_name" g_source_set_name :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    CString ->                              -- name : TBasicType TUTF8-    IO ()--{- |-Sets a name for the source, used in debugging and profiling.-The name defaults to @/NULL/@.--The source name should describe in a human-readable way-what the source does. For example, \"X11 event queue\"-or \"GTK+ repaint idle handler\" or whatever it is.--It is permitted to call this function multiple times, but is not-recommended due to the potential performance impact.  For example,-one could change the name in the \"check\" function of a 'GI.GLib.Structs.SourceFuncs.SourceFuncs'-to include details like the event type in the source name.--Use caution if changing the name while another thread may be-accessing it with 'GI.GLib.Structs.Source.sourceGetName'; that function does not copy-the value, and changing the value will free it while the other thread-may be attempting to use it.--/Since: 2.26/--}-sourceSetName ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> T.Text-    {- ^ /@name@/: debug name for the source -}-    -> m ()-sourceSetName source name = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    name' <- textToCString name-    g_source_set_name source' name'-    touchManagedPtr source-    freeMem name'-    return ()--#if ENABLE_OVERLOADING-data SourceSetNameMethodInfo-instance (signature ~ (T.Text -> m ()), MonadIO m) => O.MethodInfo SourceSetNameMethodInfo Source signature where-    overloadedMethod _ = sourceSetName--#endif---- method Source::set_priority--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new priority.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_source_set_priority" g_source_set_priority :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    Int32 ->                                -- priority : TBasicType TInt-    IO ()--{- |-Sets the priority of a source. While the main loop is being run, a-source will be dispatched if it is ready to be dispatched and no-sources at a higher (numerically smaller) priority are ready to be-dispatched.--A child source always has the same priority as its parent.  It is not-permitted to change the priority of a source once it has been added-as a child of another source.--}-sourceSetPriority ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> Int32-    {- ^ /@priority@/: the new priority. -}-    -> m ()-sourceSetPriority source priority = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    g_source_set_priority source' priority-    touchManagedPtr source-    return ()--#if ENABLE_OVERLOADING-data SourceSetPriorityMethodInfo-instance (signature ~ (Int32 -> m ()), MonadIO m) => O.MethodInfo SourceSetPriorityMethodInfo Source signature where-    overloadedMethod _ = sourceSetPriority--#endif---- method Source::set_ready_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ready_time", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the monotonic time at which the source will be ready,\n             0 for \"immediately\", -1 for \"never\"", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_source_set_ready_time" g_source_set_ready_time :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    Int64 ->                                -- ready_time : TBasicType TInt64-    IO ()--{- |-Sets a 'GI.GLib.Structs.Source.Source' to be dispatched when the given monotonic time is-reached (or passed).  If the monotonic time is in the past (as it-always will be if /@readyTime@/ is 0) then the source will be-dispatched immediately.--If /@readyTime@/ is -1 then the source is never woken up on the basis-of the passage of time.--Dispatching the source does not reset the ready time.  You should do-so yourself, from the source dispatch function.--Note that if you have a pair of sources where the ready time of one-suggests that it will be delivered first but the priority for the-other suggests that it would be delivered first, and the ready time-for both sources is reached during the same main context iteration,-then the order of dispatch is undefined.--It is a no-op to call this function on a 'GI.GLib.Structs.Source.Source' which has already been-destroyed with 'GI.GLib.Structs.Source.sourceDestroy'.--This API is only intended to be used by implementations of 'GI.GLib.Structs.Source.Source'.-Do not call this API on a 'GI.GLib.Structs.Source.Source' that you did not create.--/Since: 2.36/--}-sourceSetReadyTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> Int64-    {- ^ /@readyTime@/: the monotonic time at which the source will be ready,-             0 for \"immediately\", -1 for \"never\" -}-    -> m ()-sourceSetReadyTime source readyTime = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    g_source_set_ready_time source' readyTime-    touchManagedPtr source-    return ()--#if ENABLE_OVERLOADING-data SourceSetReadyTimeMethodInfo-instance (signature ~ (Int64 -> m ()), MonadIO m) => O.MethodInfo SourceSetReadyTimeMethodInfo Source signature where-    overloadedMethod _ = sourceSetReadyTime--#endif---- method Source::unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "source", argType = TInterface (Name {namespace = "GLib", name = "Source"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_source_unref" g_source_unref :: -    Ptr Source ->                           -- source : TInterface (Name {namespace = "GLib", name = "Source"})-    IO ()--{- |-Decreases the reference count of a source by one. If the-resulting reference count is zero the source and associated-memory will be destroyed.--}-sourceUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Source-    {- ^ /@source@/: a 'GI.GLib.Structs.Source.Source' -}-    -> m ()-sourceUnref source = liftIO $ do-    source' <- unsafeManagedPtrGetPtr source-    g_source_unref source'-    touchManagedPtr source-    return ()--#if ENABLE_OVERLOADING-data SourceUnrefMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo SourceUnrefMethodInfo Source signature where-    overloadedMethod _ = sourceUnref--#endif---- method Source::remove--- method type : MemberFunction--- Args : [Arg {argCName = "tag", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the ID of the source to remove.", 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_source_remove" g_source_remove :: -    Word32 ->                               -- tag : TBasicType TUInt-    IO CInt--{- |-Removes the source with the given ID from the default main context. You must-use 'GI.GLib.Structs.Source.sourceDestroy' for sources added to a non-default main context.--The ID of a 'GI.GLib.Structs.Source.Source' is given by 'GI.GLib.Structs.Source.sourceGetId', or will be-returned by the functions 'GI.GLib.Structs.Source.sourceAttach', @/g_idle_add()/@,-'GI.GLib.Functions.idleAdd', @/g_timeout_add()/@, 'GI.GLib.Functions.timeoutAdd',-@/g_child_watch_add()/@, 'GI.GLib.Functions.childWatchAdd', @/g_io_add_watch()/@, and-'GI.GLib.Functions.ioAddWatch'.--It is a programmer error to attempt to remove a non-existent source.--More specifically: source IDs can be reissued after a source has been-destroyed and therefore it is never valid to use this function with a-source ID which may have already been removed.  An example is when-scheduling an idle to run in another thread with @/g_idle_add()/@: the-idle may already have run and been removed by the time this function-is called on its (now invalid) source ID.  This source ID may have-been reissued, leading to the operation being performed against the-wrong source.--}-sourceRemove ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@tag@/: the ID of the source to remove. -}-    -> m Bool-    {- ^ __Returns:__ For historical reasons, this function always returns 'True' -}-sourceRemove tag = liftIO $ do-    result <- g_source_remove tag-    let result' = (/= 0) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Source::remove_by_funcs_user_data--- method type : MemberFunction--- Args : [Arg {argCName = "funcs", argType = TInterface (Name {namespace = "GLib", name = "SourceFuncs"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The @source_funcs passed to g_source_new()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the user data for the callback", 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_source_remove_by_funcs_user_data" g_source_remove_by_funcs_user_data :: -    Ptr GLib.SourceFuncs.SourceFuncs ->     -- funcs : TInterface (Name {namespace = "GLib", name = "SourceFuncs"})-    Ptr () ->                               -- user_data : TBasicType TPtr-    IO CInt--{- |-Removes a source from the default main loop context given the-source functions and user data. If multiple sources exist with the-same source functions and user data, only one will be destroyed.--}-sourceRemoveByFuncsUserData ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.SourceFuncs.SourceFuncs-    {- ^ /@funcs@/: The /@sourceFuncs@/ passed to 'GI.GLib.Structs.Source.sourceNew' -}-    -> Ptr ()-    {- ^ /@userData@/: the user data for the callback -}-    -> m Bool-    {- ^ __Returns:__ 'True' if a source was found and removed. -}-sourceRemoveByFuncsUserData funcs userData = liftIO $ do-    funcs' <- unsafeManagedPtrGetPtr funcs-    result <- g_source_remove_by_funcs_user_data funcs' userData-    let result' = (/= 0) result-    touchManagedPtr funcs-    return result'--#if ENABLE_OVERLOADING-#endif---- method Source::remove_by_user_data--- method type : MemberFunction--- Args : [Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the user_data for the callback.", 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_source_remove_by_user_data" g_source_remove_by_user_data :: -    Ptr () ->                               -- user_data : TBasicType TPtr-    IO CInt--{- |-Removes a source from the default main loop context given the user-data for the callback. If multiple sources exist with the same user-data, only one will be destroyed.--}-sourceRemoveByUserData ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@userData@/: the user_data for the callback. -}-    -> m Bool-    {- ^ __Returns:__ 'True' if a source was found and removed. -}-sourceRemoveByUserData userData = liftIO $ do-    result <- g_source_remove_by_user_data userData-    let result' = (/= 0) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Source::set_name_by_id--- method type : MemberFunction--- Args : [Arg {argCName = "tag", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GSource ID", 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 "debug name for the source", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_source_set_name_by_id" g_source_set_name_by_id :: -    Word32 ->                               -- tag : TBasicType TUInt-    CString ->                              -- name : TBasicType TUTF8-    IO ()--{- |-Sets the name of a source using its ID.--This is a convenience utility to set source names from the return-value of @/g_idle_add()/@, @/g_timeout_add()/@, etc.--It is a programmer error to attempt to set the name of a non-existent-source.--More specifically: source IDs can be reissued after a source has been-destroyed and therefore it is never valid to use this function with a-source ID which may have already been removed.  An example is when-scheduling an idle to run in another thread with @/g_idle_add()/@: the-idle may already have run and been removed by the time this function-is called on its (now invalid) source ID.  This source ID may have-been reissued, leading to the operation being performed against the-wrong source.--/Since: 2.26/--}-sourceSetNameById ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@tag@/: a 'GI.GLib.Structs.Source.Source' ID -}-    -> T.Text-    {- ^ /@name@/: debug name for the source -}-    -> m ()-sourceSetNameById tag name = liftIO $ do-    name' <- textToCString name-    g_source_set_name_by_id tag name'-    freeMem name'-    return ()--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveSourceMethod (t :: Symbol) (o :: *) :: * where-    ResolveSourceMethod "addChildSource" o = SourceAddChildSourceMethodInfo-    ResolveSourceMethod "addPoll" o = SourceAddPollMethodInfo-    ResolveSourceMethod "addUnixFd" o = SourceAddUnixFdMethodInfo-    ResolveSourceMethod "attach" o = SourceAttachMethodInfo-    ResolveSourceMethod "destroy" o = SourceDestroyMethodInfo-    ResolveSourceMethod "isDestroyed" o = SourceIsDestroyedMethodInfo-    ResolveSourceMethod "modifyUnixFd" o = SourceModifyUnixFdMethodInfo-    ResolveSourceMethod "queryUnixFd" o = SourceQueryUnixFdMethodInfo-    ResolveSourceMethod "ref" o = SourceRefMethodInfo-    ResolveSourceMethod "removeChildSource" o = SourceRemoveChildSourceMethodInfo-    ResolveSourceMethod "removePoll" o = SourceRemovePollMethodInfo-    ResolveSourceMethod "removeUnixFd" o = SourceRemoveUnixFdMethodInfo-    ResolveSourceMethod "unref" o = SourceUnrefMethodInfo-    ResolveSourceMethod "getCanRecurse" o = SourceGetCanRecurseMethodInfo-    ResolveSourceMethod "getContext" o = SourceGetContextMethodInfo-    ResolveSourceMethod "getCurrentTime" o = SourceGetCurrentTimeMethodInfo-    ResolveSourceMethod "getId" o = SourceGetIdMethodInfo-    ResolveSourceMethod "getName" o = SourceGetNameMethodInfo-    ResolveSourceMethod "getPriority" o = SourceGetPriorityMethodInfo-    ResolveSourceMethod "getReadyTime" o = SourceGetReadyTimeMethodInfo-    ResolveSourceMethod "getTime" o = SourceGetTimeMethodInfo-    ResolveSourceMethod "setCallback" o = SourceSetCallbackMethodInfo-    ResolveSourceMethod "setCallbackIndirect" o = SourceSetCallbackIndirectMethodInfo-    ResolveSourceMethod "setCanRecurse" o = SourceSetCanRecurseMethodInfo-    ResolveSourceMethod "setFuncs" o = SourceSetFuncsMethodInfo-    ResolveSourceMethod "setName" o = SourceSetNameMethodInfo-    ResolveSourceMethod "setPriority" o = SourceSetPriorityMethodInfo-    ResolveSourceMethod "setReadyTime" o = SourceSetReadyTimeMethodInfo-    ResolveSourceMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveSourceMethod t Source, O.MethodInfo info Source p) => OL.IsLabel t (Source -> 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/GLib/Structs/Source.hs-boot
@@ -1,110 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.Source 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 Source = Source (ManagedPtr Source)-instance BoxedObject Source where-#if ENABLE_OVERLOADING-data SourceAddChildSourceMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceAddPollMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceAddUnixFdMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceAttachMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceDestroyMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceGetCanRecurseMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceGetContextMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceGetCurrentTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceGetIdMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceGetNameMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceGetPriorityMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceGetReadyTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceGetTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceIsDestroyedMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceModifyUnixFdMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceQueryUnixFdMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceRefMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceRemoveChildSourceMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceRemovePollMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceRemoveUnixFdMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceSetCallbackMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceSetCallbackIndirectMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceSetCanRecurseMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceSetFuncsMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceSetNameMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceSetPriorityMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceSetReadyTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data SourceUnrefMethodInfo-#endif
− GI/GLib/Structs/SourceCallbackFuncs.hs
@@ -1,235 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The @GSourceCallbackFuncs@ struct contains-functions for managing callback objects.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.SourceCallbackFuncs-    ( ---- * Exported types-    SourceCallbackFuncs(..)                 ,-    newZeroSourceCallbackFuncs              ,-    noSourceCallbackFuncs                   ,--- -- * Properties--- ** ref #attr:ref#-{- | /No description available in the introspection data./--}-    clearSourceCallbackFuncsRef             ,-    getSourceCallbackFuncsRef               ,-    setSourceCallbackFuncsRef               ,-#if ENABLE_OVERLOADING-    sourceCallbackFuncs_ref                 ,-#endif----- ** unref #attr:unref#-{- | /No description available in the introspection data./--}-    clearSourceCallbackFuncsUnref           ,-    getSourceCallbackFuncsUnref             ,-    setSourceCallbackFuncsUnref             ,-#if ENABLE_OVERLOADING-    sourceCallbackFuncs_unref               ,-#endif-----    ) 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 qualified GI.GLib.Callbacks as GLib.Callbacks---- | Memory-managed wrapper type.-newtype SourceCallbackFuncs = SourceCallbackFuncs (ManagedPtr SourceCallbackFuncs)-instance WrappedPtr SourceCallbackFuncs where-    wrappedPtrCalloc = callocBytes 24-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 24 >=> wrapPtr SourceCallbackFuncs)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `SourceCallbackFuncs` struct initialized to zero.-newZeroSourceCallbackFuncs :: MonadIO m => m SourceCallbackFuncs-newZeroSourceCallbackFuncs = liftIO $ wrappedPtrCalloc >>= wrapPtr SourceCallbackFuncs--instance tag ~ 'AttrSet => Constructible SourceCallbackFuncs tag where-    new _ attrs = do-        o <- newZeroSourceCallbackFuncs-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `SourceCallbackFuncs`.-noSourceCallbackFuncs :: Maybe SourceCallbackFuncs-noSourceCallbackFuncs = Nothing--{- |-Get the value of the “@ref@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' sourceCallbackFuncs #ref-@--}-getSourceCallbackFuncsRef :: MonadIO m => SourceCallbackFuncs -> m (Maybe GLib.Callbacks.SourceCallbackFuncsRefFieldCallback)-getSourceCallbackFuncsRef s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (FunPtr GLib.Callbacks.C_SourceCallbackFuncsRefFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_SourceCallbackFuncsRefFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@ref@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' sourceCallbackFuncs [ #ref 'Data.GI.Base.Attributes.:=' value ]-@--}-setSourceCallbackFuncsRef :: MonadIO m => SourceCallbackFuncs -> FunPtr GLib.Callbacks.C_SourceCallbackFuncsRefFieldCallback -> m ()-setSourceCallbackFuncsRef s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: FunPtr GLib.Callbacks.C_SourceCallbackFuncsRefFieldCallback)--{- |-Set the value of the “@ref@” 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' #ref-@--}-clearSourceCallbackFuncsRef :: MonadIO m => SourceCallbackFuncs -> m ()-clearSourceCallbackFuncsRef s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_SourceCallbackFuncsRefFieldCallback)--#if ENABLE_OVERLOADING-data SourceCallbackFuncsRefFieldInfo-instance AttrInfo SourceCallbackFuncsRefFieldInfo where-    type AttrAllowedOps SourceCallbackFuncsRefFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint SourceCallbackFuncsRefFieldInfo = (~) (FunPtr GLib.Callbacks.C_SourceCallbackFuncsRefFieldCallback)-    type AttrBaseTypeConstraint SourceCallbackFuncsRefFieldInfo = (~) SourceCallbackFuncs-    type AttrGetType SourceCallbackFuncsRefFieldInfo = Maybe GLib.Callbacks.SourceCallbackFuncsRefFieldCallback-    type AttrLabel SourceCallbackFuncsRefFieldInfo = "ref"-    type AttrOrigin SourceCallbackFuncsRefFieldInfo = SourceCallbackFuncs-    attrGet _ = getSourceCallbackFuncsRef-    attrSet _ = setSourceCallbackFuncsRef-    attrConstruct = undefined-    attrClear _ = clearSourceCallbackFuncsRef--sourceCallbackFuncs_ref :: AttrLabelProxy "ref"-sourceCallbackFuncs_ref = AttrLabelProxy--#endif---{- |-Get the value of the “@unref@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' sourceCallbackFuncs #unref-@--}-getSourceCallbackFuncsUnref :: MonadIO m => SourceCallbackFuncs -> m (Maybe GLib.Callbacks.SourceCallbackFuncsUnrefFieldCallback)-getSourceCallbackFuncsUnref s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO (FunPtr GLib.Callbacks.C_SourceCallbackFuncsUnrefFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_SourceCallbackFuncsUnrefFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@unref@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' sourceCallbackFuncs [ #unref 'Data.GI.Base.Attributes.:=' value ]-@--}-setSourceCallbackFuncsUnref :: MonadIO m => SourceCallbackFuncs -> FunPtr GLib.Callbacks.C_SourceCallbackFuncsUnrefFieldCallback -> m ()-setSourceCallbackFuncsUnref s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: FunPtr GLib.Callbacks.C_SourceCallbackFuncsUnrefFieldCallback)--{- |-Set the value of the “@unref@” 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' #unref-@--}-clearSourceCallbackFuncsUnref :: MonadIO m => SourceCallbackFuncs -> m ()-clearSourceCallbackFuncsUnref s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_SourceCallbackFuncsUnrefFieldCallback)--#if ENABLE_OVERLOADING-data SourceCallbackFuncsUnrefFieldInfo-instance AttrInfo SourceCallbackFuncsUnrefFieldInfo where-    type AttrAllowedOps SourceCallbackFuncsUnrefFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint SourceCallbackFuncsUnrefFieldInfo = (~) (FunPtr GLib.Callbacks.C_SourceCallbackFuncsUnrefFieldCallback)-    type AttrBaseTypeConstraint SourceCallbackFuncsUnrefFieldInfo = (~) SourceCallbackFuncs-    type AttrGetType SourceCallbackFuncsUnrefFieldInfo = Maybe GLib.Callbacks.SourceCallbackFuncsUnrefFieldCallback-    type AttrLabel SourceCallbackFuncsUnrefFieldInfo = "unref"-    type AttrOrigin SourceCallbackFuncsUnrefFieldInfo = SourceCallbackFuncs-    attrGet _ = getSourceCallbackFuncsUnref-    attrSet _ = setSourceCallbackFuncsUnref-    attrConstruct = undefined-    attrClear _ = clearSourceCallbackFuncsUnref--sourceCallbackFuncs_unref :: AttrLabelProxy "unref"-sourceCallbackFuncs_unref = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList SourceCallbackFuncs-type instance O.AttributeList SourceCallbackFuncs = SourceCallbackFuncsAttributeList-type SourceCallbackFuncsAttributeList = ('[ '("ref", SourceCallbackFuncsRefFieldInfo), '("unref", SourceCallbackFuncsUnrefFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveSourceCallbackFuncsMethod (t :: Symbol) (o :: *) :: * where-    ResolveSourceCallbackFuncsMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveSourceCallbackFuncsMethod t SourceCallbackFuncs, O.MethodInfo info SourceCallbackFuncs p) => OL.IsLabel t (SourceCallbackFuncs -> 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/GLib/Structs/SourceCallbackFuncs.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.SourceCallbackFuncs 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 SourceCallbackFuncs = SourceCallbackFuncs (ManagedPtr SourceCallbackFuncs)-instance WrappedPtr SourceCallbackFuncs where
− GI/GLib/Structs/SourceFuncs.hs
@@ -1,324 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The @GSourceFuncs@ struct contains a table of-functions used to handle event sources in a generic manner.--For idle sources, the prepare and check functions always return 'True'-to indicate that the source is always ready to be processed. The prepare-function also returns a timeout value of 0 to ensure that the @/poll()/@ call-doesn\'t block (since that would be time wasted which could have been spent-running the idle function).--For timeout sources, the prepare and check functions both return 'True'-if the timeout interval has expired. The prepare function also returns-a timeout value to ensure that the @/poll()/@ call doesn\'t block too long-and miss the next timeout.--For file descriptor sources, the prepare function typically returns 'False',-since it must wait until @/poll()/@ has been called before it knows whether-any events need to be processed. It sets the returned timeout to -1 to-indicate that it doesn\'t mind how long the @/poll()/@ call blocks. In the-check function, it tests the results of the @/poll()/@ call to see if the-required condition has been met, and returns 'True' if so.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.SourceFuncs-    ( ---- * Exported types-    SourceFuncs(..)                         ,-    newZeroSourceFuncs                      ,-    noSourceFuncs                           ,--- -- * Properties--- ** check #attr:check#-{- | /No description available in the introspection data./--}-    clearSourceFuncsCheck                   ,-    getSourceFuncsCheck                     ,-    setSourceFuncsCheck                     ,-#if ENABLE_OVERLOADING-    sourceFuncs_check                       ,-#endif----- ** finalize #attr:finalize#-{- | /No description available in the introspection data./--}-    clearSourceFuncsFinalize                ,-    getSourceFuncsFinalize                  ,-    setSourceFuncsFinalize                  ,-#if ENABLE_OVERLOADING-    sourceFuncs_finalize                    ,-#endif----- ** prepare #attr:prepare#-{- | /No description available in the introspection data./--}-    clearSourceFuncsPrepare                 ,-    getSourceFuncsPrepare                   ,-    setSourceFuncsPrepare                   ,-#if ENABLE_OVERLOADING-    sourceFuncs_prepare                     ,-#endif-----    ) 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 qualified GI.GLib.Callbacks as GLib.Callbacks---- | Memory-managed wrapper type.-newtype SourceFuncs = SourceFuncs (ManagedPtr SourceFuncs)-instance WrappedPtr SourceFuncs where-    wrappedPtrCalloc = callocBytes 48-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 48 >=> wrapPtr SourceFuncs)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `SourceFuncs` struct initialized to zero.-newZeroSourceFuncs :: MonadIO m => m SourceFuncs-newZeroSourceFuncs = liftIO $ wrappedPtrCalloc >>= wrapPtr SourceFuncs--instance tag ~ 'AttrSet => Constructible SourceFuncs tag where-    new _ attrs = do-        o <- newZeroSourceFuncs-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `SourceFuncs`.-noSourceFuncs :: Maybe SourceFuncs-noSourceFuncs = Nothing--{- |-Get the value of the “@prepare@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' sourceFuncs #prepare-@--}-getSourceFuncsPrepare :: MonadIO m => SourceFuncs -> m (Maybe GLib.Callbacks.SourceFuncsPrepareFieldCallback)-getSourceFuncsPrepare s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (FunPtr GLib.Callbacks.C_SourceFuncsPrepareFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_SourceFuncsPrepareFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@prepare@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' sourceFuncs [ #prepare 'Data.GI.Base.Attributes.:=' value ]-@--}-setSourceFuncsPrepare :: MonadIO m => SourceFuncs -> FunPtr GLib.Callbacks.C_SourceFuncsPrepareFieldCallback -> m ()-setSourceFuncsPrepare s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: FunPtr GLib.Callbacks.C_SourceFuncsPrepareFieldCallback)--{- |-Set the value of the “@prepare@” 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' #prepare-@--}-clearSourceFuncsPrepare :: MonadIO m => SourceFuncs -> m ()-clearSourceFuncsPrepare s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_SourceFuncsPrepareFieldCallback)--#if ENABLE_OVERLOADING-data SourceFuncsPrepareFieldInfo-instance AttrInfo SourceFuncsPrepareFieldInfo where-    type AttrAllowedOps SourceFuncsPrepareFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint SourceFuncsPrepareFieldInfo = (~) (FunPtr GLib.Callbacks.C_SourceFuncsPrepareFieldCallback)-    type AttrBaseTypeConstraint SourceFuncsPrepareFieldInfo = (~) SourceFuncs-    type AttrGetType SourceFuncsPrepareFieldInfo = Maybe GLib.Callbacks.SourceFuncsPrepareFieldCallback-    type AttrLabel SourceFuncsPrepareFieldInfo = "prepare"-    type AttrOrigin SourceFuncsPrepareFieldInfo = SourceFuncs-    attrGet _ = getSourceFuncsPrepare-    attrSet _ = setSourceFuncsPrepare-    attrConstruct = undefined-    attrClear _ = clearSourceFuncsPrepare--sourceFuncs_prepare :: AttrLabelProxy "prepare"-sourceFuncs_prepare = AttrLabelProxy--#endif---{- |-Get the value of the “@check@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' sourceFuncs #check-@--}-getSourceFuncsCheck :: MonadIO m => SourceFuncs -> m (Maybe GLib.Callbacks.SourceFuncsCheckFieldCallback)-getSourceFuncsCheck s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO (FunPtr GLib.Callbacks.C_SourceFuncsCheckFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_SourceFuncsCheckFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@check@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' sourceFuncs [ #check 'Data.GI.Base.Attributes.:=' value ]-@--}-setSourceFuncsCheck :: MonadIO m => SourceFuncs -> FunPtr GLib.Callbacks.C_SourceFuncsCheckFieldCallback -> m ()-setSourceFuncsCheck s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: FunPtr GLib.Callbacks.C_SourceFuncsCheckFieldCallback)--{- |-Set the value of the “@check@” 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' #check-@--}-clearSourceFuncsCheck :: MonadIO m => SourceFuncs -> m ()-clearSourceFuncsCheck s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_SourceFuncsCheckFieldCallback)--#if ENABLE_OVERLOADING-data SourceFuncsCheckFieldInfo-instance AttrInfo SourceFuncsCheckFieldInfo where-    type AttrAllowedOps SourceFuncsCheckFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint SourceFuncsCheckFieldInfo = (~) (FunPtr GLib.Callbacks.C_SourceFuncsCheckFieldCallback)-    type AttrBaseTypeConstraint SourceFuncsCheckFieldInfo = (~) SourceFuncs-    type AttrGetType SourceFuncsCheckFieldInfo = Maybe GLib.Callbacks.SourceFuncsCheckFieldCallback-    type AttrLabel SourceFuncsCheckFieldInfo = "check"-    type AttrOrigin SourceFuncsCheckFieldInfo = SourceFuncs-    attrGet _ = getSourceFuncsCheck-    attrSet _ = setSourceFuncsCheck-    attrConstruct = undefined-    attrClear _ = clearSourceFuncsCheck--sourceFuncs_check :: AttrLabelProxy "check"-sourceFuncs_check = AttrLabelProxy--#endif---{- |-Get the value of the “@finalize@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' sourceFuncs #finalize-@--}-getSourceFuncsFinalize :: MonadIO m => SourceFuncs -> m (Maybe GLib.Callbacks.SourceFuncsFinalizeFieldCallback)-getSourceFuncsFinalize s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 24) :: IO (FunPtr GLib.Callbacks.C_SourceFuncsFinalizeFieldCallback)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_SourceFuncsFinalizeFieldCallback val'-        return val''-    return result--{- |-Set the value of the “@finalize@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' sourceFuncs [ #finalize 'Data.GI.Base.Attributes.:=' value ]-@--}-setSourceFuncsFinalize :: MonadIO m => SourceFuncs -> FunPtr GLib.Callbacks.C_SourceFuncsFinalizeFieldCallback -> m ()-setSourceFuncsFinalize s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (val :: FunPtr GLib.Callbacks.C_SourceFuncsFinalizeFieldCallback)--{- |-Set the value of the “@finalize@” 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' #finalize-@--}-clearSourceFuncsFinalize :: MonadIO m => SourceFuncs -> m ()-clearSourceFuncsFinalize s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 24) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_SourceFuncsFinalizeFieldCallback)--#if ENABLE_OVERLOADING-data SourceFuncsFinalizeFieldInfo-instance AttrInfo SourceFuncsFinalizeFieldInfo where-    type AttrAllowedOps SourceFuncsFinalizeFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint SourceFuncsFinalizeFieldInfo = (~) (FunPtr GLib.Callbacks.C_SourceFuncsFinalizeFieldCallback)-    type AttrBaseTypeConstraint SourceFuncsFinalizeFieldInfo = (~) SourceFuncs-    type AttrGetType SourceFuncsFinalizeFieldInfo = Maybe GLib.Callbacks.SourceFuncsFinalizeFieldCallback-    type AttrLabel SourceFuncsFinalizeFieldInfo = "finalize"-    type AttrOrigin SourceFuncsFinalizeFieldInfo = SourceFuncs-    attrGet _ = getSourceFuncsFinalize-    attrSet _ = setSourceFuncsFinalize-    attrConstruct = undefined-    attrClear _ = clearSourceFuncsFinalize--sourceFuncs_finalize :: AttrLabelProxy "finalize"-sourceFuncs_finalize = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList SourceFuncs-type instance O.AttributeList SourceFuncs = SourceFuncsAttributeList-type SourceFuncsAttributeList = ('[ '("prepare", SourceFuncsPrepareFieldInfo), '("check", SourceFuncsCheckFieldInfo), '("finalize", SourceFuncsFinalizeFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveSourceFuncsMethod (t :: Symbol) (o :: *) :: * where-    ResolveSourceFuncsMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveSourceFuncsMethod t SourceFuncs, O.MethodInfo info SourceFuncs p) => OL.IsLabel t (SourceFuncs -> 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/GLib/Structs/SourceFuncs.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.SourceFuncs 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 SourceFuncs = SourceFuncs (ManagedPtr SourceFuncs)-instance WrappedPtr SourceFuncs where
− GI/GLib/Structs/StatBuf.hs
@@ -1,80 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A type corresponding to the appropriate struct type for the @/stat()/@-system call, depending on the platform and\/or compiler being used.--See @/g_stat()/@ for more information.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.StatBuf-    ( ---- * Exported types-    StatBuf(..)                             ,-    noStatBuf                               ,---    ) 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 StatBuf = StatBuf (ManagedPtr StatBuf)--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?-instance WrappedPtr StatBuf where-    wrappedPtrCalloc = return nullPtr-    wrappedPtrCopy = return-    wrappedPtrFree = Nothing---- | A convenience alias for `Nothing` :: `Maybe` `StatBuf`.-noStatBuf :: Maybe StatBuf-noStatBuf = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList StatBuf-type instance O.AttributeList StatBuf = StatBufAttributeList-type StatBufAttributeList = ('[ ] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveStatBufMethod (t :: Symbol) (o :: *) :: * where-    ResolveStatBufMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveStatBufMethod t StatBuf, O.MethodInfo info StatBuf p) => OL.IsLabel t (StatBuf -> 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/GLib/Structs/StatBuf.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.StatBuf 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 StatBuf = StatBuf (ManagedPtr StatBuf)-instance WrappedPtr StatBuf where
− GI/GLib/Structs/String.hs
@@ -1,1701 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The GString struct contains the public fields of a GString.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.String-    ( ---- * Exported types-    String(..)                              ,-    newZeroString                           ,-    noString                                ,--- -- * Methods--- ** append #method:append#--#if ENABLE_OVERLOADING-    StringAppendMethodInfo                  ,-#endif-    stringAppend                            ,----- ** appendC #method:appendC#--#if ENABLE_OVERLOADING-    StringAppendCMethodInfo                 ,-#endif-    stringAppendC                           ,----- ** appendLen #method:appendLen#--#if ENABLE_OVERLOADING-    StringAppendLenMethodInfo               ,-#endif-    stringAppendLen                         ,----- ** appendUnichar #method:appendUnichar#--#if ENABLE_OVERLOADING-    StringAppendUnicharMethodInfo           ,-#endif-    stringAppendUnichar                     ,----- ** appendUriEscaped #method:appendUriEscaped#--#if ENABLE_OVERLOADING-    StringAppendUriEscapedMethodInfo        ,-#endif-    stringAppendUriEscaped                  ,----- ** asciiDown #method:asciiDown#--#if ENABLE_OVERLOADING-    StringAsciiDownMethodInfo               ,-#endif-    stringAsciiDown                         ,----- ** asciiUp #method:asciiUp#--#if ENABLE_OVERLOADING-    StringAsciiUpMethodInfo                 ,-#endif-    stringAsciiUp                           ,----- ** assign #method:assign#--#if ENABLE_OVERLOADING-    StringAssignMethodInfo                  ,-#endif-    stringAssign                            ,----- ** down #method:down#--#if ENABLE_OVERLOADING-    StringDownMethodInfo                    ,-#endif-    stringDown                              ,----- ** equal #method:equal#--#if ENABLE_OVERLOADING-    StringEqualMethodInfo                   ,-#endif-    stringEqual                             ,----- ** erase #method:erase#--#if ENABLE_OVERLOADING-    StringEraseMethodInfo                   ,-#endif-    stringErase                             ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    StringFreeMethodInfo                    ,-#endif-    stringFree                              ,----- ** freeToBytes #method:freeToBytes#--#if ENABLE_OVERLOADING-    StringFreeToBytesMethodInfo             ,-#endif-    stringFreeToBytes                       ,----- ** hash #method:hash#--#if ENABLE_OVERLOADING-    StringHashMethodInfo                    ,-#endif-    stringHash                              ,----- ** insert #method:insert#--#if ENABLE_OVERLOADING-    StringInsertMethodInfo                  ,-#endif-    stringInsert                            ,----- ** insertC #method:insertC#--#if ENABLE_OVERLOADING-    StringInsertCMethodInfo                 ,-#endif-    stringInsertC                           ,----- ** insertLen #method:insertLen#--#if ENABLE_OVERLOADING-    StringInsertLenMethodInfo               ,-#endif-    stringInsertLen                         ,----- ** insertUnichar #method:insertUnichar#--#if ENABLE_OVERLOADING-    StringInsertUnicharMethodInfo           ,-#endif-    stringInsertUnichar                     ,----- ** overwrite #method:overwrite#--#if ENABLE_OVERLOADING-    StringOverwriteMethodInfo               ,-#endif-    stringOverwrite                         ,----- ** overwriteLen #method:overwriteLen#--#if ENABLE_OVERLOADING-    StringOverwriteLenMethodInfo            ,-#endif-    stringOverwriteLen                      ,----- ** prepend #method:prepend#--#if ENABLE_OVERLOADING-    StringPrependMethodInfo                 ,-#endif-    stringPrepend                           ,----- ** prependC #method:prependC#--#if ENABLE_OVERLOADING-    StringPrependCMethodInfo                ,-#endif-    stringPrependC                          ,----- ** prependLen #method:prependLen#--#if ENABLE_OVERLOADING-    StringPrependLenMethodInfo              ,-#endif-    stringPrependLen                        ,----- ** prependUnichar #method:prependUnichar#--#if ENABLE_OVERLOADING-    StringPrependUnicharMethodInfo          ,-#endif-    stringPrependUnichar                    ,----- ** setSize #method:setSize#--#if ENABLE_OVERLOADING-    StringSetSizeMethodInfo                 ,-#endif-    stringSetSize                           ,----- ** truncate #method:truncate#--#if ENABLE_OVERLOADING-    StringTruncateMethodInfo                ,-#endif-    stringTruncate                          ,----- ** up #method:up#--#if ENABLE_OVERLOADING-    StringUpMethodInfo                      ,-#endif-    stringUp                                ,----- -- * Properties--- ** allocatedLen #attr:allocatedLen#-{- | the number of bytes that can be stored in the-  string before it needs to be reallocated. May be larger than /@len@/.--}-    getStringAllocatedLen                   ,-    setStringAllocatedLen                   ,-#if ENABLE_OVERLOADING-    string_allocatedLen                     ,-#endif----- ** len #attr:len#-{- | contains the length of the string, not including the-  terminating nul byte.--}-    getStringLen                            ,-    setStringLen                            ,-#if ENABLE_OVERLOADING-    string_len                              ,-#endif----- ** str #attr:str#-{- | points to the character data. It may move as text is added.-  The /@str@/ field is null-terminated and so-  can be used as an ordinary C string.--}-    clearStringStr                          ,-    getStringStr                            ,-    setStringStr                            ,-#if ENABLE_OVERLOADING-    string_str                              ,-#endif-----    ) 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.GLib.Structs.Bytes as GLib.Bytes---- | Memory-managed wrapper type.-newtype String = String (ManagedPtr String)-foreign import ccall "g_gstring_get_type" c_g_gstring_get_type :: -    IO GType--instance BoxedObject String where-    boxedType _ = c_g_gstring_get_type---- | Construct a `String` struct initialized to zero.-newZeroString :: MonadIO m => m String-newZeroString = liftIO $ callocBoxedBytes 24 >>= wrapBoxed String--instance tag ~ 'AttrSet => Constructible String tag where-    new _ attrs = do-        o <- newZeroString-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `String`.-noString :: Maybe String-noString = Nothing--{- |-Get the value of the “@str@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' string #str-@--}-getStringStr :: MonadIO m => String -> m (Maybe T.Text)-getStringStr 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 “@str@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' string [ #str 'Data.GI.Base.Attributes.:=' value ]-@--}-setStringStr :: MonadIO m => String -> CString -> m ()-setStringStr s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: CString)--{- |-Set the value of the “@str@” 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' #str-@--}-clearStringStr :: MonadIO m => String -> m ()-clearStringStr s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data StringStrFieldInfo-instance AttrInfo StringStrFieldInfo where-    type AttrAllowedOps StringStrFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint StringStrFieldInfo = (~) CString-    type AttrBaseTypeConstraint StringStrFieldInfo = (~) String-    type AttrGetType StringStrFieldInfo = Maybe T.Text-    type AttrLabel StringStrFieldInfo = "str"-    type AttrOrigin StringStrFieldInfo = String-    attrGet _ = getStringStr-    attrSet _ = setStringStr-    attrConstruct = undefined-    attrClear _ = clearStringStr--string_str :: AttrLabelProxy "str"-string_str = AttrLabelProxy--#endif---{- |-Get the value of the “@len@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' string #len-@--}-getStringLen :: MonadIO m => String -> m Word64-getStringLen s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO Word64-    return val--{- |-Set the value of the “@len@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' string [ #len 'Data.GI.Base.Attributes.:=' value ]-@--}-setStringLen :: MonadIO m => String -> Word64 -> m ()-setStringLen s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Word64)--#if ENABLE_OVERLOADING-data StringLenFieldInfo-instance AttrInfo StringLenFieldInfo where-    type AttrAllowedOps StringLenFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint StringLenFieldInfo = (~) Word64-    type AttrBaseTypeConstraint StringLenFieldInfo = (~) String-    type AttrGetType StringLenFieldInfo = Word64-    type AttrLabel StringLenFieldInfo = "len"-    type AttrOrigin StringLenFieldInfo = String-    attrGet _ = getStringLen-    attrSet _ = setStringLen-    attrConstruct = undefined-    attrClear _ = undefined--string_len :: AttrLabelProxy "len"-string_len = AttrLabelProxy--#endif---{- |-Get the value of the “@allocated_len@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' string #allocatedLen-@--}-getStringAllocatedLen :: MonadIO m => String -> m Word64-getStringAllocatedLen s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO Word64-    return val--{- |-Set the value of the “@allocated_len@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' string [ #allocatedLen 'Data.GI.Base.Attributes.:=' value ]-@--}-setStringAllocatedLen :: MonadIO m => String -> Word64 -> m ()-setStringAllocatedLen s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: Word64)--#if ENABLE_OVERLOADING-data StringAllocatedLenFieldInfo-instance AttrInfo StringAllocatedLenFieldInfo where-    type AttrAllowedOps StringAllocatedLenFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint StringAllocatedLenFieldInfo = (~) Word64-    type AttrBaseTypeConstraint StringAllocatedLenFieldInfo = (~) String-    type AttrGetType StringAllocatedLenFieldInfo = Word64-    type AttrLabel StringAllocatedLenFieldInfo = "allocated_len"-    type AttrOrigin StringAllocatedLenFieldInfo = String-    attrGet _ = getStringAllocatedLen-    attrSet _ = setStringAllocatedLen-    attrConstruct = undefined-    attrClear _ = undefined--string_allocatedLen :: AttrLabelProxy "allocatedLen"-string_allocatedLen = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList String-type instance O.AttributeList String = StringAttributeList-type StringAttributeList = ('[ '("str", StringStrFieldInfo), '("len", StringLenFieldInfo), '("allocatedLen", StringAllocatedLenFieldInfo)] :: [(Symbol, *)])-#endif---- method String::append--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to append onto the end of @string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_append" g_string_append :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    CString ->                              -- val : TBasicType TUTF8-    IO (Ptr String)--{- |-Adds a string onto the end of a 'GI.GLib.Structs.String.String', expanding-it if necessary.--}-stringAppend ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a 'GI.GLib.Structs.String.String' -}-    -> T.Text-    {- ^ /@val@/: the string to append onto the end of /@string@/ -}-    -> m String-    {- ^ __Returns:__ /@string@/ -}-stringAppend string val = liftIO $ do-    string' <- unsafeManagedPtrGetPtr string-    val' <- textToCString val-    result <- g_string_append string' val'-    checkUnexpectedReturnNULL "stringAppend" result-    result' <- (newBoxed String) result-    touchManagedPtr string-    freeMem val'-    return result'--#if ENABLE_OVERLOADING-data StringAppendMethodInfo-instance (signature ~ (T.Text -> m String), MonadIO m) => O.MethodInfo StringAppendMethodInfo String signature where-    overloadedMethod _ = stringAppend--#endif---- method String::append_c--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "c", argType = TBasicType TInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the byte to append onto the end of @string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_append_c" g_string_append_c :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    Int8 ->                                 -- c : TBasicType TInt8-    IO (Ptr String)--{- |-Adds a byte onto the end of a 'GI.GLib.Structs.String.String', expanding-it if necessary.--}-stringAppendC ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a 'GI.GLib.Structs.String.String' -}-    -> Int8-    {- ^ /@c@/: the byte to append onto the end of /@string@/ -}-    -> m String-    {- ^ __Returns:__ /@string@/ -}-stringAppendC string c = liftIO $ do-    string' <- unsafeManagedPtrGetPtr string-    result <- g_string_append_c string' c-    checkUnexpectedReturnNULL "stringAppendC" result-    result' <- (newBoxed String) result-    touchManagedPtr string-    return result'--#if ENABLE_OVERLOADING-data StringAppendCMethodInfo-instance (signature ~ (Int8 -> m String), MonadIO m) => O.MethodInfo StringAppendCMethodInfo String signature where-    overloadedMethod _ = stringAppendC--#endif---- method String::append_len--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "bytes to append", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of bytes of @val to use, or -1 for all of @val", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_append_len" g_string_append_len :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    CString ->                              -- val : TBasicType TUTF8-    Int64 ->                                -- len : TBasicType TInt64-    IO (Ptr String)--{- |-Appends /@len@/ bytes of /@val@/ to /@string@/.--If /@len@/ is positive, /@val@/ may contain embedded nuls and need-not be nul-terminated. It is the caller\'s responsibility to-ensure that /@val@/ has at least /@len@/ addressable bytes.--If /@len@/ is negative, /@val@/ must be nul-terminated and /@len@/-is considered to request the entire string length. This-makes 'GI.GLib.Structs.String.stringAppendLen' equivalent to 'GI.GLib.Structs.String.stringAppend'.--}-stringAppendLen ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a 'GI.GLib.Structs.String.String' -}-    -> T.Text-    {- ^ /@val@/: bytes to append -}-    -> Int64-    {- ^ /@len@/: number of bytes of /@val@/ to use, or -1 for all of /@val@/ -}-    -> m String-    {- ^ __Returns:__ /@string@/ -}-stringAppendLen string val len = liftIO $ do-    string' <- unsafeManagedPtrGetPtr string-    val' <- textToCString val-    result <- g_string_append_len string' val' len-    checkUnexpectedReturnNULL "stringAppendLen" result-    result' <- (newBoxed String) result-    touchManagedPtr string-    freeMem val'-    return result'--#if ENABLE_OVERLOADING-data StringAppendLenMethodInfo-instance (signature ~ (T.Text -> Int64 -> m String), MonadIO m) => O.MethodInfo StringAppendLenMethodInfo String signature where-    overloadedMethod _ = stringAppendLen--#endif---- method String::append_unichar--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wc", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_append_unichar" g_string_append_unichar :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    CInt ->                                 -- wc : TBasicType TUniChar-    IO (Ptr String)--{- |-Converts a Unicode character into UTF-8, and appends it-to the string.--}-stringAppendUnichar ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a 'GI.GLib.Structs.String.String' -}-    -> Char-    {- ^ /@wc@/: a Unicode character -}-    -> m String-    {- ^ __Returns:__ /@string@/ -}-stringAppendUnichar string wc = liftIO $ do-    string' <- unsafeManagedPtrGetPtr string-    let wc' = (fromIntegral . ord) wc-    result <- g_string_append_unichar string' wc'-    checkUnexpectedReturnNULL "stringAppendUnichar" result-    result' <- (newBoxed String) result-    touchManagedPtr string-    return result'--#if ENABLE_OVERLOADING-data StringAppendUnicharMethodInfo-instance (signature ~ (Char -> m String), MonadIO m) => O.MethodInfo StringAppendUnicharMethodInfo String signature where-    overloadedMethod _ = stringAppendUnichar--#endif---- method String::append_uri_escaped--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unescaped", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "reserved_chars_allowed", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string of reserved characters allowed\n    to be used, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allow_utf8", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "set %TRUE if the escaped string may include UTF8 characters", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_append_uri_escaped" g_string_append_uri_escaped :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    CString ->                              -- unescaped : TBasicType TUTF8-    CString ->                              -- reserved_chars_allowed : TBasicType TUTF8-    CInt ->                                 -- allow_utf8 : TBasicType TBoolean-    IO (Ptr String)--{- |-Appends /@unescaped@/ to /@string@/, escaped any characters that-are reserved in URIs using URI-style escape sequences.--/Since: 2.16/--}-stringAppendUriEscaped ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a 'GI.GLib.Structs.String.String' -}-    -> T.Text-    {- ^ /@unescaped@/: a string -}-    -> T.Text-    {- ^ /@reservedCharsAllowed@/: a string of reserved characters allowed-    to be used, or 'Nothing' -}-    -> Bool-    {- ^ /@allowUtf8@/: set 'True' if the escaped string may include UTF8 characters -}-    -> m String-    {- ^ __Returns:__ /@string@/ -}-stringAppendUriEscaped string unescaped reservedCharsAllowed allowUtf8 = liftIO $ do-    string' <- unsafeManagedPtrGetPtr string-    unescaped' <- textToCString unescaped-    reservedCharsAllowed' <- textToCString reservedCharsAllowed-    let allowUtf8' = (fromIntegral . fromEnum) allowUtf8-    result <- g_string_append_uri_escaped string' unescaped' reservedCharsAllowed' allowUtf8'-    checkUnexpectedReturnNULL "stringAppendUriEscaped" result-    result' <- (newBoxed String) result-    touchManagedPtr string-    freeMem unescaped'-    freeMem reservedCharsAllowed'-    return result'--#if ENABLE_OVERLOADING-data StringAppendUriEscapedMethodInfo-instance (signature ~ (T.Text -> T.Text -> Bool -> m String), MonadIO m) => O.MethodInfo StringAppendUriEscapedMethodInfo String signature where-    overloadedMethod _ = stringAppendUriEscaped--#endif---- method String::ascii_down--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_ascii_down" g_string_ascii_down :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    IO (Ptr String)--{- |-Converts all uppercase ASCII letters to lowercase ASCII letters.--}-stringAsciiDown ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a GString -}-    -> m String-    {- ^ __Returns:__ passed-in /@string@/ pointer, with all the-    uppercase characters converted to lowercase in place,-    with semantics that exactly match 'GI.GLib.Functions.asciiTolower'. -}-stringAsciiDown string = liftIO $ do-    string' <- unsafeManagedPtrGetPtr string-    result <- g_string_ascii_down string'-    checkUnexpectedReturnNULL "stringAsciiDown" result-    result' <- (newBoxed String) result-    touchManagedPtr string-    return result'--#if ENABLE_OVERLOADING-data StringAsciiDownMethodInfo-instance (signature ~ (m String), MonadIO m) => O.MethodInfo StringAsciiDownMethodInfo String signature where-    overloadedMethod _ = stringAsciiDown--#endif---- method String::ascii_up--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_ascii_up" g_string_ascii_up :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    IO (Ptr String)--{- |-Converts all lowercase ASCII letters to uppercase ASCII letters.--}-stringAsciiUp ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a GString -}-    -> m String-    {- ^ __Returns:__ passed-in /@string@/ pointer, with all the-    lowercase characters converted to uppercase in place,-    with semantics that exactly match 'GI.GLib.Functions.asciiToupper'. -}-stringAsciiUp string = liftIO $ do-    string' <- unsafeManagedPtrGetPtr string-    result <- g_string_ascii_up string'-    checkUnexpectedReturnNULL "stringAsciiUp" result-    result' <- (newBoxed String) result-    touchManagedPtr string-    return result'--#if ENABLE_OVERLOADING-data StringAsciiUpMethodInfo-instance (signature ~ (m String), MonadIO m) => O.MethodInfo StringAsciiUpMethodInfo String signature where-    overloadedMethod _ = stringAsciiUp--#endif---- method String::assign--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the destination #GString. Its current contents\n         are destroyed.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rval", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to copy into @string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_assign" g_string_assign :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    CString ->                              -- rval : TBasicType TUTF8-    IO (Ptr String)--{- |-Copies the bytes from a string into a 'GI.GLib.Structs.String.String',-destroying any previous contents. It is rather like-the standard @/strcpy()/@ function, except that you do not-have to worry about having enough space to copy the string.--}-stringAssign ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: the destination 'GI.GLib.Structs.String.String'. Its current contents-         are destroyed. -}-    -> T.Text-    {- ^ /@rval@/: the string to copy into /@string@/ -}-    -> m String-    {- ^ __Returns:__ /@string@/ -}-stringAssign string rval = liftIO $ do-    string' <- unsafeManagedPtrGetPtr string-    rval' <- textToCString rval-    result <- g_string_assign string' rval'-    checkUnexpectedReturnNULL "stringAssign" result-    result' <- (newBoxed String) result-    touchManagedPtr string-    freeMem rval'-    return result'--#if ENABLE_OVERLOADING-data StringAssignMethodInfo-instance (signature ~ (T.Text -> m String), MonadIO m) => O.MethodInfo StringAssignMethodInfo String signature where-    overloadedMethod _ = stringAssign--#endif---- method String::down--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_down" g_string_down :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    IO (Ptr String)--{-# DEPRECATED stringDown ["(Since version 2.2)","This function uses the locale-specific","    @/tolower()/@ function, which is almost never the right thing.","    Use 'GI.GLib.Structs.String.stringAsciiDown' or 'GI.GLib.Functions.utf8Strdown' instead."] #-}-{- |-Converts a 'GI.GLib.Structs.String.String' to lowercase.--}-stringDown ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a 'GI.GLib.Structs.String.String' -}-    -> m String-    {- ^ __Returns:__ the 'GI.GLib.Structs.String.String' -}-stringDown string = liftIO $ do-    string' <- unsafeManagedPtrGetPtr string-    result <- g_string_down string'-    checkUnexpectedReturnNULL "stringDown" result-    result' <- (newBoxed String) result-    touchManagedPtr string-    return result'--#if ENABLE_OVERLOADING-data StringDownMethodInfo-instance (signature ~ (m String), MonadIO m) => O.MethodInfo StringDownMethodInfo String signature where-    overloadedMethod _ = stringDown--#endif---- method String::equal--- method type : OrdinaryMethod--- Args : [Arg {argCName = "v", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "v2", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another #GString", 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_string_equal" g_string_equal :: -    Ptr String ->                           -- v : TInterface (Name {namespace = "GLib", name = "String"})-    Ptr String ->                           -- v2 : TInterface (Name {namespace = "GLib", name = "String"})-    IO CInt--{- |-Compares two strings for equality, returning 'True' if they are equal.-For use with 'GI.GLib.Structs.HashTable.HashTable'.--}-stringEqual ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@v@/: a 'GI.GLib.Structs.String.String' -}-    -> String-    {- ^ /@v2@/: another 'GI.GLib.Structs.String.String' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the strings are the same length and contain the-    same bytes -}-stringEqual v v2 = liftIO $ do-    v' <- unsafeManagedPtrGetPtr v-    v2' <- unsafeManagedPtrGetPtr v2-    result <- g_string_equal v' v2'-    let result' = (/= 0) result-    touchManagedPtr v-    touchManagedPtr v2-    return result'--#if ENABLE_OVERLOADING-data StringEqualMethodInfo-instance (signature ~ (String -> m Bool), MonadIO m) => O.MethodInfo StringEqualMethodInfo String signature where-    overloadedMethod _ = stringEqual--#endif---- method String::erase--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position of the content to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to remove, or -1 to remove all\n      following bytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_erase" g_string_erase :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    Int64 ->                                -- pos : TBasicType TInt64-    Int64 ->                                -- len : TBasicType TInt64-    IO (Ptr String)--{- |-Removes /@len@/ bytes from a 'GI.GLib.Structs.String.String', starting at position /@pos@/.-The rest of the 'GI.GLib.Structs.String.String' is shifted down to fill the gap.--}-stringErase ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a 'GI.GLib.Structs.String.String' -}-    -> Int64-    {- ^ /@pos@/: the position of the content to remove -}-    -> Int64-    {- ^ /@len@/: the number of bytes to remove, or -1 to remove all-      following bytes -}-    -> m String-    {- ^ __Returns:__ /@string@/ -}-stringErase string pos len = liftIO $ do-    string' <- unsafeManagedPtrGetPtr string-    result <- g_string_erase string' pos len-    checkUnexpectedReturnNULL "stringErase" result-    result' <- (newBoxed String) result-    touchManagedPtr string-    return result'--#if ENABLE_OVERLOADING-data StringEraseMethodInfo-instance (signature ~ (Int64 -> Int64 -> m String), MonadIO m) => O.MethodInfo StringEraseMethodInfo String signature where-    overloadedMethod _ = stringErase--#endif---- method String::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "free_segment", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "if %TRUE, the actual character data is freed as well", 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_string_free" g_string_free :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    CInt ->                                 -- free_segment : TBasicType TBoolean-    IO CString--{- |-Frees the memory allocated for the 'GI.GLib.Structs.String.String'.-If /@freeSegment@/ is 'True' it also frees the character data.  If-it\'s 'False', the caller gains ownership of the buffer and must-free it after use with 'GI.GLib.Functions.free'.--}-stringFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a 'GI.GLib.Structs.String.String' -}-    -> Bool-    {- ^ /@freeSegment@/: if 'True', the actual character data is freed as well -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ the character data of /@string@/-         (i.e. 'Nothing' if /@freeSegment@/ is 'True') -}-stringFree string freeSegment = liftIO $ do-    string' <- B.ManagedPtr.disownBoxed string-    let freeSegment' = (fromIntegral . fromEnum) freeSegment-    result <- g_string_free string' freeSegment'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        freeMem result'-        return result''-    touchManagedPtr string-    return maybeResult--#if ENABLE_OVERLOADING-data StringFreeMethodInfo-instance (signature ~ (Bool -> m (Maybe T.Text)), MonadIO m) => O.MethodInfo StringFreeMethodInfo String signature where-    overloadedMethod _ = stringFree--#endif---- method String::free_to_bytes--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Bytes"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_free_to_bytes" g_string_free_to_bytes :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    IO (Ptr GLib.Bytes.Bytes)--{- |-Transfers ownership of the contents of /@string@/ to a newly allocated-'GI.GLib.Structs.Bytes.Bytes'.  The 'GI.GLib.Structs.String.String' structure itself is deallocated, and it is-therefore invalid to use /@string@/ after invoking this function.--Note that while 'GI.GLib.Structs.String.String' ensures that its buffer always has a-trailing nul character (not reflected in its \"len\"), the returned-'GI.GLib.Structs.Bytes.Bytes' does not include this extra nul; i.e. it has length exactly-equal to the \"len\" member.--/Since: 2.34/--}-stringFreeToBytes ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a 'GI.GLib.Structs.String.String' -}-    -> m GLib.Bytes.Bytes-    {- ^ __Returns:__ A newly allocated 'GI.GLib.Structs.Bytes.Bytes' containing contents of /@string@/; /@string@/ itself is freed -}-stringFreeToBytes string = liftIO $ do-    string' <- B.ManagedPtr.disownBoxed string-    result <- g_string_free_to_bytes string'-    checkUnexpectedReturnNULL "stringFreeToBytes" result-    result' <- (wrapBoxed GLib.Bytes.Bytes) result-    touchManagedPtr string-    return result'--#if ENABLE_OVERLOADING-data StringFreeToBytesMethodInfo-instance (signature ~ (m GLib.Bytes.Bytes), MonadIO m) => O.MethodInfo StringFreeToBytesMethodInfo String signature where-    overloadedMethod _ = stringFreeToBytes--#endif---- method String::hash--- method type : OrdinaryMethod--- Args : [Arg {argCName = "str", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a string to hash", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_string_hash" g_string_hash :: -    Ptr String ->                           -- str : TInterface (Name {namespace = "GLib", name = "String"})-    IO Word32--{- |-Creates a hash code for /@str@/; for use with 'GI.GLib.Structs.HashTable.HashTable'.--}-stringHash ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@str@/: a string to hash -}-    -> m Word32-    {- ^ __Returns:__ hash code for /@str@/ -}-stringHash str = liftIO $ do-    str' <- unsafeManagedPtrGetPtr str-    result <- g_string_hash str'-    touchManagedPtr str-    return result--#if ENABLE_OVERLOADING-data StringHashMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo StringHashMethodInfo String signature where-    overloadedMethod _ = stringHash--#endif---- method String::insert--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position to insert the copy of the string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to insert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_insert" g_string_insert :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    Int64 ->                                -- pos : TBasicType TInt64-    CString ->                              -- val : TBasicType TUTF8-    IO (Ptr String)--{- |-Inserts a copy of a string into a 'GI.GLib.Structs.String.String',-expanding it if necessary.--}-stringInsert ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a 'GI.GLib.Structs.String.String' -}-    -> Int64-    {- ^ /@pos@/: the position to insert the copy of the string -}-    -> T.Text-    {- ^ /@val@/: the string to insert -}-    -> m String-    {- ^ __Returns:__ /@string@/ -}-stringInsert string pos val = liftIO $ do-    string' <- unsafeManagedPtrGetPtr string-    val' <- textToCString val-    result <- g_string_insert string' pos val'-    checkUnexpectedReturnNULL "stringInsert" result-    result' <- (newBoxed String) result-    touchManagedPtr string-    freeMem val'-    return result'--#if ENABLE_OVERLOADING-data StringInsertMethodInfo-instance (signature ~ (Int64 -> T.Text -> m String), MonadIO m) => O.MethodInfo StringInsertMethodInfo String signature where-    overloadedMethod _ = stringInsert--#endif---- method String::insert_c--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position to insert the byte", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "c", argType = TBasicType TInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the byte to insert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_insert_c" g_string_insert_c :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    Int64 ->                                -- pos : TBasicType TInt64-    Int8 ->                                 -- c : TBasicType TInt8-    IO (Ptr String)--{- |-Inserts a byte into a 'GI.GLib.Structs.String.String', expanding it if necessary.--}-stringInsertC ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a 'GI.GLib.Structs.String.String' -}-    -> Int64-    {- ^ /@pos@/: the position to insert the byte -}-    -> Int8-    {- ^ /@c@/: the byte to insert -}-    -> m String-    {- ^ __Returns:__ /@string@/ -}-stringInsertC string pos c = liftIO $ do-    string' <- unsafeManagedPtrGetPtr string-    result <- g_string_insert_c string' pos c-    checkUnexpectedReturnNULL "stringInsertC" result-    result' <- (newBoxed String) result-    touchManagedPtr string-    return result'--#if ENABLE_OVERLOADING-data StringInsertCMethodInfo-instance (signature ~ (Int64 -> Int8 -> m String), MonadIO m) => O.MethodInfo StringInsertCMethodInfo String signature where-    overloadedMethod _ = stringInsertC--#endif---- method String::insert_len--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "position in @string where insertion should\n      happen, or -1 for at the end", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "bytes to insert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of bytes of @val to insert, or -1 for all of @val", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_insert_len" g_string_insert_len :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    Int64 ->                                -- pos : TBasicType TInt64-    CString ->                              -- val : TBasicType TUTF8-    Int64 ->                                -- len : TBasicType TInt64-    IO (Ptr String)--{- |-Inserts /@len@/ bytes of /@val@/ into /@string@/ at /@pos@/.--If /@len@/ is positive, /@val@/ may contain embedded nuls and need-not be nul-terminated. It is the caller\'s responsibility to-ensure that /@val@/ has at least /@len@/ addressable bytes.--If /@len@/ is negative, /@val@/ must be nul-terminated and /@len@/-is considered to request the entire string length.--If /@pos@/ is -1, bytes are inserted at the end of the string.--}-stringInsertLen ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a 'GI.GLib.Structs.String.String' -}-    -> Int64-    {- ^ /@pos@/: position in /@string@/ where insertion should-      happen, or -1 for at the end -}-    -> T.Text-    {- ^ /@val@/: bytes to insert -}-    -> Int64-    {- ^ /@len@/: number of bytes of /@val@/ to insert, or -1 for all of /@val@/ -}-    -> m String-    {- ^ __Returns:__ /@string@/ -}-stringInsertLen string pos val len = liftIO $ do-    string' <- unsafeManagedPtrGetPtr string-    val' <- textToCString val-    result <- g_string_insert_len string' pos val' len-    checkUnexpectedReturnNULL "stringInsertLen" result-    result' <- (newBoxed String) result-    touchManagedPtr string-    freeMem val'-    return result'--#if ENABLE_OVERLOADING-data StringInsertLenMethodInfo-instance (signature ~ (Int64 -> T.Text -> Int64 -> m String), MonadIO m) => O.MethodInfo StringInsertLenMethodInfo String signature where-    overloadedMethod _ = stringInsertLen--#endif---- method String::insert_unichar--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position at which to insert character, or -1\n    to append at the end of the string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wc", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_insert_unichar" g_string_insert_unichar :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    Int64 ->                                -- pos : TBasicType TInt64-    CInt ->                                 -- wc : TBasicType TUniChar-    IO (Ptr String)--{- |-Converts a Unicode character into UTF-8, and insert it-into the string at the given position.--}-stringInsertUnichar ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a 'GI.GLib.Structs.String.String' -}-    -> Int64-    {- ^ /@pos@/: the position at which to insert character, or -1-    to append at the end of the string -}-    -> Char-    {- ^ /@wc@/: a Unicode character -}-    -> m String-    {- ^ __Returns:__ /@string@/ -}-stringInsertUnichar string pos wc = liftIO $ do-    string' <- unsafeManagedPtrGetPtr string-    let wc' = (fromIntegral . ord) wc-    result <- g_string_insert_unichar string' pos wc'-    checkUnexpectedReturnNULL "stringInsertUnichar" result-    result' <- (newBoxed String) result-    touchManagedPtr string-    return result'--#if ENABLE_OVERLOADING-data StringInsertUnicharMethodInfo-instance (signature ~ (Int64 -> Char -> m String), MonadIO m) => O.MethodInfo StringInsertUnicharMethodInfo String signature where-    overloadedMethod _ = stringInsertUnichar--#endif---- method String::overwrite--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position at which to start overwriting", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string that will overwrite the @string starting at @pos", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_overwrite" g_string_overwrite :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    Word64 ->                               -- pos : TBasicType TUInt64-    CString ->                              -- val : TBasicType TUTF8-    IO (Ptr String)--{- |-Overwrites part of a string, lengthening it if necessary.--/Since: 2.14/--}-stringOverwrite ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a 'GI.GLib.Structs.String.String' -}-    -> Word64-    {- ^ /@pos@/: the position at which to start overwriting -}-    -> T.Text-    {- ^ /@val@/: the string that will overwrite the /@string@/ starting at /@pos@/ -}-    -> m String-    {- ^ __Returns:__ /@string@/ -}-stringOverwrite string pos val = liftIO $ do-    string' <- unsafeManagedPtrGetPtr string-    val' <- textToCString val-    result <- g_string_overwrite string' pos val'-    checkUnexpectedReturnNULL "stringOverwrite" result-    result' <- (newBoxed String) result-    touchManagedPtr string-    freeMem val'-    return result'--#if ENABLE_OVERLOADING-data StringOverwriteMethodInfo-instance (signature ~ (Word64 -> T.Text -> m String), MonadIO m) => O.MethodInfo StringOverwriteMethodInfo String signature where-    overloadedMethod _ = stringOverwrite--#endif---- method String::overwrite_len--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "pos", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the position at which to start overwriting", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string that will overwrite the @string starting at @pos", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the number of bytes to write from @val", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_overwrite_len" g_string_overwrite_len :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    Word64 ->                               -- pos : TBasicType TUInt64-    CString ->                              -- val : TBasicType TUTF8-    Int64 ->                                -- len : TBasicType TInt64-    IO (Ptr String)--{- |-Overwrites part of a string, lengthening it if necessary.-This function will work with embedded nuls.--/Since: 2.14/--}-stringOverwriteLen ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a 'GI.GLib.Structs.String.String' -}-    -> Word64-    {- ^ /@pos@/: the position at which to start overwriting -}-    -> T.Text-    {- ^ /@val@/: the string that will overwrite the /@string@/ starting at /@pos@/ -}-    -> Int64-    {- ^ /@len@/: the number of bytes to write from /@val@/ -}-    -> m String-    {- ^ __Returns:__ /@string@/ -}-stringOverwriteLen string pos val len = liftIO $ do-    string' <- unsafeManagedPtrGetPtr string-    val' <- textToCString val-    result <- g_string_overwrite_len string' pos val' len-    checkUnexpectedReturnNULL "stringOverwriteLen" result-    result' <- (newBoxed String) result-    touchManagedPtr string-    freeMem val'-    return result'--#if ENABLE_OVERLOADING-data StringOverwriteLenMethodInfo-instance (signature ~ (Word64 -> T.Text -> Int64 -> m String), MonadIO m) => O.MethodInfo StringOverwriteLenMethodInfo String signature where-    overloadedMethod _ = stringOverwriteLen--#endif---- method String::prepend--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to prepend on the start of @string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_prepend" g_string_prepend :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    CString ->                              -- val : TBasicType TUTF8-    IO (Ptr String)--{- |-Adds a string on to the start of a 'GI.GLib.Structs.String.String',-expanding it if necessary.--}-stringPrepend ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a 'GI.GLib.Structs.String.String' -}-    -> T.Text-    {- ^ /@val@/: the string to prepend on the start of /@string@/ -}-    -> m String-    {- ^ __Returns:__ /@string@/ -}-stringPrepend string val = liftIO $ do-    string' <- unsafeManagedPtrGetPtr string-    val' <- textToCString val-    result <- g_string_prepend string' val'-    checkUnexpectedReturnNULL "stringPrepend" result-    result' <- (newBoxed String) result-    touchManagedPtr string-    freeMem val'-    return result'--#if ENABLE_OVERLOADING-data StringPrependMethodInfo-instance (signature ~ (T.Text -> m String), MonadIO m) => O.MethodInfo StringPrependMethodInfo String signature where-    overloadedMethod _ = stringPrepend--#endif---- method String::prepend_c--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "c", argType = TBasicType TInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the byte to prepend on the start of the #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_prepend_c" g_string_prepend_c :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    Int8 ->                                 -- c : TBasicType TInt8-    IO (Ptr String)--{- |-Adds a byte onto the start of a 'GI.GLib.Structs.String.String',-expanding it if necessary.--}-stringPrependC ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a 'GI.GLib.Structs.String.String' -}-    -> Int8-    {- ^ /@c@/: the byte to prepend on the start of the 'GI.GLib.Structs.String.String' -}-    -> m String-    {- ^ __Returns:__ /@string@/ -}-stringPrependC string c = liftIO $ do-    string' <- unsafeManagedPtrGetPtr string-    result <- g_string_prepend_c string' c-    checkUnexpectedReturnNULL "stringPrependC" result-    result' <- (newBoxed String) result-    touchManagedPtr string-    return result'--#if ENABLE_OVERLOADING-data StringPrependCMethodInfo-instance (signature ~ (Int8 -> m String), MonadIO m) => O.MethodInfo StringPrependCMethodInfo String signature where-    overloadedMethod _ = stringPrependC--#endif---- method String::prepend_len--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "val", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "bytes to prepend", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of bytes in @val to prepend, or -1 for all of @val", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_prepend_len" g_string_prepend_len :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    CString ->                              -- val : TBasicType TUTF8-    Int64 ->                                -- len : TBasicType TInt64-    IO (Ptr String)--{- |-Prepends /@len@/ bytes of /@val@/ to /@string@/.--If /@len@/ is positive, /@val@/ may contain embedded nuls and need-not be nul-terminated. It is the caller\'s responsibility to-ensure that /@val@/ has at least /@len@/ addressable bytes.--If /@len@/ is negative, /@val@/ must be nul-terminated and /@len@/-is considered to request the entire string length. This-makes 'GI.GLib.Structs.String.stringPrependLen' equivalent to 'GI.GLib.Structs.String.stringPrepend'.--}-stringPrependLen ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a 'GI.GLib.Structs.String.String' -}-    -> T.Text-    {- ^ /@val@/: bytes to prepend -}-    -> Int64-    {- ^ /@len@/: number of bytes in /@val@/ to prepend, or -1 for all of /@val@/ -}-    -> m String-    {- ^ __Returns:__ /@string@/ -}-stringPrependLen string val len = liftIO $ do-    string' <- unsafeManagedPtrGetPtr string-    val' <- textToCString val-    result <- g_string_prepend_len string' val' len-    checkUnexpectedReturnNULL "stringPrependLen" result-    result' <- (newBoxed String) result-    touchManagedPtr string-    freeMem val'-    return result'--#if ENABLE_OVERLOADING-data StringPrependLenMethodInfo-instance (signature ~ (T.Text -> Int64 -> m String), MonadIO m) => O.MethodInfo StringPrependLenMethodInfo String signature where-    overloadedMethod _ = stringPrependLen--#endif---- method String::prepend_unichar--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wc", argType = TBasicType TUniChar, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a Unicode character", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_prepend_unichar" g_string_prepend_unichar :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    CInt ->                                 -- wc : TBasicType TUniChar-    IO (Ptr String)--{- |-Converts a Unicode character into UTF-8, and prepends it-to the string.--}-stringPrependUnichar ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a 'GI.GLib.Structs.String.String' -}-    -> Char-    {- ^ /@wc@/: a Unicode character -}-    -> m String-    {- ^ __Returns:__ /@string@/ -}-stringPrependUnichar string wc = liftIO $ do-    string' <- unsafeManagedPtrGetPtr string-    let wc' = (fromIntegral . ord) wc-    result <- g_string_prepend_unichar string' wc'-    checkUnexpectedReturnNULL "stringPrependUnichar" result-    result' <- (newBoxed String) result-    touchManagedPtr string-    return result'--#if ENABLE_OVERLOADING-data StringPrependUnicharMethodInfo-instance (signature ~ (Char -> m String), MonadIO m) => O.MethodInfo StringPrependUnicharMethodInfo String signature where-    overloadedMethod _ = stringPrependUnichar--#endif---- method String::set_size--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new length", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_set_size" g_string_set_size :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    Word64 ->                               -- len : TBasicType TUInt64-    IO (Ptr String)--{- |-Sets the length of a 'GI.GLib.Structs.String.String'. If the length is less than-the current length, the string will be truncated. If the-length is greater than the current length, the contents-of the newly added area are undefined. (However, as-always, string->str[string->len] will be a nul byte.)--}-stringSetSize ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a 'GI.GLib.Structs.String.String' -}-    -> Word64-    {- ^ /@len@/: the new length -}-    -> m String-    {- ^ __Returns:__ /@string@/ -}-stringSetSize string len = liftIO $ do-    string' <- unsafeManagedPtrGetPtr string-    result <- g_string_set_size string' len-    checkUnexpectedReturnNULL "stringSetSize" result-    result' <- (newBoxed String) result-    touchManagedPtr string-    return result'--#if ENABLE_OVERLOADING-data StringSetSizeMethodInfo-instance (signature ~ (Word64 -> m String), MonadIO m) => O.MethodInfo StringSetSizeMethodInfo String signature where-    overloadedMethod _ = stringSetSize--#endif---- method String::truncate--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the new size of @string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_truncate" g_string_truncate :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    Word64 ->                               -- len : TBasicType TUInt64-    IO (Ptr String)--{- |-Cuts off the end of the GString, leaving the first /@len@/ bytes.--}-stringTruncate ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a 'GI.GLib.Structs.String.String' -}-    -> Word64-    {- ^ /@len@/: the new size of /@string@/ -}-    -> m String-    {- ^ __Returns:__ /@string@/ -}-stringTruncate string len = liftIO $ do-    string' <- unsafeManagedPtrGetPtr string-    result <- g_string_truncate string' len-    checkUnexpectedReturnNULL "stringTruncate" result-    result' <- (newBoxed String) result-    touchManagedPtr string-    return result'--#if ENABLE_OVERLOADING-data StringTruncateMethodInfo-instance (signature ~ (Word64 -> m String), MonadIO m) => O.MethodInfo StringTruncateMethodInfo String signature where-    overloadedMethod _ = stringTruncate--#endif---- method String::up--- method type : OrdinaryMethod--- Args : [Arg {argCName = "string", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "String"}))--- throws : False--- Skip return : False--foreign import ccall "g_string_up" g_string_up :: -    Ptr String ->                           -- string : TInterface (Name {namespace = "GLib", name = "String"})-    IO (Ptr String)--{-# DEPRECATED stringUp ["(Since version 2.2)","This function uses the locale-specific","    @/toupper()/@ function, which is almost never the right thing.","    Use 'GI.GLib.Structs.String.stringAsciiUp' or 'GI.GLib.Functions.utf8Strup' instead."] #-}-{- |-Converts a 'GI.GLib.Structs.String.String' to uppercase.--}-stringUp ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    String-    {- ^ /@string@/: a 'GI.GLib.Structs.String.String' -}-    -> m String-    {- ^ __Returns:__ /@string@/ -}-stringUp string = liftIO $ do-    string' <- unsafeManagedPtrGetPtr string-    result <- g_string_up string'-    checkUnexpectedReturnNULL "stringUp" result-    result' <- (newBoxed String) result-    touchManagedPtr string-    return result'--#if ENABLE_OVERLOADING-data StringUpMethodInfo-instance (signature ~ (m String), MonadIO m) => O.MethodInfo StringUpMethodInfo String signature where-    overloadedMethod _ = stringUp--#endif--#if ENABLE_OVERLOADING-type family ResolveStringMethod (t :: Symbol) (o :: *) :: * where-    ResolveStringMethod "append" o = StringAppendMethodInfo-    ResolveStringMethod "appendC" o = StringAppendCMethodInfo-    ResolveStringMethod "appendLen" o = StringAppendLenMethodInfo-    ResolveStringMethod "appendUnichar" o = StringAppendUnicharMethodInfo-    ResolveStringMethod "appendUriEscaped" o = StringAppendUriEscapedMethodInfo-    ResolveStringMethod "asciiDown" o = StringAsciiDownMethodInfo-    ResolveStringMethod "asciiUp" o = StringAsciiUpMethodInfo-    ResolveStringMethod "assign" o = StringAssignMethodInfo-    ResolveStringMethod "down" o = StringDownMethodInfo-    ResolveStringMethod "equal" o = StringEqualMethodInfo-    ResolveStringMethod "erase" o = StringEraseMethodInfo-    ResolveStringMethod "free" o = StringFreeMethodInfo-    ResolveStringMethod "freeToBytes" o = StringFreeToBytesMethodInfo-    ResolveStringMethod "hash" o = StringHashMethodInfo-    ResolveStringMethod "insert" o = StringInsertMethodInfo-    ResolveStringMethod "insertC" o = StringInsertCMethodInfo-    ResolveStringMethod "insertLen" o = StringInsertLenMethodInfo-    ResolveStringMethod "insertUnichar" o = StringInsertUnicharMethodInfo-    ResolveStringMethod "overwrite" o = StringOverwriteMethodInfo-    ResolveStringMethod "overwriteLen" o = StringOverwriteLenMethodInfo-    ResolveStringMethod "prepend" o = StringPrependMethodInfo-    ResolveStringMethod "prependC" o = StringPrependCMethodInfo-    ResolveStringMethod "prependLen" o = StringPrependLenMethodInfo-    ResolveStringMethod "prependUnichar" o = StringPrependUnicharMethodInfo-    ResolveStringMethod "truncate" o = StringTruncateMethodInfo-    ResolveStringMethod "up" o = StringUpMethodInfo-    ResolveStringMethod "setSize" o = StringSetSizeMethodInfo-    ResolveStringMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveStringMethod t String, O.MethodInfo info String p) => OL.IsLabel t (String -> 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/GLib/Structs/String.hs-boot
@@ -1,107 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.String 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 String = String (ManagedPtr String)-instance BoxedObject String where-#if ENABLE_OVERLOADING-data StringAppendMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringAppendCMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringAppendLenMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringAppendUnicharMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringAppendUriEscapedMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringAsciiDownMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringAsciiUpMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringAssignMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringDownMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringEqualMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringEraseMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringFreeToBytesMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringHashMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringInsertMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringInsertCMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringInsertLenMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringInsertUnicharMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringOverwriteMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringOverwriteLenMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringPrependMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringPrependCMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringPrependLenMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringPrependUnicharMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringSetSizeMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringTruncateMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringUpMethodInfo-#endif
− GI/GLib/Structs/StringChunk.hs
@@ -1,362 +0,0 @@---{- |-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 data structure representing String Chunks.-It should only be accessed by using the following functions.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.StringChunk-    ( ---- * Exported types-    StringChunk(..)                         ,-    noStringChunk                           ,--- -- * Methods--- ** clear #method:clear#--#if ENABLE_OVERLOADING-    StringChunkClearMethodInfo              ,-#endif-    stringChunkClear                        ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    StringChunkFreeMethodInfo               ,-#endif-    stringChunkFree                         ,----- ** insert #method:insert#--#if ENABLE_OVERLOADING-    StringChunkInsertMethodInfo             ,-#endif-    stringChunkInsert                       ,----- ** insertConst #method:insertConst#--#if ENABLE_OVERLOADING-    StringChunkInsertConstMethodInfo        ,-#endif-    stringChunkInsertConst                  ,----- ** insertLen #method:insertLen#--#if ENABLE_OVERLOADING-    StringChunkInsertLenMethodInfo          ,-#endif-    stringChunkInsertLen                    ,-----    ) 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 StringChunk = StringChunk (ManagedPtr StringChunk)--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?-instance WrappedPtr StringChunk where-    wrappedPtrCalloc = return nullPtr-    wrappedPtrCopy = return-    wrappedPtrFree = Nothing---- | A convenience alias for `Nothing` :: `Maybe` `StringChunk`.-noStringChunk :: Maybe StringChunk-noStringChunk = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList StringChunk-type instance O.AttributeList StringChunk = StringChunkAttributeList-type StringChunkAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method StringChunk::clear--- method type : OrdinaryMethod--- Args : [Arg {argCName = "chunk", argType = TInterface (Name {namespace = "GLib", name = "StringChunk"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GStringChunk", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_string_chunk_clear" g_string_chunk_clear :: -    Ptr StringChunk ->                      -- chunk : TInterface (Name {namespace = "GLib", name = "StringChunk"})-    IO ()--{- |-Frees all strings contained within the 'GI.GLib.Structs.StringChunk.StringChunk'.-After calling 'GI.GLib.Structs.StringChunk.stringChunkClear' it is not safe to-access any of the strings which were contained within it.--/Since: 2.14/--}-stringChunkClear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    StringChunk-    {- ^ /@chunk@/: a 'GI.GLib.Structs.StringChunk.StringChunk' -}-    -> m ()-stringChunkClear chunk = liftIO $ do-    chunk' <- unsafeManagedPtrGetPtr chunk-    g_string_chunk_clear chunk'-    touchManagedPtr chunk-    return ()--#if ENABLE_OVERLOADING-data StringChunkClearMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo StringChunkClearMethodInfo StringChunk signature where-    overloadedMethod _ = stringChunkClear--#endif---- method StringChunk::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "chunk", argType = TInterface (Name {namespace = "GLib", name = "StringChunk"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GStringChunk", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_string_chunk_free" g_string_chunk_free :: -    Ptr StringChunk ->                      -- chunk : TInterface (Name {namespace = "GLib", name = "StringChunk"})-    IO ()--{- |-Frees all memory allocated by the 'GI.GLib.Structs.StringChunk.StringChunk'.-After calling 'GI.GLib.Structs.StringChunk.stringChunkFree' it is not safe to-access any of the strings which were contained within it.--}-stringChunkFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    StringChunk-    {- ^ /@chunk@/: a 'GI.GLib.Structs.StringChunk.StringChunk' -}-    -> m ()-stringChunkFree chunk = liftIO $ do-    chunk' <- unsafeManagedPtrGetPtr chunk-    g_string_chunk_free chunk'-    touchManagedPtr chunk-    return ()--#if ENABLE_OVERLOADING-data StringChunkFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo StringChunkFreeMethodInfo StringChunk signature where-    overloadedMethod _ = stringChunkFree--#endif---- method StringChunk::insert--- method type : OrdinaryMethod--- Args : [Arg {argCName = "chunk", argType = TInterface (Name {namespace = "GLib", name = "StringChunk"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GStringChunk", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to add", 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_string_chunk_insert" g_string_chunk_insert :: -    Ptr StringChunk ->                      -- chunk : TInterface (Name {namespace = "GLib", name = "StringChunk"})-    CString ->                              -- string : TBasicType TUTF8-    IO CString--{- |-Adds a copy of /@string@/ to the 'GI.GLib.Structs.StringChunk.StringChunk'.-It returns a pointer to the new copy of the string-in the 'GI.GLib.Structs.StringChunk.StringChunk'. The characters in the string-can be changed, if necessary, though you should not-change anything after the end of the string.--Unlike 'GI.GLib.Structs.StringChunk.stringChunkInsertConst', this function-does not check for duplicates. Also strings added-with 'GI.GLib.Structs.StringChunk.stringChunkInsert' will not be searched-by 'GI.GLib.Structs.StringChunk.stringChunkInsertConst' when looking for-duplicates.--}-stringChunkInsert ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    StringChunk-    {- ^ /@chunk@/: a 'GI.GLib.Structs.StringChunk.StringChunk' -}-    -> T.Text-    {- ^ /@string@/: the string to add -}-    -> m T.Text-    {- ^ __Returns:__ a pointer to the copy of /@string@/ within-    the 'GI.GLib.Structs.StringChunk.StringChunk' -}-stringChunkInsert chunk string = liftIO $ do-    chunk' <- unsafeManagedPtrGetPtr chunk-    string' <- textToCString string-    result <- g_string_chunk_insert chunk' string'-    checkUnexpectedReturnNULL "stringChunkInsert" result-    result' <- cstringToText result-    freeMem result-    touchManagedPtr chunk-    freeMem string'-    return result'--#if ENABLE_OVERLOADING-data StringChunkInsertMethodInfo-instance (signature ~ (T.Text -> m T.Text), MonadIO m) => O.MethodInfo StringChunkInsertMethodInfo StringChunk signature where-    overloadedMethod _ = stringChunkInsert--#endif---- method StringChunk::insert_const--- method type : OrdinaryMethod--- Args : [Arg {argCName = "chunk", argType = TInterface (Name {namespace = "GLib", name = "StringChunk"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GStringChunk", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the string to add", 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_string_chunk_insert_const" g_string_chunk_insert_const :: -    Ptr StringChunk ->                      -- chunk : TInterface (Name {namespace = "GLib", name = "StringChunk"})-    CString ->                              -- string : TBasicType TUTF8-    IO CString--{- |-Adds a copy of /@string@/ to the 'GI.GLib.Structs.StringChunk.StringChunk', unless the same-string has already been added to the 'GI.GLib.Structs.StringChunk.StringChunk' with-'GI.GLib.Structs.StringChunk.stringChunkInsertConst'.--This function is useful if you need to copy a large number-of strings but do not want to waste space storing duplicates.-But you must remember that there may be several pointers to-the same string, and so any changes made to the strings-should be done very carefully.--Note that 'GI.GLib.Structs.StringChunk.stringChunkInsertConst' will not return a-pointer to a string added with 'GI.GLib.Structs.StringChunk.stringChunkInsert', even-if they do match.--}-stringChunkInsertConst ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    StringChunk-    {- ^ /@chunk@/: a 'GI.GLib.Structs.StringChunk.StringChunk' -}-    -> T.Text-    {- ^ /@string@/: the string to add -}-    -> m T.Text-    {- ^ __Returns:__ a pointer to the new or existing copy of /@string@/-    within the 'GI.GLib.Structs.StringChunk.StringChunk' -}-stringChunkInsertConst chunk string = liftIO $ do-    chunk' <- unsafeManagedPtrGetPtr chunk-    string' <- textToCString string-    result <- g_string_chunk_insert_const chunk' string'-    checkUnexpectedReturnNULL "stringChunkInsertConst" result-    result' <- cstringToText result-    freeMem result-    touchManagedPtr chunk-    freeMem string'-    return result'--#if ENABLE_OVERLOADING-data StringChunkInsertConstMethodInfo-instance (signature ~ (T.Text -> m T.Text), MonadIO m) => O.MethodInfo StringChunkInsertConstMethodInfo StringChunk signature where-    overloadedMethod _ = stringChunkInsertConst--#endif---- method StringChunk::insert_len--- method type : OrdinaryMethod--- Args : [Arg {argCName = "chunk", argType = TInterface (Name {namespace = "GLib", name = "StringChunk"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GStringChunk", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "bytes to insert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "len", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of bytes of @string to insert, or -1 to insert a\n    nul-terminated string", 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_string_chunk_insert_len" g_string_chunk_insert_len :: -    Ptr StringChunk ->                      -- chunk : TInterface (Name {namespace = "GLib", name = "StringChunk"})-    CString ->                              -- string : TBasicType TUTF8-    Int64 ->                                -- len : TBasicType TInt64-    IO CString--{- |-Adds a copy of the first /@len@/ bytes of /@string@/ to the 'GI.GLib.Structs.StringChunk.StringChunk'.-The copy is nul-terminated.--Since this function does not stop at nul bytes, it is the caller\'s-responsibility to ensure that /@string@/ has at least /@len@/ addressable-bytes.--The characters in the returned string can be changed, if necessary,-though you should not change anything after the end of the string.--/Since: 2.4/--}-stringChunkInsertLen ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    StringChunk-    {- ^ /@chunk@/: a 'GI.GLib.Structs.StringChunk.StringChunk' -}-    -> T.Text-    {- ^ /@string@/: bytes to insert -}-    -> Int64-    {- ^ /@len@/: number of bytes of /@string@/ to insert, or -1 to insert a-    nul-terminated string -}-    -> m T.Text-    {- ^ __Returns:__ a pointer to the copy of /@string@/ within the 'GI.GLib.Structs.StringChunk.StringChunk' -}-stringChunkInsertLen chunk string len = liftIO $ do-    chunk' <- unsafeManagedPtrGetPtr chunk-    string' <- textToCString string-    result <- g_string_chunk_insert_len chunk' string' len-    checkUnexpectedReturnNULL "stringChunkInsertLen" result-    result' <- cstringToText result-    freeMem result-    touchManagedPtr chunk-    freeMem string'-    return result'--#if ENABLE_OVERLOADING-data StringChunkInsertLenMethodInfo-instance (signature ~ (T.Text -> Int64 -> m T.Text), MonadIO m) => O.MethodInfo StringChunkInsertLenMethodInfo StringChunk signature where-    overloadedMethod _ = stringChunkInsertLen--#endif--#if ENABLE_OVERLOADING-type family ResolveStringChunkMethod (t :: Symbol) (o :: *) :: * where-    ResolveStringChunkMethod "clear" o = StringChunkClearMethodInfo-    ResolveStringChunkMethod "free" o = StringChunkFreeMethodInfo-    ResolveStringChunkMethod "insert" o = StringChunkInsertMethodInfo-    ResolveStringChunkMethod "insertConst" o = StringChunkInsertConstMethodInfo-    ResolveStringChunkMethod "insertLen" o = StringChunkInsertLenMethodInfo-    ResolveStringChunkMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveStringChunkMethod t StringChunk, O.MethodInfo info StringChunk p) => OL.IsLabel t (StringChunk -> 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/GLib/Structs/StringChunk.hs-boot
@@ -1,41 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.StringChunk 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 StringChunk = StringChunk (ManagedPtr StringChunk)-instance WrappedPtr StringChunk where-#if ENABLE_OVERLOADING-data StringChunkClearMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringChunkFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringChunkInsertMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringChunkInsertConstMethodInfo-#endif-#if ENABLE_OVERLOADING-data StringChunkInsertLenMethodInfo-#endif
− GI/GLib/Structs/TestCase.hs
@@ -1,77 +0,0 @@---{- |-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 representing a test case.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.TestCase-    ( ---- * Exported types-    TestCase(..)                            ,-    noTestCase                              ,---    ) 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 TestCase = TestCase (ManagedPtr TestCase)--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?-instance WrappedPtr TestCase where-    wrappedPtrCalloc = return nullPtr-    wrappedPtrCopy = return-    wrappedPtrFree = Nothing---- | A convenience alias for `Nothing` :: `Maybe` `TestCase`.-noTestCase :: Maybe TestCase-noTestCase = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList TestCase-type instance O.AttributeList TestCase = TestCaseAttributeList-type TestCaseAttributeList = ('[ ] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveTestCaseMethod (t :: Symbol) (o :: *) :: * where-    ResolveTestCaseMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTestCaseMethod t TestCase, O.MethodInfo info TestCase p) => OL.IsLabel t (TestCase -> 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/GLib/Structs/TestCase.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.TestCase 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 TestCase = TestCase (ManagedPtr TestCase)-instance WrappedPtr TestCase where
− GI/GLib/Structs/TestConfig.hs
@@ -1,433 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--/No description available in the introspection data./--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.TestConfig-    ( ---- * Exported types-    TestConfig(..)                          ,-    newZeroTestConfig                       ,-    noTestConfig                            ,--- -- * Properties--- ** testInitialized #attr:testInitialized#-{- | /No description available in the introspection data./--}-    getTestConfigTestInitialized            ,-    setTestConfigTestInitialized            ,-#if ENABLE_OVERLOADING-    testConfig_testInitialized              ,-#endif----- ** testPerf #attr:testPerf#-{- | /No description available in the introspection data./--}-    getTestConfigTestPerf                   ,-    setTestConfigTestPerf                   ,-#if ENABLE_OVERLOADING-    testConfig_testPerf                     ,-#endif----- ** testQuick #attr:testQuick#-{- | /No description available in the introspection data./--}-    getTestConfigTestQuick                  ,-    setTestConfigTestQuick                  ,-#if ENABLE_OVERLOADING-    testConfig_testQuick                    ,-#endif----- ** testQuiet #attr:testQuiet#-{- | /No description available in the introspection data./--}-    getTestConfigTestQuiet                  ,-    setTestConfigTestQuiet                  ,-#if ENABLE_OVERLOADING-    testConfig_testQuiet                    ,-#endif----- ** testUndefined #attr:testUndefined#-{- | /No description available in the introspection data./--}-    getTestConfigTestUndefined              ,-    setTestConfigTestUndefined              ,-#if ENABLE_OVERLOADING-    testConfig_testUndefined                ,-#endif----- ** testVerbose #attr:testVerbose#-{- | /No description available in the introspection data./--}-    getTestConfigTestVerbose                ,-    setTestConfigTestVerbose                ,-#if ENABLE_OVERLOADING-    testConfig_testVerbose                  ,-#endif-----    ) 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 TestConfig = TestConfig (ManagedPtr TestConfig)-instance WrappedPtr TestConfig where-    wrappedPtrCalloc = callocBytes 24-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 24 >=> wrapPtr TestConfig)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `TestConfig` struct initialized to zero.-newZeroTestConfig :: MonadIO m => m TestConfig-newZeroTestConfig = liftIO $ wrappedPtrCalloc >>= wrapPtr TestConfig--instance tag ~ 'AttrSet => Constructible TestConfig tag where-    new _ attrs = do-        o <- newZeroTestConfig-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `TestConfig`.-noTestConfig :: Maybe TestConfig-noTestConfig = Nothing--{- |-Get the value of the “@test_initialized@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' testConfig #testInitialized-@--}-getTestConfigTestInitialized :: MonadIO m => TestConfig -> m Bool-getTestConfigTestInitialized s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CInt-    let val' = (/= 0) val-    return val'--{- |-Set the value of the “@test_initialized@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' testConfig [ #testInitialized 'Data.GI.Base.Attributes.:=' value ]-@--}-setTestConfigTestInitialized :: MonadIO m => TestConfig -> Bool -> m ()-setTestConfigTestInitialized s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 0) (val' :: CInt)--#if ENABLE_OVERLOADING-data TestConfigTestInitializedFieldInfo-instance AttrInfo TestConfigTestInitializedFieldInfo where-    type AttrAllowedOps TestConfigTestInitializedFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint TestConfigTestInitializedFieldInfo = (~) Bool-    type AttrBaseTypeConstraint TestConfigTestInitializedFieldInfo = (~) TestConfig-    type AttrGetType TestConfigTestInitializedFieldInfo = Bool-    type AttrLabel TestConfigTestInitializedFieldInfo = "test_initialized"-    type AttrOrigin TestConfigTestInitializedFieldInfo = TestConfig-    attrGet _ = getTestConfigTestInitialized-    attrSet _ = setTestConfigTestInitialized-    attrConstruct = undefined-    attrClear _ = undefined--testConfig_testInitialized :: AttrLabelProxy "testInitialized"-testConfig_testInitialized = AttrLabelProxy--#endif---{- |-Get the value of the “@test_quick@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' testConfig #testQuick-@--}-getTestConfigTestQuick :: MonadIO m => TestConfig -> m Bool-getTestConfigTestQuick s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 4) :: IO CInt-    let val' = (/= 0) val-    return val'--{- |-Set the value of the “@test_quick@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' testConfig [ #testQuick 'Data.GI.Base.Attributes.:=' value ]-@--}-setTestConfigTestQuick :: MonadIO m => TestConfig -> Bool -> m ()-setTestConfigTestQuick s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 4) (val' :: CInt)--#if ENABLE_OVERLOADING-data TestConfigTestQuickFieldInfo-instance AttrInfo TestConfigTestQuickFieldInfo where-    type AttrAllowedOps TestConfigTestQuickFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint TestConfigTestQuickFieldInfo = (~) Bool-    type AttrBaseTypeConstraint TestConfigTestQuickFieldInfo = (~) TestConfig-    type AttrGetType TestConfigTestQuickFieldInfo = Bool-    type AttrLabel TestConfigTestQuickFieldInfo = "test_quick"-    type AttrOrigin TestConfigTestQuickFieldInfo = TestConfig-    attrGet _ = getTestConfigTestQuick-    attrSet _ = setTestConfigTestQuick-    attrConstruct = undefined-    attrClear _ = undefined--testConfig_testQuick :: AttrLabelProxy "testQuick"-testConfig_testQuick = AttrLabelProxy--#endif---{- |-Get the value of the “@test_perf@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' testConfig #testPerf-@--}-getTestConfigTestPerf :: MonadIO m => TestConfig -> m Bool-getTestConfigTestPerf s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO CInt-    let val' = (/= 0) val-    return val'--{- |-Set the value of the “@test_perf@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' testConfig [ #testPerf 'Data.GI.Base.Attributes.:=' value ]-@--}-setTestConfigTestPerf :: MonadIO m => TestConfig -> Bool -> m ()-setTestConfigTestPerf s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 8) (val' :: CInt)--#if ENABLE_OVERLOADING-data TestConfigTestPerfFieldInfo-instance AttrInfo TestConfigTestPerfFieldInfo where-    type AttrAllowedOps TestConfigTestPerfFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint TestConfigTestPerfFieldInfo = (~) Bool-    type AttrBaseTypeConstraint TestConfigTestPerfFieldInfo = (~) TestConfig-    type AttrGetType TestConfigTestPerfFieldInfo = Bool-    type AttrLabel TestConfigTestPerfFieldInfo = "test_perf"-    type AttrOrigin TestConfigTestPerfFieldInfo = TestConfig-    attrGet _ = getTestConfigTestPerf-    attrSet _ = setTestConfigTestPerf-    attrConstruct = undefined-    attrClear _ = undefined--testConfig_testPerf :: AttrLabelProxy "testPerf"-testConfig_testPerf = AttrLabelProxy--#endif---{- |-Get the value of the “@test_verbose@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' testConfig #testVerbose-@--}-getTestConfigTestVerbose :: MonadIO m => TestConfig -> m Bool-getTestConfigTestVerbose s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 12) :: IO CInt-    let val' = (/= 0) val-    return val'--{- |-Set the value of the “@test_verbose@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' testConfig [ #testVerbose 'Data.GI.Base.Attributes.:=' value ]-@--}-setTestConfigTestVerbose :: MonadIO m => TestConfig -> Bool -> m ()-setTestConfigTestVerbose s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 12) (val' :: CInt)--#if ENABLE_OVERLOADING-data TestConfigTestVerboseFieldInfo-instance AttrInfo TestConfigTestVerboseFieldInfo where-    type AttrAllowedOps TestConfigTestVerboseFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint TestConfigTestVerboseFieldInfo = (~) Bool-    type AttrBaseTypeConstraint TestConfigTestVerboseFieldInfo = (~) TestConfig-    type AttrGetType TestConfigTestVerboseFieldInfo = Bool-    type AttrLabel TestConfigTestVerboseFieldInfo = "test_verbose"-    type AttrOrigin TestConfigTestVerboseFieldInfo = TestConfig-    attrGet _ = getTestConfigTestVerbose-    attrSet _ = setTestConfigTestVerbose-    attrConstruct = undefined-    attrClear _ = undefined--testConfig_testVerbose :: AttrLabelProxy "testVerbose"-testConfig_testVerbose = AttrLabelProxy--#endif---{- |-Get the value of the “@test_quiet@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' testConfig #testQuiet-@--}-getTestConfigTestQuiet :: MonadIO m => TestConfig -> m Bool-getTestConfigTestQuiet s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO CInt-    let val' = (/= 0) val-    return val'--{- |-Set the value of the “@test_quiet@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' testConfig [ #testQuiet 'Data.GI.Base.Attributes.:=' value ]-@--}-setTestConfigTestQuiet :: MonadIO m => TestConfig -> Bool -> m ()-setTestConfigTestQuiet s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 16) (val' :: CInt)--#if ENABLE_OVERLOADING-data TestConfigTestQuietFieldInfo-instance AttrInfo TestConfigTestQuietFieldInfo where-    type AttrAllowedOps TestConfigTestQuietFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint TestConfigTestQuietFieldInfo = (~) Bool-    type AttrBaseTypeConstraint TestConfigTestQuietFieldInfo = (~) TestConfig-    type AttrGetType TestConfigTestQuietFieldInfo = Bool-    type AttrLabel TestConfigTestQuietFieldInfo = "test_quiet"-    type AttrOrigin TestConfigTestQuietFieldInfo = TestConfig-    attrGet _ = getTestConfigTestQuiet-    attrSet _ = setTestConfigTestQuiet-    attrConstruct = undefined-    attrClear _ = undefined--testConfig_testQuiet :: AttrLabelProxy "testQuiet"-testConfig_testQuiet = AttrLabelProxy--#endif---{- |-Get the value of the “@test_undefined@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' testConfig #testUndefined-@--}-getTestConfigTestUndefined :: MonadIO m => TestConfig -> m Bool-getTestConfigTestUndefined s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 20) :: IO CInt-    let val' = (/= 0) val-    return val'--{- |-Set the value of the “@test_undefined@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' testConfig [ #testUndefined 'Data.GI.Base.Attributes.:=' value ]-@--}-setTestConfigTestUndefined :: MonadIO m => TestConfig -> Bool -> m ()-setTestConfigTestUndefined s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 20) (val' :: CInt)--#if ENABLE_OVERLOADING-data TestConfigTestUndefinedFieldInfo-instance AttrInfo TestConfigTestUndefinedFieldInfo where-    type AttrAllowedOps TestConfigTestUndefinedFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint TestConfigTestUndefinedFieldInfo = (~) Bool-    type AttrBaseTypeConstraint TestConfigTestUndefinedFieldInfo = (~) TestConfig-    type AttrGetType TestConfigTestUndefinedFieldInfo = Bool-    type AttrLabel TestConfigTestUndefinedFieldInfo = "test_undefined"-    type AttrOrigin TestConfigTestUndefinedFieldInfo = TestConfig-    attrGet _ = getTestConfigTestUndefined-    attrSet _ = setTestConfigTestUndefined-    attrConstruct = undefined-    attrClear _ = undefined--testConfig_testUndefined :: AttrLabelProxy "testUndefined"-testConfig_testUndefined = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList TestConfig-type instance O.AttributeList TestConfig = TestConfigAttributeList-type TestConfigAttributeList = ('[ '("testInitialized", TestConfigTestInitializedFieldInfo), '("testQuick", TestConfigTestQuickFieldInfo), '("testPerf", TestConfigTestPerfFieldInfo), '("testVerbose", TestConfigTestVerboseFieldInfo), '("testQuiet", TestConfigTestQuietFieldInfo), '("testUndefined", TestConfigTestUndefinedFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveTestConfigMethod (t :: Symbol) (o :: *) :: * where-    ResolveTestConfigMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTestConfigMethod t TestConfig, O.MethodInfo info TestConfig p) => OL.IsLabel t (TestConfig -> 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/GLib/Structs/TestConfig.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.TestConfig 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 TestConfig = TestConfig (ManagedPtr TestConfig)-instance WrappedPtr TestConfig where
− GI/GLib/Structs/TestLogBuffer.hs
@@ -1,177 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--/No description available in the introspection data./--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.TestLogBuffer-    ( ---- * Exported types-    TestLogBuffer(..)                       ,-    newZeroTestLogBuffer                    ,-    noTestLogBuffer                         ,--- -- * Methods--- ** free #method:free#--#if ENABLE_OVERLOADING-    TestLogBufferFreeMethodInfo             ,-#endif-    testLogBufferFree                       ,----- ** push #method:push#--#if ENABLE_OVERLOADING-    TestLogBufferPushMethodInfo             ,-#endif-    testLogBufferPush                       ,-----    ) 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 TestLogBuffer = TestLogBuffer (ManagedPtr TestLogBuffer)-instance WrappedPtr TestLogBuffer where-    wrappedPtrCalloc = callocBytes 16-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 16 >=> wrapPtr TestLogBuffer)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `TestLogBuffer` struct initialized to zero.-newZeroTestLogBuffer :: MonadIO m => m TestLogBuffer-newZeroTestLogBuffer = liftIO $ wrappedPtrCalloc >>= wrapPtr TestLogBuffer--instance tag ~ 'AttrSet => Constructible TestLogBuffer tag where-    new _ attrs = do-        o <- newZeroTestLogBuffer-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `TestLogBuffer`.-noTestLogBuffer :: Maybe TestLogBuffer-noTestLogBuffer = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList TestLogBuffer-type instance O.AttributeList TestLogBuffer = TestLogBufferAttributeList-type TestLogBufferAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method TestLogBuffer::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "tbuffer", argType = TInterface (Name {namespace = "GLib", name = "TestLogBuffer"}), 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_test_log_buffer_free" g_test_log_buffer_free :: -    Ptr TestLogBuffer ->                    -- tbuffer : TInterface (Name {namespace = "GLib", name = "TestLogBuffer"})-    IO ()--{- |-Internal function for gtester to free test log messages, no ABI guarantees provided.--}-testLogBufferFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TestLogBuffer-    -> m ()-testLogBufferFree tbuffer = liftIO $ do-    tbuffer' <- unsafeManagedPtrGetPtr tbuffer-    g_test_log_buffer_free tbuffer'-    touchManagedPtr tbuffer-    return ()--#if ENABLE_OVERLOADING-data TestLogBufferFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TestLogBufferFreeMethodInfo TestLogBuffer signature where-    overloadedMethod _ = testLogBufferFree--#endif---- method TestLogBuffer::push--- method type : OrdinaryMethod--- Args : [Arg {argCName = "tbuffer", argType = TInterface (Name {namespace = "GLib", name = "TestLogBuffer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_bytes", 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 = "bytes", argType = TBasicType TUInt8, 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_test_log_buffer_push" g_test_log_buffer_push :: -    Ptr TestLogBuffer ->                    -- tbuffer : TInterface (Name {namespace = "GLib", name = "TestLogBuffer"})-    Word32 ->                               -- n_bytes : TBasicType TUInt-    Word8 ->                                -- bytes : TBasicType TUInt8-    IO ()--{- |-Internal function for gtester to decode test log messages, no ABI guarantees provided.--}-testLogBufferPush ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TestLogBuffer-    -> Word32-    -> Word8-    -> m ()-testLogBufferPush tbuffer nBytes bytes = liftIO $ do-    tbuffer' <- unsafeManagedPtrGetPtr tbuffer-    g_test_log_buffer_push tbuffer' nBytes bytes-    touchManagedPtr tbuffer-    return ()--#if ENABLE_OVERLOADING-data TestLogBufferPushMethodInfo-instance (signature ~ (Word32 -> Word8 -> m ()), MonadIO m) => O.MethodInfo TestLogBufferPushMethodInfo TestLogBuffer signature where-    overloadedMethod _ = testLogBufferPush--#endif--#if ENABLE_OVERLOADING-type family ResolveTestLogBufferMethod (t :: Symbol) (o :: *) :: * where-    ResolveTestLogBufferMethod "free" o = TestLogBufferFreeMethodInfo-    ResolveTestLogBufferMethod "push" o = TestLogBufferPushMethodInfo-    ResolveTestLogBufferMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTestLogBufferMethod t TestLogBuffer, O.MethodInfo info TestLogBuffer p) => OL.IsLabel t (TestLogBuffer -> 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/GLib/Structs/TestLogBuffer.hs-boot
@@ -1,32 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.TestLogBuffer 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 TestLogBuffer = TestLogBuffer (ManagedPtr TestLogBuffer)-instance WrappedPtr TestLogBuffer where-#if ENABLE_OVERLOADING-data TestLogBufferFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data TestLogBufferPushMethodInfo-#endif
− GI/GLib/Structs/TestLogMsg.hs
@@ -1,374 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--/No description available in the introspection data./--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.TestLogMsg-    ( ---- * Exported types-    TestLogMsg(..)                          ,-    newZeroTestLogMsg                       ,-    noTestLogMsg                            ,--- -- * Methods--- ** free #method:free#--#if ENABLE_OVERLOADING-    TestLogMsgFreeMethodInfo                ,-#endif-    testLogMsgFree                          ,----- -- * Properties--- ** logType #attr:logType#-{- | /No description available in the introspection data./--}-    getTestLogMsgLogType                    ,-    setTestLogMsgLogType                    ,-#if ENABLE_OVERLOADING-    testLogMsg_logType                      ,-#endif----- ** nNums #attr:nNums#-{- | /No description available in the introspection data./--}-    getTestLogMsgNNums                      ,-    setTestLogMsgNNums                      ,-#if ENABLE_OVERLOADING-    testLogMsg_nNums                        ,-#endif----- ** nStrings #attr:nStrings#-{- | /No description available in the introspection data./--}-    getTestLogMsgNStrings                   ,-    setTestLogMsgNStrings                   ,-#if ENABLE_OVERLOADING-    testLogMsg_nStrings                     ,-#endif----- ** strings #attr:strings#-{- | /No description available in the introspection data./--}-    clearTestLogMsgStrings                  ,-    getTestLogMsgStrings                    ,-    setTestLogMsgStrings                    ,-#if ENABLE_OVERLOADING-    testLogMsg_strings                      ,-#endif-----    ) 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.GLib.Enums as GLib.Enums---- | Memory-managed wrapper type.-newtype TestLogMsg = TestLogMsg (ManagedPtr TestLogMsg)-instance WrappedPtr TestLogMsg where-    wrappedPtrCalloc = callocBytes 32-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 32 >=> wrapPtr TestLogMsg)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `TestLogMsg` struct initialized to zero.-newZeroTestLogMsg :: MonadIO m => m TestLogMsg-newZeroTestLogMsg = liftIO $ wrappedPtrCalloc >>= wrapPtr TestLogMsg--instance tag ~ 'AttrSet => Constructible TestLogMsg tag where-    new _ attrs = do-        o <- newZeroTestLogMsg-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `TestLogMsg`.-noTestLogMsg :: Maybe TestLogMsg-noTestLogMsg = Nothing--{- |-Get the value of the “@log_type@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' testLogMsg #logType-@--}-getTestLogMsgLogType :: MonadIO m => TestLogMsg -> m GLib.Enums.TestLogType-getTestLogMsgLogType s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CUInt-    let val' = (toEnum . fromIntegral) val-    return val'--{- |-Set the value of the “@log_type@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' testLogMsg [ #logType 'Data.GI.Base.Attributes.:=' value ]-@--}-setTestLogMsgLogType :: MonadIO m => TestLogMsg -> GLib.Enums.TestLogType -> m ()-setTestLogMsgLogType s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 0) (val' :: CUInt)--#if ENABLE_OVERLOADING-data TestLogMsgLogTypeFieldInfo-instance AttrInfo TestLogMsgLogTypeFieldInfo where-    type AttrAllowedOps TestLogMsgLogTypeFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint TestLogMsgLogTypeFieldInfo = (~) GLib.Enums.TestLogType-    type AttrBaseTypeConstraint TestLogMsgLogTypeFieldInfo = (~) TestLogMsg-    type AttrGetType TestLogMsgLogTypeFieldInfo = GLib.Enums.TestLogType-    type AttrLabel TestLogMsgLogTypeFieldInfo = "log_type"-    type AttrOrigin TestLogMsgLogTypeFieldInfo = TestLogMsg-    attrGet _ = getTestLogMsgLogType-    attrSet _ = setTestLogMsgLogType-    attrConstruct = undefined-    attrClear _ = undefined--testLogMsg_logType :: AttrLabelProxy "logType"-testLogMsg_logType = AttrLabelProxy--#endif---{- |-Get the value of the “@n_strings@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' testLogMsg #nStrings-@--}-getTestLogMsgNStrings :: MonadIO m => TestLogMsg -> m Word32-getTestLogMsgNStrings s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 4) :: IO Word32-    return val--{- |-Set the value of the “@n_strings@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' testLogMsg [ #nStrings 'Data.GI.Base.Attributes.:=' value ]-@--}-setTestLogMsgNStrings :: MonadIO m => TestLogMsg -> Word32 -> m ()-setTestLogMsgNStrings s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 4) (val :: Word32)--#if ENABLE_OVERLOADING-data TestLogMsgNStringsFieldInfo-instance AttrInfo TestLogMsgNStringsFieldInfo where-    type AttrAllowedOps TestLogMsgNStringsFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint TestLogMsgNStringsFieldInfo = (~) Word32-    type AttrBaseTypeConstraint TestLogMsgNStringsFieldInfo = (~) TestLogMsg-    type AttrGetType TestLogMsgNStringsFieldInfo = Word32-    type AttrLabel TestLogMsgNStringsFieldInfo = "n_strings"-    type AttrOrigin TestLogMsgNStringsFieldInfo = TestLogMsg-    attrGet _ = getTestLogMsgNStrings-    attrSet _ = setTestLogMsgNStrings-    attrConstruct = undefined-    attrClear _ = undefined--testLogMsg_nStrings :: AttrLabelProxy "nStrings"-testLogMsg_nStrings = AttrLabelProxy--#endif---{- |-Get the value of the “@strings@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' testLogMsg #strings-@--}-getTestLogMsgStrings :: MonadIO m => TestLogMsg -> m (Maybe T.Text)-getTestLogMsgStrings s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO CString-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- cstringToText val'-        return val''-    return result--{- |-Set the value of the “@strings@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' testLogMsg [ #strings 'Data.GI.Base.Attributes.:=' value ]-@--}-setTestLogMsgStrings :: MonadIO m => TestLogMsg -> CString -> m ()-setTestLogMsgStrings s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: CString)--{- |-Set the value of the “@strings@” 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' #strings-@--}-clearTestLogMsgStrings :: MonadIO m => TestLogMsg -> m ()-clearTestLogMsgStrings s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data TestLogMsgStringsFieldInfo-instance AttrInfo TestLogMsgStringsFieldInfo where-    type AttrAllowedOps TestLogMsgStringsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint TestLogMsgStringsFieldInfo = (~) CString-    type AttrBaseTypeConstraint TestLogMsgStringsFieldInfo = (~) TestLogMsg-    type AttrGetType TestLogMsgStringsFieldInfo = Maybe T.Text-    type AttrLabel TestLogMsgStringsFieldInfo = "strings"-    type AttrOrigin TestLogMsgStringsFieldInfo = TestLogMsg-    attrGet _ = getTestLogMsgStrings-    attrSet _ = setTestLogMsgStrings-    attrConstruct = undefined-    attrClear _ = clearTestLogMsgStrings--testLogMsg_strings :: AttrLabelProxy "strings"-testLogMsg_strings = AttrLabelProxy--#endif---{- |-Get the value of the “@n_nums@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' testLogMsg #nNums-@--}-getTestLogMsgNNums :: MonadIO m => TestLogMsg -> m Word32-getTestLogMsgNNums s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO Word32-    return val--{- |-Set the value of the “@n_nums@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' testLogMsg [ #nNums 'Data.GI.Base.Attributes.:=' value ]-@--}-setTestLogMsgNNums :: MonadIO m => TestLogMsg -> Word32 -> m ()-setTestLogMsgNNums s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 16) (val :: Word32)--#if ENABLE_OVERLOADING-data TestLogMsgNNumsFieldInfo-instance AttrInfo TestLogMsgNNumsFieldInfo where-    type AttrAllowedOps TestLogMsgNNumsFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint TestLogMsgNNumsFieldInfo = (~) Word32-    type AttrBaseTypeConstraint TestLogMsgNNumsFieldInfo = (~) TestLogMsg-    type AttrGetType TestLogMsgNNumsFieldInfo = Word32-    type AttrLabel TestLogMsgNNumsFieldInfo = "n_nums"-    type AttrOrigin TestLogMsgNNumsFieldInfo = TestLogMsg-    attrGet _ = getTestLogMsgNNums-    attrSet _ = setTestLogMsgNNums-    attrConstruct = undefined-    attrClear _ = undefined--testLogMsg_nNums :: AttrLabelProxy "nNums"-testLogMsg_nNums = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList TestLogMsg-type instance O.AttributeList TestLogMsg = TestLogMsgAttributeList-type TestLogMsgAttributeList = ('[ '("logType", TestLogMsgLogTypeFieldInfo), '("nStrings", TestLogMsgNStringsFieldInfo), '("strings", TestLogMsgStringsFieldInfo), '("nNums", TestLogMsgNNumsFieldInfo)] :: [(Symbol, *)])-#endif---- method TestLogMsg::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "tmsg", argType = TInterface (Name {namespace = "GLib", name = "TestLogMsg"}), 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_test_log_msg_free" g_test_log_msg_free :: -    Ptr TestLogMsg ->                       -- tmsg : TInterface (Name {namespace = "GLib", name = "TestLogMsg"})-    IO ()--{- |-Internal function for gtester to free test log messages, no ABI guarantees provided.--}-testLogMsgFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TestLogMsg-    -> m ()-testLogMsgFree tmsg = liftIO $ do-    tmsg' <- unsafeManagedPtrGetPtr tmsg-    g_test_log_msg_free tmsg'-    touchManagedPtr tmsg-    return ()--#if ENABLE_OVERLOADING-data TestLogMsgFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TestLogMsgFreeMethodInfo TestLogMsg signature where-    overloadedMethod _ = testLogMsgFree--#endif--#if ENABLE_OVERLOADING-type family ResolveTestLogMsgMethod (t :: Symbol) (o :: *) :: * where-    ResolveTestLogMsgMethod "free" o = TestLogMsgFreeMethodInfo-    ResolveTestLogMsgMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTestLogMsgMethod t TestLogMsg, O.MethodInfo info TestLogMsg p) => OL.IsLabel t (TestLogMsg -> 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/GLib/Structs/TestLogMsg.hs-boot
@@ -1,29 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.TestLogMsg 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 TestLogMsg = TestLogMsg (ManagedPtr TestLogMsg)-instance WrappedPtr TestLogMsg where-#if ENABLE_OVERLOADING-data TestLogMsgFreeMethodInfo-#endif
− GI/GLib/Structs/TestSuite.hs
@@ -1,179 +0,0 @@---{- |-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 representing a test suite.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.TestSuite-    ( ---- * Exported types-    TestSuite(..)                           ,-    noTestSuite                             ,--- -- * Methods--- ** add #method:add#--#if ENABLE_OVERLOADING-    TestSuiteAddMethodInfo                  ,-#endif-    testSuiteAdd                            ,----- ** addSuite #method:addSuite#--#if ENABLE_OVERLOADING-    TestSuiteAddSuiteMethodInfo             ,-#endif-    testSuiteAddSuite                       ,-----    ) 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.GLib.Structs.TestCase as GLib.TestCase---- | Memory-managed wrapper type.-newtype TestSuite = TestSuite (ManagedPtr TestSuite)--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?-instance WrappedPtr TestSuite where-    wrappedPtrCalloc = return nullPtr-    wrappedPtrCopy = return-    wrappedPtrFree = Nothing---- | A convenience alias for `Nothing` :: `Maybe` `TestSuite`.-noTestSuite :: Maybe TestSuite-noTestSuite = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList TestSuite-type instance O.AttributeList TestSuite = TestSuiteAttributeList-type TestSuiteAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method TestSuite::add--- method type : OrdinaryMethod--- Args : [Arg {argCName = "suite", argType = TInterface (Name {namespace = "GLib", name = "TestSuite"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTestSuite", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "test_case", argType = TInterface (Name {namespace = "GLib", name = "TestCase"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTestCase", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_test_suite_add" g_test_suite_add :: -    Ptr TestSuite ->                        -- suite : TInterface (Name {namespace = "GLib", name = "TestSuite"})-    Ptr GLib.TestCase.TestCase ->           -- test_case : TInterface (Name {namespace = "GLib", name = "TestCase"})-    IO ()--{- |-Adds /@testCase@/ to /@suite@/.--/Since: 2.16/--}-testSuiteAdd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TestSuite-    {- ^ /@suite@/: a 'GI.GLib.Structs.TestSuite.TestSuite' -}-    -> GLib.TestCase.TestCase-    {- ^ /@testCase@/: a 'GI.GLib.Structs.TestCase.TestCase' -}-    -> m ()-testSuiteAdd suite testCase = liftIO $ do-    suite' <- unsafeManagedPtrGetPtr suite-    testCase' <- unsafeManagedPtrGetPtr testCase-    g_test_suite_add suite' testCase'-    touchManagedPtr suite-    touchManagedPtr testCase-    return ()--#if ENABLE_OVERLOADING-data TestSuiteAddMethodInfo-instance (signature ~ (GLib.TestCase.TestCase -> m ()), MonadIO m) => O.MethodInfo TestSuiteAddMethodInfo TestSuite signature where-    overloadedMethod _ = testSuiteAdd--#endif---- method TestSuite::add_suite--- method type : OrdinaryMethod--- Args : [Arg {argCName = "suite", argType = TInterface (Name {namespace = "GLib", name = "TestSuite"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTestSuite", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "nestedsuite", argType = TInterface (Name {namespace = "GLib", name = "TestSuite"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "another #GTestSuite", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_test_suite_add_suite" g_test_suite_add_suite :: -    Ptr TestSuite ->                        -- suite : TInterface (Name {namespace = "GLib", name = "TestSuite"})-    Ptr TestSuite ->                        -- nestedsuite : TInterface (Name {namespace = "GLib", name = "TestSuite"})-    IO ()--{- |-Adds /@nestedsuite@/ to /@suite@/.--/Since: 2.16/--}-testSuiteAddSuite ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TestSuite-    {- ^ /@suite@/: a 'GI.GLib.Structs.TestSuite.TestSuite' -}-    -> TestSuite-    {- ^ /@nestedsuite@/: another 'GI.GLib.Structs.TestSuite.TestSuite' -}-    -> m ()-testSuiteAddSuite suite nestedsuite = liftIO $ do-    suite' <- unsafeManagedPtrGetPtr suite-    nestedsuite' <- unsafeManagedPtrGetPtr nestedsuite-    g_test_suite_add_suite suite' nestedsuite'-    touchManagedPtr suite-    touchManagedPtr nestedsuite-    return ()--#if ENABLE_OVERLOADING-data TestSuiteAddSuiteMethodInfo-instance (signature ~ (TestSuite -> m ()), MonadIO m) => O.MethodInfo TestSuiteAddSuiteMethodInfo TestSuite signature where-    overloadedMethod _ = testSuiteAddSuite--#endif--#if ENABLE_OVERLOADING-type family ResolveTestSuiteMethod (t :: Symbol) (o :: *) :: * where-    ResolveTestSuiteMethod "add" o = TestSuiteAddMethodInfo-    ResolveTestSuiteMethod "addSuite" o = TestSuiteAddSuiteMethodInfo-    ResolveTestSuiteMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTestSuiteMethod t TestSuite, O.MethodInfo info TestSuite p) => OL.IsLabel t (TestSuite -> 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/GLib/Structs/TestSuite.hs-boot
@@ -1,32 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.TestSuite 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 TestSuite = TestSuite (ManagedPtr TestSuite)-instance WrappedPtr TestSuite where-#if ENABLE_OVERLOADING-data TestSuiteAddMethodInfo-#endif-#if ENABLE_OVERLOADING-data TestSuiteAddSuiteMethodInfo-#endif
− GI/GLib/Structs/Thread.hs
@@ -1,391 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The 'GI.GLib.Structs.Thread.Thread' struct represents a running thread. This struct-is returned by @/g_thread_new()/@ or @/g_thread_try_new()/@. You can-obtain the 'GI.GLib.Structs.Thread.Thread' struct representing the current thread by-calling 'GI.GLib.Functions.threadSelf'.--GThread is refcounted, see 'GI.GLib.Structs.Thread.threadRef' and 'GI.GLib.Structs.Thread.threadUnref'.-The thread represented by it holds a reference while it is running,-and 'GI.GLib.Structs.Thread.threadJoin' consumes the reference that it is given, so-it is normally not necessary to manage GThread references-explicitly.--The structure is opaque -- none of its fields may be directly-accessed.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.Thread-    ( ---- * Exported types-    Thread(..)                              ,-    noThread                                ,--- -- * Methods--- ** errorQuark #method:errorQuark#--    threadErrorQuark                        ,----- ** exit #method:exit#--    threadExit                              ,----- ** join #method:join#--#if ENABLE_OVERLOADING-    ThreadJoinMethodInfo                    ,-#endif-    threadJoin                              ,----- ** ref #method:ref#--#if ENABLE_OVERLOADING-    ThreadRefMethodInfo                     ,-#endif-    threadRef                               ,----- ** self #method:self#--    threadSelf                              ,----- ** unref #method:unref#--#if ENABLE_OVERLOADING-    ThreadUnrefMethodInfo                   ,-#endif-    threadUnref                             ,----- ** yield #method:yield#--    threadYield                             ,-----    ) 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 Thread = Thread (ManagedPtr Thread)-foreign import ccall "g_thread_get_type" c_g_thread_get_type :: -    IO GType--instance BoxedObject Thread where-    boxedType _ = c_g_thread_get_type---- | A convenience alias for `Nothing` :: `Maybe` `Thread`.-noThread :: Maybe Thread-noThread = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList Thread-type instance O.AttributeList Thread = ThreadAttributeList-type ThreadAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method Thread::join--- method type : OrdinaryMethod--- Args : [Arg {argCName = "thread", argType = TInterface (Name {namespace = "GLib", name = "Thread"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GThread", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_thread_join" g_thread_join :: -    Ptr Thread ->                           -- thread : TInterface (Name {namespace = "GLib", name = "Thread"})-    IO (Ptr ())--{- |-Waits until /@thread@/ finishes, i.e. the function /@func@/, as-given to @/g_thread_new()/@, returns or 'GI.GLib.Functions.threadExit' is called.-If /@thread@/ has already terminated, then 'GI.GLib.Structs.Thread.threadJoin'-returns immediately.--Any thread can wait for any other thread by calling 'GI.GLib.Structs.Thread.threadJoin',-not just its \'creator\'. Calling 'GI.GLib.Structs.Thread.threadJoin' from multiple threads-for the same /@thread@/ leads to undefined behaviour.--The value returned by /@func@/ or given to 'GI.GLib.Functions.threadExit' is-returned by this function.--'GI.GLib.Structs.Thread.threadJoin' consumes the reference to the passed-in /@thread@/.-This will usually cause the 'GI.GLib.Structs.Thread.Thread' struct and associated resources-to be freed. Use 'GI.GLib.Structs.Thread.threadRef' to obtain an extra reference if you-want to keep the GThread alive beyond the 'GI.GLib.Structs.Thread.threadJoin' call.--}-threadJoin ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Thread-    {- ^ /@thread@/: a 'GI.GLib.Structs.Thread.Thread' -}-    -> m (Ptr ())-    {- ^ __Returns:__ the return value of the thread -}-threadJoin thread = liftIO $ do-    thread' <- unsafeManagedPtrGetPtr thread-    result <- g_thread_join thread'-    touchManagedPtr thread-    return result--#if ENABLE_OVERLOADING-data ThreadJoinMethodInfo-instance (signature ~ (m (Ptr ())), MonadIO m) => O.MethodInfo ThreadJoinMethodInfo Thread signature where-    overloadedMethod _ = threadJoin--#endif---- method Thread::ref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "thread", argType = TInterface (Name {namespace = "GLib", name = "Thread"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GThread", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Thread"}))--- throws : False--- Skip return : False--foreign import ccall "g_thread_ref" g_thread_ref :: -    Ptr Thread ->                           -- thread : TInterface (Name {namespace = "GLib", name = "Thread"})-    IO (Ptr Thread)--{- |-Increase the reference count on /@thread@/.--/Since: 2.32/--}-threadRef ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Thread-    {- ^ /@thread@/: a 'GI.GLib.Structs.Thread.Thread' -}-    -> m Thread-    {- ^ __Returns:__ a new reference to /@thread@/ -}-threadRef thread = liftIO $ do-    thread' <- unsafeManagedPtrGetPtr thread-    result <- g_thread_ref thread'-    checkUnexpectedReturnNULL "threadRef" result-    result' <- (wrapBoxed Thread) result-    touchManagedPtr thread-    return result'--#if ENABLE_OVERLOADING-data ThreadRefMethodInfo-instance (signature ~ (m Thread), MonadIO m) => O.MethodInfo ThreadRefMethodInfo Thread signature where-    overloadedMethod _ = threadRef--#endif---- method Thread::unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "thread", argType = TInterface (Name {namespace = "GLib", name = "Thread"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GThread", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_thread_unref" g_thread_unref :: -    Ptr Thread ->                           -- thread : TInterface (Name {namespace = "GLib", name = "Thread"})-    IO ()--{- |-Decrease the reference count on /@thread@/, possibly freeing all-resources associated with it.--Note that each thread holds a reference to its 'GI.GLib.Structs.Thread.Thread' while-it is running, so it is safe to drop your own reference to it-if you don\'t need it anymore.--/Since: 2.32/--}-threadUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Thread-    {- ^ /@thread@/: a 'GI.GLib.Structs.Thread.Thread' -}-    -> m ()-threadUnref thread = liftIO $ do-    thread' <- unsafeManagedPtrGetPtr thread-    g_thread_unref thread'-    touchManagedPtr thread-    return ()--#if ENABLE_OVERLOADING-data ThreadUnrefMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo ThreadUnrefMethodInfo Thread signature where-    overloadedMethod _ = threadUnref--#endif---- method Thread::error_quark--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUInt32)--- throws : False--- Skip return : False--foreign import ccall "g_thread_error_quark" g_thread_error_quark :: -    IO Word32--{- |-/No description available in the introspection data./--}-threadErrorQuark ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Word32-threadErrorQuark  = liftIO $ do-    result <- g_thread_error_quark-    return result--#if ENABLE_OVERLOADING-#endif---- method Thread::exit--- method type : MemberFunction--- Args : [Arg {argCName = "retval", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the return value of this thread", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_thread_exit" g_thread_exit :: -    Ptr () ->                               -- retval : TBasicType TPtr-    IO ()--{- |-Terminates the current thread.--If another thread is waiting for us using 'GI.GLib.Structs.Thread.threadJoin' then the-waiting thread will be woken up and get /@retval@/ as the return value-of 'GI.GLib.Structs.Thread.threadJoin'.--Calling 'GI.GLib.Functions.threadExit' with a parameter /@retval@/ is equivalent to-returning /@retval@/ from the function /@func@/, as given to @/g_thread_new()/@.--You must only call 'GI.GLib.Functions.threadExit' from a thread that you created-yourself with @/g_thread_new()/@ or related APIs. You must not call-this function from a thread created with another threading library-or or from within a 'GI.GLib.Structs.ThreadPool.ThreadPool'.--}-threadExit ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Ptr ()-    {- ^ /@retval@/: the return value of this thread -}-    -> m ()-threadExit retval = liftIO $ do-    g_thread_exit retval-    return ()--#if ENABLE_OVERLOADING-#endif---- method Thread::self--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "Thread"}))--- throws : False--- Skip return : False--foreign import ccall "g_thread_self" g_thread_self :: -    IO (Ptr Thread)--{- |-This function returns the 'GI.GLib.Structs.Thread.Thread' corresponding to the-current thread. Note that this function does not increase-the reference count of the returned struct.--This function will return a 'GI.GLib.Structs.Thread.Thread' even for threads that-were not created by GLib (i.e. those created by other threading-APIs). This may be useful for thread identification purposes-(i.e. comparisons) but you must not use GLib functions (such-as 'GI.GLib.Structs.Thread.threadJoin') on these threads.--}-threadSelf ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Thread-    {- ^ __Returns:__ the 'GI.GLib.Structs.Thread.Thread' representing the current thread -}-threadSelf  = liftIO $ do-    result <- g_thread_self-    checkUnexpectedReturnNULL "threadSelf" result-    result' <- (newBoxed Thread) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method Thread::yield--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_thread_yield" g_thread_yield :: -    IO ()--{- |-Causes the calling thread to voluntarily relinquish the CPU, so-that other threads can run.--This function is often used as a method to make busy wait less evil.--}-threadYield ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m ()-threadYield  = liftIO $ do-    g_thread_yield-    return ()--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveThreadMethod (t :: Symbol) (o :: *) :: * where-    ResolveThreadMethod "join" o = ThreadJoinMethodInfo-    ResolveThreadMethod "ref" o = ThreadRefMethodInfo-    ResolveThreadMethod "unref" o = ThreadUnrefMethodInfo-    ResolveThreadMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveThreadMethod t Thread, O.MethodInfo info Thread p) => OL.IsLabel t (Thread -> 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/GLib/Structs/Thread.hs-boot
@@ -1,35 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.Thread 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 Thread = Thread (ManagedPtr Thread)-instance BoxedObject Thread where-#if ENABLE_OVERLOADING-data ThreadJoinMethodInfo-#endif-#if ENABLE_OVERLOADING-data ThreadRefMethodInfo-#endif-#if ENABLE_OVERLOADING-data ThreadUnrefMethodInfo-#endif
− GI/GLib/Structs/ThreadPool.hs
@@ -1,879 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The 'GI.GLib.Structs.ThreadPool.ThreadPool' struct represents a thread pool. It has three-public read-only members, but the underlying struct is bigger,-so you must not copy this struct.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.ThreadPool-    ( ---- * Exported types-    ThreadPool(..)                          ,-    newZeroThreadPool                       ,-    noThreadPool                            ,--- -- * Methods--- ** free #method:free#--#if ENABLE_OVERLOADING-    ThreadPoolFreeMethodInfo                ,-#endif-    threadPoolFree                          ,----- ** getMaxIdleTime #method:getMaxIdleTime#--    threadPoolGetMaxIdleTime                ,----- ** getMaxThreads #method:getMaxThreads#--#if ENABLE_OVERLOADING-    ThreadPoolGetMaxThreadsMethodInfo       ,-#endif-    threadPoolGetMaxThreads                 ,----- ** getMaxUnusedThreads #method:getMaxUnusedThreads#--    threadPoolGetMaxUnusedThreads           ,----- ** getNumThreads #method:getNumThreads#--#if ENABLE_OVERLOADING-    ThreadPoolGetNumThreadsMethodInfo       ,-#endif-    threadPoolGetNumThreads                 ,----- ** getNumUnusedThreads #method:getNumUnusedThreads#--    threadPoolGetNumUnusedThreads           ,----- ** moveToFront #method:moveToFront#--#if ENABLE_OVERLOADING-    ThreadPoolMoveToFrontMethodInfo         ,-#endif-    threadPoolMoveToFront                   ,----- ** push #method:push#--#if ENABLE_OVERLOADING-    ThreadPoolPushMethodInfo                ,-#endif-    threadPoolPush                          ,----- ** setMaxIdleTime #method:setMaxIdleTime#--    threadPoolSetMaxIdleTime                ,----- ** setMaxThreads #method:setMaxThreads#--#if ENABLE_OVERLOADING-    ThreadPoolSetMaxThreadsMethodInfo       ,-#endif-    threadPoolSetMaxThreads                 ,----- ** setMaxUnusedThreads #method:setMaxUnusedThreads#--    threadPoolSetMaxUnusedThreads           ,----- ** stopUnusedThreads #method:stopUnusedThreads#--    threadPoolStopUnusedThreads             ,----- ** unprocessed #method:unprocessed#--#if ENABLE_OVERLOADING-    ThreadPoolUnprocessedMethodInfo         ,-#endif-    threadPoolUnprocessed                   ,----- -- * Properties--- ** exclusive #attr:exclusive#-{- | are all threads exclusive to this pool--}-    getThreadPoolExclusive                  ,-    setThreadPoolExclusive                  ,-#if ENABLE_OVERLOADING-    threadPool_exclusive                    ,-#endif----- ** func #attr:func#-{- | the function to execute in the threads of this pool--}-    clearThreadPoolFunc                     ,-    getThreadPoolFunc                       ,-    setThreadPoolFunc                       ,-#if ENABLE_OVERLOADING-    threadPool_func                         ,-#endif----- ** userData #attr:userData#-{- | the user data for the threads of this pool--}-    clearThreadPoolUserData                 ,-    getThreadPoolUserData                   ,-    setThreadPoolUserData                   ,-#if ENABLE_OVERLOADING-    threadPool_userData                     ,-#endif-----    ) 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 qualified GI.GLib.Callbacks as GLib.Callbacks---- | Memory-managed wrapper type.-newtype ThreadPool = ThreadPool (ManagedPtr ThreadPool)-instance WrappedPtr ThreadPool where-    wrappedPtrCalloc = callocBytes 24-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 24 >=> wrapPtr ThreadPool)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `ThreadPool` struct initialized to zero.-newZeroThreadPool :: MonadIO m => m ThreadPool-newZeroThreadPool = liftIO $ wrappedPtrCalloc >>= wrapPtr ThreadPool--instance tag ~ 'AttrSet => Constructible ThreadPool tag where-    new _ attrs = do-        o <- newZeroThreadPool-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `ThreadPool`.-noThreadPool :: Maybe ThreadPool-noThreadPool = Nothing--{- |-Get the value of the “@func@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' threadPool #func-@--}-getThreadPoolFunc :: MonadIO m => ThreadPool -> m (Maybe GLib.Callbacks.Func_WithClosures)-getThreadPoolFunc s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (FunPtr GLib.Callbacks.C_Func)-    result <- SP.convertFunPtrIfNonNull val $ \val' -> do-        let val'' = GLib.Callbacks.dynamic_Func val'-        return val''-    return result--{- |-Set the value of the “@func@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' threadPool [ #func 'Data.GI.Base.Attributes.:=' value ]-@--}-setThreadPoolFunc :: MonadIO m => ThreadPool -> FunPtr GLib.Callbacks.C_Func -> m ()-setThreadPoolFunc s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: FunPtr GLib.Callbacks.C_Func)--{- |-Set the value of the “@func@” 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' #func-@--}-clearThreadPoolFunc :: MonadIO m => ThreadPool -> m ()-clearThreadPoolFunc s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullFunPtr :: FunPtr GLib.Callbacks.C_Func)--#if ENABLE_OVERLOADING-data ThreadPoolFuncFieldInfo-instance AttrInfo ThreadPoolFuncFieldInfo where-    type AttrAllowedOps ThreadPoolFuncFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ThreadPoolFuncFieldInfo = (~) (FunPtr GLib.Callbacks.C_Func)-    type AttrBaseTypeConstraint ThreadPoolFuncFieldInfo = (~) ThreadPool-    type AttrGetType ThreadPoolFuncFieldInfo = Maybe GLib.Callbacks.Func_WithClosures-    type AttrLabel ThreadPoolFuncFieldInfo = "func"-    type AttrOrigin ThreadPoolFuncFieldInfo = ThreadPool-    attrGet _ = getThreadPoolFunc-    attrSet _ = setThreadPoolFunc-    attrConstruct = undefined-    attrClear _ = clearThreadPoolFunc--threadPool_func :: AttrLabelProxy "func"-threadPool_func = AttrLabelProxy--#endif---{- |-Get the value of the “@user_data@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' threadPool #userData-@--}-getThreadPoolUserData :: MonadIO m => ThreadPool -> m (Ptr ())-getThreadPoolUserData s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO (Ptr ())-    return val--{- |-Set the value of the “@user_data@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' threadPool [ #userData 'Data.GI.Base.Attributes.:=' value ]-@--}-setThreadPoolUserData :: MonadIO m => ThreadPool -> Ptr () -> m ()-setThreadPoolUserData s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: Ptr ())--{- |-Set the value of the “@user_data@” 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' #userData-@--}-clearThreadPoolUserData :: MonadIO m => ThreadPool -> m ()-clearThreadPoolUserData s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr ())--#if ENABLE_OVERLOADING-data ThreadPoolUserDataFieldInfo-instance AttrInfo ThreadPoolUserDataFieldInfo where-    type AttrAllowedOps ThreadPoolUserDataFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint ThreadPoolUserDataFieldInfo = (~) (Ptr ())-    type AttrBaseTypeConstraint ThreadPoolUserDataFieldInfo = (~) ThreadPool-    type AttrGetType ThreadPoolUserDataFieldInfo = Ptr ()-    type AttrLabel ThreadPoolUserDataFieldInfo = "user_data"-    type AttrOrigin ThreadPoolUserDataFieldInfo = ThreadPool-    attrGet _ = getThreadPoolUserData-    attrSet _ = setThreadPoolUserData-    attrConstruct = undefined-    attrClear _ = clearThreadPoolUserData--threadPool_userData :: AttrLabelProxy "userData"-threadPool_userData = AttrLabelProxy--#endif---{- |-Get the value of the “@exclusive@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' threadPool #exclusive-@--}-getThreadPoolExclusive :: MonadIO m => ThreadPool -> m Bool-getThreadPoolExclusive s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 16) :: IO CInt-    let val' = (/= 0) val-    return val'--{- |-Set the value of the “@exclusive@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' threadPool [ #exclusive 'Data.GI.Base.Attributes.:=' value ]-@--}-setThreadPoolExclusive :: MonadIO m => ThreadPool -> Bool -> m ()-setThreadPoolExclusive s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = (fromIntegral . fromEnum) val-    poke (ptr `plusPtr` 16) (val' :: CInt)--#if ENABLE_OVERLOADING-data ThreadPoolExclusiveFieldInfo-instance AttrInfo ThreadPoolExclusiveFieldInfo where-    type AttrAllowedOps ThreadPoolExclusiveFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint ThreadPoolExclusiveFieldInfo = (~) Bool-    type AttrBaseTypeConstraint ThreadPoolExclusiveFieldInfo = (~) ThreadPool-    type AttrGetType ThreadPoolExclusiveFieldInfo = Bool-    type AttrLabel ThreadPoolExclusiveFieldInfo = "exclusive"-    type AttrOrigin ThreadPoolExclusiveFieldInfo = ThreadPool-    attrGet _ = getThreadPoolExclusive-    attrSet _ = setThreadPoolExclusive-    attrConstruct = undefined-    attrClear _ = undefined--threadPool_exclusive :: AttrLabelProxy "exclusive"-threadPool_exclusive = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList ThreadPool-type instance O.AttributeList ThreadPool = ThreadPoolAttributeList-type ThreadPoolAttributeList = ('[ '("func", ThreadPoolFuncFieldInfo), '("userData", ThreadPoolUserDataFieldInfo), '("exclusive", ThreadPoolExclusiveFieldInfo)] :: [(Symbol, *)])-#endif---- method ThreadPool::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "GLib", name = "ThreadPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GThreadPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "immediate", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "should @pool shut down immediately?", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "wait_", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "should the function wait for all tasks to be finished?", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_thread_pool_free" g_thread_pool_free :: -    Ptr ThreadPool ->                       -- pool : TInterface (Name {namespace = "GLib", name = "ThreadPool"})-    CInt ->                                 -- immediate : TBasicType TBoolean-    CInt ->                                 -- wait_ : TBasicType TBoolean-    IO ()--{- |-Frees all resources allocated for /@pool@/.--If /@immediate@/ is 'True', no new task is processed for /@pool@/.-Otherwise /@pool@/ is not freed before the last task is processed.-Note however, that no thread of this pool is interrupted while-processing a task. Instead at least all still running threads-can finish their tasks before the /@pool@/ is freed.--If /@wait_@/ is 'True', the functions does not return before all-tasks to be processed (dependent on /@immediate@/, whether all-or only the currently running) are ready.-Otherwise the function returns immediately.--After calling this function /@pool@/ must not be used anymore.--}-threadPoolFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    ThreadPool-    {- ^ /@pool@/: a 'GI.GLib.Structs.ThreadPool.ThreadPool' -}-    -> Bool-    {- ^ /@immediate@/: should /@pool@/ shut down immediately? -}-    -> Bool-    {- ^ /@wait_@/: should the function wait for all tasks to be finished? -}-    -> m ()-threadPoolFree pool immediate wait_ = liftIO $ do-    pool' <- unsafeManagedPtrGetPtr pool-    let immediate' = (fromIntegral . fromEnum) immediate-    let wait_' = (fromIntegral . fromEnum) wait_-    g_thread_pool_free pool' immediate' wait_'-    touchManagedPtr pool-    return ()--#if ENABLE_OVERLOADING-data ThreadPoolFreeMethodInfo-instance (signature ~ (Bool -> Bool -> m ()), MonadIO m) => O.MethodInfo ThreadPoolFreeMethodInfo ThreadPool signature where-    overloadedMethod _ = threadPoolFree--#endif---- method ThreadPool::get_max_threads--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "GLib", name = "ThreadPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GThreadPool", 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_thread_pool_get_max_threads" g_thread_pool_get_max_threads :: -    Ptr ThreadPool ->                       -- pool : TInterface (Name {namespace = "GLib", name = "ThreadPool"})-    IO Int32--{- |-Returns the maximal number of threads for /@pool@/.--}-threadPoolGetMaxThreads ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    ThreadPool-    {- ^ /@pool@/: a 'GI.GLib.Structs.ThreadPool.ThreadPool' -}-    -> m Int32-    {- ^ __Returns:__ the maximal number of threads -}-threadPoolGetMaxThreads pool = liftIO $ do-    pool' <- unsafeManagedPtrGetPtr pool-    result <- g_thread_pool_get_max_threads pool'-    touchManagedPtr pool-    return result--#if ENABLE_OVERLOADING-data ThreadPoolGetMaxThreadsMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo ThreadPoolGetMaxThreadsMethodInfo ThreadPool signature where-    overloadedMethod _ = threadPoolGetMaxThreads--#endif---- method ThreadPool::get_num_threads--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "GLib", name = "ThreadPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GThreadPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_thread_pool_get_num_threads" g_thread_pool_get_num_threads :: -    Ptr ThreadPool ->                       -- pool : TInterface (Name {namespace = "GLib", name = "ThreadPool"})-    IO Word32--{- |-Returns the number of threads currently running in /@pool@/.--}-threadPoolGetNumThreads ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    ThreadPool-    {- ^ /@pool@/: a 'GI.GLib.Structs.ThreadPool.ThreadPool' -}-    -> m Word32-    {- ^ __Returns:__ the number of threads currently running -}-threadPoolGetNumThreads pool = liftIO $ do-    pool' <- unsafeManagedPtrGetPtr pool-    result <- g_thread_pool_get_num_threads pool'-    touchManagedPtr pool-    return result--#if ENABLE_OVERLOADING-data ThreadPoolGetNumThreadsMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo ThreadPoolGetNumThreadsMethodInfo ThreadPool signature where-    overloadedMethod _ = threadPoolGetNumThreads--#endif---- method ThreadPool::move_to_front--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "GLib", name = "ThreadPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GThreadPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an unprocessed item in the pool", 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_thread_pool_move_to_front" g_thread_pool_move_to_front :: -    Ptr ThreadPool ->                       -- pool : TInterface (Name {namespace = "GLib", name = "ThreadPool"})-    Ptr () ->                               -- data : TBasicType TPtr-    IO CInt--{- |-Moves the item to the front of the queue of unprocessed-items, so that it will be processed next.--/Since: 2.46/--}-threadPoolMoveToFront ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    ThreadPool-    {- ^ /@pool@/: a 'GI.GLib.Structs.ThreadPool.ThreadPool' -}-    -> Ptr ()-    {- ^ /@data@/: an unprocessed item in the pool -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the item was found and moved -}-threadPoolMoveToFront pool data_ = liftIO $ do-    pool' <- unsafeManagedPtrGetPtr pool-    result <- g_thread_pool_move_to_front pool' data_-    let result' = (/= 0) result-    touchManagedPtr pool-    return result'--#if ENABLE_OVERLOADING-data ThreadPoolMoveToFrontMethodInfo-instance (signature ~ (Ptr () -> m Bool), MonadIO m) => O.MethodInfo ThreadPoolMoveToFrontMethodInfo ThreadPool signature where-    overloadedMethod _ = threadPoolMoveToFront--#endif---- method ThreadPool::push--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "GLib", name = "ThreadPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GThreadPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a new task for @pool", 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_thread_pool_push" g_thread_pool_push :: -    Ptr ThreadPool ->                       -- pool : TInterface (Name {namespace = "GLib", name = "ThreadPool"})-    Ptr () ->                               -- data : TBasicType TPtr-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Inserts /@data@/ into the list of tasks to be executed by /@pool@/.--When the number of currently running threads is lower than the-maximal allowed number of threads, a new thread is started (or-reused) with the properties given to @/g_thread_pool_new()/@.-Otherwise, /@data@/ stays in the queue until a thread in this pool-finishes its previous task and processes /@data@/.--/@error@/ can be 'Nothing' to ignore errors, or non-'Nothing' to report-errors. An error can only occur when a new thread couldn\'t be-created. In that case /@data@/ is simply appended to the queue of-work to do.--Before version 2.32, this function did not return a success status.--}-threadPoolPush ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    ThreadPool-    {- ^ /@pool@/: a 'GI.GLib.Structs.ThreadPool.ThreadPool' -}-    -> Ptr ()-    {- ^ /@data@/: a new task for /@pool@/ -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-threadPoolPush pool data_ = liftIO $ do-    pool' <- unsafeManagedPtrGetPtr pool-    onException (do-        _ <- propagateGError $ g_thread_pool_push pool' data_-        touchManagedPtr pool-        return ()-     ) (do-        return ()-     )--#if ENABLE_OVERLOADING-data ThreadPoolPushMethodInfo-instance (signature ~ (Ptr () -> m ()), MonadIO m) => O.MethodInfo ThreadPoolPushMethodInfo ThreadPool signature where-    overloadedMethod _ = threadPoolPush--#endif---- method ThreadPool::set_max_threads--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "GLib", name = "ThreadPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GThreadPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "max_threads", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a new maximal number of threads for @pool,\n    or -1 for unlimited", 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_thread_pool_set_max_threads" g_thread_pool_set_max_threads :: -    Ptr ThreadPool ->                       -- pool : TInterface (Name {namespace = "GLib", name = "ThreadPool"})-    Int32 ->                                -- max_threads : TBasicType TInt-    Ptr (Ptr GError) ->                     -- error-    IO CInt--{- |-Sets the maximal allowed number of threads for /@pool@/.-A value of -1 means that the maximal number of threads-is unlimited. If /@pool@/ is an exclusive thread pool, setting-the maximal number of threads to -1 is not allowed.--Setting /@maxThreads@/ to 0 means stopping all work for /@pool@/.-It is effectively frozen until /@maxThreads@/ is set to a non-zero-value again.--A thread is never terminated while calling /@func@/, as supplied by-@/g_thread_pool_new()/@. Instead the maximal number of threads only-has effect for the allocation of new threads in 'GI.GLib.Structs.ThreadPool.threadPoolPush'.-A new thread is allocated, whenever the number of currently-running threads in /@pool@/ is smaller than the maximal number.--/@error@/ can be 'Nothing' to ignore errors, or non-'Nothing' to report-errors. An error can only occur when a new thread couldn\'t be-created.--Before version 2.32, this function did not return a success status.--}-threadPoolSetMaxThreads ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    ThreadPool-    {- ^ /@pool@/: a 'GI.GLib.Structs.ThreadPool.ThreadPool' -}-    -> Int32-    {- ^ /@maxThreads@/: a new maximal number of threads for /@pool@/,-    or -1 for unlimited -}-    -> m ()-    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}-threadPoolSetMaxThreads pool maxThreads = liftIO $ do-    pool' <- unsafeManagedPtrGetPtr pool-    onException (do-        _ <- propagateGError $ g_thread_pool_set_max_threads pool' maxThreads-        touchManagedPtr pool-        return ()-     ) (do-        return ()-     )--#if ENABLE_OVERLOADING-data ThreadPoolSetMaxThreadsMethodInfo-instance (signature ~ (Int32 -> m ()), MonadIO m) => O.MethodInfo ThreadPoolSetMaxThreadsMethodInfo ThreadPool signature where-    overloadedMethod _ = threadPoolSetMaxThreads--#endif---- method ThreadPool::unprocessed--- method type : OrdinaryMethod--- Args : [Arg {argCName = "pool", argType = TInterface (Name {namespace = "GLib", name = "ThreadPool"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GThreadPool", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_thread_pool_unprocessed" g_thread_pool_unprocessed :: -    Ptr ThreadPool ->                       -- pool : TInterface (Name {namespace = "GLib", name = "ThreadPool"})-    IO Word32--{- |-Returns the number of tasks still unprocessed in /@pool@/.--}-threadPoolUnprocessed ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    ThreadPool-    {- ^ /@pool@/: a 'GI.GLib.Structs.ThreadPool.ThreadPool' -}-    -> m Word32-    {- ^ __Returns:__ the number of unprocessed tasks -}-threadPoolUnprocessed pool = liftIO $ do-    pool' <- unsafeManagedPtrGetPtr pool-    result <- g_thread_pool_unprocessed pool'-    touchManagedPtr pool-    return result--#if ENABLE_OVERLOADING-data ThreadPoolUnprocessedMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo ThreadPoolUnprocessedMethodInfo ThreadPool signature where-    overloadedMethod _ = threadPoolUnprocessed--#endif---- method ThreadPool::get_max_idle_time--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_thread_pool_get_max_idle_time" g_thread_pool_get_max_idle_time :: -    IO Word32--{- |-This function will return the maximum /@interval@/ that a-thread will wait in the thread pool for new tasks before-being stopped.--If this function returns 0, threads waiting in the thread-pool for new work are not stopped.--/Since: 2.10/--}-threadPoolGetMaxIdleTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Word32-    {- ^ __Returns:__ the maximum /@interval@/ (milliseconds) to wait-    for new tasks in the thread pool before stopping the-    thread -}-threadPoolGetMaxIdleTime  = liftIO $ do-    result <- g_thread_pool_get_max_idle_time-    return result--#if ENABLE_OVERLOADING-#endif---- method ThreadPool::get_max_unused_threads--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Just (TBasicType TInt)--- throws : False--- Skip return : False--foreign import ccall "g_thread_pool_get_max_unused_threads" g_thread_pool_get_max_unused_threads :: -    IO Int32--{- |-Returns the maximal allowed number of unused threads.--}-threadPoolGetMaxUnusedThreads ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Int32-    {- ^ __Returns:__ the maximal number of unused threads -}-threadPoolGetMaxUnusedThreads  = liftIO $ do-    result <- g_thread_pool_get_max_unused_threads-    return result--#if ENABLE_OVERLOADING-#endif---- method ThreadPool::get_num_unused_threads--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_thread_pool_get_num_unused_threads" g_thread_pool_get_num_unused_threads :: -    IO Word32--{- |-Returns the number of currently unused threads.--}-threadPoolGetNumUnusedThreads ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m Word32-    {- ^ __Returns:__ the number of currently unused threads -}-threadPoolGetNumUnusedThreads  = liftIO $ do-    result <- g_thread_pool_get_num_unused_threads-    return result--#if ENABLE_OVERLOADING-#endif---- method ThreadPool::set_max_idle_time--- method type : MemberFunction--- Args : [Arg {argCName = "interval", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the maximum @interval (in milliseconds)\n    a thread can be idle", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_thread_pool_set_max_idle_time" g_thread_pool_set_max_idle_time :: -    Word32 ->                               -- interval : TBasicType TUInt-    IO ()--{- |-This function will set the maximum /@interval@/ that a thread-waiting in the pool for new tasks can be idle for before-being stopped. This function is similar to calling-'GI.GLib.Functions.threadPoolStopUnusedThreads' on a regular timeout,-except this is done on a per thread basis.--By setting /@interval@/ to 0, idle threads will not be stopped.--The default value is 15000 (15 seconds).--/Since: 2.10/--}-threadPoolSetMaxIdleTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Word32-    {- ^ /@interval@/: the maximum /@interval@/ (in milliseconds)-    a thread can be idle -}-    -> m ()-threadPoolSetMaxIdleTime interval = liftIO $ do-    g_thread_pool_set_max_idle_time interval-    return ()--#if ENABLE_OVERLOADING-#endif---- method ThreadPool::set_max_unused_threads--- method type : MemberFunction--- Args : [Arg {argCName = "max_threads", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "maximal number of unused threads", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_thread_pool_set_max_unused_threads" g_thread_pool_set_max_unused_threads :: -    Int32 ->                                -- max_threads : TBasicType TInt-    IO ()--{- |-Sets the maximal number of unused threads to /@maxThreads@/.-If /@maxThreads@/ is -1, no limit is imposed on the number-of unused threads.--The default value is 2.--}-threadPoolSetMaxUnusedThreads ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@maxThreads@/: maximal number of unused threads -}-    -> m ()-threadPoolSetMaxUnusedThreads maxThreads = liftIO $ do-    g_thread_pool_set_max_unused_threads maxThreads-    return ()--#if ENABLE_OVERLOADING-#endif---- method ThreadPool::stop_unused_threads--- method type : MemberFunction--- Args : []--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_thread_pool_stop_unused_threads" g_thread_pool_stop_unused_threads :: -    IO ()--{- |-Stops all currently unused threads. This does not change the-maximal number of unused threads. This function can be used to-regularly stop all unused threads e.g. from @/g_timeout_add()/@.--}-threadPoolStopUnusedThreads ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m ()-threadPoolStopUnusedThreads  = liftIO $ do-    g_thread_pool_stop_unused_threads-    return ()--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveThreadPoolMethod (t :: Symbol) (o :: *) :: * where-    ResolveThreadPoolMethod "free" o = ThreadPoolFreeMethodInfo-    ResolveThreadPoolMethod "moveToFront" o = ThreadPoolMoveToFrontMethodInfo-    ResolveThreadPoolMethod "push" o = ThreadPoolPushMethodInfo-    ResolveThreadPoolMethod "unprocessed" o = ThreadPoolUnprocessedMethodInfo-    ResolveThreadPoolMethod "getMaxThreads" o = ThreadPoolGetMaxThreadsMethodInfo-    ResolveThreadPoolMethod "getNumThreads" o = ThreadPoolGetNumThreadsMethodInfo-    ResolveThreadPoolMethod "setMaxThreads" o = ThreadPoolSetMaxThreadsMethodInfo-    ResolveThreadPoolMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveThreadPoolMethod t ThreadPool, O.MethodInfo info ThreadPool p) => OL.IsLabel t (ThreadPool -> 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/GLib/Structs/ThreadPool.hs-boot
@@ -1,47 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.ThreadPool 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 ThreadPool = ThreadPool (ManagedPtr ThreadPool)-instance WrappedPtr ThreadPool where-#if ENABLE_OVERLOADING-data ThreadPoolFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data ThreadPoolGetMaxThreadsMethodInfo-#endif-#if ENABLE_OVERLOADING-data ThreadPoolGetNumThreadsMethodInfo-#endif-#if ENABLE_OVERLOADING-data ThreadPoolMoveToFrontMethodInfo-#endif-#if ENABLE_OVERLOADING-data ThreadPoolPushMethodInfo-#endif-#if ENABLE_OVERLOADING-data ThreadPoolSetMaxThreadsMethodInfo-#endif-#if ENABLE_OVERLOADING-data ThreadPoolUnprocessedMethodInfo-#endif
− GI/GLib/Structs/TimeVal.hs
@@ -1,384 +0,0 @@---{- |-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 precise time, with seconds and microseconds.-Similar to the struct timeval returned by the @/gettimeofday()/@-UNIX system call.--GLib is attempting to unify around the use of 64bit integers to-represent microsecond-precision time. As such, this type will be-removed from a future version of GLib. A consequence of using @glong@ for-@tv_sec@ is that on 32-bit systems @GTimeVal@ is subject to the year 2038-problem.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.TimeVal-    ( ---- * Exported types-    TimeVal(..)                             ,-    newZeroTimeVal                          ,-    noTimeVal                               ,--- -- * Methods--- ** add #method:add#--#if ENABLE_OVERLOADING-    TimeValAddMethodInfo                    ,-#endif-    timeValAdd                              ,----- ** fromIso8601 #method:fromIso8601#--    timeValFromIso8601                      ,----- ** toIso8601 #method:toIso8601#--#if ENABLE_OVERLOADING-    TimeValToIso8601MethodInfo              ,-#endif-    timeValToIso8601                        ,----- -- * Properties--- ** tvSec #attr:tvSec#-{- | seconds--}-    getTimeValTvSec                         ,-    setTimeValTvSec                         ,-#if ENABLE_OVERLOADING-    timeVal_tvSec                           ,-#endif----- ** tvUsec #attr:tvUsec#-{- | microseconds--}-    getTimeValTvUsec                        ,-    setTimeValTvUsec                        ,-#if ENABLE_OVERLOADING-    timeVal_tvUsec                          ,-#endif-----    ) 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 TimeVal = TimeVal (ManagedPtr TimeVal)-instance WrappedPtr TimeVal where-    wrappedPtrCalloc = callocBytes 16-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 16 >=> wrapPtr TimeVal)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `TimeVal` struct initialized to zero.-newZeroTimeVal :: MonadIO m => m TimeVal-newZeroTimeVal = liftIO $ wrappedPtrCalloc >>= wrapPtr TimeVal--instance tag ~ 'AttrSet => Constructible TimeVal tag where-    new _ attrs = do-        o <- newZeroTimeVal-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `TimeVal`.-noTimeVal :: Maybe TimeVal-noTimeVal = Nothing--{- |-Get the value of the “@tv_sec@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' timeVal #tvSec-@--}-getTimeValTvSec :: MonadIO m => TimeVal -> m CLong-getTimeValTvSec s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CLong-    return val--{- |-Set the value of the “@tv_sec@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' timeVal [ #tvSec 'Data.GI.Base.Attributes.:=' value ]-@--}-setTimeValTvSec :: MonadIO m => TimeVal -> CLong -> m ()-setTimeValTvSec s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: CLong)--#if ENABLE_OVERLOADING-data TimeValTvSecFieldInfo-instance AttrInfo TimeValTvSecFieldInfo where-    type AttrAllowedOps TimeValTvSecFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint TimeValTvSecFieldInfo = (~) CLong-    type AttrBaseTypeConstraint TimeValTvSecFieldInfo = (~) TimeVal-    type AttrGetType TimeValTvSecFieldInfo = CLong-    type AttrLabel TimeValTvSecFieldInfo = "tv_sec"-    type AttrOrigin TimeValTvSecFieldInfo = TimeVal-    attrGet _ = getTimeValTvSec-    attrSet _ = setTimeValTvSec-    attrConstruct = undefined-    attrClear _ = undefined--timeVal_tvSec :: AttrLabelProxy "tvSec"-timeVal_tvSec = AttrLabelProxy--#endif---{- |-Get the value of the “@tv_usec@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' timeVal #tvUsec-@--}-getTimeValTvUsec :: MonadIO m => TimeVal -> m CLong-getTimeValTvUsec s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 8) :: IO CLong-    return val--{- |-Set the value of the “@tv_usec@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' timeVal [ #tvUsec 'Data.GI.Base.Attributes.:=' value ]-@--}-setTimeValTvUsec :: MonadIO m => TimeVal -> CLong -> m ()-setTimeValTvUsec s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 8) (val :: CLong)--#if ENABLE_OVERLOADING-data TimeValTvUsecFieldInfo-instance AttrInfo TimeValTvUsecFieldInfo where-    type AttrAllowedOps TimeValTvUsecFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint TimeValTvUsecFieldInfo = (~) CLong-    type AttrBaseTypeConstraint TimeValTvUsecFieldInfo = (~) TimeVal-    type AttrGetType TimeValTvUsecFieldInfo = CLong-    type AttrLabel TimeValTvUsecFieldInfo = "tv_usec"-    type AttrOrigin TimeValTvUsecFieldInfo = TimeVal-    attrGet _ = getTimeValTvUsec-    attrSet _ = setTimeValTvUsec-    attrConstruct = undefined-    attrClear _ = undefined--timeVal_tvUsec :: AttrLabelProxy "tvUsec"-timeVal_tvUsec = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList TimeVal-type instance O.AttributeList TimeVal = TimeValAttributeList-type TimeValAttributeList = ('[ '("tvSec", TimeValTvSecFieldInfo), '("tvUsec", TimeValTvUsecFieldInfo)] :: [(Symbol, *)])-#endif---- method TimeVal::add--- method type : OrdinaryMethod--- Args : [Arg {argCName = "time_", argType = TInterface (Name {namespace = "GLib", name = "TimeVal"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimeVal", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "microseconds", argType = TBasicType TLong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "number of microseconds to add to @time", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_time_val_add" g_time_val_add :: -    Ptr TimeVal ->                          -- time_ : TInterface (Name {namespace = "GLib", name = "TimeVal"})-    CLong ->                                -- microseconds : TBasicType TLong-    IO ()--{- |-Adds the given number of microseconds to /@time_@/. /@microseconds@/ can-also be negative to decrease the value of /@time_@/.--}-timeValAdd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TimeVal-    {- ^ /@time_@/: a 'GI.GLib.Structs.TimeVal.TimeVal' -}-    -> CLong-    {- ^ /@microseconds@/: number of microseconds to add to /@time@/ -}-    -> m ()-timeValAdd time_ microseconds = liftIO $ do-    time_' <- unsafeManagedPtrGetPtr time_-    g_time_val_add time_' microseconds-    touchManagedPtr time_-    return ()--#if ENABLE_OVERLOADING-data TimeValAddMethodInfo-instance (signature ~ (CLong -> m ()), MonadIO m) => O.MethodInfo TimeValAddMethodInfo TimeVal signature where-    overloadedMethod _ = timeValAdd--#endif---- method TimeVal::to_iso8601--- method type : OrdinaryMethod--- Args : [Arg {argCName = "time_", argType = TInterface (Name {namespace = "GLib", name = "TimeVal"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimeVal", 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_time_val_to_iso8601" g_time_val_to_iso8601 :: -    Ptr TimeVal ->                          -- time_ : TInterface (Name {namespace = "GLib", name = "TimeVal"})-    IO CString--{- |-Converts /@time_@/ into an RFC 3339 encoded string, relative to the-Coordinated Universal Time (UTC). This is one of the many formats-allowed by ISO 8601.--ISO 8601 allows a large number of date\/time formats, with or without-punctuation and optional elements. The format returned by this function-is a complete date and time, with optional punctuation included, the-UTC time zone represented as \"Z\", and the /@tvUsec@/ part included if-and only if it is nonzero, i.e. either-\"YYYY-MM-DDTHH:MM:SSZ\" or \"YYYY-MM-DDTHH:MM:SS.fffffZ\".--This corresponds to the Internet date\/time format defined by-<https://www.ietf.org/rfc/rfc3339.txt RFC 3339>,-and to either of the two most-precise formats defined by-the W3C Note-<http://www.w3.org/TR/NOTE-datetime-19980827 Date and Time Formats>.-Both of these documents are profiles of ISO 8601.--Use 'GI.GLib.Structs.DateTime.dateTimeFormat' or @/g_strdup_printf()/@ if a different-variation of ISO 8601 format is required.--If /@time_@/ represents a date which is too large to fit into a @struct tm@,-'Nothing' will be returned. This is platform dependent. Note also that since-@GTimeVal@ stores the number of seconds as a @glong@, on 32-bit systems it-is subject to the year 2038 problem.--The return value of 'GI.GLib.Structs.TimeVal.timeValToIso8601' has been nullable since GLib-2.54; before then, GLib would crash under the same conditions.--/Since: 2.12/--}-timeValToIso8601 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TimeVal-    {- ^ /@time_@/: a 'GI.GLib.Structs.TimeVal.TimeVal' -}-    -> m (Maybe T.Text)-    {- ^ __Returns:__ a newly allocated string containing an ISO 8601 date,-   or 'Nothing' if /@time_@/ was too large -}-timeValToIso8601 time_ = liftIO $ do-    time_' <- unsafeManagedPtrGetPtr time_-    result <- g_time_val_to_iso8601 time_'-    maybeResult <- convertIfNonNull result $ \result' -> do-        result'' <- cstringToText result'-        freeMem result'-        return result''-    touchManagedPtr time_-    return maybeResult--#if ENABLE_OVERLOADING-data TimeValToIso8601MethodInfo-instance (signature ~ (m (Maybe T.Text)), MonadIO m) => O.MethodInfo TimeValToIso8601MethodInfo TimeVal signature where-    overloadedMethod _ = timeValToIso8601--#endif---- method TimeVal::from_iso8601--- method type : MemberFunction--- Args : [Arg {argCName = "iso_date", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an ISO 8601 encoded date string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TInterface (Name {namespace = "GLib", name = "TimeVal"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimeVal", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "g_time_val_from_iso8601" g_time_val_from_iso8601 :: -    CString ->                              -- iso_date : TBasicType TUTF8-    Ptr TimeVal ->                          -- time_ : TInterface (Name {namespace = "GLib", name = "TimeVal"})-    IO CInt--{- |-Converts a string containing an ISO 8601 encoded date and time-to a 'GI.GLib.Structs.TimeVal.TimeVal' and puts it into /@time_@/.--/@isoDate@/ must include year, month, day, hours, minutes, and-seconds. It can optionally include fractions of a second and a time-zone indicator. (In the absence of any time zone indication, the-timestamp is assumed to be in local time.)--Any leading or trailing space in /@isoDate@/ is ignored.--/Since: 2.12/--}-timeValFromIso8601 ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@isoDate@/: an ISO 8601 encoded date string -}-    -> m ((Bool, TimeVal))-    {- ^ __Returns:__ 'True' if the conversion was successful. -}-timeValFromIso8601 isoDate = liftIO $ do-    isoDate' <- textToCString isoDate-    time_ <- callocBytes 16 :: IO (Ptr TimeVal)-    result <- g_time_val_from_iso8601 isoDate' time_-    let result' = (/= 0) result-    time_' <- (wrapPtr TimeVal) time_-    freeMem isoDate'-    return (result', time_')--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveTimeValMethod (t :: Symbol) (o :: *) :: * where-    ResolveTimeValMethod "add" o = TimeValAddMethodInfo-    ResolveTimeValMethod "toIso8601" o = TimeValToIso8601MethodInfo-    ResolveTimeValMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTimeValMethod t TimeVal, O.MethodInfo info TimeVal p) => OL.IsLabel t (TimeVal -> 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/GLib/Structs/TimeVal.hs-boot
@@ -1,32 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.TimeVal 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 TimeVal = TimeVal (ManagedPtr TimeVal)-instance WrappedPtr TimeVal where-#if ENABLE_OVERLOADING-data TimeValAddMethodInfo-#endif-#if ENABLE_OVERLOADING-data TimeValToIso8601MethodInfo-#endif
− GI/GLib/Structs/TimeZone.hs
@@ -1,752 +0,0 @@---{- |-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.GLib.Structs.TimeZone.TimeZone' is an opaque structure whose members cannot be accessed-directly.--/Since: 2.26/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.TimeZone-    ( ---- * Exported types-    TimeZone(..)                            ,-    noTimeZone                              ,--- -- * Methods--- ** adjustTime #method:adjustTime#--#if ENABLE_OVERLOADING-    TimeZoneAdjustTimeMethodInfo            ,-#endif-    timeZoneAdjustTime                      ,----- ** findInterval #method:findInterval#--#if ENABLE_OVERLOADING-    TimeZoneFindIntervalMethodInfo          ,-#endif-    timeZoneFindInterval                    ,----- ** getAbbreviation #method:getAbbreviation#--#if ENABLE_OVERLOADING-    TimeZoneGetAbbreviationMethodInfo       ,-#endif-    timeZoneGetAbbreviation                 ,----- ** getIdentifier #method:getIdentifier#--#if ENABLE_OVERLOADING-    TimeZoneGetIdentifierMethodInfo         ,-#endif-    timeZoneGetIdentifier                   ,----- ** getOffset #method:getOffset#--#if ENABLE_OVERLOADING-    TimeZoneGetOffsetMethodInfo             ,-#endif-    timeZoneGetOffset                       ,----- ** isDst #method:isDst#--#if ENABLE_OVERLOADING-    TimeZoneIsDstMethodInfo                 ,-#endif-    timeZoneIsDst                           ,----- ** new #method:new#--    timeZoneNew                             ,----- ** newLocal #method:newLocal#--    timeZoneNewLocal                        ,----- ** newOffset #method:newOffset#--    timeZoneNewOffset                       ,----- ** newUtc #method:newUtc#--    timeZoneNewUtc                          ,----- ** ref #method:ref#--#if ENABLE_OVERLOADING-    TimeZoneRefMethodInfo                   ,-#endif-    timeZoneRef                             ,----- ** unref #method:unref#--#if ENABLE_OVERLOADING-    TimeZoneUnrefMethodInfo                 ,-#endif-    timeZoneUnref                           ,-----    ) 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.GLib.Enums as GLib.Enums---- | Memory-managed wrapper type.-newtype TimeZone = TimeZone (ManagedPtr TimeZone)-foreign import ccall "g_time_zone_get_type" c_g_time_zone_get_type :: -    IO GType--instance BoxedObject TimeZone where-    boxedType _ = c_g_time_zone_get_type---- | A convenience alias for `Nothing` :: `Maybe` `TimeZone`.-noTimeZone :: Maybe TimeZone-noTimeZone = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList TimeZone-type instance O.AttributeList TimeZone = TimeZoneAttributeList-type TimeZoneAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method TimeZone::new--- method type : Constructor--- Args : [Arg {argCName = "identifier", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a timezone identifier", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "TimeZone"}))--- throws : False--- Skip return : False--foreign import ccall "g_time_zone_new" g_time_zone_new :: -    CString ->                              -- identifier : TBasicType TUTF8-    IO (Ptr TimeZone)--{- |-Creates a 'GI.GLib.Structs.TimeZone.TimeZone' corresponding to /@identifier@/.--/@identifier@/ can either be an RFC3339\/ISO 8601 time offset or-something that would pass as a valid value for the @TZ@ environment-variable (including 'Nothing').--In Windows, /@identifier@/ can also be the unlocalized name of a time-zone for standard time, for example \"Pacific Standard Time\".--Valid RFC3339 time offsets are @\"Z\"@ (for UTC) or-@\"±hh:mm\"@.  ISO 8601 additionally specifies-@\"±hhmm\"@ and @\"±hh\"@.  Offsets are-time values to be added to Coordinated Universal Time (UTC) to get-the local time.--In UNIX, the @TZ@ environment variable typically corresponds-to the name of a file in the zoneinfo database, or string in-\"std offset [dst [offset],start[\/time],end[\/time]]\" (POSIX) format.-There  are  no spaces in the specification. The name of standard-and daylight savings time zone must be three or more alphabetic-characters. Offsets are time values to be added to local time to-get Coordinated Universal Time (UTC) and should be-@\"[±]hh[[:]mm[:ss]]\"@.  Dates are either-@\"Jn\"@ (Julian day with n between 1 and 365, leap-years not counted), @\"n\"@ (zero-based Julian day-with n between 0 and 365) or @\"Mm.w.d\"@ (day d-(0 \<= d \<= 6) of week w (1 \<= w \<= 5) of month m (1 \<= m \<= 12), day-0 is a Sunday).  Times are in local wall clock time, the default is-02:00:00.--In Windows, the \"tzn[+|–]hh[:mm[:ss]][dzn]\" format is used, but also-accepts POSIX format.  The Windows format uses US rules for all time-zones; daylight savings time is 60 minutes behind the standard time-with date and time of change taken from Pacific Standard Time.-Offsets are time values to be added to the local time to get-Coordinated Universal Time (UTC).--'GI.GLib.Structs.TimeZone.timeZoneNewLocal' calls this function with the value of the-@TZ@ environment variable. This function itself is independent of-the value of @TZ@, but if /@identifier@/ is 'Nothing' then @\/etc\/localtime@-will be consulted to discover the correct time zone on UNIX and the-registry will be consulted or @/GetTimeZoneInformation()/@ will be used-to get the local time zone on Windows.--If intervals are not available, only time zone rules from @TZ@-environment variable or other means, then they will be computed-from year 1900 to 2037.  If the maximum year for the rules is-available and it is greater than 2037, then it will followed-instead.--See-<http://tools.ietf.org/html/rfc3339#section-5.6 RFC3339 §5.6>-for a precise definition of valid RFC3339 time offsets-(the @time-offset@ expansion) and ISO 8601 for the-full list of valid time offsets.  See-<http://www.gnu.org/s/libc/manual/html_node/TZ-Variable.html The GNU C Library manual>-for an explanation of the possible-values of the @TZ@ environment variable. See-<http://msdn.microsoft.com/en-us/library/ms912391%28v=winembedded.11%29.aspx Microsoft Time Zone Index Values>-for the list of time zones on Windows.--You should release the return value by calling 'GI.GLib.Structs.TimeZone.timeZoneUnref'-when you are done with it.--/Since: 2.26/--}-timeZoneNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (T.Text)-    {- ^ /@identifier@/: a timezone identifier -}-    -> m TimeZone-    {- ^ __Returns:__ the requested timezone -}-timeZoneNew identifier = liftIO $ do-    maybeIdentifier <- case identifier of-        Nothing -> return nullPtr-        Just jIdentifier -> do-            jIdentifier' <- textToCString jIdentifier-            return jIdentifier'-    result <- g_time_zone_new maybeIdentifier-    checkUnexpectedReturnNULL "timeZoneNew" result-    result' <- (wrapBoxed TimeZone) result-    freeMem maybeIdentifier-    return result'--#if ENABLE_OVERLOADING-#endif---- method TimeZone::new_local--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "TimeZone"}))--- throws : False--- Skip return : False--foreign import ccall "g_time_zone_new_local" g_time_zone_new_local :: -    IO (Ptr TimeZone)--{- |-Creates a 'GI.GLib.Structs.TimeZone.TimeZone' corresponding to local time.  The local time-zone may change between invocations to this function; for example,-if the system administrator changes it.--This is equivalent to calling 'GI.GLib.Structs.TimeZone.timeZoneNew' with the value of-the @TZ@ environment variable (including the possibility of 'Nothing').--You should release the return value by calling 'GI.GLib.Structs.TimeZone.timeZoneUnref'-when you are done with it.--/Since: 2.26/--}-timeZoneNewLocal ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m TimeZone-    {- ^ __Returns:__ the local timezone -}-timeZoneNewLocal  = liftIO $ do-    result <- g_time_zone_new_local-    checkUnexpectedReturnNULL "timeZoneNewLocal" result-    result' <- (wrapBoxed TimeZone) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method TimeZone::new_offset--- method type : Constructor--- Args : [Arg {argCName = "seconds", argType = TBasicType TInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "offset to UTC, in seconds", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "TimeZone"}))--- throws : False--- Skip return : False--foreign import ccall "g_time_zone_new_offset" g_time_zone_new_offset :: -    Int32 ->                                -- seconds : TBasicType TInt32-    IO (Ptr TimeZone)--{- |-Creates a 'GI.GLib.Structs.TimeZone.TimeZone' corresponding to the given constant offset from UTC,-in seconds.--This is equivalent to calling 'GI.GLib.Structs.TimeZone.timeZoneNew' with a string in the form-@[+|-]hh[:mm[:ss]]@.--/Since: 2.58/--}-timeZoneNewOffset ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Int32-    {- ^ /@seconds@/: offset to UTC, in seconds -}-    -> m TimeZone-    {- ^ __Returns:__ a timezone at the given offset from UTC -}-timeZoneNewOffset seconds = liftIO $ do-    result <- g_time_zone_new_offset seconds-    checkUnexpectedReturnNULL "timeZoneNewOffset" result-    result' <- (wrapBoxed TimeZone) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method TimeZone::new_utc--- method type : Constructor--- Args : []--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "TimeZone"}))--- throws : False--- Skip return : False--foreign import ccall "g_time_zone_new_utc" g_time_zone_new_utc :: -    IO (Ptr TimeZone)--{- |-Creates a 'GI.GLib.Structs.TimeZone.TimeZone' corresponding to UTC.--This is equivalent to calling 'GI.GLib.Structs.TimeZone.timeZoneNew' with a value like-\"Z\", \"UTC\", \"+00\", etc.--You should release the return value by calling 'GI.GLib.Structs.TimeZone.timeZoneUnref'-when you are done with it.--/Since: 2.26/--}-timeZoneNewUtc ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    m TimeZone-    {- ^ __Returns:__ the universal timezone -}-timeZoneNewUtc  = liftIO $ do-    result <- g_time_zone_new_utc-    checkUnexpectedReturnNULL "timeZoneNewUtc" result-    result' <- (wrapBoxed TimeZone) result-    return result'--#if ENABLE_OVERLOADING-#endif---- method TimeZone::adjust_time--- method type : OrdinaryMethod--- Args : [Arg {argCName = "tz", argType = TInterface (Name {namespace = "GLib", name = "TimeZone"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimeZone", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "TimeType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GTimeType of @time_", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to a number of seconds since January 1, 1970", 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_time_zone_adjust_time" g_time_zone_adjust_time :: -    Ptr TimeZone ->                         -- tz : TInterface (Name {namespace = "GLib", name = "TimeZone"})-    CUInt ->                                -- type : TInterface (Name {namespace = "GLib", name = "TimeType"})-    Int64 ->                                -- time_ : TBasicType TInt64-    IO Int32--{- |-Finds an interval within /@tz@/ that corresponds to the given /@time_@/,-possibly adjusting /@time_@/ if required to fit into an interval.-The meaning of /@time_@/ depends on /@type@/.--This function is similar to 'GI.GLib.Structs.TimeZone.timeZoneFindInterval', with the-difference that it always succeeds (by making the adjustments-described below).--In any of the cases where 'GI.GLib.Structs.TimeZone.timeZoneFindInterval' succeeds then-this function returns the same value, without modifying /@time_@/.--This function may, however, modify /@time_@/ in order to deal with-non-existent times.  If the non-existent local /@time_@/ of 02:30 were-requested on March 14th 2010 in Toronto then this function would-adjust /@time_@/ to be 03:00 and return the interval containing the-adjusted time.--/Since: 2.26/--}-timeZoneAdjustTime ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TimeZone-    {- ^ /@tz@/: a 'GI.GLib.Structs.TimeZone.TimeZone' -}-    -> GLib.Enums.TimeType-    {- ^ /@type@/: the 'GI.GLib.Enums.TimeType' of /@time_@/ -}-    -> Int64-    {- ^ /@time_@/: a pointer to a number of seconds since January 1, 1970 -}-    -> m Int32-    {- ^ __Returns:__ the interval containing /@time_@/, never -1 -}-timeZoneAdjustTime tz type_ time_ = liftIO $ do-    tz' <- unsafeManagedPtrGetPtr tz-    let type_' = (fromIntegral . fromEnum) type_-    result <- g_time_zone_adjust_time tz' type_' time_-    touchManagedPtr tz-    return result--#if ENABLE_OVERLOADING-data TimeZoneAdjustTimeMethodInfo-instance (signature ~ (GLib.Enums.TimeType -> Int64 -> m Int32), MonadIO m) => O.MethodInfo TimeZoneAdjustTimeMethodInfo TimeZone signature where-    overloadedMethod _ = timeZoneAdjustTime--#endif---- method TimeZone::find_interval--- method type : OrdinaryMethod--- Args : [Arg {argCName = "tz", argType = TInterface (Name {namespace = "GLib", name = "TimeZone"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimeZone", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "TimeType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GTimeType of @time_", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time_", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a number of seconds since January 1, 1970", 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_time_zone_find_interval" g_time_zone_find_interval :: -    Ptr TimeZone ->                         -- tz : TInterface (Name {namespace = "GLib", name = "TimeZone"})-    CUInt ->                                -- type : TInterface (Name {namespace = "GLib", name = "TimeType"})-    Int64 ->                                -- time_ : TBasicType TInt64-    IO Int32--{- |-Finds an the interval within /@tz@/ that corresponds to the given /@time_@/.-The meaning of /@time_@/ depends on /@type@/.--If /@type@/ is 'GI.GLib.Enums.TimeTypeUniversal' then this function will always-succeed (since universal time is monotonic and continuous).--Otherwise /@time_@/ is treated as local time.  The distinction between-'GI.GLib.Enums.TimeTypeStandard' and 'GI.GLib.Enums.TimeTypeDaylight' is ignored except in-the case that the given /@time_@/ is ambiguous.  In Toronto, for example,-01:30 on November 7th 2010 occurred twice (once inside of daylight-savings time and the next, an hour later, outside of daylight savings-time).  In this case, the different value of /@type@/ would result in a-different interval being returned.--It is still possible for this function to fail.  In Toronto, for-example, 02:00 on March 14th 2010 does not exist (due to the leap-forward to begin daylight savings time).  -1 is returned in that-case.--/Since: 2.26/--}-timeZoneFindInterval ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TimeZone-    {- ^ /@tz@/: a 'GI.GLib.Structs.TimeZone.TimeZone' -}-    -> GLib.Enums.TimeType-    {- ^ /@type@/: the 'GI.GLib.Enums.TimeType' of /@time_@/ -}-    -> Int64-    {- ^ /@time_@/: a number of seconds since January 1, 1970 -}-    -> m Int32-    {- ^ __Returns:__ the interval containing /@time_@/, or -1 in case of failure -}-timeZoneFindInterval tz type_ time_ = liftIO $ do-    tz' <- unsafeManagedPtrGetPtr tz-    let type_' = (fromIntegral . fromEnum) type_-    result <- g_time_zone_find_interval tz' type_' time_-    touchManagedPtr tz-    return result--#if ENABLE_OVERLOADING-data TimeZoneFindIntervalMethodInfo-instance (signature ~ (GLib.Enums.TimeType -> Int64 -> m Int32), MonadIO m) => O.MethodInfo TimeZoneFindIntervalMethodInfo TimeZone signature where-    overloadedMethod _ = timeZoneFindInterval--#endif---- method TimeZone::get_abbreviation--- method type : OrdinaryMethod--- Args : [Arg {argCName = "tz", argType = TInterface (Name {namespace = "GLib", name = "TimeZone"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimeZone", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interval", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an interval within the timezone", 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_time_zone_get_abbreviation" g_time_zone_get_abbreviation :: -    Ptr TimeZone ->                         -- tz : TInterface (Name {namespace = "GLib", name = "TimeZone"})-    Int32 ->                                -- interval : TBasicType TInt-    IO CString--{- |-Determines the time zone abbreviation to be used during a particular-/@interval@/ of time in the time zone /@tz@/.--For example, in Toronto this is currently \"EST\" during the winter-months and \"EDT\" during the summer months when daylight savings time-is in effect.--/Since: 2.26/--}-timeZoneGetAbbreviation ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TimeZone-    {- ^ /@tz@/: a 'GI.GLib.Structs.TimeZone.TimeZone' -}-    -> Int32-    {- ^ /@interval@/: an interval within the timezone -}-    -> m T.Text-    {- ^ __Returns:__ the time zone abbreviation, which belongs to /@tz@/ -}-timeZoneGetAbbreviation tz interval = liftIO $ do-    tz' <- unsafeManagedPtrGetPtr tz-    result <- g_time_zone_get_abbreviation tz' interval-    checkUnexpectedReturnNULL "timeZoneGetAbbreviation" result-    result' <- cstringToText result-    touchManagedPtr tz-    return result'--#if ENABLE_OVERLOADING-data TimeZoneGetAbbreviationMethodInfo-instance (signature ~ (Int32 -> m T.Text), MonadIO m) => O.MethodInfo TimeZoneGetAbbreviationMethodInfo TimeZone signature where-    overloadedMethod _ = timeZoneGetAbbreviation--#endif---- method TimeZone::get_identifier--- method type : OrdinaryMethod--- Args : [Arg {argCName = "tz", argType = TInterface (Name {namespace = "GLib", name = "TimeZone"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimeZone", 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_time_zone_get_identifier" g_time_zone_get_identifier :: -    Ptr TimeZone ->                         -- tz : TInterface (Name {namespace = "GLib", name = "TimeZone"})-    IO CString--{- |-Get the identifier of this 'GI.GLib.Structs.TimeZone.TimeZone', as passed to 'GI.GLib.Structs.TimeZone.timeZoneNew'.-If the identifier passed at construction time was not recognised, @UTC@ will-be returned. If it was 'Nothing', the identifier of the local timezone at-construction time will be returned.--The identifier will be returned in the same format as provided at-construction time: if provided as a time offset, that will be returned by-this function.--/Since: 2.58/--}-timeZoneGetIdentifier ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TimeZone-    {- ^ /@tz@/: a 'GI.GLib.Structs.TimeZone.TimeZone' -}-    -> m T.Text-    {- ^ __Returns:__ identifier for this timezone -}-timeZoneGetIdentifier tz = liftIO $ do-    tz' <- unsafeManagedPtrGetPtr tz-    result <- g_time_zone_get_identifier tz'-    checkUnexpectedReturnNULL "timeZoneGetIdentifier" result-    result' <- cstringToText result-    touchManagedPtr tz-    return result'--#if ENABLE_OVERLOADING-data TimeZoneGetIdentifierMethodInfo-instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo TimeZoneGetIdentifierMethodInfo TimeZone signature where-    overloadedMethod _ = timeZoneGetIdentifier--#endif---- method TimeZone::get_offset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "tz", argType = TInterface (Name {namespace = "GLib", name = "TimeZone"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimeZone", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interval", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an interval within the timezone", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TInt32)--- throws : False--- Skip return : False--foreign import ccall "g_time_zone_get_offset" g_time_zone_get_offset :: -    Ptr TimeZone ->                         -- tz : TInterface (Name {namespace = "GLib", name = "TimeZone"})-    Int32 ->                                -- interval : TBasicType TInt-    IO Int32--{- |-Determines the offset to UTC in effect during a particular /@interval@/-of time in the time zone /@tz@/.--The offset is the number of seconds that you add to UTC time to-arrive at local time for /@tz@/ (ie: negative numbers for time zones-west of GMT, positive numbers for east).--/Since: 2.26/--}-timeZoneGetOffset ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TimeZone-    {- ^ /@tz@/: a 'GI.GLib.Structs.TimeZone.TimeZone' -}-    -> Int32-    {- ^ /@interval@/: an interval within the timezone -}-    -> m Int32-    {- ^ __Returns:__ the number of seconds that should be added to UTC to get the-         local time in /@tz@/ -}-timeZoneGetOffset tz interval = liftIO $ do-    tz' <- unsafeManagedPtrGetPtr tz-    result <- g_time_zone_get_offset tz' interval-    touchManagedPtr tz-    return result--#if ENABLE_OVERLOADING-data TimeZoneGetOffsetMethodInfo-instance (signature ~ (Int32 -> m Int32), MonadIO m) => O.MethodInfo TimeZoneGetOffsetMethodInfo TimeZone signature where-    overloadedMethod _ = timeZoneGetOffset--#endif---- method TimeZone::is_dst--- method type : OrdinaryMethod--- Args : [Arg {argCName = "tz", argType = TInterface (Name {namespace = "GLib", name = "TimeZone"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimeZone", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "interval", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an interval within the timezone", 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_time_zone_is_dst" g_time_zone_is_dst :: -    Ptr TimeZone ->                         -- tz : TInterface (Name {namespace = "GLib", name = "TimeZone"})-    Int32 ->                                -- interval : TBasicType TInt-    IO CInt--{- |-Determines if daylight savings time is in effect during a particular-/@interval@/ of time in the time zone /@tz@/.--/Since: 2.26/--}-timeZoneIsDst ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TimeZone-    {- ^ /@tz@/: a 'GI.GLib.Structs.TimeZone.TimeZone' -}-    -> Int32-    {- ^ /@interval@/: an interval within the timezone -}-    -> m Bool-    {- ^ __Returns:__ 'True' if daylight savings time is in effect -}-timeZoneIsDst tz interval = liftIO $ do-    tz' <- unsafeManagedPtrGetPtr tz-    result <- g_time_zone_is_dst tz' interval-    let result' = (/= 0) result-    touchManagedPtr tz-    return result'--#if ENABLE_OVERLOADING-data TimeZoneIsDstMethodInfo-instance (signature ~ (Int32 -> m Bool), MonadIO m) => O.MethodInfo TimeZoneIsDstMethodInfo TimeZone signature where-    overloadedMethod _ = timeZoneIsDst--#endif---- method TimeZone::ref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "tz", argType = TInterface (Name {namespace = "GLib", name = "TimeZone"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimeZone", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "TimeZone"}))--- throws : False--- Skip return : False--foreign import ccall "g_time_zone_ref" g_time_zone_ref :: -    Ptr TimeZone ->                         -- tz : TInterface (Name {namespace = "GLib", name = "TimeZone"})-    IO (Ptr TimeZone)--{- |-Increases the reference count on /@tz@/.--/Since: 2.26/--}-timeZoneRef ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TimeZone-    {- ^ /@tz@/: a 'GI.GLib.Structs.TimeZone.TimeZone' -}-    -> m TimeZone-    {- ^ __Returns:__ a new reference to /@tz@/. -}-timeZoneRef tz = liftIO $ do-    tz' <- unsafeManagedPtrGetPtr tz-    result <- g_time_zone_ref tz'-    checkUnexpectedReturnNULL "timeZoneRef" result-    result' <- (wrapBoxed TimeZone) result-    touchManagedPtr tz-    return result'--#if ENABLE_OVERLOADING-data TimeZoneRefMethodInfo-instance (signature ~ (m TimeZone), MonadIO m) => O.MethodInfo TimeZoneRefMethodInfo TimeZone signature where-    overloadedMethod _ = timeZoneRef--#endif---- method TimeZone::unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "tz", argType = TInterface (Name {namespace = "GLib", name = "TimeZone"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimeZone", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_time_zone_unref" g_time_zone_unref :: -    Ptr TimeZone ->                         -- tz : TInterface (Name {namespace = "GLib", name = "TimeZone"})-    IO ()--{- |-Decreases the reference count on /@tz@/.--/Since: 2.26/--}-timeZoneUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TimeZone-    {- ^ /@tz@/: a 'GI.GLib.Structs.TimeZone.TimeZone' -}-    -> m ()-timeZoneUnref tz = liftIO $ do-    tz' <- unsafeManagedPtrGetPtr tz-    g_time_zone_unref tz'-    touchManagedPtr tz-    return ()--#if ENABLE_OVERLOADING-data TimeZoneUnrefMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TimeZoneUnrefMethodInfo TimeZone signature where-    overloadedMethod _ = timeZoneUnref--#endif--#if ENABLE_OVERLOADING-type family ResolveTimeZoneMethod (t :: Symbol) (o :: *) :: * where-    ResolveTimeZoneMethod "adjustTime" o = TimeZoneAdjustTimeMethodInfo-    ResolveTimeZoneMethod "findInterval" o = TimeZoneFindIntervalMethodInfo-    ResolveTimeZoneMethod "isDst" o = TimeZoneIsDstMethodInfo-    ResolveTimeZoneMethod "ref" o = TimeZoneRefMethodInfo-    ResolveTimeZoneMethod "unref" o = TimeZoneUnrefMethodInfo-    ResolveTimeZoneMethod "getAbbreviation" o = TimeZoneGetAbbreviationMethodInfo-    ResolveTimeZoneMethod "getIdentifier" o = TimeZoneGetIdentifierMethodInfo-    ResolveTimeZoneMethod "getOffset" o = TimeZoneGetOffsetMethodInfo-    ResolveTimeZoneMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTimeZoneMethod t TimeZone, O.MethodInfo info TimeZone p) => OL.IsLabel t (TimeZone -> 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/GLib/Structs/TimeZone.hs-boot
@@ -1,50 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.TimeZone 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 TimeZone = TimeZone (ManagedPtr TimeZone)-instance BoxedObject TimeZone where-#if ENABLE_OVERLOADING-data TimeZoneAdjustTimeMethodInfo-#endif-#if ENABLE_OVERLOADING-data TimeZoneFindIntervalMethodInfo-#endif-#if ENABLE_OVERLOADING-data TimeZoneGetAbbreviationMethodInfo-#endif-#if ENABLE_OVERLOADING-data TimeZoneGetIdentifierMethodInfo-#endif-#if ENABLE_OVERLOADING-data TimeZoneGetOffsetMethodInfo-#endif-#if ENABLE_OVERLOADING-data TimeZoneIsDstMethodInfo-#endif-#if ENABLE_OVERLOADING-data TimeZoneRefMethodInfo-#endif-#if ENABLE_OVERLOADING-data TimeZoneUnrefMethodInfo-#endif
− GI/GLib/Structs/Timer.hs
@@ -1,355 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Opaque datatype that records a start time.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.Timer-    ( ---- * Exported types-    Timer(..)                               ,-    noTimer                                 ,--- -- * Methods--- ** continue #method:continue#--#if ENABLE_OVERLOADING-    TimerContinueMethodInfo                 ,-#endif-    timerContinue                           ,----- ** destroy #method:destroy#--#if ENABLE_OVERLOADING-    TimerDestroyMethodInfo                  ,-#endif-    timerDestroy                            ,----- ** elapsed #method:elapsed#--#if ENABLE_OVERLOADING-    TimerElapsedMethodInfo                  ,-#endif-    timerElapsed                            ,----- ** reset #method:reset#--#if ENABLE_OVERLOADING-    TimerResetMethodInfo                    ,-#endif-    timerReset                              ,----- ** start #method:start#--#if ENABLE_OVERLOADING-    TimerStartMethodInfo                    ,-#endif-    timerStart                              ,----- ** stop #method:stop#--#if ENABLE_OVERLOADING-    TimerStopMethodInfo                     ,-#endif-    timerStop                               ,-----    ) 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 Timer = Timer (ManagedPtr Timer)--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?-instance WrappedPtr Timer where-    wrappedPtrCalloc = return nullPtr-    wrappedPtrCopy = return-    wrappedPtrFree = Nothing---- | A convenience alias for `Nothing` :: `Maybe` `Timer`.-noTimer :: Maybe Timer-noTimer = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList Timer-type instance O.AttributeList Timer = TimerAttributeList-type TimerAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method Timer::continue--- method type : OrdinaryMethod--- Args : [Arg {argCName = "timer", argType = TInterface (Name {namespace = "GLib", name = "Timer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_timer_continue" g_timer_continue :: -    Ptr Timer ->                            -- timer : TInterface (Name {namespace = "GLib", name = "Timer"})-    IO ()--{- |-Resumes a timer that has previously been stopped with-'GI.GLib.Structs.Timer.timerStop'. 'GI.GLib.Structs.Timer.timerStop' must be called before using this-function.--/Since: 2.4/--}-timerContinue ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Timer-    {- ^ /@timer@/: a 'GI.GLib.Structs.Timer.Timer'. -}-    -> m ()-timerContinue timer = liftIO $ do-    timer' <- unsafeManagedPtrGetPtr timer-    g_timer_continue timer'-    touchManagedPtr timer-    return ()--#if ENABLE_OVERLOADING-data TimerContinueMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TimerContinueMethodInfo Timer signature where-    overloadedMethod _ = timerContinue--#endif---- method Timer::destroy--- method type : OrdinaryMethod--- Args : [Arg {argCName = "timer", argType = TInterface (Name {namespace = "GLib", name = "Timer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimer to destroy.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_timer_destroy" g_timer_destroy :: -    Ptr Timer ->                            -- timer : TInterface (Name {namespace = "GLib", name = "Timer"})-    IO ()--{- |-Destroys a timer, freeing associated resources.--}-timerDestroy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Timer-    {- ^ /@timer@/: a 'GI.GLib.Structs.Timer.Timer' to destroy. -}-    -> m ()-timerDestroy timer = liftIO $ do-    timer' <- unsafeManagedPtrGetPtr timer-    g_timer_destroy timer'-    touchManagedPtr timer-    return ()--#if ENABLE_OVERLOADING-data TimerDestroyMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TimerDestroyMethodInfo Timer signature where-    overloadedMethod _ = timerDestroy--#endif---- method Timer::elapsed--- method type : OrdinaryMethod--- Args : [Arg {argCName = "timer", argType = TInterface (Name {namespace = "GLib", name = "Timer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "microseconds", argType = TBasicType TULong, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the fractional part of seconds\n               elapsed, in microseconds (that is, the total number\n               of microseconds elapsed, modulo 1000000), or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TDouble)--- throws : False--- Skip return : False--foreign import ccall "g_timer_elapsed" g_timer_elapsed :: -    Ptr Timer ->                            -- timer : TInterface (Name {namespace = "GLib", name = "Timer"})-    CULong ->                               -- microseconds : TBasicType TULong-    IO CDouble--{- |-If /@timer@/ has been started but not stopped, obtains the time since-the timer was started. If /@timer@/ has been stopped, obtains the-elapsed time between the time it was started and the time it was-stopped. The return value is the number of seconds elapsed,-including any fractional part. The /@microseconds@/ out parameter is-essentially useless.--}-timerElapsed ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Timer-    {- ^ /@timer@/: a 'GI.GLib.Structs.Timer.Timer'. -}-    -> CULong-    {- ^ /@microseconds@/: return location for the fractional part of seconds-               elapsed, in microseconds (that is, the total number-               of microseconds elapsed, modulo 1000000), or 'Nothing' -}-    -> m Double-    {- ^ __Returns:__ seconds elapsed as a floating point value, including any-         fractional part. -}-timerElapsed timer microseconds = liftIO $ do-    timer' <- unsafeManagedPtrGetPtr timer-    result <- g_timer_elapsed timer' microseconds-    let result' = realToFrac result-    touchManagedPtr timer-    return result'--#if ENABLE_OVERLOADING-data TimerElapsedMethodInfo-instance (signature ~ (CULong -> m Double), MonadIO m) => O.MethodInfo TimerElapsedMethodInfo Timer signature where-    overloadedMethod _ = timerElapsed--#endif---- method Timer::reset--- method type : OrdinaryMethod--- Args : [Arg {argCName = "timer", argType = TInterface (Name {namespace = "GLib", name = "Timer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_timer_reset" g_timer_reset :: -    Ptr Timer ->                            -- timer : TInterface (Name {namespace = "GLib", name = "Timer"})-    IO ()--{- |-This function is useless; it\'s fine to call 'GI.GLib.Structs.Timer.timerStart' on an-already-started timer to reset the start time, so 'GI.GLib.Structs.Timer.timerReset'-serves no purpose.--}-timerReset ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Timer-    {- ^ /@timer@/: a 'GI.GLib.Structs.Timer.Timer'. -}-    -> m ()-timerReset timer = liftIO $ do-    timer' <- unsafeManagedPtrGetPtr timer-    g_timer_reset timer'-    touchManagedPtr timer-    return ()--#if ENABLE_OVERLOADING-data TimerResetMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TimerResetMethodInfo Timer signature where-    overloadedMethod _ = timerReset--#endif---- method Timer::start--- method type : OrdinaryMethod--- Args : [Arg {argCName = "timer", argType = TInterface (Name {namespace = "GLib", name = "Timer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_timer_start" g_timer_start :: -    Ptr Timer ->                            -- timer : TInterface (Name {namespace = "GLib", name = "Timer"})-    IO ()--{- |-Marks a start time, so that future calls to 'GI.GLib.Structs.Timer.timerElapsed' will-report the time since 'GI.GLib.Structs.Timer.timerStart' was called. @/g_timer_new()/@-automatically marks the start time, so no need to call-'GI.GLib.Structs.Timer.timerStart' immediately after creating the timer.--}-timerStart ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Timer-    {- ^ /@timer@/: a 'GI.GLib.Structs.Timer.Timer'. -}-    -> m ()-timerStart timer = liftIO $ do-    timer' <- unsafeManagedPtrGetPtr timer-    g_timer_start timer'-    touchManagedPtr timer-    return ()--#if ENABLE_OVERLOADING-data TimerStartMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TimerStartMethodInfo Timer signature where-    overloadedMethod _ = timerStart--#endif---- method Timer::stop--- method type : OrdinaryMethod--- Args : [Arg {argCName = "timer", argType = TInterface (Name {namespace = "GLib", name = "Timer"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTimer.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_timer_stop" g_timer_stop :: -    Ptr Timer ->                            -- timer : TInterface (Name {namespace = "GLib", name = "Timer"})-    IO ()--{- |-Marks an end time, so calls to 'GI.GLib.Structs.Timer.timerElapsed' will return the-difference between this end time and the start time.--}-timerStop ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Timer-    {- ^ /@timer@/: a 'GI.GLib.Structs.Timer.Timer'. -}-    -> m ()-timerStop timer = liftIO $ do-    timer' <- unsafeManagedPtrGetPtr timer-    g_timer_stop timer'-    touchManagedPtr timer-    return ()--#if ENABLE_OVERLOADING-data TimerStopMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TimerStopMethodInfo Timer signature where-    overloadedMethod _ = timerStop--#endif--#if ENABLE_OVERLOADING-type family ResolveTimerMethod (t :: Symbol) (o :: *) :: * where-    ResolveTimerMethod "continue" o = TimerContinueMethodInfo-    ResolveTimerMethod "destroy" o = TimerDestroyMethodInfo-    ResolveTimerMethod "elapsed" o = TimerElapsedMethodInfo-    ResolveTimerMethod "reset" o = TimerResetMethodInfo-    ResolveTimerMethod "start" o = TimerStartMethodInfo-    ResolveTimerMethod "stop" o = TimerStopMethodInfo-    ResolveTimerMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTimerMethod t Timer, O.MethodInfo info Timer p) => OL.IsLabel t (Timer -> 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/GLib/Structs/Timer.hs-boot
@@ -1,44 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.Timer 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 Timer = Timer (ManagedPtr Timer)-instance WrappedPtr Timer where-#if ENABLE_OVERLOADING-data TimerContinueMethodInfo-#endif-#if ENABLE_OVERLOADING-data TimerDestroyMethodInfo-#endif-#if ENABLE_OVERLOADING-data TimerElapsedMethodInfo-#endif-#if ENABLE_OVERLOADING-data TimerResetMethodInfo-#endif-#if ENABLE_OVERLOADING-data TimerStartMethodInfo-#endif-#if ENABLE_OVERLOADING-data TimerStopMethodInfo-#endif
− GI/GLib/Structs/TrashStack.hs
@@ -1,318 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--Each piece of memory that is pushed onto the stack-is cast to a GTrashStack*.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.TrashStack-    ( ---- * Exported types-    TrashStack(..)                          ,-    newZeroTrashStack                       ,-    noTrashStack                            ,--- -- * Methods--- ** height #method:height#--    trashStackHeight                        ,----- ** peek #method:peek#--    trashStackPeek                          ,----- ** pop #method:pop#--    trashStackPop                           ,----- ** push #method:push#--    trashStackPush                          ,----- -- * Properties--- ** next #attr:next#-{- | pointer to the previous element of the stack,-    gets stored in the first @sizeof (gpointer)@-    bytes of the element--}-    clearTrashStackNext                     ,-    getTrashStackNext                       ,-    setTrashStackNext                       ,-#if ENABLE_OVERLOADING-    trashStack_next                         ,-#endif-----    ) 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 TrashStack = TrashStack (ManagedPtr TrashStack)-instance WrappedPtr TrashStack where-    wrappedPtrCalloc = callocBytes 8-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 8 >=> wrapPtr TrashStack)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `TrashStack` struct initialized to zero.-newZeroTrashStack :: MonadIO m => m TrashStack-newZeroTrashStack = liftIO $ wrappedPtrCalloc >>= wrapPtr TrashStack--instance tag ~ 'AttrSet => Constructible TrashStack tag where-    new _ attrs = do-        o <- newZeroTrashStack-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `TrashStack`.-noTrashStack :: Maybe TrashStack-noTrashStack = Nothing--{- |-Get the value of the “@next@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' trashStack #next-@--}-getTrashStackNext :: MonadIO m => TrashStack -> m (Maybe TrashStack)-getTrashStackNext s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr TrashStack)-    result <- SP.convertIfNonNull val $ \val' -> do-        val'' <- (newPtr TrashStack) val'-        return val''-    return result--{- |-Set the value of the “@next@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' trashStack [ #next 'Data.GI.Base.Attributes.:=' value ]-@--}-setTrashStackNext :: MonadIO m => TrashStack -> Ptr TrashStack -> m ()-setTrashStackNext s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: Ptr TrashStack)--{- |-Set the value of the “@next@” 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' #next-@--}-clearTrashStackNext :: MonadIO m => TrashStack -> m ()-clearTrashStackNext s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr TrashStack)--#if ENABLE_OVERLOADING-data TrashStackNextFieldInfo-instance AttrInfo TrashStackNextFieldInfo where-    type AttrAllowedOps TrashStackNextFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint TrashStackNextFieldInfo = (~) (Ptr TrashStack)-    type AttrBaseTypeConstraint TrashStackNextFieldInfo = (~) TrashStack-    type AttrGetType TrashStackNextFieldInfo = Maybe TrashStack-    type AttrLabel TrashStackNextFieldInfo = "next"-    type AttrOrigin TrashStackNextFieldInfo = TrashStack-    attrGet _ = getTrashStackNext-    attrSet _ = setTrashStackNext-    attrConstruct = undefined-    attrClear _ = clearTrashStackNext--trashStack_next :: AttrLabelProxy "next"-trashStack_next = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList TrashStack-type instance O.AttributeList TrashStack = TrashStackAttributeList-type TrashStackAttributeList = ('[ '("next", TrashStackNextFieldInfo)] :: [(Symbol, *)])-#endif---- method TrashStack::height--- method type : MemberFunction--- Args : [Arg {argCName = "stack_p", argType = TInterface (Name {namespace = "GLib", name = "TrashStack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTrashStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_trash_stack_height" g_trash_stack_height :: -    Ptr TrashStack ->                       -- stack_p : TInterface (Name {namespace = "GLib", name = "TrashStack"})-    IO Word32--{-# DEPRECATED trashStackHeight ["(Since version 2.48)","'GI.GLib.Structs.TrashStack.TrashStack' is deprecated without replacement"] #-}-{- |-Returns the height of a 'GI.GLib.Structs.TrashStack.TrashStack'.--Note that execution of this function is of O(N) complexity-where N denotes the number of items on the stack.--}-trashStackHeight ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TrashStack-    {- ^ /@stackP@/: a 'GI.GLib.Structs.TrashStack.TrashStack' -}-    -> m Word32-    {- ^ __Returns:__ the height of the stack -}-trashStackHeight stackP = liftIO $ do-    stackP' <- unsafeManagedPtrGetPtr stackP-    result <- g_trash_stack_height stackP'-    touchManagedPtr stackP-    return result--#if ENABLE_OVERLOADING-#endif---- method TrashStack::peek--- method type : MemberFunction--- Args : [Arg {argCName = "stack_p", argType = TInterface (Name {namespace = "GLib", name = "TrashStack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTrashStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_trash_stack_peek" g_trash_stack_peek :: -    Ptr TrashStack ->                       -- stack_p : TInterface (Name {namespace = "GLib", name = "TrashStack"})-    IO (Ptr ())--{-# DEPRECATED trashStackPeek ["(Since version 2.48)","'GI.GLib.Structs.TrashStack.TrashStack' is deprecated without replacement"] #-}-{- |-Returns the element at the top of a 'GI.GLib.Structs.TrashStack.TrashStack'-which may be 'Nothing'.--}-trashStackPeek ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TrashStack-    {- ^ /@stackP@/: a 'GI.GLib.Structs.TrashStack.TrashStack' -}-    -> m (Ptr ())-    {- ^ __Returns:__ the element at the top of the stack -}-trashStackPeek stackP = liftIO $ do-    stackP' <- unsafeManagedPtrGetPtr stackP-    result <- g_trash_stack_peek stackP'-    touchManagedPtr stackP-    return result--#if ENABLE_OVERLOADING-#endif---- method TrashStack::pop--- method type : MemberFunction--- Args : [Arg {argCName = "stack_p", argType = TInterface (Name {namespace = "GLib", name = "TrashStack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTrashStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_trash_stack_pop" g_trash_stack_pop :: -    Ptr TrashStack ->                       -- stack_p : TInterface (Name {namespace = "GLib", name = "TrashStack"})-    IO (Ptr ())--{-# DEPRECATED trashStackPop ["(Since version 2.48)","'GI.GLib.Structs.TrashStack.TrashStack' is deprecated without replacement"] #-}-{- |-Pops a piece of memory off a 'GI.GLib.Structs.TrashStack.TrashStack'.--}-trashStackPop ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TrashStack-    {- ^ /@stackP@/: a 'GI.GLib.Structs.TrashStack.TrashStack' -}-    -> m (Ptr ())-    {- ^ __Returns:__ the element at the top of the stack -}-trashStackPop stackP = liftIO $ do-    stackP' <- unsafeManagedPtrGetPtr stackP-    result <- g_trash_stack_pop stackP'-    touchManagedPtr stackP-    return result--#if ENABLE_OVERLOADING-#endif---- method TrashStack::push--- method type : MemberFunction--- Args : [Arg {argCName = "stack_p", argType = TInterface (Name {namespace = "GLib", name = "TrashStack"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTrashStack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "data_p", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the piece of memory to push on the stack", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_trash_stack_push" g_trash_stack_push :: -    Ptr TrashStack ->                       -- stack_p : TInterface (Name {namespace = "GLib", name = "TrashStack"})-    Ptr () ->                               -- data_p : TBasicType TPtr-    IO ()--{-# DEPRECATED trashStackPush ["(Since version 2.48)","'GI.GLib.Structs.TrashStack.TrashStack' is deprecated without replacement"] #-}-{- |-Pushes a piece of memory onto a 'GI.GLib.Structs.TrashStack.TrashStack'.--}-trashStackPush ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    TrashStack-    {- ^ /@stackP@/: a 'GI.GLib.Structs.TrashStack.TrashStack' -}-    -> Ptr ()-    {- ^ /@dataP@/: the piece of memory to push on the stack -}-    -> m ()-trashStackPush stackP dataP = liftIO $ do-    stackP' <- unsafeManagedPtrGetPtr stackP-    g_trash_stack_push stackP' dataP-    touchManagedPtr stackP-    return ()--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveTrashStackMethod (t :: Symbol) (o :: *) :: * where-    ResolveTrashStackMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTrashStackMethod t TrashStack, O.MethodInfo info TrashStack p) => OL.IsLabel t (TrashStack -> 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/GLib/Structs/TrashStack.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.TrashStack 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 TrashStack = TrashStack (ManagedPtr TrashStack)-instance WrappedPtr TrashStack where
− GI/GLib/Structs/Tree.hs
@@ -1,590 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The GTree struct is an opaque data structure representing a-[balanced binary tree][glib-Balanced-Binary-Trees]. It should be-accessed only by using the following functions.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.Tree-    ( ---- * Exported types-    Tree(..)                                ,-    noTree                                  ,--- -- * Methods--- ** destroy #method:destroy#--#if ENABLE_OVERLOADING-    TreeDestroyMethodInfo                   ,-#endif-    treeDestroy                             ,----- ** height #method:height#--#if ENABLE_OVERLOADING-    TreeHeightMethodInfo                    ,-#endif-    treeHeight                              ,----- ** insert #method:insert#--#if ENABLE_OVERLOADING-    TreeInsertMethodInfo                    ,-#endif-    treeInsert                              ,----- ** lookup #method:lookup#--#if ENABLE_OVERLOADING-    TreeLookupMethodInfo                    ,-#endif-    treeLookup                              ,----- ** lookupExtended #method:lookupExtended#--#if ENABLE_OVERLOADING-    TreeLookupExtendedMethodInfo            ,-#endif-    treeLookupExtended                      ,----- ** nnodes #method:nnodes#--#if ENABLE_OVERLOADING-    TreeNnodesMethodInfo                    ,-#endif-    treeNnodes                              ,----- ** remove #method:remove#--#if ENABLE_OVERLOADING-    TreeRemoveMethodInfo                    ,-#endif-    treeRemove                              ,----- ** replace #method:replace#--#if ENABLE_OVERLOADING-    TreeReplaceMethodInfo                   ,-#endif-    treeReplace                             ,----- ** steal #method:steal#--#if ENABLE_OVERLOADING-    TreeStealMethodInfo                     ,-#endif-    treeSteal                               ,----- ** unref #method:unref#--#if ENABLE_OVERLOADING-    TreeUnrefMethodInfo                     ,-#endif-    treeUnref                               ,-----    ) 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 Tree = Tree (ManagedPtr Tree)--- XXX Wrapping a foreign struct/union with no known destructor or size, leak?-instance WrappedPtr Tree where-    wrappedPtrCalloc = return nullPtr-    wrappedPtrCopy = return-    wrappedPtrFree = Nothing---- | A convenience alias for `Nothing` :: `Maybe` `Tree`.-noTree :: Maybe Tree-noTree = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList Tree-type instance O.AttributeList Tree = TreeAttributeList-type TreeAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method Tree::destroy--- method type : OrdinaryMethod--- Args : [Arg {argCName = "tree", argType = TInterface (Name {namespace = "GLib", name = "Tree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTree", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_tree_destroy" g_tree_destroy :: -    Ptr Tree ->                             -- tree : TInterface (Name {namespace = "GLib", name = "Tree"})-    IO ()--{- |-Removes all keys and values from the 'GI.GLib.Structs.Tree.Tree' and decreases its-reference count by one. If keys and\/or values are dynamically-allocated, you should either free them first or create the 'GI.GLib.Structs.Tree.Tree'-using @/g_tree_new_full()/@. In the latter case the destroy functions-you supplied will be called on all keys and values before destroying-the 'GI.GLib.Structs.Tree.Tree'.--}-treeDestroy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Tree-    {- ^ /@tree@/: a 'GI.GLib.Structs.Tree.Tree' -}-    -> m ()-treeDestroy tree = liftIO $ do-    tree' <- unsafeManagedPtrGetPtr tree-    g_tree_destroy tree'-    touchManagedPtr tree-    return ()--#if ENABLE_OVERLOADING-data TreeDestroyMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TreeDestroyMethodInfo Tree signature where-    overloadedMethod _ = treeDestroy--#endif---- method Tree::height--- method type : OrdinaryMethod--- Args : [Arg {argCName = "tree", argType = TInterface (Name {namespace = "GLib", name = "Tree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTree", 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_tree_height" g_tree_height :: -    Ptr Tree ->                             -- tree : TInterface (Name {namespace = "GLib", name = "Tree"})-    IO Int32--{- |-Gets the height of a 'GI.GLib.Structs.Tree.Tree'.--If the 'GI.GLib.Structs.Tree.Tree' contains no nodes, the height is 0.-If the 'GI.GLib.Structs.Tree.Tree' contains only one root node the height is 1.-If the root node has children the height is 2, etc.--}-treeHeight ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Tree-    {- ^ /@tree@/: a 'GI.GLib.Structs.Tree.Tree' -}-    -> m Int32-    {- ^ __Returns:__ the height of /@tree@/ -}-treeHeight tree = liftIO $ do-    tree' <- unsafeManagedPtrGetPtr tree-    result <- g_tree_height tree'-    touchManagedPtr tree-    return result--#if ENABLE_OVERLOADING-data TreeHeightMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo TreeHeightMethodInfo Tree signature where-    overloadedMethod _ = treeHeight--#endif---- method Tree::insert--- method type : OrdinaryMethod--- Args : [Arg {argCName = "tree", argType = TInterface (Name {namespace = "GLib", name = "Tree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTree", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the key to insert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the value corresponding to the key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_tree_insert" g_tree_insert :: -    Ptr Tree ->                             -- tree : TInterface (Name {namespace = "GLib", name = "Tree"})-    Ptr () ->                               -- key : TBasicType TPtr-    Ptr () ->                               -- value : TBasicType TPtr-    IO ()--{- |-Inserts a key\/value pair into a 'GI.GLib.Structs.Tree.Tree'.--If the given key already exists in the 'GI.GLib.Structs.Tree.Tree' its corresponding value-is set to the new value. If you supplied a /@valueDestroyFunc@/ when-creating the 'GI.GLib.Structs.Tree.Tree', the old value is freed using that function. If-you supplied a /@keyDestroyFunc@/ when creating the 'GI.GLib.Structs.Tree.Tree', the passed-key is freed using that function.--The tree is automatically \'balanced\' as new key\/value pairs are added,-so that the distance from the root to every leaf is as small as possible.--}-treeInsert ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Tree-    {- ^ /@tree@/: a 'GI.GLib.Structs.Tree.Tree' -}-    -> Ptr ()-    {- ^ /@key@/: the key to insert -}-    -> Ptr ()-    {- ^ /@value@/: the value corresponding to the key -}-    -> m ()-treeInsert tree key value = liftIO $ do-    tree' <- unsafeManagedPtrGetPtr tree-    g_tree_insert tree' key value-    touchManagedPtr tree-    return ()--#if ENABLE_OVERLOADING-data TreeInsertMethodInfo-instance (signature ~ (Ptr () -> Ptr () -> m ()), MonadIO m) => O.MethodInfo TreeInsertMethodInfo Tree signature where-    overloadedMethod _ = treeInsert--#endif---- method Tree::lookup--- method type : OrdinaryMethod--- Args : [Arg {argCName = "tree", argType = TInterface (Name {namespace = "GLib", name = "Tree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTree", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the key to look up", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TPtr)--- throws : False--- Skip return : False--foreign import ccall "g_tree_lookup" g_tree_lookup :: -    Ptr Tree ->                             -- tree : TInterface (Name {namespace = "GLib", name = "Tree"})-    Ptr () ->                               -- key : TBasicType TPtr-    IO (Ptr ())--{- |-Gets the value corresponding to the given key. Since a 'GI.GLib.Structs.Tree.Tree' is-automatically balanced as key\/value pairs are added, key lookup-is O(log n) (where n is the number of key\/value pairs in the tree).--}-treeLookup ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Tree-    {- ^ /@tree@/: a 'GI.GLib.Structs.Tree.Tree' -}-    -> Ptr ()-    {- ^ /@key@/: the key to look up -}-    -> m (Ptr ())-    {- ^ __Returns:__ the value corresponding to the key, or 'Nothing'-    if the key was not found -}-treeLookup tree key = liftIO $ do-    tree' <- unsafeManagedPtrGetPtr tree-    result <- g_tree_lookup tree' key-    touchManagedPtr tree-    return result--#if ENABLE_OVERLOADING-data TreeLookupMethodInfo-instance (signature ~ (Ptr () -> m (Ptr ())), MonadIO m) => O.MethodInfo TreeLookupMethodInfo Tree signature where-    overloadedMethod _ = treeLookup--#endif---- method Tree::lookup_extended--- method type : OrdinaryMethod--- Args : [Arg {argCName = "tree", argType = TInterface (Name {namespace = "GLib", name = "Tree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTree", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "lookup_key", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the key to look up", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "orig_key", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "returns the original key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "returns the value associated with the key", 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_tree_lookup_extended" g_tree_lookup_extended :: -    Ptr Tree ->                             -- tree : TInterface (Name {namespace = "GLib", name = "Tree"})-    Ptr () ->                               -- lookup_key : TBasicType TPtr-    Ptr () ->                               -- orig_key : TBasicType TPtr-    Ptr () ->                               -- value : TBasicType TPtr-    IO CInt--{- |-Looks up a key in the 'GI.GLib.Structs.Tree.Tree', returning the original key and the-associated value. This is useful if you need to free the memory-allocated for the original key, for example before calling-'GI.GLib.Structs.Tree.treeRemove'.--}-treeLookupExtended ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Tree-    {- ^ /@tree@/: a 'GI.GLib.Structs.Tree.Tree' -}-    -> Ptr ()-    {- ^ /@lookupKey@/: the key to look up -}-    -> Ptr ()-    {- ^ /@origKey@/: returns the original key -}-    -> Ptr ()-    {- ^ /@value@/: returns the value associated with the key -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the key was found in the 'GI.GLib.Structs.Tree.Tree' -}-treeLookupExtended tree lookupKey origKey value = liftIO $ do-    tree' <- unsafeManagedPtrGetPtr tree-    result <- g_tree_lookup_extended tree' lookupKey origKey value-    let result' = (/= 0) result-    touchManagedPtr tree-    return result'--#if ENABLE_OVERLOADING-data TreeLookupExtendedMethodInfo-instance (signature ~ (Ptr () -> Ptr () -> Ptr () -> m Bool), MonadIO m) => O.MethodInfo TreeLookupExtendedMethodInfo Tree signature where-    overloadedMethod _ = treeLookupExtended--#endif---- method Tree::nnodes--- method type : OrdinaryMethod--- Args : [Arg {argCName = "tree", argType = TInterface (Name {namespace = "GLib", name = "Tree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTree", 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_tree_nnodes" g_tree_nnodes :: -    Ptr Tree ->                             -- tree : TInterface (Name {namespace = "GLib", name = "Tree"})-    IO Int32--{- |-Gets the number of nodes in a 'GI.GLib.Structs.Tree.Tree'.--}-treeNnodes ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Tree-    {- ^ /@tree@/: a 'GI.GLib.Structs.Tree.Tree' -}-    -> m Int32-    {- ^ __Returns:__ the number of nodes in /@tree@/ -}-treeNnodes tree = liftIO $ do-    tree' <- unsafeManagedPtrGetPtr tree-    result <- g_tree_nnodes tree'-    touchManagedPtr tree-    return result--#if ENABLE_OVERLOADING-data TreeNnodesMethodInfo-instance (signature ~ (m Int32), MonadIO m) => O.MethodInfo TreeNnodesMethodInfo Tree signature where-    overloadedMethod _ = treeNnodes--#endif---- method Tree::remove--- method type : OrdinaryMethod--- Args : [Arg {argCName = "tree", argType = TInterface (Name {namespace = "GLib", name = "Tree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTree", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the key to remove", 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_tree_remove" g_tree_remove :: -    Ptr Tree ->                             -- tree : TInterface (Name {namespace = "GLib", name = "Tree"})-    Ptr () ->                               -- key : TBasicType TPtr-    IO CInt--{- |-Removes a key\/value pair from a 'GI.GLib.Structs.Tree.Tree'.--If the 'GI.GLib.Structs.Tree.Tree' was created using @/g_tree_new_full()/@, the key and value-are freed using the supplied destroy functions, otherwise you have to-make sure that any dynamically allocated values are freed yourself.-If the key does not exist in the 'GI.GLib.Structs.Tree.Tree', the function does nothing.--}-treeRemove ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Tree-    {- ^ /@tree@/: a 'GI.GLib.Structs.Tree.Tree' -}-    -> Ptr ()-    {- ^ /@key@/: the key to remove -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the key was found (prior to 2.8, this function-    returned nothing) -}-treeRemove tree key = liftIO $ do-    tree' <- unsafeManagedPtrGetPtr tree-    result <- g_tree_remove tree' key-    let result' = (/= 0) result-    touchManagedPtr tree-    return result'--#if ENABLE_OVERLOADING-data TreeRemoveMethodInfo-instance (signature ~ (Ptr () -> m Bool), MonadIO m) => O.MethodInfo TreeRemoveMethodInfo Tree signature where-    overloadedMethod _ = treeRemove--#endif---- method Tree::replace--- method type : OrdinaryMethod--- Args : [Arg {argCName = "tree", argType = TInterface (Name {namespace = "GLib", name = "Tree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTree", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the key to insert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the value corresponding to the key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_tree_replace" g_tree_replace :: -    Ptr Tree ->                             -- tree : TInterface (Name {namespace = "GLib", name = "Tree"})-    Ptr () ->                               -- key : TBasicType TPtr-    Ptr () ->                               -- value : TBasicType TPtr-    IO ()--{- |-Inserts a new key and value into a 'GI.GLib.Structs.Tree.Tree' similar to 'GI.GLib.Structs.Tree.treeInsert'.-The difference is that if the key already exists in the 'GI.GLib.Structs.Tree.Tree', it gets-replaced by the new key. If you supplied a /@valueDestroyFunc@/ when-creating the 'GI.GLib.Structs.Tree.Tree', the old value is freed using that function. If you-supplied a /@keyDestroyFunc@/ when creating the 'GI.GLib.Structs.Tree.Tree', the old key is-freed using that function.--The tree is automatically \'balanced\' as new key\/value pairs are added,-so that the distance from the root to every leaf is as small as possible.--}-treeReplace ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Tree-    {- ^ /@tree@/: a 'GI.GLib.Structs.Tree.Tree' -}-    -> Ptr ()-    {- ^ /@key@/: the key to insert -}-    -> Ptr ()-    {- ^ /@value@/: the value corresponding to the key -}-    -> m ()-treeReplace tree key value = liftIO $ do-    tree' <- unsafeManagedPtrGetPtr tree-    g_tree_replace tree' key value-    touchManagedPtr tree-    return ()--#if ENABLE_OVERLOADING-data TreeReplaceMethodInfo-instance (signature ~ (Ptr () -> Ptr () -> m ()), MonadIO m) => O.MethodInfo TreeReplaceMethodInfo Tree signature where-    overloadedMethod _ = treeReplace--#endif---- method Tree::steal--- method type : OrdinaryMethod--- Args : [Arg {argCName = "tree", argType = TInterface (Name {namespace = "GLib", name = "Tree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTree", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the key to remove", 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_tree_steal" g_tree_steal :: -    Ptr Tree ->                             -- tree : TInterface (Name {namespace = "GLib", name = "Tree"})-    Ptr () ->                               -- key : TBasicType TPtr-    IO CInt--{- |-Removes a key and its associated value from a 'GI.GLib.Structs.Tree.Tree' without calling-the key and value destroy functions.--If the key does not exist in the 'GI.GLib.Structs.Tree.Tree', the function does nothing.--}-treeSteal ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Tree-    {- ^ /@tree@/: a 'GI.GLib.Structs.Tree.Tree' -}-    -> Ptr ()-    {- ^ /@key@/: the key to remove -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the key was found (prior to 2.8, this function-    returned nothing) -}-treeSteal tree key = liftIO $ do-    tree' <- unsafeManagedPtrGetPtr tree-    result <- g_tree_steal tree' key-    let result' = (/= 0) result-    touchManagedPtr tree-    return result'--#if ENABLE_OVERLOADING-data TreeStealMethodInfo-instance (signature ~ (Ptr () -> m Bool), MonadIO m) => O.MethodInfo TreeStealMethodInfo Tree signature where-    overloadedMethod _ = treeSteal--#endif---- method Tree::unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "tree", argType = TInterface (Name {namespace = "GLib", name = "Tree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GTree", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_tree_unref" g_tree_unref :: -    Ptr Tree ->                             -- tree : TInterface (Name {namespace = "GLib", name = "Tree"})-    IO ()--{- |-Decrements the reference count of /@tree@/ by one.-If the reference count drops to 0, all keys and values will-be destroyed (if destroy functions were specified) and all-memory allocated by /@tree@/ will be released.--It is safe to call this function from any thread.--/Since: 2.22/--}-treeUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Tree-    {- ^ /@tree@/: a 'GI.GLib.Structs.Tree.Tree' -}-    -> m ()-treeUnref tree = liftIO $ do-    tree' <- unsafeManagedPtrGetPtr tree-    g_tree_unref tree'-    touchManagedPtr tree-    return ()--#if ENABLE_OVERLOADING-data TreeUnrefMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo TreeUnrefMethodInfo Tree signature where-    overloadedMethod _ = treeUnref--#endif--#if ENABLE_OVERLOADING-type family ResolveTreeMethod (t :: Symbol) (o :: *) :: * where-    ResolveTreeMethod "destroy" o = TreeDestroyMethodInfo-    ResolveTreeMethod "height" o = TreeHeightMethodInfo-    ResolveTreeMethod "insert" o = TreeInsertMethodInfo-    ResolveTreeMethod "lookup" o = TreeLookupMethodInfo-    ResolveTreeMethod "lookupExtended" o = TreeLookupExtendedMethodInfo-    ResolveTreeMethod "nnodes" o = TreeNnodesMethodInfo-    ResolveTreeMethod "remove" o = TreeRemoveMethodInfo-    ResolveTreeMethod "replace" o = TreeReplaceMethodInfo-    ResolveTreeMethod "steal" o = TreeStealMethodInfo-    ResolveTreeMethod "unref" o = TreeUnrefMethodInfo-    ResolveTreeMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTreeMethod t Tree, O.MethodInfo info Tree p) => OL.IsLabel t (Tree -> 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/GLib/Structs/Tree.hs-boot
@@ -1,56 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.Tree 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 Tree = Tree (ManagedPtr Tree)-instance WrappedPtr Tree where-#if ENABLE_OVERLOADING-data TreeDestroyMethodInfo-#endif-#if ENABLE_OVERLOADING-data TreeHeightMethodInfo-#endif-#if ENABLE_OVERLOADING-data TreeInsertMethodInfo-#endif-#if ENABLE_OVERLOADING-data TreeLookupMethodInfo-#endif-#if ENABLE_OVERLOADING-data TreeLookupExtendedMethodInfo-#endif-#if ENABLE_OVERLOADING-data TreeNnodesMethodInfo-#endif-#if ENABLE_OVERLOADING-data TreeRemoveMethodInfo-#endif-#if ENABLE_OVERLOADING-data TreeReplaceMethodInfo-#endif-#if ENABLE_OVERLOADING-data TreeStealMethodInfo-#endif-#if ENABLE_OVERLOADING-data TreeUnrefMethodInfo-#endif
− GI/GLib/Structs/VariantBuilder.hs
@@ -1,490 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A utility type for constructing container-type 'GVariant' instances.--This is an opaque structure and may only be accessed using the-following functions.--'GI.GLib.Structs.VariantBuilder.VariantBuilder' is not threadsafe in any way.  Do not attempt to-access it from more than one thread.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.VariantBuilder-    ( ---- * Exported types-    VariantBuilder(..)                      ,-    noVariantBuilder                        ,--- -- * Methods--- ** addValue #method:addValue#--#if ENABLE_OVERLOADING-    VariantBuilderAddValueMethodInfo        ,-#endif-    variantBuilderAddValue                  ,----- ** close #method:close#--#if ENABLE_OVERLOADING-    VariantBuilderCloseMethodInfo           ,-#endif-    variantBuilderClose                     ,----- ** end #method:end#--#if ENABLE_OVERLOADING-    VariantBuilderEndMethodInfo             ,-#endif-    variantBuilderEnd                       ,----- ** new #method:new#--    variantBuilderNew                       ,----- ** open #method:open#--#if ENABLE_OVERLOADING-    VariantBuilderOpenMethodInfo            ,-#endif-    variantBuilderOpen                      ,----- ** ref #method:ref#--#if ENABLE_OVERLOADING-    VariantBuilderRefMethodInfo             ,-#endif-    variantBuilderRef                       ,----- ** unref #method:unref#--#if ENABLE_OVERLOADING-    VariantBuilderUnrefMethodInfo           ,-#endif-    variantBuilderUnref                     ,-----    ) 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.GLib.Structs.VariantType as GLib.VariantType---- | Memory-managed wrapper type.-newtype VariantBuilder = VariantBuilder (ManagedPtr VariantBuilder)-foreign import ccall "g_variant_builder_get_type" c_g_variant_builder_get_type :: -    IO GType--instance BoxedObject VariantBuilder where-    boxedType _ = c_g_variant_builder_get_type---- | A convenience alias for `Nothing` :: `Maybe` `VariantBuilder`.-noVariantBuilder :: Maybe VariantBuilder-noVariantBuilder = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList VariantBuilder-type instance O.AttributeList VariantBuilder = VariantBuilderAttributeList-type VariantBuilderAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method VariantBuilder::new--- method type : Constructor--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a container type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "VariantBuilder"}))--- throws : False--- Skip return : False--foreign import ccall "g_variant_builder_new" g_variant_builder_new :: -    Ptr GLib.VariantType.VariantType ->     -- type : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO (Ptr VariantBuilder)--{- |-Allocates and initialises a new 'GI.GLib.Structs.VariantBuilder.VariantBuilder'.--You should call 'GI.GLib.Structs.VariantBuilder.variantBuilderUnref' on the return value when it-is no longer needed.  The memory will not be automatically freed by-any other call.--In most cases it is easier to place a 'GI.GLib.Structs.VariantBuilder.VariantBuilder' directly on-the stack of the calling function and initialise it with-@/g_variant_builder_init()/@.--/Since: 2.24/--}-variantBuilderNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    GLib.VariantType.VariantType-    {- ^ /@type@/: a container type -}-    -> m VariantBuilder-    {- ^ __Returns:__ a 'GI.GLib.Structs.VariantBuilder.VariantBuilder' -}-variantBuilderNew type_ = liftIO $ do-    type_' <- unsafeManagedPtrGetPtr type_-    result <- g_variant_builder_new type_'-    checkUnexpectedReturnNULL "variantBuilderNew" result-    result' <- (wrapBoxed VariantBuilder) result-    touchManagedPtr type_-    return result'--#if ENABLE_OVERLOADING-#endif---- method VariantBuilder::add_value--- method type : OrdinaryMethod--- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "GLib", name = "VariantBuilder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariant", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_variant_builder_add_value" g_variant_builder_add_value :: -    Ptr VariantBuilder ->                   -- builder : TInterface (Name {namespace = "GLib", name = "VariantBuilder"})-    Ptr GVariant ->                         -- value : TVariant-    IO ()--{- |-Adds /@value@/ to /@builder@/.--It is an error to call this function in any way that would create an-inconsistent value to be constructed.  Some examples of this are-putting different types of items into an array, putting the wrong-types or number of items in a tuple, putting more than one value into-a variant, etc.--If /@value@/ is a floating reference (see 'GI.GLib.Structs.Variant.variantRefSink'),-the /@builder@/ instance takes ownership of /@value@/.--/Since: 2.24/--}-variantBuilderAddValue ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantBuilder-    {- ^ /@builder@/: a 'GI.GLib.Structs.VariantBuilder.VariantBuilder' -}-    -> GVariant-    {- ^ /@value@/: a 'GVariant' -}-    -> m ()-variantBuilderAddValue builder value = liftIO $ do-    builder' <- unsafeManagedPtrGetPtr builder-    value' <- unsafeManagedPtrGetPtr value-    g_variant_builder_add_value builder' value'-    touchManagedPtr builder-    touchManagedPtr value-    return ()--#if ENABLE_OVERLOADING-data VariantBuilderAddValueMethodInfo-instance (signature ~ (GVariant -> m ()), MonadIO m) => O.MethodInfo VariantBuilderAddValueMethodInfo VariantBuilder signature where-    overloadedMethod _ = variantBuilderAddValue--#endif---- method VariantBuilder::close--- method type : OrdinaryMethod--- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "GLib", name = "VariantBuilder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_variant_builder_close" g_variant_builder_close :: -    Ptr VariantBuilder ->                   -- builder : TInterface (Name {namespace = "GLib", name = "VariantBuilder"})-    IO ()--{- |-Closes the subcontainer inside the given /@builder@/ that was opened by-the most recent call to 'GI.GLib.Structs.VariantBuilder.variantBuilderOpen'.--It is an error to call this function in any way that would create an-inconsistent value to be constructed (ie: too few values added to the-subcontainer).--/Since: 2.24/--}-variantBuilderClose ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantBuilder-    {- ^ /@builder@/: a 'GI.GLib.Structs.VariantBuilder.VariantBuilder' -}-    -> m ()-variantBuilderClose builder = liftIO $ do-    builder' <- unsafeManagedPtrGetPtr builder-    g_variant_builder_close builder'-    touchManagedPtr builder-    return ()--#if ENABLE_OVERLOADING-data VariantBuilderCloseMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo VariantBuilderCloseMethodInfo VariantBuilder signature where-    overloadedMethod _ = variantBuilderClose--#endif---- method VariantBuilder::end--- method type : OrdinaryMethod--- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "GLib", name = "VariantBuilder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just TVariant--- throws : False--- Skip return : False--foreign import ccall "g_variant_builder_end" g_variant_builder_end :: -    Ptr VariantBuilder ->                   -- builder : TInterface (Name {namespace = "GLib", name = "VariantBuilder"})-    IO (Ptr GVariant)--{- |-Ends the builder process and returns the constructed value.--It is not permissible to use /@builder@/ in any way after this call-except for reference counting operations (in the case of a-heap-allocated 'GI.GLib.Structs.VariantBuilder.VariantBuilder') or by reinitialising it with-@/g_variant_builder_init()/@ (in the case of stack-allocated). This-means that for the stack-allocated builders there is no need to-call @/g_variant_builder_clear()/@ after the call to-'GI.GLib.Structs.VariantBuilder.variantBuilderEnd'.--It is an error to call this function in any way that would create an-inconsistent value to be constructed (ie: insufficient number of-items added to a container with a specific number of children-required).  It is also an error to call this function if the builder-was created with an indefinite array or maybe type and no children-have been added; in this case it is impossible to infer the type of-the empty array.--/Since: 2.24/--}-variantBuilderEnd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantBuilder-    {- ^ /@builder@/: a 'GI.GLib.Structs.VariantBuilder.VariantBuilder' -}-    -> m GVariant-    {- ^ __Returns:__ a new, floating, 'GVariant' -}-variantBuilderEnd builder = liftIO $ do-    builder' <- unsafeManagedPtrGetPtr builder-    result <- g_variant_builder_end builder'-    checkUnexpectedReturnNULL "variantBuilderEnd" result-    result' <- B.GVariant.newGVariantFromPtr result-    touchManagedPtr builder-    return result'--#if ENABLE_OVERLOADING-data VariantBuilderEndMethodInfo-instance (signature ~ (m GVariant), MonadIO m) => O.MethodInfo VariantBuilderEndMethodInfo VariantBuilder signature where-    overloadedMethod _ = variantBuilderEnd--#endif---- method VariantBuilder::open--- method type : OrdinaryMethod--- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "GLib", name = "VariantBuilder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantBuilder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the #GVariantType of the container", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_variant_builder_open" g_variant_builder_open :: -    Ptr VariantBuilder ->                   -- builder : TInterface (Name {namespace = "GLib", name = "VariantBuilder"})-    Ptr GLib.VariantType.VariantType ->     -- type : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO ()--{- |-Opens a subcontainer inside the given /@builder@/.  When done adding-items to the subcontainer, 'GI.GLib.Structs.VariantBuilder.variantBuilderClose' must be called. /@type@/-is the type of the container: so to build a tuple of several values, /@type@/-must include the tuple itself.--It is an error to call this function in any way that would cause an-inconsistent value to be constructed (ie: adding too many values or-a value of an incorrect type).--Example of building a nested variant:--=== /C code/->->GVariantBuilder builder;->guint32 some_number = get_number ();->g_autoptr (GHashTable) some_dict = get_dict ();->GHashTableIter iter;->const gchar *key;->const GVariant *value;->g_autoptr (GVariant) output = NULL;->->g_variant_builder_init (&builder, G_VARIANT_TYPE ("(ua{sv})"));->g_variant_builder_add (&builder, "u", some_number);->g_variant_builder_open (&builder, G_VARIANT_TYPE ("a{sv}"));->->g_hash_table_iter_init (&iter, some_dict);->while (g_hash_table_iter_next (&iter, (gpointer *) &key, (gpointer *) &value))->  {->    g_variant_builder_open (&builder, G_VARIANT_TYPE ("{sv}"));->    g_variant_builder_add (&builder, "s", key);->    g_variant_builder_add (&builder, "v", value);->    g_variant_builder_close (&builder);->  }->->g_variant_builder_close (&builder);->->output = g_variant_builder_end (&builder);---/Since: 2.24/--}-variantBuilderOpen ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantBuilder-    {- ^ /@builder@/: a 'GI.GLib.Structs.VariantBuilder.VariantBuilder' -}-    -> GLib.VariantType.VariantType-    {- ^ /@type@/: the 'GI.GLib.Structs.VariantType.VariantType' of the container -}-    -> m ()-variantBuilderOpen builder type_ = liftIO $ do-    builder' <- unsafeManagedPtrGetPtr builder-    type_' <- unsafeManagedPtrGetPtr type_-    g_variant_builder_open builder' type_'-    touchManagedPtr builder-    touchManagedPtr type_-    return ()--#if ENABLE_OVERLOADING-data VariantBuilderOpenMethodInfo-instance (signature ~ (GLib.VariantType.VariantType -> m ()), MonadIO m) => O.MethodInfo VariantBuilderOpenMethodInfo VariantBuilder signature where-    overloadedMethod _ = variantBuilderOpen--#endif---- method VariantBuilder::ref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "GLib", name = "VariantBuilder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantBuilder allocated by g_variant_builder_new()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "VariantBuilder"}))--- throws : False--- Skip return : False--foreign import ccall "g_variant_builder_ref" g_variant_builder_ref :: -    Ptr VariantBuilder ->                   -- builder : TInterface (Name {namespace = "GLib", name = "VariantBuilder"})-    IO (Ptr VariantBuilder)--{- |-Increases the reference count on /@builder@/.--Don\'t call this on stack-allocated 'GI.GLib.Structs.VariantBuilder.VariantBuilder' instances or bad-things will happen.--/Since: 2.24/--}-variantBuilderRef ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantBuilder-    {- ^ /@builder@/: a 'GI.GLib.Structs.VariantBuilder.VariantBuilder' allocated by 'GI.GLib.Structs.VariantBuilder.variantBuilderNew' -}-    -> m VariantBuilder-    {- ^ __Returns:__ a new reference to /@builder@/ -}-variantBuilderRef builder = liftIO $ do-    builder' <- unsafeManagedPtrGetPtr builder-    result <- g_variant_builder_ref builder'-    checkUnexpectedReturnNULL "variantBuilderRef" result-    result' <- (wrapBoxed VariantBuilder) result-    touchManagedPtr builder-    return result'--#if ENABLE_OVERLOADING-data VariantBuilderRefMethodInfo-instance (signature ~ (m VariantBuilder), MonadIO m) => O.MethodInfo VariantBuilderRefMethodInfo VariantBuilder signature where-    overloadedMethod _ = variantBuilderRef--#endif---- method VariantBuilder::unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "builder", argType = TInterface (Name {namespace = "GLib", name = "VariantBuilder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantBuilder allocated by g_variant_builder_new()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_variant_builder_unref" g_variant_builder_unref :: -    Ptr VariantBuilder ->                   -- builder : TInterface (Name {namespace = "GLib", name = "VariantBuilder"})-    IO ()--{- |-Decreases the reference count on /@builder@/.--In the event that there are no more references, releases all memory-associated with the 'GI.GLib.Structs.VariantBuilder.VariantBuilder'.--Don\'t call this on stack-allocated 'GI.GLib.Structs.VariantBuilder.VariantBuilder' instances or bad-things will happen.--/Since: 2.24/--}-variantBuilderUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantBuilder-    {- ^ /@builder@/: a 'GI.GLib.Structs.VariantBuilder.VariantBuilder' allocated by 'GI.GLib.Structs.VariantBuilder.variantBuilderNew' -}-    -> m ()-variantBuilderUnref builder = liftIO $ do-    builder' <- B.ManagedPtr.disownBoxed builder-    g_variant_builder_unref builder'-    touchManagedPtr builder-    return ()--#if ENABLE_OVERLOADING-data VariantBuilderUnrefMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo VariantBuilderUnrefMethodInfo VariantBuilder signature where-    overloadedMethod _ = variantBuilderUnref--#endif--#if ENABLE_OVERLOADING-type family ResolveVariantBuilderMethod (t :: Symbol) (o :: *) :: * where-    ResolveVariantBuilderMethod "addValue" o = VariantBuilderAddValueMethodInfo-    ResolveVariantBuilderMethod "close" o = VariantBuilderCloseMethodInfo-    ResolveVariantBuilderMethod "end" o = VariantBuilderEndMethodInfo-    ResolveVariantBuilderMethod "open" o = VariantBuilderOpenMethodInfo-    ResolveVariantBuilderMethod "ref" o = VariantBuilderRefMethodInfo-    ResolveVariantBuilderMethod "unref" o = VariantBuilderUnrefMethodInfo-    ResolveVariantBuilderMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveVariantBuilderMethod t VariantBuilder, O.MethodInfo info VariantBuilder p) => OL.IsLabel t (VariantBuilder -> 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/GLib/Structs/VariantBuilder.hs-boot
@@ -1,44 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.VariantBuilder 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 VariantBuilder = VariantBuilder (ManagedPtr VariantBuilder)-instance BoxedObject VariantBuilder where-#if ENABLE_OVERLOADING-data VariantBuilderAddValueMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantBuilderCloseMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantBuilderEndMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantBuilderOpenMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantBuilderRefMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantBuilderUnrefMethodInfo-#endif
− GI/GLib/Structs/VariantDict.hs
@@ -1,667 +0,0 @@---{- |-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.GLib.Structs.VariantDict.VariantDict' is a mutable interface to 'GVariant' dictionaries.--It can be used for doing a sequence of dictionary lookups in an-efficient way on an existing 'GVariant' dictionary or it can be used-to construct new dictionaries with a hashtable-like interface.  It-can also be used for taking existing dictionaries and modifying them-in order to create new ones.--'GI.GLib.Structs.VariantDict.VariantDict' can only be used with @/G_VARIANT_TYPE_VARDICT/@-dictionaries.--It is possible to use 'GI.GLib.Structs.VariantDict.VariantDict' allocated on the stack or on the-heap.  When using a stack-allocated 'GI.GLib.Structs.VariantDict.VariantDict', you begin with a-call to @/g_variant_dict_init()/@ and free the resources with a call to-'GI.GLib.Structs.VariantDict.variantDictClear'.--Heap-allocated 'GI.GLib.Structs.VariantDict.VariantDict' follows normal refcounting rules: you-allocate it with 'GI.GLib.Structs.VariantDict.variantDictNew' and use 'GI.GLib.Structs.VariantDict.variantDictRef'-and 'GI.GLib.Structs.VariantDict.variantDictUnref'.--'GI.GLib.Structs.VariantDict.variantDictEnd' is used to convert the 'GI.GLib.Structs.VariantDict.VariantDict' back into a-dictionary-type 'GVariant'.  When used with stack-allocated instances,-this also implicitly frees all associated memory, but for-heap-allocated instances, you must still call 'GI.GLib.Structs.VariantDict.variantDictUnref'-afterwards.--You will typically want to use a heap-allocated 'GI.GLib.Structs.VariantDict.VariantDict' when-you expose it as part of an API.  For most other uses, the-stack-allocated form will be more convenient.--Consider the following two examples that do the same thing in each-style: take an existing dictionary and look up the \"count\" uint32-key, adding 1 to it if it is found, or returning an error if the-key is not found.  Each returns the new dictionary as a floating-'GVariant'.--== Using a stack-allocated GVariantDict---=== /C code/->->  GVariant *->  add_to_count (GVariant  *orig,->                GError   **error)->  {->    GVariantDict dict;->    guint32 count;->->    g_variant_dict_init (&dict, orig);->    if (!g_variant_dict_lookup (&dict, "count", "u", &count))->      {->        g_set_error (...);->        g_variant_dict_clear (&dict);->        return NULL;->      }->->    g_variant_dict_insert (&dict, "count", "u", count + 1);->->    return g_variant_dict_end (&dict);->  }---== Using heap-allocated GVariantDict---=== /C code/->->  GVariant *->  add_to_count (GVariant  *orig,->                GError   **error)->  {->    GVariantDict *dict;->    GVariant *result;->    guint32 count;->->    dict = g_variant_dict_new (orig);->->    if (g_variant_dict_lookup (dict, "count", "u", &count))->      {->        g_variant_dict_insert (dict, "count", "u", count + 1);->        result = g_variant_dict_end (dict);->      }->    else->      {->        g_set_error (...);->        result = NULL;->      }->->    g_variant_dict_unref (dict);->->    return result;->  }---/Since: 2.40/--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.VariantDict-    ( ---- * Exported types-    VariantDict(..)                         ,-    noVariantDict                           ,--- -- * Methods--- ** clear #method:clear#--#if ENABLE_OVERLOADING-    VariantDictClearMethodInfo              ,-#endif-    variantDictClear                        ,----- ** contains #method:contains#--#if ENABLE_OVERLOADING-    VariantDictContainsMethodInfo           ,-#endif-    variantDictContains                     ,----- ** end #method:end#--#if ENABLE_OVERLOADING-    VariantDictEndMethodInfo                ,-#endif-    variantDictEnd                          ,----- ** insertValue #method:insertValue#--#if ENABLE_OVERLOADING-    VariantDictInsertValueMethodInfo        ,-#endif-    variantDictInsertValue                  ,----- ** lookupValue #method:lookupValue#--#if ENABLE_OVERLOADING-    VariantDictLookupValueMethodInfo        ,-#endif-    variantDictLookupValue                  ,----- ** new #method:new#--    variantDictNew                          ,----- ** ref #method:ref#--#if ENABLE_OVERLOADING-    VariantDictRefMethodInfo                ,-#endif-    variantDictRef                          ,----- ** remove #method:remove#--#if ENABLE_OVERLOADING-    VariantDictRemoveMethodInfo             ,-#endif-    variantDictRemove                       ,----- ** unref #method:unref#--#if ENABLE_OVERLOADING-    VariantDictUnrefMethodInfo              ,-#endif-    variantDictUnref                        ,-----    ) 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.GLib.Structs.VariantType as GLib.VariantType---- | Memory-managed wrapper type.-newtype VariantDict = VariantDict (ManagedPtr VariantDict)-foreign import ccall "g_variant_dict_get_type" c_g_variant_dict_get_type :: -    IO GType--instance BoxedObject VariantDict where-    boxedType _ = c_g_variant_dict_get_type---- | A convenience alias for `Nothing` :: `Maybe` `VariantDict`.-noVariantDict :: Maybe VariantDict-noVariantDict = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList VariantDict-type instance O.AttributeList VariantDict = VariantDictAttributeList-type VariantDictAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method VariantDict::new--- method type : Constructor--- Args : [Arg {argCName = "from_asv", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the #GVariant with which to initialise the\n  dictionary", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "VariantDict"}))--- throws : False--- Skip return : False--foreign import ccall "g_variant_dict_new" g_variant_dict_new :: -    Ptr GVariant ->                         -- from_asv : TVariant-    IO (Ptr VariantDict)--{- |-Allocates and initialises a new 'GI.GLib.Structs.VariantDict.VariantDict'.--You should call 'GI.GLib.Structs.VariantDict.variantDictUnref' on the return value when it-is no longer needed.  The memory will not be automatically freed by-any other call.--In some cases it may be easier to place a 'GI.GLib.Structs.VariantDict.VariantDict' directly on-the stack of the calling function and initialise it with-@/g_variant_dict_init()/@.  This is particularly useful when you are-using 'GI.GLib.Structs.VariantDict.VariantDict' to construct a 'GVariant'.--/Since: 2.40/--}-variantDictNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Maybe (GVariant)-    {- ^ /@fromAsv@/: the 'GVariant' with which to initialise the-  dictionary -}-    -> m VariantDict-    {- ^ __Returns:__ a 'GI.GLib.Structs.VariantDict.VariantDict' -}-variantDictNew fromAsv = liftIO $ do-    maybeFromAsv <- case fromAsv of-        Nothing -> return nullPtr-        Just jFromAsv -> do-            jFromAsv' <- unsafeManagedPtrGetPtr jFromAsv-            return jFromAsv'-    result <- g_variant_dict_new maybeFromAsv-    checkUnexpectedReturnNULL "variantDictNew" result-    result' <- (wrapBoxed VariantDict) result-    whenJust fromAsv touchManagedPtr-    return result'--#if ENABLE_OVERLOADING-#endif---- method VariantDict::clear--- method type : OrdinaryMethod--- Args : [Arg {argCName = "dict", argType = TInterface (Name {namespace = "GLib", name = "VariantDict"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantDict", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_variant_dict_clear" g_variant_dict_clear :: -    Ptr VariantDict ->                      -- dict : TInterface (Name {namespace = "GLib", name = "VariantDict"})-    IO ()--{- |-Releases all memory associated with a 'GI.GLib.Structs.VariantDict.VariantDict' without freeing-the 'GI.GLib.Structs.VariantDict.VariantDict' structure itself.--It typically only makes sense to do this on a stack-allocated-'GI.GLib.Structs.VariantDict.VariantDict' if you want to abort building the value part-way-through.  This function need not be called if you call-'GI.GLib.Structs.VariantDict.variantDictEnd' and it also doesn\'t need to be called on dicts-allocated with g_variant_dict_new (see 'GI.GLib.Structs.VariantDict.variantDictUnref' for-that).--It is valid to call this function on either an initialised-'GI.GLib.Structs.VariantDict.VariantDict' or one that was previously cleared by an earlier call-to 'GI.GLib.Structs.VariantDict.variantDictClear' but it is not valid to call this function-on uninitialised memory.--/Since: 2.40/--}-variantDictClear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantDict-    {- ^ /@dict@/: a 'GI.GLib.Structs.VariantDict.VariantDict' -}-    -> m ()-variantDictClear dict = liftIO $ do-    dict' <- unsafeManagedPtrGetPtr dict-    g_variant_dict_clear dict'-    touchManagedPtr dict-    return ()--#if ENABLE_OVERLOADING-data VariantDictClearMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo VariantDictClearMethodInfo VariantDict signature where-    overloadedMethod _ = variantDictClear--#endif---- method VariantDict::contains--- method type : OrdinaryMethod--- Args : [Arg {argCName = "dict", argType = TInterface (Name {namespace = "GLib", name = "VariantDict"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantDict", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the key to lookup in the dictionary", 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_variant_dict_contains" g_variant_dict_contains :: -    Ptr VariantDict ->                      -- dict : TInterface (Name {namespace = "GLib", name = "VariantDict"})-    CString ->                              -- key : TBasicType TUTF8-    IO CInt--{- |-Checks if /@key@/ exists in /@dict@/.--/Since: 2.40/--}-variantDictContains ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantDict-    {- ^ /@dict@/: a 'GI.GLib.Structs.VariantDict.VariantDict' -}-    -> T.Text-    {- ^ /@key@/: the key to lookup in the dictionary -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@key@/ is in /@dict@/ -}-variantDictContains dict key = liftIO $ do-    dict' <- unsafeManagedPtrGetPtr dict-    key' <- textToCString key-    result <- g_variant_dict_contains dict' key'-    let result' = (/= 0) result-    touchManagedPtr dict-    freeMem key'-    return result'--#if ENABLE_OVERLOADING-data VariantDictContainsMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo VariantDictContainsMethodInfo VariantDict signature where-    overloadedMethod _ = variantDictContains--#endif---- method VariantDict::end--- method type : OrdinaryMethod--- Args : [Arg {argCName = "dict", argType = TInterface (Name {namespace = "GLib", name = "VariantDict"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantDict", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just TVariant--- throws : False--- Skip return : False--foreign import ccall "g_variant_dict_end" g_variant_dict_end :: -    Ptr VariantDict ->                      -- dict : TInterface (Name {namespace = "GLib", name = "VariantDict"})-    IO (Ptr GVariant)--{- |-Returns the current value of /@dict@/ as a 'GVariant' of type-@/G_VARIANT_TYPE_VARDICT/@, clearing it in the process.--It is not permissible to use /@dict@/ in any way after this call except-for reference counting operations (in the case of a heap-allocated-'GI.GLib.Structs.VariantDict.VariantDict') or by reinitialising it with @/g_variant_dict_init()/@ (in-the case of stack-allocated).--/Since: 2.40/--}-variantDictEnd ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantDict-    {- ^ /@dict@/: a 'GI.GLib.Structs.VariantDict.VariantDict' -}-    -> m GVariant-    {- ^ __Returns:__ a new, floating, 'GVariant' -}-variantDictEnd dict = liftIO $ do-    dict' <- unsafeManagedPtrGetPtr dict-    result <- g_variant_dict_end dict'-    checkUnexpectedReturnNULL "variantDictEnd" result-    result' <- B.GVariant.newGVariantFromPtr result-    touchManagedPtr dict-    return result'--#if ENABLE_OVERLOADING-data VariantDictEndMethodInfo-instance (signature ~ (m GVariant), MonadIO m) => O.MethodInfo VariantDictEndMethodInfo VariantDict signature where-    overloadedMethod _ = variantDictEnd--#endif---- method VariantDict::insert_value--- method type : OrdinaryMethod--- Args : [Arg {argCName = "dict", argType = TInterface (Name {namespace = "GLib", name = "VariantDict"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantDict", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the key to insert a value for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the value to insert", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_variant_dict_insert_value" g_variant_dict_insert_value :: -    Ptr VariantDict ->                      -- dict : TInterface (Name {namespace = "GLib", name = "VariantDict"})-    CString ->                              -- key : TBasicType TUTF8-    Ptr GVariant ->                         -- value : TVariant-    IO ()--{- |-Inserts (or replaces) a key in a 'GI.GLib.Structs.VariantDict.VariantDict'.--/@value@/ is consumed if it is floating.--/Since: 2.40/--}-variantDictInsertValue ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantDict-    {- ^ /@dict@/: a 'GI.GLib.Structs.VariantDict.VariantDict' -}-    -> T.Text-    {- ^ /@key@/: the key to insert a value for -}-    -> GVariant-    {- ^ /@value@/: the value to insert -}-    -> m ()-variantDictInsertValue dict key value = liftIO $ do-    dict' <- unsafeManagedPtrGetPtr dict-    key' <- textToCString key-    value' <- unsafeManagedPtrGetPtr value-    g_variant_dict_insert_value dict' key' value'-    touchManagedPtr dict-    touchManagedPtr value-    freeMem key'-    return ()--#if ENABLE_OVERLOADING-data VariantDictInsertValueMethodInfo-instance (signature ~ (T.Text -> GVariant -> m ()), MonadIO m) => O.MethodInfo VariantDictInsertValueMethodInfo VariantDict signature where-    overloadedMethod _ = variantDictInsertValue--#endif---- method VariantDict::lookup_value--- method type : OrdinaryMethod--- Args : [Arg {argCName = "dict", argType = TInterface (Name {namespace = "GLib", name = "VariantDict"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantDict", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the key to lookup in the dictionary", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expected_type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GVariantType, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just TVariant--- throws : False--- Skip return : False--foreign import ccall "g_variant_dict_lookup_value" g_variant_dict_lookup_value :: -    Ptr VariantDict ->                      -- dict : TInterface (Name {namespace = "GLib", name = "VariantDict"})-    CString ->                              -- key : TBasicType TUTF8-    Ptr GLib.VariantType.VariantType ->     -- expected_type : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO (Ptr GVariant)--{- |-Looks up a value in a 'GI.GLib.Structs.VariantDict.VariantDict'.--If /@key@/ is not found in /@dictionary@/, 'Nothing' is returned.--The /@expectedType@/ string specifies what type of value is expected.-If the value associated with /@key@/ has a different type then 'Nothing' is-returned.--If the key is found and the value has the correct type, it is-returned.  If /@expectedType@/ was specified then any non-'Nothing' return-value will have this type.--/Since: 2.40/--}-variantDictLookupValue ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantDict-    {- ^ /@dict@/: a 'GI.GLib.Structs.VariantDict.VariantDict' -}-    -> T.Text-    {- ^ /@key@/: the key to lookup in the dictionary -}-    -> Maybe (GLib.VariantType.VariantType)-    {- ^ /@expectedType@/: a 'GI.GLib.Structs.VariantType.VariantType', or 'Nothing' -}-    -> m GVariant-    {- ^ __Returns:__ the value of the dictionary key, or 'Nothing' -}-variantDictLookupValue dict key expectedType = liftIO $ do-    dict' <- unsafeManagedPtrGetPtr dict-    key' <- textToCString key-    maybeExpectedType <- case expectedType of-        Nothing -> return nullPtr-        Just jExpectedType -> do-            jExpectedType' <- unsafeManagedPtrGetPtr jExpectedType-            return jExpectedType'-    result <- g_variant_dict_lookup_value dict' key' maybeExpectedType-    checkUnexpectedReturnNULL "variantDictLookupValue" result-    result' <- B.GVariant.wrapGVariantPtr result-    touchManagedPtr dict-    whenJust expectedType touchManagedPtr-    freeMem key'-    return result'--#if ENABLE_OVERLOADING-data VariantDictLookupValueMethodInfo-instance (signature ~ (T.Text -> Maybe (GLib.VariantType.VariantType) -> m GVariant), MonadIO m) => O.MethodInfo VariantDictLookupValueMethodInfo VariantDict signature where-    overloadedMethod _ = variantDictLookupValue--#endif---- method VariantDict::ref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "dict", argType = TInterface (Name {namespace = "GLib", name = "VariantDict"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a heap-allocated #GVariantDict", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "VariantDict"}))--- throws : False--- Skip return : False--foreign import ccall "g_variant_dict_ref" g_variant_dict_ref :: -    Ptr VariantDict ->                      -- dict : TInterface (Name {namespace = "GLib", name = "VariantDict"})-    IO (Ptr VariantDict)--{- |-Increases the reference count on /@dict@/.--Don\'t call this on stack-allocated 'GI.GLib.Structs.VariantDict.VariantDict' instances or bad-things will happen.--/Since: 2.40/--}-variantDictRef ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantDict-    {- ^ /@dict@/: a heap-allocated 'GI.GLib.Structs.VariantDict.VariantDict' -}-    -> m VariantDict-    {- ^ __Returns:__ a new reference to /@dict@/ -}-variantDictRef dict = liftIO $ do-    dict' <- unsafeManagedPtrGetPtr dict-    result <- g_variant_dict_ref dict'-    checkUnexpectedReturnNULL "variantDictRef" result-    result' <- (wrapBoxed VariantDict) result-    touchManagedPtr dict-    return result'--#if ENABLE_OVERLOADING-data VariantDictRefMethodInfo-instance (signature ~ (m VariantDict), MonadIO m) => O.MethodInfo VariantDictRefMethodInfo VariantDict signature where-    overloadedMethod _ = variantDictRef--#endif---- method VariantDict::remove--- method type : OrdinaryMethod--- Args : [Arg {argCName = "dict", argType = TInterface (Name {namespace = "GLib", name = "VariantDict"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantDict", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the key to remove", 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_variant_dict_remove" g_variant_dict_remove :: -    Ptr VariantDict ->                      -- dict : TInterface (Name {namespace = "GLib", name = "VariantDict"})-    CString ->                              -- key : TBasicType TUTF8-    IO CInt--{- |-Removes a key and its associated value from a 'GI.GLib.Structs.VariantDict.VariantDict'.--/Since: 2.40/--}-variantDictRemove ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantDict-    {- ^ /@dict@/: a 'GI.GLib.Structs.VariantDict.VariantDict' -}-    -> T.Text-    {- ^ /@key@/: the key to remove -}-    -> m Bool-    {- ^ __Returns:__ 'True' if the key was found and removed -}-variantDictRemove dict key = liftIO $ do-    dict' <- unsafeManagedPtrGetPtr dict-    key' <- textToCString key-    result <- g_variant_dict_remove dict' key'-    let result' = (/= 0) result-    touchManagedPtr dict-    freeMem key'-    return result'--#if ENABLE_OVERLOADING-data VariantDictRemoveMethodInfo-instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.MethodInfo VariantDictRemoveMethodInfo VariantDict signature where-    overloadedMethod _ = variantDictRemove--#endif---- method VariantDict::unref--- method type : OrdinaryMethod--- Args : [Arg {argCName = "dict", argType = TInterface (Name {namespace = "GLib", name = "VariantDict"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a heap-allocated #GVariantDict", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_variant_dict_unref" g_variant_dict_unref :: -    Ptr VariantDict ->                      -- dict : TInterface (Name {namespace = "GLib", name = "VariantDict"})-    IO ()--{- |-Decreases the reference count on /@dict@/.--In the event that there are no more references, releases all memory-associated with the 'GI.GLib.Structs.VariantDict.VariantDict'.--Don\'t call this on stack-allocated 'GI.GLib.Structs.VariantDict.VariantDict' instances or bad-things will happen.--/Since: 2.40/--}-variantDictUnref ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantDict-    {- ^ /@dict@/: a heap-allocated 'GI.GLib.Structs.VariantDict.VariantDict' -}-    -> m ()-variantDictUnref dict = liftIO $ do-    dict' <- B.ManagedPtr.disownBoxed dict-    g_variant_dict_unref dict'-    touchManagedPtr dict-    return ()--#if ENABLE_OVERLOADING-data VariantDictUnrefMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo VariantDictUnrefMethodInfo VariantDict signature where-    overloadedMethod _ = variantDictUnref--#endif--#if ENABLE_OVERLOADING-type family ResolveVariantDictMethod (t :: Symbol) (o :: *) :: * where-    ResolveVariantDictMethod "clear" o = VariantDictClearMethodInfo-    ResolveVariantDictMethod "contains" o = VariantDictContainsMethodInfo-    ResolveVariantDictMethod "end" o = VariantDictEndMethodInfo-    ResolveVariantDictMethod "insertValue" o = VariantDictInsertValueMethodInfo-    ResolveVariantDictMethod "lookupValue" o = VariantDictLookupValueMethodInfo-    ResolveVariantDictMethod "ref" o = VariantDictRefMethodInfo-    ResolveVariantDictMethod "remove" o = VariantDictRemoveMethodInfo-    ResolveVariantDictMethod "unref" o = VariantDictUnrefMethodInfo-    ResolveVariantDictMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveVariantDictMethod t VariantDict, O.MethodInfo info VariantDict p) => OL.IsLabel t (VariantDict -> 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/GLib/Structs/VariantDict.hs-boot
@@ -1,50 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.VariantDict 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 VariantDict = VariantDict (ManagedPtr VariantDict)-instance BoxedObject VariantDict where-#if ENABLE_OVERLOADING-data VariantDictClearMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantDictContainsMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantDictEndMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantDictInsertValueMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantDictLookupValueMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantDictRefMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantDictRemoveMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantDictUnrefMethodInfo-#endif
− GI/GLib/Structs/VariantType.hs
@@ -1,1712 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--This section introduces the GVariant type system. It is based, in-large part, on the D-Bus type system, with two major changes and-some minor lifting of restrictions. The-<http://dbus.freedesktop.org/doc/dbus-specification.html D-Bus specification>,-therefore, provides a significant amount of-information that is useful when working with GVariant.--The first major change with respect to the D-Bus type system is the-introduction of maybe (or \"nullable\") types.  Any type in GVariant can be-converted to a maybe type, in which case, \"nothing\" (or \"null\") becomes a-valid value.  Maybe types have been added by introducing the-character \"m\" to type strings.--The second major change is that the GVariant type system supports the-concept of \"indefinite types\" -- types that are less specific than-the normal types found in D-Bus.  For example, it is possible to speak-of \"an array of any type\" in GVariant, where the D-Bus type system-would require you to speak of \"an array of integers\" or \"an array of-strings\".  Indefinite types have been added by introducing the-characters \"*\", \"?\" and \"r\" to type strings.--Finally, all arbitrary restrictions relating to the complexity of-types are lifted along with the restriction that dictionary entries-may only appear nested inside of arrays.--Just as in D-Bus, GVariant types are described with strings (\"type-strings\").  Subject to the differences mentioned above, these strings-are of the same form as those found in DBus.  Note, however: D-Bus-always works in terms of messages and therefore individual type-strings appear nowhere in its interface.  Instead, \"signatures\"-are a concatenation of the strings of the type of each argument in a-message.  GVariant deals with single values directly so GVariant type-strings always describe the type of exactly one value.  This means-that a D-Bus signature string is generally not a valid GVariant type-string -- except in the case that it is the signature of a message-containing exactly one argument.--An indefinite type is similar in spirit to what may be called an-abstract type in other type systems.  No value can exist that has an-indefinite type as its type, but values can exist that have types-that are subtypes of indefinite types.  That is to say,-'GI.GLib.Structs.Variant.variantGetType' will never return an indefinite type, but-calling 'GI.GLib.Structs.Variant.variantIsOfType' with an indefinite type may return-'True'.  For example, you cannot have a value that represents \"an-array of no particular type\", but you can have an \"array of integers\"-which certainly matches the type of \"an array of no particular type\",-since \"array of integers\" is a subtype of \"array of no particular-type\".--This is similar to how instances of abstract classes may not-directly exist in other type systems, but instances of their-non-abstract subtypes may.  For example, in GTK, no object that has-the type of @/GtkBin/@ can exist (since @/GtkBin/@ is an abstract class),-but a @/GtkWindow/@ can certainly be instantiated, and you would say-that the @/GtkWindow/@ is a @/GtkBin/@ (since @/GtkWindow/@ is a subclass of-@/GtkBin/@).--== GVariant Type Strings--A GVariant type string can be any of the following:--* any basic type string (listed below)-* \"v\", \"r\" or \"*\"-* one of the characters \'a\' or \'m\', followed by another type string-* the character \'(\', followed by a concatenation of zero or more other-type strings, followed by the character \')\'-* the character \'{\', followed by a basic type string (see below),-followed by another type string, followed by the character \'}\'---A basic type string describes a basic type (as per-'GI.GLib.Structs.VariantType.variantTypeIsBasic') and is always a single character in length.-The valid basic type strings are \"b\", \"y\", \"n\", \"q\", \"i\", \"u\", \"x\", \"t\",-\"h\", \"d\", \"s\", \"o\", \"g\" and \"?\".--The above definition is recursive to arbitrary depth. \"aaaaai\" and-\"(ui(nq((y)))s)\" are both valid type strings, as is-\"a(aa(ui)(qna{ya(yd)}))\". In order to not hit memory limits, 'GVariant'-imposes a limit on recursion depth of 65 nested containers. This is the-limit in the D-Bus specification (64) plus one to allow a @/GDBusMessage/@ to-be nested in a top-level tuple.--The meaning of each of the characters is as follows:--* @b@: the type string of @/G_VARIANT_TYPE_BOOLEAN/@; a boolean value.-* @y@: the type string of @/G_VARIANT_TYPE_BYTE/@; a byte.-* @n@: the type string of @/G_VARIANT_TYPE_INT16/@; a signed 16 bit integer.-* @q@: the type string of @/G_VARIANT_TYPE_UINT16/@; an unsigned 16 bit integer.-* @i@: the type string of @/G_VARIANT_TYPE_INT32/@; a signed 32 bit integer.-* @u@: the type string of @/G_VARIANT_TYPE_UINT32/@; an unsigned 32 bit integer.-* @x@: the type string of @/G_VARIANT_TYPE_INT64/@; a signed 64 bit integer.-* @t@: the type string of @/G_VARIANT_TYPE_UINT64/@; an unsigned 64 bit integer.-* @h@: the type string of @/G_VARIANT_TYPE_HANDLE/@; a signed 32 bit value-that, by convention, is used as an index into an array of file-descriptors that are sent alongside a D-Bus message.-* @d@: the type string of @/G_VARIANT_TYPE_DOUBLE/@; a double precision-floating point value.-* @s@: the type string of @/G_VARIANT_TYPE_STRING/@; a string.-* @o@: the type string of @/G_VARIANT_TYPE_OBJECT_PATH/@; a string in the form-of a D-Bus object path.-* @g@: the type string of @/G_VARIANT_TYPE_SIGNATURE/@; a string in the form of-a D-Bus type signature.-* @?@: the type string of @/G_VARIANT_TYPE_BASIC/@; an indefinite type that-is a supertype of any of the basic types.-* @v@: the type string of @/G_VARIANT_TYPE_VARIANT/@; a container type that-contain any other type of value.-* @a@: used as a prefix on another type string to mean an array of that-type; the type string \"ai\", for example, is the type of an array of-signed 32-bit integers.-* @m@: used as a prefix on another type string to mean a \"maybe\", or-\"nullable\", version of that type; the type string \"ms\", for example,-is the type of a value that maybe contains a string, or maybe contains-nothing.-* @()@: used to enclose zero or more other concatenated type strings to-create a tuple type; the type string \"(is)\", for example, is the type of-a pair of an integer and a string.-* @r@: the type string of @/G_VARIANT_TYPE_TUPLE/@; an indefinite type that is-a supertype of any tuple type, regardless of the number of items.-* @{}@: used to enclose a basic type string concatenated with another type-string to create a dictionary entry type, which usually appears inside of-an array to form a dictionary; the type string \"a{sd}\", for example, is-the type of a dictionary that maps strings to double precision floating-point values.---  The first type (the basic type) is the key type and the second type is-  the value type. The reason that the first type is restricted to being a-  basic type is so that it can easily be hashed.--* @*@: the type string of @/G_VARIANT_TYPE_ANY/@; the indefinite type that is-a supertype of all types.  Note that, as with all type strings, this-character represents exactly one type. It cannot be used inside of tuples-to mean \"any number of items\".---Any type string of a container that contains an indefinite type is,-itself, an indefinite type. For example, the type string \"a*\"-(corresponding to @/G_VARIANT_TYPE_ARRAY/@) is an indefinite type-that is a supertype of every array type. \"(*s)\" is a supertype-of all tuples that contain exactly two items where the second-item is a string.--\"a{?*}\" is an indefinite type that is a supertype of all arrays-containing dictionary entries where the key is any basic type and-the value is any type at all.  This is, by definition, a dictionary,-so this type string corresponds to @/G_VARIANT_TYPE_DICTIONARY/@. Note-that, due to the restriction that the key of a dictionary entry must-be a basic type, \"{**}\" is not a valid type string.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Structs.VariantType-    ( ---- * Exported types-    VariantType(..)                         ,-    noVariantType                           ,--- -- * Methods--- ** checked_ #method:checked_#--    variantTypeChecked_                     ,----- ** copy #method:copy#--#if ENABLE_OVERLOADING-    VariantTypeCopyMethodInfo               ,-#endif-    variantTypeCopy                         ,----- ** dupString #method:dupString#--#if ENABLE_OVERLOADING-    VariantTypeDupStringMethodInfo          ,-#endif-    variantTypeDupString                    ,----- ** element #method:element#--#if ENABLE_OVERLOADING-    VariantTypeElementMethodInfo            ,-#endif-    variantTypeElement                      ,----- ** equal #method:equal#--#if ENABLE_OVERLOADING-    VariantTypeEqualMethodInfo              ,-#endif-    variantTypeEqual                        ,----- ** first #method:first#--#if ENABLE_OVERLOADING-    VariantTypeFirstMethodInfo              ,-#endif-    variantTypeFirst                        ,----- ** free #method:free#--#if ENABLE_OVERLOADING-    VariantTypeFreeMethodInfo               ,-#endif-    variantTypeFree                         ,----- ** getStringLength #method:getStringLength#--#if ENABLE_OVERLOADING-    VariantTypeGetStringLengthMethodInfo    ,-#endif-    variantTypeGetStringLength              ,----- ** hash #method:hash#--#if ENABLE_OVERLOADING-    VariantTypeHashMethodInfo               ,-#endif-    variantTypeHash                         ,----- ** isArray #method:isArray#--#if ENABLE_OVERLOADING-    VariantTypeIsArrayMethodInfo            ,-#endif-    variantTypeIsArray                      ,----- ** isBasic #method:isBasic#--#if ENABLE_OVERLOADING-    VariantTypeIsBasicMethodInfo            ,-#endif-    variantTypeIsBasic                      ,----- ** isContainer #method:isContainer#--#if ENABLE_OVERLOADING-    VariantTypeIsContainerMethodInfo        ,-#endif-    variantTypeIsContainer                  ,----- ** isDefinite #method:isDefinite#--#if ENABLE_OVERLOADING-    VariantTypeIsDefiniteMethodInfo         ,-#endif-    variantTypeIsDefinite                   ,----- ** isDictEntry #method:isDictEntry#--#if ENABLE_OVERLOADING-    VariantTypeIsDictEntryMethodInfo        ,-#endif-    variantTypeIsDictEntry                  ,----- ** isMaybe #method:isMaybe#--#if ENABLE_OVERLOADING-    VariantTypeIsMaybeMethodInfo            ,-#endif-    variantTypeIsMaybe                      ,----- ** isSubtypeOf #method:isSubtypeOf#--#if ENABLE_OVERLOADING-    VariantTypeIsSubtypeOfMethodInfo        ,-#endif-    variantTypeIsSubtypeOf                  ,----- ** isTuple #method:isTuple#--#if ENABLE_OVERLOADING-    VariantTypeIsTupleMethodInfo            ,-#endif-    variantTypeIsTuple                      ,----- ** isVariant #method:isVariant#--#if ENABLE_OVERLOADING-    VariantTypeIsVariantMethodInfo          ,-#endif-    variantTypeIsVariant                    ,----- ** key #method:key#--#if ENABLE_OVERLOADING-    VariantTypeKeyMethodInfo                ,-#endif-    variantTypeKey                          ,----- ** nItems #method:nItems#--#if ENABLE_OVERLOADING-    VariantTypeNItemsMethodInfo             ,-#endif-    variantTypeNItems                       ,----- ** new #method:new#--    variantTypeNew                          ,----- ** newArray #method:newArray#--    variantTypeNewArray                     ,----- ** newDictEntry #method:newDictEntry#--    variantTypeNewDictEntry                 ,----- ** newMaybe #method:newMaybe#--    variantTypeNewMaybe                     ,----- ** newTuple #method:newTuple#--    variantTypeNewTuple                     ,----- ** next #method:next#--#if ENABLE_OVERLOADING-    VariantTypeNextMethodInfo               ,-#endif-    variantTypeNext                         ,----- ** stringGetDepth_ #method:stringGetDepth_#--    variantTypeStringGetDepth_              ,----- ** stringIsValid #method:stringIsValid#--    variantTypeStringIsValid                ,----- ** stringScan #method:stringScan#--    variantTypeStringScan                   ,----- ** value #method:value#--#if ENABLE_OVERLOADING-    VariantTypeValueMethodInfo              ,-#endif-    variantTypeValue                        ,-----    ) 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 VariantType = VariantType (ManagedPtr VariantType)-foreign import ccall "g_variant_type_get_gtype" c_g_variant_type_get_gtype :: -    IO GType--instance BoxedObject VariantType where-    boxedType _ = c_g_variant_type_get_gtype---- | A convenience alias for `Nothing` :: `Maybe` `VariantType`.-noVariantType :: Maybe VariantType-noVariantType = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList VariantType-type instance O.AttributeList VariantType = VariantTypeAttributeList-type VariantTypeAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method VariantType::new--- method type : Constructor--- Args : [Arg {argCName = "type_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a valid GVariant type string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "VariantType"}))--- throws : False--- Skip return : False--foreign import ccall "g_variant_type_new" g_variant_type_new :: -    CString ->                              -- type_string : TBasicType TUTF8-    IO (Ptr VariantType)--{- |-Creates a new 'GI.GLib.Structs.VariantType.VariantType' corresponding to the type string given-by /@typeString@/.  It is appropriate to call 'GI.GLib.Structs.VariantType.variantTypeFree' on-the return value.--It is a programmer error to call this function with an invalid type-string.  Use 'GI.GLib.Functions.variantTypeStringIsValid' if you are unsure.--/Since: 2.24/--}-variantTypeNew ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@typeString@/: a valid GVariant type string -}-    -> m VariantType-    {- ^ __Returns:__ a new 'GI.GLib.Structs.VariantType.VariantType' -}-variantTypeNew typeString = liftIO $ do-    typeString' <- textToCString typeString-    result <- g_variant_type_new typeString'-    checkUnexpectedReturnNULL "variantTypeNew" result-    result' <- (wrapBoxed VariantType) result-    freeMem typeString'-    return result'--#if ENABLE_OVERLOADING-#endif---- method VariantType::new_array--- method type : Constructor--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "VariantType"}))--- throws : False--- Skip return : False--foreign import ccall "g_variant_type_new_array" g_variant_type_new_array :: -    Ptr VariantType ->                      -- element : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO (Ptr VariantType)--{- |-Constructs the type corresponding to an array of elements of the-type /@type@/.--It is appropriate to call 'GI.GLib.Structs.VariantType.variantTypeFree' on the return value.--}-variantTypeNewArray ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@element@/: a 'GI.GLib.Structs.VariantType.VariantType' -}-    -> m VariantType-    {- ^ __Returns:__ a new array 'GI.GLib.Structs.VariantType.VariantType'--Since 2.24 -}-variantTypeNewArray element = liftIO $ do-    element' <- unsafeManagedPtrGetPtr element-    result <- g_variant_type_new_array element'-    checkUnexpectedReturnNULL "variantTypeNewArray" result-    result' <- (wrapBoxed VariantType) result-    touchManagedPtr element-    return result'--#if ENABLE_OVERLOADING-#endif---- method VariantType::new_dict_entry--- method type : Constructor--- Args : [Arg {argCName = "key", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a basic #GVariantType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "VariantType"}))--- throws : False--- Skip return : False--foreign import ccall "g_variant_type_new_dict_entry" g_variant_type_new_dict_entry :: -    Ptr VariantType ->                      -- key : TInterface (Name {namespace = "GLib", name = "VariantType"})-    Ptr VariantType ->                      -- value : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO (Ptr VariantType)--{- |-Constructs the type corresponding to a dictionary entry with a key-of type /@key@/ and a value of type /@value@/.--It is appropriate to call 'GI.GLib.Structs.VariantType.variantTypeFree' on the return value.--}-variantTypeNewDictEntry ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@key@/: a basic 'GI.GLib.Structs.VariantType.VariantType' -}-    -> VariantType-    {- ^ /@value@/: a 'GI.GLib.Structs.VariantType.VariantType' -}-    -> m VariantType-    {- ^ __Returns:__ a new dictionary entry 'GI.GLib.Structs.VariantType.VariantType'--Since 2.24 -}-variantTypeNewDictEntry key value = liftIO $ do-    key' <- unsafeManagedPtrGetPtr key-    value' <- unsafeManagedPtrGetPtr value-    result <- g_variant_type_new_dict_entry key' value'-    checkUnexpectedReturnNULL "variantTypeNewDictEntry" result-    result' <- (wrapBoxed VariantType) result-    touchManagedPtr key-    touchManagedPtr value-    return result'--#if ENABLE_OVERLOADING-#endif---- method VariantType::new_maybe--- method type : Constructor--- Args : [Arg {argCName = "element", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "VariantType"}))--- throws : False--- Skip return : False--foreign import ccall "g_variant_type_new_maybe" g_variant_type_new_maybe :: -    Ptr VariantType ->                      -- element : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO (Ptr VariantType)--{- |-Constructs the type corresponding to a maybe instance containing-type /@type@/ or Nothing.--It is appropriate to call 'GI.GLib.Structs.VariantType.variantTypeFree' on the return value.--}-variantTypeNewMaybe ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@element@/: a 'GI.GLib.Structs.VariantType.VariantType' -}-    -> m VariantType-    {- ^ __Returns:__ a new maybe 'GI.GLib.Structs.VariantType.VariantType'--Since 2.24 -}-variantTypeNewMaybe element = liftIO $ do-    element' <- unsafeManagedPtrGetPtr element-    result <- g_variant_type_new_maybe element'-    checkUnexpectedReturnNULL "variantTypeNewMaybe" result-    result' <- (wrapBoxed VariantType) result-    touchManagedPtr element-    return result'--#if ENABLE_OVERLOADING-#endif---- method VariantType::new_tuple--- method type : Constructor--- Args : [Arg {argCName = "items", argType = TCArray False (-1) 1 (TInterface (Name {namespace = "GLib", name = "VariantType"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of #GVariantTypes, one for each item", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @items, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : [Arg {argCName = "length", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the length of @items, or -1", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- returnType : Just (TInterface (Name {namespace = "GLib", name = "VariantType"}))--- throws : False--- Skip return : False--foreign import ccall "g_variant_type_new_tuple" g_variant_type_new_tuple :: -    Ptr (Ptr VariantType) ->                -- items : TCArray False (-1) 1 (TInterface (Name {namespace = "GLib", name = "VariantType"}))-    Int32 ->                                -- length : TBasicType TInt-    IO (Ptr VariantType)--{- |-Constructs a new tuple type, from /@items@/.--/@length@/ is the number of items in /@items@/, or -1 to indicate that-/@items@/ is 'Nothing'-terminated.--It is appropriate to call 'GI.GLib.Structs.VariantType.variantTypeFree' on the return value.--}-variantTypeNewTuple ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    [VariantType]-    {- ^ /@items@/: an array of @/GVariantTypes/@, one for each item -}-    -> m VariantType-    {- ^ __Returns:__ a new tuple 'GI.GLib.Structs.VariantType.VariantType'--Since 2.24 -}-variantTypeNewTuple items = liftIO $ do-    let length_ = fromIntegral $ length items-    items' <- mapM unsafeManagedPtrGetPtr items-    items'' <- packPtrArray items'-    result <- g_variant_type_new_tuple items'' length_-    checkUnexpectedReturnNULL "variantTypeNewTuple" result-    result' <- (wrapBoxed VariantType) result-    mapM_ touchManagedPtr items-    freeMem items''-    return result'--#if ENABLE_OVERLOADING-#endif---- method VariantType::copy--- method type : OrdinaryMethod--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "VariantType"}))--- throws : False--- Skip return : False--foreign import ccall "g_variant_type_copy" g_variant_type_copy :: -    Ptr VariantType ->                      -- type : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO (Ptr VariantType)--{- |-Makes a copy of a 'GI.GLib.Structs.VariantType.VariantType'.  It is appropriate to call-'GI.GLib.Structs.VariantType.variantTypeFree' on the return value.  /@type@/ may not be 'Nothing'.--}-variantTypeCopy ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@type@/: a 'GI.GLib.Structs.VariantType.VariantType' -}-    -> m VariantType-    {- ^ __Returns:__ a new 'GI.GLib.Structs.VariantType.VariantType'--Since 2.24 -}-variantTypeCopy type_ = liftIO $ do-    type_' <- unsafeManagedPtrGetPtr type_-    result <- g_variant_type_copy type_'-    checkUnexpectedReturnNULL "variantTypeCopy" result-    result' <- (wrapBoxed VariantType) result-    touchManagedPtr type_-    return result'--#if ENABLE_OVERLOADING-data VariantTypeCopyMethodInfo-instance (signature ~ (m VariantType), MonadIO m) => O.MethodInfo VariantTypeCopyMethodInfo VariantType signature where-    overloadedMethod _ = variantTypeCopy--#endif---- method VariantType::dup_string--- method type : OrdinaryMethod--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantType", 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_variant_type_dup_string" g_variant_type_dup_string :: -    Ptr VariantType ->                      -- type : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO CString--{- |-Returns a newly-allocated copy of the type string corresponding to-/@type@/.  The returned string is nul-terminated.  It is appropriate to-call 'GI.GLib.Functions.free' on the return value.--}-variantTypeDupString ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@type@/: a 'GI.GLib.Structs.VariantType.VariantType' -}-    -> m T.Text-    {- ^ __Returns:__ the corresponding type string--Since 2.24 -}-variantTypeDupString type_ = liftIO $ do-    type_' <- unsafeManagedPtrGetPtr type_-    result <- g_variant_type_dup_string type_'-    checkUnexpectedReturnNULL "variantTypeDupString" result-    result' <- cstringToText result-    freeMem result-    touchManagedPtr type_-    return result'--#if ENABLE_OVERLOADING-data VariantTypeDupStringMethodInfo-instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo VariantTypeDupStringMethodInfo VariantType signature where-    overloadedMethod _ = variantTypeDupString--#endif---- method VariantType::element--- method type : OrdinaryMethod--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array or maybe #GVariantType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "VariantType"}))--- throws : False--- Skip return : False--foreign import ccall "g_variant_type_element" g_variant_type_element :: -    Ptr VariantType ->                      -- type : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO (Ptr VariantType)--{- |-Determines the element type of an array or maybe type.--This function may only be used with array or maybe types.--}-variantTypeElement ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@type@/: an array or maybe 'GI.GLib.Structs.VariantType.VariantType' -}-    -> m VariantType-    {- ^ __Returns:__ the element type of /@type@/--Since 2.24 -}-variantTypeElement type_ = liftIO $ do-    type_' <- unsafeManagedPtrGetPtr type_-    result <- g_variant_type_element type_'-    checkUnexpectedReturnNULL "variantTypeElement" result-    result' <- (newBoxed VariantType) result-    touchManagedPtr type_-    return result'--#if ENABLE_OVERLOADING-data VariantTypeElementMethodInfo-instance (signature ~ (m VariantType), MonadIO m) => O.MethodInfo VariantTypeElementMethodInfo VariantType signature where-    overloadedMethod _ = variantTypeElement--#endif---- method VariantType::equal--- method type : OrdinaryMethod--- Args : [Arg {argCName = "type1", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type2", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantType", 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_variant_type_equal" g_variant_type_equal :: -    Ptr VariantType ->                      -- type1 : TInterface (Name {namespace = "GLib", name = "VariantType"})-    Ptr VariantType ->                      -- type2 : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO CInt--{- |-Compares /@type1@/ and /@type2@/ for equality.--Only returns 'True' if the types are exactly equal.  Even if one type-is an indefinite type and the other is a subtype of it, 'False' will-be returned if they are not exactly equal.  If you want to check for-subtypes, use 'GI.GLib.Structs.VariantType.variantTypeIsSubtypeOf'.--The argument types of /@type1@/ and /@type2@/ are only @/gconstpointer/@ to-allow use with 'GI.GLib.Structs.HashTable.HashTable' without function pointer casting.  For-both arguments, a valid 'GI.GLib.Structs.VariantType.VariantType' must be provided.--}-variantTypeEqual ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@type1@/: a 'GI.GLib.Structs.VariantType.VariantType' -}-    -> VariantType-    {- ^ /@type2@/: a 'GI.GLib.Structs.VariantType.VariantType' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@type1@/ and /@type2@/ are exactly equal--Since 2.24 -}-variantTypeEqual type1 type2 = liftIO $ do-    type1' <- unsafeManagedPtrGetPtr type1-    type2' <- unsafeManagedPtrGetPtr type2-    result <- g_variant_type_equal type1' type2'-    let result' = (/= 0) result-    touchManagedPtr type1-    touchManagedPtr type2-    return result'--#if ENABLE_OVERLOADING-data VariantTypeEqualMethodInfo-instance (signature ~ (VariantType -> m Bool), MonadIO m) => O.MethodInfo VariantTypeEqualMethodInfo VariantType signature where-    overloadedMethod _ = variantTypeEqual--#endif---- method VariantType::first--- method type : OrdinaryMethod--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a tuple or dictionary entry #GVariantType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "VariantType"}))--- throws : False--- Skip return : False--foreign import ccall "g_variant_type_first" g_variant_type_first :: -    Ptr VariantType ->                      -- type : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO (Ptr VariantType)--{- |-Determines the first item type of a tuple or dictionary entry-type.--This function may only be used with tuple or dictionary entry types,-but must not be used with the generic tuple type-@/G_VARIANT_TYPE_TUPLE/@.--In the case of a dictionary entry type, this returns the type of-the key.--'Nothing' is returned in case of /@type@/ being @/G_VARIANT_TYPE_UNIT/@.--This call, together with 'GI.GLib.Structs.VariantType.variantTypeNext' provides an iterator-interface over tuple and dictionary entry types.--}-variantTypeFirst ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@type@/: a tuple or dictionary entry 'GI.GLib.Structs.VariantType.VariantType' -}-    -> m VariantType-    {- ^ __Returns:__ the first item type of /@type@/, or 'Nothing'--Since 2.24 -}-variantTypeFirst type_ = liftIO $ do-    type_' <- unsafeManagedPtrGetPtr type_-    result <- g_variant_type_first type_'-    checkUnexpectedReturnNULL "variantTypeFirst" result-    result' <- (newBoxed VariantType) result-    touchManagedPtr type_-    return result'--#if ENABLE_OVERLOADING-data VariantTypeFirstMethodInfo-instance (signature ~ (m VariantType), MonadIO m) => O.MethodInfo VariantTypeFirstMethodInfo VariantType signature where-    overloadedMethod _ = variantTypeFirst--#endif---- method VariantType::free--- method type : OrdinaryMethod--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantType, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_variant_type_free" g_variant_type_free :: -    Ptr VariantType ->                      -- type : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO ()--{- |-Frees a 'GI.GLib.Structs.VariantType.VariantType' that was allocated with-'GI.GLib.Structs.VariantType.variantTypeCopy', 'GI.GLib.Structs.VariantType.variantTypeNew' or one of the container-type constructor functions.--In the case that /@type@/ is 'Nothing', this function does nothing.--Since 2.24--}-variantTypeFree ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@type@/: a 'GI.GLib.Structs.VariantType.VariantType', or 'Nothing' -}-    -> m ()-variantTypeFree type_ = liftIO $ do-    type_' <- unsafeManagedPtrGetPtr type_-    g_variant_type_free type_'-    touchManagedPtr type_-    return ()--#if ENABLE_OVERLOADING-data VariantTypeFreeMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo VariantTypeFreeMethodInfo VariantType signature where-    overloadedMethod _ = variantTypeFree--#endif---- method VariantType::get_string_length--- method type : OrdinaryMethod--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantType", 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_variant_type_get_string_length" g_variant_type_get_string_length :: -    Ptr VariantType ->                      -- type : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO Word64--{- |-Returns the length of the type string corresponding to the given-/@type@/.  This function must be used to determine the valid extent of-the memory region returned by @/g_variant_type_peek_string()/@.--}-variantTypeGetStringLength ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@type@/: a 'GI.GLib.Structs.VariantType.VariantType' -}-    -> m Word64-    {- ^ __Returns:__ the length of the corresponding type string--Since 2.24 -}-variantTypeGetStringLength type_ = liftIO $ do-    type_' <- unsafeManagedPtrGetPtr type_-    result <- g_variant_type_get_string_length type_'-    touchManagedPtr type_-    return result--#if ENABLE_OVERLOADING-data VariantTypeGetStringLengthMethodInfo-instance (signature ~ (m Word64), MonadIO m) => O.MethodInfo VariantTypeGetStringLengthMethodInfo VariantType signature where-    overloadedMethod _ = variantTypeGetStringLength--#endif---- method VariantType::hash--- method type : OrdinaryMethod--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TBasicType TUInt)--- throws : False--- Skip return : False--foreign import ccall "g_variant_type_hash" g_variant_type_hash :: -    Ptr VariantType ->                      -- type : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO Word32--{- |-Hashes /@type@/.--The argument type of /@type@/ is only @/gconstpointer/@ to allow use with-'GI.GLib.Structs.HashTable.HashTable' without function pointer casting.  A valid-'GI.GLib.Structs.VariantType.VariantType' must be provided.--}-variantTypeHash ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@type@/: a 'GI.GLib.Structs.VariantType.VariantType' -}-    -> m Word32-    {- ^ __Returns:__ the hash value--Since 2.24 -}-variantTypeHash type_ = liftIO $ do-    type_' <- unsafeManagedPtrGetPtr type_-    result <- g_variant_type_hash type_'-    touchManagedPtr type_-    return result--#if ENABLE_OVERLOADING-data VariantTypeHashMethodInfo-instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo VariantTypeHashMethodInfo VariantType signature where-    overloadedMethod _ = variantTypeHash--#endif---- method VariantType::is_array--- method type : OrdinaryMethod--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantType", 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_variant_type_is_array" g_variant_type_is_array :: -    Ptr VariantType ->                      -- type : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO CInt--{- |-Determines if the given /@type@/ is an array type.  This is true if the-type string for /@type@/ starts with an \'a\'.--This function returns 'True' for any indefinite type for which every-definite subtype is an array type -- @/G_VARIANT_TYPE_ARRAY/@, for-example.--}-variantTypeIsArray ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@type@/: a 'GI.GLib.Structs.VariantType.VariantType' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@type@/ is an array type--Since 2.24 -}-variantTypeIsArray type_ = liftIO $ do-    type_' <- unsafeManagedPtrGetPtr type_-    result <- g_variant_type_is_array type_'-    let result' = (/= 0) result-    touchManagedPtr type_-    return result'--#if ENABLE_OVERLOADING-data VariantTypeIsArrayMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo VariantTypeIsArrayMethodInfo VariantType signature where-    overloadedMethod _ = variantTypeIsArray--#endif---- method VariantType::is_basic--- method type : OrdinaryMethod--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantType", 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_variant_type_is_basic" g_variant_type_is_basic :: -    Ptr VariantType ->                      -- type : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO CInt--{- |-Determines if the given /@type@/ is a basic type.--Basic types are booleans, bytes, integers, doubles, strings, object-paths and signatures.--Only a basic type may be used as the key of a dictionary entry.--This function returns 'False' for all indefinite types except-@/G_VARIANT_TYPE_BASIC/@.--}-variantTypeIsBasic ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@type@/: a 'GI.GLib.Structs.VariantType.VariantType' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@type@/ is a basic type--Since 2.24 -}-variantTypeIsBasic type_ = liftIO $ do-    type_' <- unsafeManagedPtrGetPtr type_-    result <- g_variant_type_is_basic type_'-    let result' = (/= 0) result-    touchManagedPtr type_-    return result'--#if ENABLE_OVERLOADING-data VariantTypeIsBasicMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo VariantTypeIsBasicMethodInfo VariantType signature where-    overloadedMethod _ = variantTypeIsBasic--#endif---- method VariantType::is_container--- method type : OrdinaryMethod--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantType", 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_variant_type_is_container" g_variant_type_is_container :: -    Ptr VariantType ->                      -- type : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO CInt--{- |-Determines if the given /@type@/ is a container type.--Container types are any array, maybe, tuple, or dictionary-entry types plus the variant type.--This function returns 'True' for any indefinite type for which every-definite subtype is a container -- @/G_VARIANT_TYPE_ARRAY/@, for-example.--}-variantTypeIsContainer ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@type@/: a 'GI.GLib.Structs.VariantType.VariantType' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@type@/ is a container type--Since 2.24 -}-variantTypeIsContainer type_ = liftIO $ do-    type_' <- unsafeManagedPtrGetPtr type_-    result <- g_variant_type_is_container type_'-    let result' = (/= 0) result-    touchManagedPtr type_-    return result'--#if ENABLE_OVERLOADING-data VariantTypeIsContainerMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo VariantTypeIsContainerMethodInfo VariantType signature where-    overloadedMethod _ = variantTypeIsContainer--#endif---- method VariantType::is_definite--- method type : OrdinaryMethod--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantType", 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_variant_type_is_definite" g_variant_type_is_definite :: -    Ptr VariantType ->                      -- type : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO CInt--{- |-Determines if the given /@type@/ is definite (ie: not indefinite).--A type is definite if its type string does not contain any indefinite-type characters (\'*\', \'?\', or \'r\').--A 'GVariant' instance may not have an indefinite type, so calling-this function on the result of 'GI.GLib.Structs.Variant.variantGetType' will always-result in 'True' being returned.  Calling this function on an-indefinite type like @/G_VARIANT_TYPE_ARRAY/@, however, will result in-'False' being returned.--}-variantTypeIsDefinite ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@type@/: a 'GI.GLib.Structs.VariantType.VariantType' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@type@/ is definite--Since 2.24 -}-variantTypeIsDefinite type_ = liftIO $ do-    type_' <- unsafeManagedPtrGetPtr type_-    result <- g_variant_type_is_definite type_'-    let result' = (/= 0) result-    touchManagedPtr type_-    return result'--#if ENABLE_OVERLOADING-data VariantTypeIsDefiniteMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo VariantTypeIsDefiniteMethodInfo VariantType signature where-    overloadedMethod _ = variantTypeIsDefinite--#endif---- method VariantType::is_dict_entry--- method type : OrdinaryMethod--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantType", 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_variant_type_is_dict_entry" g_variant_type_is_dict_entry :: -    Ptr VariantType ->                      -- type : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO CInt--{- |-Determines if the given /@type@/ is a dictionary entry type.  This is-true if the type string for /@type@/ starts with a \'{\'.--This function returns 'True' for any indefinite type for which every-definite subtype is a dictionary entry type ---@/G_VARIANT_TYPE_DICT_ENTRY/@, for example.--}-variantTypeIsDictEntry ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@type@/: a 'GI.GLib.Structs.VariantType.VariantType' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@type@/ is a dictionary entry type--Since 2.24 -}-variantTypeIsDictEntry type_ = liftIO $ do-    type_' <- unsafeManagedPtrGetPtr type_-    result <- g_variant_type_is_dict_entry type_'-    let result' = (/= 0) result-    touchManagedPtr type_-    return result'--#if ENABLE_OVERLOADING-data VariantTypeIsDictEntryMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo VariantTypeIsDictEntryMethodInfo VariantType signature where-    overloadedMethod _ = variantTypeIsDictEntry--#endif---- method VariantType::is_maybe--- method type : OrdinaryMethod--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantType", 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_variant_type_is_maybe" g_variant_type_is_maybe :: -    Ptr VariantType ->                      -- type : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO CInt--{- |-Determines if the given /@type@/ is a maybe type.  This is true if the-type string for /@type@/ starts with an \'m\'.--This function returns 'True' for any indefinite type for which every-definite subtype is a maybe type -- @/G_VARIANT_TYPE_MAYBE/@, for-example.--}-variantTypeIsMaybe ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@type@/: a 'GI.GLib.Structs.VariantType.VariantType' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@type@/ is a maybe type--Since 2.24 -}-variantTypeIsMaybe type_ = liftIO $ do-    type_' <- unsafeManagedPtrGetPtr type_-    result <- g_variant_type_is_maybe type_'-    let result' = (/= 0) result-    touchManagedPtr type_-    return result'--#if ENABLE_OVERLOADING-data VariantTypeIsMaybeMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo VariantTypeIsMaybeMethodInfo VariantType signature where-    overloadedMethod _ = variantTypeIsMaybe--#endif---- method VariantType::is_subtype_of--- method type : OrdinaryMethod--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "supertype", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantType", 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_variant_type_is_subtype_of" g_variant_type_is_subtype_of :: -    Ptr VariantType ->                      -- type : TInterface (Name {namespace = "GLib", name = "VariantType"})-    Ptr VariantType ->                      -- supertype : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO CInt--{- |-Checks if /@type@/ is a subtype of /@supertype@/.--This function returns 'True' if /@type@/ is a subtype of /@supertype@/.  All-types are considered to be subtypes of themselves.  Aside from that,-only indefinite types can have subtypes.--}-variantTypeIsSubtypeOf ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@type@/: a 'GI.GLib.Structs.VariantType.VariantType' -}-    -> VariantType-    {- ^ /@supertype@/: a 'GI.GLib.Structs.VariantType.VariantType' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@type@/ is a subtype of /@supertype@/--Since 2.24 -}-variantTypeIsSubtypeOf type_ supertype = liftIO $ do-    type_' <- unsafeManagedPtrGetPtr type_-    supertype' <- unsafeManagedPtrGetPtr supertype-    result <- g_variant_type_is_subtype_of type_' supertype'-    let result' = (/= 0) result-    touchManagedPtr type_-    touchManagedPtr supertype-    return result'--#if ENABLE_OVERLOADING-data VariantTypeIsSubtypeOfMethodInfo-instance (signature ~ (VariantType -> m Bool), MonadIO m) => O.MethodInfo VariantTypeIsSubtypeOfMethodInfo VariantType signature where-    overloadedMethod _ = variantTypeIsSubtypeOf--#endif---- method VariantType::is_tuple--- method type : OrdinaryMethod--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantType", 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_variant_type_is_tuple" g_variant_type_is_tuple :: -    Ptr VariantType ->                      -- type : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO CInt--{- |-Determines if the given /@type@/ is a tuple type.  This is true if the-type string for /@type@/ starts with a \'(\' or if /@type@/ is-@/G_VARIANT_TYPE_TUPLE/@.--This function returns 'True' for any indefinite type for which every-definite subtype is a tuple type -- @/G_VARIANT_TYPE_TUPLE/@, for-example.--}-variantTypeIsTuple ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@type@/: a 'GI.GLib.Structs.VariantType.VariantType' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@type@/ is a tuple type--Since 2.24 -}-variantTypeIsTuple type_ = liftIO $ do-    type_' <- unsafeManagedPtrGetPtr type_-    result <- g_variant_type_is_tuple type_'-    let result' = (/= 0) result-    touchManagedPtr type_-    return result'--#if ENABLE_OVERLOADING-data VariantTypeIsTupleMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo VariantTypeIsTupleMethodInfo VariantType signature where-    overloadedMethod _ = variantTypeIsTuple--#endif---- method VariantType::is_variant--- method type : OrdinaryMethod--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantType", 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_variant_type_is_variant" g_variant_type_is_variant :: -    Ptr VariantType ->                      -- type : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO CInt--{- |-Determines if the given /@type@/ is the variant type.--}-variantTypeIsVariant ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@type@/: a 'GI.GLib.Structs.VariantType.VariantType' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@type@/ is the variant type--Since 2.24 -}-variantTypeIsVariant type_ = liftIO $ do-    type_' <- unsafeManagedPtrGetPtr type_-    result <- g_variant_type_is_variant type_'-    let result' = (/= 0) result-    touchManagedPtr type_-    return result'--#if ENABLE_OVERLOADING-data VariantTypeIsVariantMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo VariantTypeIsVariantMethodInfo VariantType signature where-    overloadedMethod _ = variantTypeIsVariant--#endif---- method VariantType::key--- method type : OrdinaryMethod--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a dictionary entry #GVariantType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "VariantType"}))--- throws : False--- Skip return : False--foreign import ccall "g_variant_type_key" g_variant_type_key :: -    Ptr VariantType ->                      -- type : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO (Ptr VariantType)--{- |-Determines the key type of a dictionary entry type.--This function may only be used with a dictionary entry type.  Other-than the additional restriction, this call is equivalent to-'GI.GLib.Structs.VariantType.variantTypeFirst'.--}-variantTypeKey ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@type@/: a dictionary entry 'GI.GLib.Structs.VariantType.VariantType' -}-    -> m VariantType-    {- ^ __Returns:__ the key type of the dictionary entry--Since 2.24 -}-variantTypeKey type_ = liftIO $ do-    type_' <- unsafeManagedPtrGetPtr type_-    result <- g_variant_type_key type_'-    checkUnexpectedReturnNULL "variantTypeKey" result-    result' <- (newBoxed VariantType) result-    touchManagedPtr type_-    return result'--#if ENABLE_OVERLOADING-data VariantTypeKeyMethodInfo-instance (signature ~ (m VariantType), MonadIO m) => O.MethodInfo VariantTypeKeyMethodInfo VariantType signature where-    overloadedMethod _ = variantTypeKey--#endif---- method VariantType::n_items--- method type : OrdinaryMethod--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a tuple or dictionary entry #GVariantType", 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_variant_type_n_items" g_variant_type_n_items :: -    Ptr VariantType ->                      -- type : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO Word64--{- |-Determines the number of items contained in a tuple or-dictionary entry type.--This function may only be used with tuple or dictionary entry types,-but must not be used with the generic tuple type-@/G_VARIANT_TYPE_TUPLE/@.--In the case of a dictionary entry type, this function will always-return 2.--}-variantTypeNItems ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@type@/: a tuple or dictionary entry 'GI.GLib.Structs.VariantType.VariantType' -}-    -> m Word64-    {- ^ __Returns:__ the number of items in /@type@/--Since 2.24 -}-variantTypeNItems type_ = liftIO $ do-    type_' <- unsafeManagedPtrGetPtr type_-    result <- g_variant_type_n_items type_'-    touchManagedPtr type_-    return result--#if ENABLE_OVERLOADING-data VariantTypeNItemsMethodInfo-instance (signature ~ (m Word64), MonadIO m) => O.MethodInfo VariantTypeNItemsMethodInfo VariantType signature where-    overloadedMethod _ = variantTypeNItems--#endif---- method VariantType::next--- method type : OrdinaryMethod--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariantType from a previous call", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "VariantType"}))--- throws : False--- Skip return : False--foreign import ccall "g_variant_type_next" g_variant_type_next :: -    Ptr VariantType ->                      -- type : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO (Ptr VariantType)--{- |-Determines the next item type of a tuple or dictionary entry-type.--/@type@/ must be the result of a previous call to-'GI.GLib.Structs.VariantType.variantTypeFirst' or 'GI.GLib.Structs.VariantType.variantTypeNext'.--If called on the key type of a dictionary entry then this call-returns the value type.  If called on the value type of a dictionary-entry then this call returns 'Nothing'.--For tuples, 'Nothing' is returned when /@type@/ is the last item in a tuple.--}-variantTypeNext ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@type@/: a 'GI.GLib.Structs.VariantType.VariantType' from a previous call -}-    -> m VariantType-    {- ^ __Returns:__ the next 'GI.GLib.Structs.VariantType.VariantType' after /@type@/, or 'Nothing'--Since 2.24 -}-variantTypeNext type_ = liftIO $ do-    type_' <- unsafeManagedPtrGetPtr type_-    result <- g_variant_type_next type_'-    checkUnexpectedReturnNULL "variantTypeNext" result-    result' <- (newBoxed VariantType) result-    touchManagedPtr type_-    return result'--#if ENABLE_OVERLOADING-data VariantTypeNextMethodInfo-instance (signature ~ (m VariantType), MonadIO m) => O.MethodInfo VariantTypeNextMethodInfo VariantType signature where-    overloadedMethod _ = variantTypeNext--#endif---- method VariantType::value--- method type : OrdinaryMethod--- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "GLib", name = "VariantType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a dictionary entry #GVariantType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Just (TInterface (Name {namespace = "GLib", name = "VariantType"}))--- throws : False--- Skip return : False--foreign import ccall "g_variant_type_value" g_variant_type_value :: -    Ptr VariantType ->                      -- type : TInterface (Name {namespace = "GLib", name = "VariantType"})-    IO (Ptr VariantType)--{- |-Determines the value type of a dictionary entry type.--This function may only be used with a dictionary entry type.--}-variantTypeValue ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    VariantType-    {- ^ /@type@/: a dictionary entry 'GI.GLib.Structs.VariantType.VariantType' -}-    -> m VariantType-    {- ^ __Returns:__ the value type of the dictionary entry--Since 2.24 -}-variantTypeValue type_ = liftIO $ do-    type_' <- unsafeManagedPtrGetPtr type_-    result <- g_variant_type_value type_'-    checkUnexpectedReturnNULL "variantTypeValue" result-    result' <- (newBoxed VariantType) result-    touchManagedPtr type_-    return result'--#if ENABLE_OVERLOADING-data VariantTypeValueMethodInfo-instance (signature ~ (m VariantType), MonadIO m) => O.MethodInfo VariantTypeValueMethodInfo VariantType signature where-    overloadedMethod _ = variantTypeValue--#endif---- method VariantType::checked_--- method type : MemberFunction--- Args : [Arg {argCName = "arg0", 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 (TInterface (Name {namespace = "GLib", name = "VariantType"}))--- throws : False--- Skip return : False--foreign import ccall "g_variant_type_checked_" g_variant_type_checked_ :: -    CString ->                              -- arg0 : TBasicType TUTF8-    IO (Ptr VariantType)--{- |-/No description available in the introspection data./--}-variantTypeChecked_ ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    -> m VariantType-variantTypeChecked_ arg0 = liftIO $ do-    arg0' <- textToCString arg0-    result <- g_variant_type_checked_ arg0'-    checkUnexpectedReturnNULL "variantTypeChecked_" result-    result' <- (newBoxed VariantType) result-    freeMem arg0'-    return result'--#if ENABLE_OVERLOADING-#endif---- method VariantType::string_get_depth_--- method type : MemberFunction--- Args : [Arg {argCName = "type_string", 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 TUInt64)--- throws : False--- Skip return : False--foreign import ccall "g_variant_type_string_get_depth_" g_variant_type_string_get_depth_ :: -    CString ->                              -- type_string : TBasicType TUTF8-    IO Word64--{- |-/No description available in the introspection data./--}-variantTypeStringGetDepth_ ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    -> m Word64-variantTypeStringGetDepth_ typeString = liftIO $ do-    typeString' <- textToCString typeString-    result <- g_variant_type_string_get_depth_ typeString'-    freeMem typeString'-    return result--#if ENABLE_OVERLOADING-#endif---- method VariantType::string_is_valid--- method type : MemberFunction--- Args : [Arg {argCName = "type_string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to any string", 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_variant_type_string_is_valid" g_variant_type_string_is_valid :: -    CString ->                              -- type_string : TBasicType TUTF8-    IO CInt--{- |-Checks if /@typeString@/ is a valid GVariant type string.  This call is-equivalent to calling 'GI.GLib.Functions.variantTypeStringScan' and confirming-that the following character is a nul terminator.--}-variantTypeStringIsValid ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@typeString@/: a pointer to any string -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@typeString@/ is exactly one valid type string--Since 2.24 -}-variantTypeStringIsValid typeString = liftIO $ do-    typeString' <- textToCString typeString-    result <- g_variant_type_string_is_valid typeString'-    let result' = (/= 0) result-    freeMem typeString'-    return result'--#if ENABLE_OVERLOADING-#endif---- method VariantType::string_scan--- method type : MemberFunction--- Args : [Arg {argCName = "string", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a pointer to any string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "limit", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "the end of @string, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "endptr", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the end pointer, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]--- Lengths : []--- returnType : Just (TBasicType TBoolean)--- throws : False--- Skip return : False--foreign import ccall "g_variant_type_string_scan" g_variant_type_string_scan :: -    CString ->                              -- string : TBasicType TUTF8-    CString ->                              -- limit : TBasicType TUTF8-    Ptr CString ->                          -- endptr : TBasicType TUTF8-    IO CInt--{- |-Scan for a single complete and valid GVariant type string in /@string@/.-The memory pointed to by /@limit@/ (or bytes beyond it) is never-accessed.--If a valid type string is found, /@endptr@/ is updated to point to the-first character past the end of the string that was found and 'True'-is returned.--If there is no valid type string starting at /@string@/, or if the type-string does not end before /@limit@/ then 'False' is returned.--For the simple case of checking if a string is a valid type string,-see 'GI.GLib.Functions.variantTypeStringIsValid'.--/Since: 2.24/--}-variantTypeStringScan ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    T.Text-    {- ^ /@string@/: a pointer to any string -}-    -> Maybe (T.Text)-    {- ^ /@limit@/: the end of /@string@/, or 'Nothing' -}-    -> m ((Bool, T.Text))-    {- ^ __Returns:__ 'True' if a valid type string was found -}-variantTypeStringScan string limit = liftIO $ do-    string' <- textToCString string-    maybeLimit <- case limit of-        Nothing -> return nullPtr-        Just jLimit -> do-            jLimit' <- textToCString jLimit-            return jLimit'-    endptr <- allocMem :: IO (Ptr CString)-    result <- g_variant_type_string_scan string' maybeLimit endptr-    let result' = (/= 0) result-    endptr' <- peek endptr-    endptr'' <- cstringToText endptr'-    freeMem endptr'-    freeMem string'-    freeMem maybeLimit-    freeMem endptr-    return (result', endptr'')--#if ENABLE_OVERLOADING-#endif--#if ENABLE_OVERLOADING-type family ResolveVariantTypeMethod (t :: Symbol) (o :: *) :: * where-    ResolveVariantTypeMethod "copy" o = VariantTypeCopyMethodInfo-    ResolveVariantTypeMethod "dupString" o = VariantTypeDupStringMethodInfo-    ResolveVariantTypeMethod "element" o = VariantTypeElementMethodInfo-    ResolveVariantTypeMethod "equal" o = VariantTypeEqualMethodInfo-    ResolveVariantTypeMethod "first" o = VariantTypeFirstMethodInfo-    ResolveVariantTypeMethod "free" o = VariantTypeFreeMethodInfo-    ResolveVariantTypeMethod "hash" o = VariantTypeHashMethodInfo-    ResolveVariantTypeMethod "isArray" o = VariantTypeIsArrayMethodInfo-    ResolveVariantTypeMethod "isBasic" o = VariantTypeIsBasicMethodInfo-    ResolveVariantTypeMethod "isContainer" o = VariantTypeIsContainerMethodInfo-    ResolveVariantTypeMethod "isDefinite" o = VariantTypeIsDefiniteMethodInfo-    ResolveVariantTypeMethod "isDictEntry" o = VariantTypeIsDictEntryMethodInfo-    ResolveVariantTypeMethod "isMaybe" o = VariantTypeIsMaybeMethodInfo-    ResolveVariantTypeMethod "isSubtypeOf" o = VariantTypeIsSubtypeOfMethodInfo-    ResolveVariantTypeMethod "isTuple" o = VariantTypeIsTupleMethodInfo-    ResolveVariantTypeMethod "isVariant" o = VariantTypeIsVariantMethodInfo-    ResolveVariantTypeMethod "key" o = VariantTypeKeyMethodInfo-    ResolveVariantTypeMethod "nItems" o = VariantTypeNItemsMethodInfo-    ResolveVariantTypeMethod "next" o = VariantTypeNextMethodInfo-    ResolveVariantTypeMethod "value" o = VariantTypeValueMethodInfo-    ResolveVariantTypeMethod "getStringLength" o = VariantTypeGetStringLengthMethodInfo-    ResolveVariantTypeMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveVariantTypeMethod t VariantType, O.MethodInfo info VariantType p) => OL.IsLabel t (VariantType -> 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/GLib/Structs/VariantType.hs-boot
@@ -1,89 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Structs.VariantType 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 VariantType = VariantType (ManagedPtr VariantType)-instance BoxedObject VariantType where-#if ENABLE_OVERLOADING-data VariantTypeCopyMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantTypeDupStringMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantTypeElementMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantTypeEqualMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantTypeFirstMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantTypeFreeMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantTypeGetStringLengthMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantTypeHashMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantTypeIsArrayMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantTypeIsBasicMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantTypeIsContainerMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantTypeIsDefiniteMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantTypeIsDictEntryMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantTypeIsMaybeMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantTypeIsSubtypeOfMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantTypeIsTupleMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantTypeIsVariantMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantTypeKeyMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantTypeNItemsMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantTypeNextMethodInfo-#endif-#if ENABLE_OVERLOADING-data VariantTypeValueMethodInfo-#endif
− GI/GLib/Unions.hs
@@ -1,47 +0,0 @@---{- |-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.GLib.Unions-    (     module GI.GLib.Unions.DoubleIEEE754     ,-    module GI.GLib.Unions.FloatIEEE754      ,-    module GI.GLib.Unions.Mutex             ,-    module GI.GLib.Unions.TokenValue        ,---    ) where--import GI.GLib.Unions.DoubleIEEE754-import GI.GLib.Unions.FloatIEEE754-import GI.GLib.Unions.Mutex-import GI.GLib.Unions.TokenValue--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/GLib/Unions/DoubleIEEE754.hs
@@ -1,151 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The 'GI.GLib.Unions.FloatIEEE754.FloatIEEE754' and 'GI.GLib.Unions.DoubleIEEE754.DoubleIEEE754' unions are used to access the sign,-mantissa and exponent of IEEE floats and doubles. These unions are defined-as appropriate for a given platform. IEEE floats and doubles are supported-(used for storage) by at least Intel, PPC and Sparc.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Unions.DoubleIEEE754-    ( ---- * Exported types-    DoubleIEEE754(..)                       ,-    newZeroDoubleIEEE754                    ,-    noDoubleIEEE754                         ,--- -- * Properties--- ** vDouble #attr:vDouble#-{- | the double value--}-#if ENABLE_OVERLOADING-    doubleIEEE754_vDouble                   ,-#endif-    getDoubleIEEE754VDouble                 ,-    setDoubleIEEE754VDouble                 ,-----    ) 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 DoubleIEEE754 = DoubleIEEE754 (ManagedPtr DoubleIEEE754)-instance WrappedPtr DoubleIEEE754 where-    wrappedPtrCalloc = callocBytes 8-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 8 >=> wrapPtr DoubleIEEE754)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `DoubleIEEE754` struct initialized to zero.-newZeroDoubleIEEE754 :: MonadIO m => m DoubleIEEE754-newZeroDoubleIEEE754 = liftIO $ wrappedPtrCalloc >>= wrapPtr DoubleIEEE754--instance tag ~ 'AttrSet => Constructible DoubleIEEE754 tag where-    new _ attrs = do-        o <- newZeroDoubleIEEE754-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `DoubleIEEE754`.-noDoubleIEEE754 :: Maybe DoubleIEEE754-noDoubleIEEE754 = Nothing--{- |-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' doubleIEEE754 #vDouble-@--}-getDoubleIEEE754VDouble :: MonadIO m => DoubleIEEE754 -> m Double-getDoubleIEEE754VDouble 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' doubleIEEE754 [ #vDouble 'Data.GI.Base.Attributes.:=' value ]-@--}-setDoubleIEEE754VDouble :: MonadIO m => DoubleIEEE754 -> Double -> m ()-setDoubleIEEE754VDouble s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = realToFrac val-    poke (ptr `plusPtr` 0) (val' :: CDouble)--#if ENABLE_OVERLOADING-data DoubleIEEE754VDoubleFieldInfo-instance AttrInfo DoubleIEEE754VDoubleFieldInfo where-    type AttrAllowedOps DoubleIEEE754VDoubleFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint DoubleIEEE754VDoubleFieldInfo = (~) Double-    type AttrBaseTypeConstraint DoubleIEEE754VDoubleFieldInfo = (~) DoubleIEEE754-    type AttrGetType DoubleIEEE754VDoubleFieldInfo = Double-    type AttrLabel DoubleIEEE754VDoubleFieldInfo = "v_double"-    type AttrOrigin DoubleIEEE754VDoubleFieldInfo = DoubleIEEE754-    attrGet _ = getDoubleIEEE754VDouble-    attrSet _ = setDoubleIEEE754VDouble-    attrConstruct = undefined-    attrClear _ = undefined--doubleIEEE754_vDouble :: AttrLabelProxy "vDouble"-doubleIEEE754_vDouble = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList DoubleIEEE754-type instance O.AttributeList DoubleIEEE754 = DoubleIEEE754AttributeList-type DoubleIEEE754AttributeList = ('[ '("vDouble", DoubleIEEE754VDoubleFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveDoubleIEEE754Method (t :: Symbol) (o :: *) :: * where-    ResolveDoubleIEEE754Method l o = O.MethodResolutionFailed l o--instance (info ~ ResolveDoubleIEEE754Method t DoubleIEEE754, O.MethodInfo info DoubleIEEE754 p) => OL.IsLabel t (DoubleIEEE754 -> 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/GLib/Unions/DoubleIEEE754.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Unions.DoubleIEEE754 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 DoubleIEEE754 = DoubleIEEE754 (ManagedPtr DoubleIEEE754)-instance WrappedPtr DoubleIEEE754 where
− GI/GLib/Unions/FloatIEEE754.hs
@@ -1,151 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The 'GI.GLib.Unions.FloatIEEE754.FloatIEEE754' and 'GI.GLib.Unions.DoubleIEEE754.DoubleIEEE754' unions are used to access the sign,-mantissa and exponent of IEEE floats and doubles. These unions are defined-as appropriate for a given platform. IEEE floats and doubles are supported-(used for storage) by at least Intel, PPC and Sparc.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Unions.FloatIEEE754-    ( ---- * Exported types-    FloatIEEE754(..)                        ,-    newZeroFloatIEEE754                     ,-    noFloatIEEE754                          ,--- -- * Properties--- ** vFloat #attr:vFloat#-{- | the double value--}-#if ENABLE_OVERLOADING-    floatIEEE754_vFloat                     ,-#endif-    getFloatIEEE754VFloat                   ,-    setFloatIEEE754VFloat                   ,-----    ) 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 FloatIEEE754 = FloatIEEE754 (ManagedPtr FloatIEEE754)-instance WrappedPtr FloatIEEE754 where-    wrappedPtrCalloc = callocBytes 4-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 4 >=> wrapPtr FloatIEEE754)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `FloatIEEE754` struct initialized to zero.-newZeroFloatIEEE754 :: MonadIO m => m FloatIEEE754-newZeroFloatIEEE754 = liftIO $ wrappedPtrCalloc >>= wrapPtr FloatIEEE754--instance tag ~ 'AttrSet => Constructible FloatIEEE754 tag where-    new _ attrs = do-        o <- newZeroFloatIEEE754-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `FloatIEEE754`.-noFloatIEEE754 :: Maybe FloatIEEE754-noFloatIEEE754 = Nothing--{- |-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' floatIEEE754 #vFloat-@--}-getFloatIEEE754VFloat :: MonadIO m => FloatIEEE754 -> m Float-getFloatIEEE754VFloat 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' floatIEEE754 [ #vFloat 'Data.GI.Base.Attributes.:=' value ]-@--}-setFloatIEEE754VFloat :: MonadIO m => FloatIEEE754 -> Float -> m ()-setFloatIEEE754VFloat s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = realToFrac val-    poke (ptr `plusPtr` 0) (val' :: CFloat)--#if ENABLE_OVERLOADING-data FloatIEEE754VFloatFieldInfo-instance AttrInfo FloatIEEE754VFloatFieldInfo where-    type AttrAllowedOps FloatIEEE754VFloatFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint FloatIEEE754VFloatFieldInfo = (~) Float-    type AttrBaseTypeConstraint FloatIEEE754VFloatFieldInfo = (~) FloatIEEE754-    type AttrGetType FloatIEEE754VFloatFieldInfo = Float-    type AttrLabel FloatIEEE754VFloatFieldInfo = "v_float"-    type AttrOrigin FloatIEEE754VFloatFieldInfo = FloatIEEE754-    attrGet _ = getFloatIEEE754VFloat-    attrSet _ = setFloatIEEE754VFloat-    attrConstruct = undefined-    attrClear _ = undefined--floatIEEE754_vFloat :: AttrLabelProxy "vFloat"-floatIEEE754_vFloat = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList FloatIEEE754-type instance O.AttributeList FloatIEEE754 = FloatIEEE754AttributeList-type FloatIEEE754AttributeList = ('[ '("vFloat", FloatIEEE754VFloatFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveFloatIEEE754Method (t :: Symbol) (o :: *) :: * where-    ResolveFloatIEEE754Method l o = O.MethodResolutionFailed l o--instance (info ~ ResolveFloatIEEE754Method t FloatIEEE754, O.MethodInfo info FloatIEEE754 p) => OL.IsLabel t (FloatIEEE754 -> 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/GLib/Unions/FloatIEEE754.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Unions.FloatIEEE754 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 FloatIEEE754 = FloatIEEE754 (ManagedPtr FloatIEEE754)-instance WrappedPtr FloatIEEE754 where
− GI/GLib/Unions/Mutex.hs
@@ -1,403 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--The 'GI.GLib.Unions.Mutex.Mutex' struct is an opaque data structure to represent a mutex-(mutual exclusion). It can be used to protect data against shared-access.--Take for example the following function:--=== /C code/->->  int->  give_me_next_number (void)->  {->    static int current_number = 0;->->    // now do a very complicated calculation to calculate the new->    // number, this might for example be a random number generator->    current_number = calc_next_number (current_number);->->    return current_number;->  }--It is easy to see that this won\'t work in a multi-threaded-application. There current_number must be protected against shared-access. A 'GI.GLib.Unions.Mutex.Mutex' can be used as a solution to this problem:--=== /C code/->->  int->  give_me_next_number (void)->  {->    static GMutex mutex;->    static int current_number = 0;->    int ret_val;->->    g_mutex_lock (&mutex);->    ret_val = current_number = calc_next_number (current_number);->    g_mutex_unlock (&mutex);->->    return ret_val;->  }--Notice that the 'GI.GLib.Unions.Mutex.Mutex' is not initialised to any particular value.-Its placement in static storage ensures that it will be initialised-to all-zeros, which is appropriate.--If a 'GI.GLib.Unions.Mutex.Mutex' is placed in other contexts (eg: embedded in a struct)-then it must be explicitly initialised using 'GI.GLib.Unions.Mutex.mutexInit'.--A 'GI.GLib.Unions.Mutex.Mutex' should only be accessed via g_mutex_ functions.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Unions.Mutex-    ( ---- * Exported types-    Mutex(..)                               ,-    newZeroMutex                            ,-    noMutex                                 ,--- -- * Methods--- ** clear #method:clear#--#if ENABLE_OVERLOADING-    MutexClearMethodInfo                    ,-#endif-    mutexClear                              ,----- ** init #method:init#--#if ENABLE_OVERLOADING-    MutexInitMethodInfo                     ,-#endif-    mutexInit                               ,----- ** lock #method:lock#--#if ENABLE_OVERLOADING-    MutexLockMethodInfo                     ,-#endif-    mutexLock                               ,----- ** trylock #method:trylock#--#if ENABLE_OVERLOADING-    MutexTrylockMethodInfo                  ,-#endif-    mutexTrylock                            ,----- ** unlock #method:unlock#--#if ENABLE_OVERLOADING-    MutexUnlockMethodInfo                   ,-#endif-    mutexUnlock                             ,-----    ) 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 Mutex = Mutex (ManagedPtr Mutex)-instance WrappedPtr Mutex where-    wrappedPtrCalloc = callocBytes 8-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 8 >=> wrapPtr Mutex)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `Mutex` struct initialized to zero.-newZeroMutex :: MonadIO m => m Mutex-newZeroMutex = liftIO $ wrappedPtrCalloc >>= wrapPtr Mutex--instance tag ~ 'AttrSet => Constructible Mutex tag where-    new _ attrs = do-        o <- newZeroMutex-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `Mutex`.-noMutex :: Maybe Mutex-noMutex = Nothing---#if ENABLE_OVERLOADING-instance O.HasAttributeList Mutex-type instance O.AttributeList Mutex = MutexAttributeList-type MutexAttributeList = ('[ ] :: [(Symbol, *)])-#endif---- method Mutex::clear--- method type : OrdinaryMethod--- Args : [Arg {argCName = "mutex", argType = TInterface (Name {namespace = "GLib", name = "Mutex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an initialized #GMutex", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_mutex_clear" g_mutex_clear :: -    Ptr Mutex ->                            -- mutex : TInterface (Name {namespace = "GLib", name = "Mutex"})-    IO ()--{- |-Frees the resources allocated to a mutex with 'GI.GLib.Unions.Mutex.mutexInit'.--This function should not be used with a 'GI.GLib.Unions.Mutex.Mutex' that has been-statically allocated.--Calling 'GI.GLib.Unions.Mutex.mutexClear' on a locked mutex leads to undefined-behaviour.--Sine: 2.32--}-mutexClear ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Mutex-    {- ^ /@mutex@/: an initialized 'GI.GLib.Unions.Mutex.Mutex' -}-    -> m ()-mutexClear mutex = liftIO $ do-    mutex' <- unsafeManagedPtrGetPtr mutex-    g_mutex_clear mutex'-    touchManagedPtr mutex-    return ()--#if ENABLE_OVERLOADING-data MutexClearMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo MutexClearMethodInfo Mutex signature where-    overloadedMethod _ = mutexClear--#endif---- method Mutex::init--- method type : OrdinaryMethod--- Args : [Arg {argCName = "mutex", argType = TInterface (Name {namespace = "GLib", name = "Mutex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an uninitialized #GMutex", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_mutex_init" g_mutex_init :: -    Ptr Mutex ->                            -- mutex : TInterface (Name {namespace = "GLib", name = "Mutex"})-    IO ()--{- |-Initializes a 'GI.GLib.Unions.Mutex.Mutex' so that it can be used.--This function is useful to initialize a mutex that has been-allocated on the stack, or as part of a larger structure.-It is not necessary to initialize a mutex that has been-statically allocated.---=== /C code/->->  typedef struct {->    GMutex m;->    ...->  } Blob;->->Blob *b;->->b = g_new (Blob, 1);->g_mutex_init (&b->m);---To undo the effect of 'GI.GLib.Unions.Mutex.mutexInit' when a mutex is no longer-needed, use 'GI.GLib.Unions.Mutex.mutexClear'.--Calling 'GI.GLib.Unions.Mutex.mutexInit' on an already initialized 'GI.GLib.Unions.Mutex.Mutex' leads-to undefined behaviour.--/Since: 2.32/--}-mutexInit ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Mutex-    {- ^ /@mutex@/: an uninitialized 'GI.GLib.Unions.Mutex.Mutex' -}-    -> m ()-mutexInit mutex = liftIO $ do-    mutex' <- unsafeManagedPtrGetPtr mutex-    g_mutex_init mutex'-    touchManagedPtr mutex-    return ()--#if ENABLE_OVERLOADING-data MutexInitMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo MutexInitMethodInfo Mutex signature where-    overloadedMethod _ = mutexInit--#endif---- method Mutex::lock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "mutex", argType = TInterface (Name {namespace = "GLib", name = "Mutex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMutex", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_mutex_lock" g_mutex_lock :: -    Ptr Mutex ->                            -- mutex : TInterface (Name {namespace = "GLib", name = "Mutex"})-    IO ()--{- |-Locks /@mutex@/. If /@mutex@/ is already locked by another thread, the-current thread will block until /@mutex@/ is unlocked by the other-thread.--'GI.GLib.Unions.Mutex.Mutex' is neither guaranteed to be recursive nor to be-non-recursive.  As such, calling 'GI.GLib.Unions.Mutex.mutexLock' on a 'GI.GLib.Unions.Mutex.Mutex' that has-already been locked by the same thread results in undefined behaviour-(including but not limited to deadlocks).--}-mutexLock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Mutex-    {- ^ /@mutex@/: a 'GI.GLib.Unions.Mutex.Mutex' -}-    -> m ()-mutexLock mutex = liftIO $ do-    mutex' <- unsafeManagedPtrGetPtr mutex-    g_mutex_lock mutex'-    touchManagedPtr mutex-    return ()--#if ENABLE_OVERLOADING-data MutexLockMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo MutexLockMethodInfo Mutex signature where-    overloadedMethod _ = mutexLock--#endif---- method Mutex::trylock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "mutex", argType = TInterface (Name {namespace = "GLib", name = "Mutex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMutex", 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_mutex_trylock" g_mutex_trylock :: -    Ptr Mutex ->                            -- mutex : TInterface (Name {namespace = "GLib", name = "Mutex"})-    IO CInt--{- |-Tries to lock /@mutex@/. If /@mutex@/ is already locked by another thread,-it immediately returns 'False'. Otherwise it locks /@mutex@/ and returns-'True'.--'GI.GLib.Unions.Mutex.Mutex' is neither guaranteed to be recursive nor to be-non-recursive.  As such, calling 'GI.GLib.Unions.Mutex.mutexLock' on a 'GI.GLib.Unions.Mutex.Mutex' that has-already been locked by the same thread results in undefined behaviour-(including but not limited to deadlocks or arbitrary return values).--}-mutexTrylock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Mutex-    {- ^ /@mutex@/: a 'GI.GLib.Unions.Mutex.Mutex' -}-    -> m Bool-    {- ^ __Returns:__ 'True' if /@mutex@/ could be locked -}-mutexTrylock mutex = liftIO $ do-    mutex' <- unsafeManagedPtrGetPtr mutex-    result <- g_mutex_trylock mutex'-    let result' = (/= 0) result-    touchManagedPtr mutex-    return result'--#if ENABLE_OVERLOADING-data MutexTrylockMethodInfo-instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo MutexTrylockMethodInfo Mutex signature where-    overloadedMethod _ = mutexTrylock--#endif---- method Mutex::unlock--- method type : OrdinaryMethod--- Args : [Arg {argCName = "mutex", argType = TInterface (Name {namespace = "GLib", name = "Mutex"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GMutex", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]--- Lengths : []--- returnType : Nothing--- throws : False--- Skip return : False--foreign import ccall "g_mutex_unlock" g_mutex_unlock :: -    Ptr Mutex ->                            -- mutex : TInterface (Name {namespace = "GLib", name = "Mutex"})-    IO ()--{- |-Unlocks /@mutex@/. If another thread is blocked in a 'GI.GLib.Unions.Mutex.mutexLock'-call for /@mutex@/, it will become unblocked and can lock /@mutex@/ itself.--Calling 'GI.GLib.Unions.Mutex.mutexUnlock' on a mutex that is not locked by the-current thread leads to undefined behaviour.--}-mutexUnlock ::-    (B.CallStack.HasCallStack, MonadIO m) =>-    Mutex-    {- ^ /@mutex@/: a 'GI.GLib.Unions.Mutex.Mutex' -}-    -> m ()-mutexUnlock mutex = liftIO $ do-    mutex' <- unsafeManagedPtrGetPtr mutex-    g_mutex_unlock mutex'-    touchManagedPtr mutex-    return ()--#if ENABLE_OVERLOADING-data MutexUnlockMethodInfo-instance (signature ~ (m ()), MonadIO m) => O.MethodInfo MutexUnlockMethodInfo Mutex signature where-    overloadedMethod _ = mutexUnlock--#endif--#if ENABLE_OVERLOADING-type family ResolveMutexMethod (t :: Symbol) (o :: *) :: * where-    ResolveMutexMethod "clear" o = MutexClearMethodInfo-    ResolveMutexMethod "init" o = MutexInitMethodInfo-    ResolveMutexMethod "lock" o = MutexLockMethodInfo-    ResolveMutexMethod "trylock" o = MutexTrylockMethodInfo-    ResolveMutexMethod "unlock" o = MutexUnlockMethodInfo-    ResolveMutexMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveMutexMethod t Mutex, O.MethodInfo info Mutex p) => OL.IsLabel t (Mutex -> 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/GLib/Unions/Mutex.hs-boot
@@ -1,41 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Unions.Mutex 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 Mutex = Mutex (ManagedPtr Mutex)-instance WrappedPtr Mutex where-#if ENABLE_OVERLOADING-data MutexClearMethodInfo-#endif-#if ENABLE_OVERLOADING-data MutexInitMethodInfo-#endif-#if ENABLE_OVERLOADING-data MutexLockMethodInfo-#endif-#if ENABLE_OVERLOADING-data MutexTrylockMethodInfo-#endif-#if ENABLE_OVERLOADING-data MutexUnlockMethodInfo-#endif
− GI/GLib/Unions/TokenValue.hs
@@ -1,814 +0,0 @@---{- |-Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte-License    : LGPL-2.1-Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)--A union holding the value of the token.--}--#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))--module GI.GLib.Unions.TokenValue-    ( ---- * Exported types-    TokenValue(..)                          ,-    newZeroTokenValue                       ,-    noTokenValue                            ,--- -- * Properties--- ** vBinary #attr:vBinary#-{- | token binary integer value--}-    getTokenValueVBinary                    ,-    setTokenValueVBinary                    ,-#if ENABLE_OVERLOADING-    tokenValue_vBinary                      ,-#endif----- ** vChar #attr:vChar#-{- | character value--}-    getTokenValueVChar                      ,-    setTokenValueVChar                      ,-#if ENABLE_OVERLOADING-    tokenValue_vChar                        ,-#endif----- ** vComment #attr:vComment#-{- | comment value--}-    clearTokenValueVComment                 ,-    getTokenValueVComment                   ,-    setTokenValueVComment                   ,-#if ENABLE_OVERLOADING-    tokenValue_vComment                     ,-#endif----- ** vError #attr:vError#-{- | error value--}-    getTokenValueVError                     ,-    setTokenValueVError                     ,-#if ENABLE_OVERLOADING-    tokenValue_vError                       ,-#endif----- ** vFloat #attr:vFloat#-{- | floating point value--}-    getTokenValueVFloat                     ,-    setTokenValueVFloat                     ,-#if ENABLE_OVERLOADING-    tokenValue_vFloat                       ,-#endif----- ** vHex #attr:vHex#-{- | hex integer value--}-    getTokenValueVHex                       ,-    setTokenValueVHex                       ,-#if ENABLE_OVERLOADING-    tokenValue_vHex                         ,-#endif----- ** vIdentifier #attr:vIdentifier#-{- | token identifier value--}-    clearTokenValueVIdentifier              ,-    getTokenValueVIdentifier                ,-    setTokenValueVIdentifier                ,-#if ENABLE_OVERLOADING-    tokenValue_vIdentifier                  ,-#endif----- ** vInt #attr:vInt#-{- | integer value--}-    getTokenValueVInt                       ,-    setTokenValueVInt                       ,-#if ENABLE_OVERLOADING-    tokenValue_vInt                         ,-#endif----- ** vInt64 #attr:vInt64#-{- | 64-bit integer value--}-    getTokenValueVInt64                     ,-    setTokenValueVInt64                     ,-#if ENABLE_OVERLOADING-    tokenValue_vInt64                       ,-#endif----- ** vOctal #attr:vOctal#-{- | octal integer value--}-    getTokenValueVOctal                     ,-    setTokenValueVOctal                     ,-#if ENABLE_OVERLOADING-    tokenValue_vOctal                       ,-#endif----- ** vString #attr:vString#-{- | string value--}-    clearTokenValueVString                  ,-    getTokenValueVString                    ,-    setTokenValueVString                    ,-#if ENABLE_OVERLOADING-    tokenValue_vString                      ,-#endif----- ** vSymbol #attr:vSymbol#-{- | token symbol value--}-    clearTokenValueVSymbol                  ,-    getTokenValueVSymbol                    ,-    setTokenValueVSymbol                    ,-#if ENABLE_OVERLOADING-    tokenValue_vSymbol                      ,-#endif-----    ) 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 TokenValue = TokenValue (ManagedPtr TokenValue)-instance WrappedPtr TokenValue where-    wrappedPtrCalloc = callocBytes 8-    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 8 >=> wrapPtr TokenValue)-    wrappedPtrFree = Just ptr_to_g_free---- | Construct a `TokenValue` struct initialized to zero.-newZeroTokenValue :: MonadIO m => m TokenValue-newZeroTokenValue = liftIO $ wrappedPtrCalloc >>= wrapPtr TokenValue--instance tag ~ 'AttrSet => Constructible TokenValue tag where-    new _ attrs = do-        o <- newZeroTokenValue-        GI.Attributes.set o attrs-        return o----- | A convenience alias for `Nothing` :: `Maybe` `TokenValue`.-noTokenValue :: Maybe TokenValue-noTokenValue = Nothing--{- |-Get the value of the “@v_symbol@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' tokenValue #vSymbol-@--}-getTokenValueVSymbol :: MonadIO m => TokenValue -> m (Ptr ())-getTokenValueVSymbol s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO (Ptr ())-    return val--{- |-Set the value of the “@v_symbol@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' tokenValue [ #vSymbol 'Data.GI.Base.Attributes.:=' value ]-@--}-setTokenValueVSymbol :: MonadIO m => TokenValue -> Ptr () -> m ()-setTokenValueVSymbol s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: Ptr ())--{- |-Set the value of the “@v_symbol@” 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' #vSymbol-@--}-clearTokenValueVSymbol :: MonadIO m => TokenValue -> m ()-clearTokenValueVSymbol s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr ())--#if ENABLE_OVERLOADING-data TokenValueVSymbolFieldInfo-instance AttrInfo TokenValueVSymbolFieldInfo where-    type AttrAllowedOps TokenValueVSymbolFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint TokenValueVSymbolFieldInfo = (~) (Ptr ())-    type AttrBaseTypeConstraint TokenValueVSymbolFieldInfo = (~) TokenValue-    type AttrGetType TokenValueVSymbolFieldInfo = Ptr ()-    type AttrLabel TokenValueVSymbolFieldInfo = "v_symbol"-    type AttrOrigin TokenValueVSymbolFieldInfo = TokenValue-    attrGet _ = getTokenValueVSymbol-    attrSet _ = setTokenValueVSymbol-    attrConstruct = undefined-    attrClear _ = clearTokenValueVSymbol--tokenValue_vSymbol :: AttrLabelProxy "vSymbol"-tokenValue_vSymbol = AttrLabelProxy--#endif---{- |-Get the value of the “@v_identifier@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' tokenValue #vIdentifier-@--}-getTokenValueVIdentifier :: MonadIO m => TokenValue -> m (Maybe T.Text)-getTokenValueVIdentifier 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_identifier@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' tokenValue [ #vIdentifier 'Data.GI.Base.Attributes.:=' value ]-@--}-setTokenValueVIdentifier :: MonadIO m => TokenValue -> CString -> m ()-setTokenValueVIdentifier s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: CString)--{- |-Set the value of the “@v_identifier@” 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' #vIdentifier-@--}-clearTokenValueVIdentifier :: MonadIO m => TokenValue -> m ()-clearTokenValueVIdentifier s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data TokenValueVIdentifierFieldInfo-instance AttrInfo TokenValueVIdentifierFieldInfo where-    type AttrAllowedOps TokenValueVIdentifierFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint TokenValueVIdentifierFieldInfo = (~) CString-    type AttrBaseTypeConstraint TokenValueVIdentifierFieldInfo = (~) TokenValue-    type AttrGetType TokenValueVIdentifierFieldInfo = Maybe T.Text-    type AttrLabel TokenValueVIdentifierFieldInfo = "v_identifier"-    type AttrOrigin TokenValueVIdentifierFieldInfo = TokenValue-    attrGet _ = getTokenValueVIdentifier-    attrSet _ = setTokenValueVIdentifier-    attrConstruct = undefined-    attrClear _ = clearTokenValueVIdentifier--tokenValue_vIdentifier :: AttrLabelProxy "vIdentifier"-tokenValue_vIdentifier = AttrLabelProxy--#endif---{- |-Get the value of the “@v_binary@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' tokenValue #vBinary-@--}-getTokenValueVBinary :: MonadIO m => TokenValue -> m CULong-getTokenValueVBinary s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CULong-    return val--{- |-Set the value of the “@v_binary@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' tokenValue [ #vBinary 'Data.GI.Base.Attributes.:=' value ]-@--}-setTokenValueVBinary :: MonadIO m => TokenValue -> CULong -> m ()-setTokenValueVBinary s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: CULong)--#if ENABLE_OVERLOADING-data TokenValueVBinaryFieldInfo-instance AttrInfo TokenValueVBinaryFieldInfo where-    type AttrAllowedOps TokenValueVBinaryFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint TokenValueVBinaryFieldInfo = (~) CULong-    type AttrBaseTypeConstraint TokenValueVBinaryFieldInfo = (~) TokenValue-    type AttrGetType TokenValueVBinaryFieldInfo = CULong-    type AttrLabel TokenValueVBinaryFieldInfo = "v_binary"-    type AttrOrigin TokenValueVBinaryFieldInfo = TokenValue-    attrGet _ = getTokenValueVBinary-    attrSet _ = setTokenValueVBinary-    attrConstruct = undefined-    attrClear _ = undefined--tokenValue_vBinary :: AttrLabelProxy "vBinary"-tokenValue_vBinary = AttrLabelProxy--#endif---{- |-Get the value of the “@v_octal@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' tokenValue #vOctal-@--}-getTokenValueVOctal :: MonadIO m => TokenValue -> m CULong-getTokenValueVOctal s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CULong-    return val--{- |-Set the value of the “@v_octal@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' tokenValue [ #vOctal 'Data.GI.Base.Attributes.:=' value ]-@--}-setTokenValueVOctal :: MonadIO m => TokenValue -> CULong -> m ()-setTokenValueVOctal s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: CULong)--#if ENABLE_OVERLOADING-data TokenValueVOctalFieldInfo-instance AttrInfo TokenValueVOctalFieldInfo where-    type AttrAllowedOps TokenValueVOctalFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint TokenValueVOctalFieldInfo = (~) CULong-    type AttrBaseTypeConstraint TokenValueVOctalFieldInfo = (~) TokenValue-    type AttrGetType TokenValueVOctalFieldInfo = CULong-    type AttrLabel TokenValueVOctalFieldInfo = "v_octal"-    type AttrOrigin TokenValueVOctalFieldInfo = TokenValue-    attrGet _ = getTokenValueVOctal-    attrSet _ = setTokenValueVOctal-    attrConstruct = undefined-    attrClear _ = undefined--tokenValue_vOctal :: AttrLabelProxy "vOctal"-tokenValue_vOctal = 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' tokenValue #vInt-@--}-getTokenValueVInt :: MonadIO m => TokenValue -> m CULong-getTokenValueVInt s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CULong-    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' tokenValue [ #vInt 'Data.GI.Base.Attributes.:=' value ]-@--}-setTokenValueVInt :: MonadIO m => TokenValue -> CULong -> m ()-setTokenValueVInt s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: CULong)--#if ENABLE_OVERLOADING-data TokenValueVIntFieldInfo-instance AttrInfo TokenValueVIntFieldInfo where-    type AttrAllowedOps TokenValueVIntFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint TokenValueVIntFieldInfo = (~) CULong-    type AttrBaseTypeConstraint TokenValueVIntFieldInfo = (~) TokenValue-    type AttrGetType TokenValueVIntFieldInfo = CULong-    type AttrLabel TokenValueVIntFieldInfo = "v_int"-    type AttrOrigin TokenValueVIntFieldInfo = TokenValue-    attrGet _ = getTokenValueVInt-    attrSet _ = setTokenValueVInt-    attrConstruct = undefined-    attrClear _ = undefined--tokenValue_vInt :: AttrLabelProxy "vInt"-tokenValue_vInt = 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' tokenValue #vInt64-@--}-getTokenValueVInt64 :: MonadIO m => TokenValue -> m Word64-getTokenValueVInt64 s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO Word64-    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' tokenValue [ #vInt64 'Data.GI.Base.Attributes.:=' value ]-@--}-setTokenValueVInt64 :: MonadIO m => TokenValue -> Word64 -> m ()-setTokenValueVInt64 s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: Word64)--#if ENABLE_OVERLOADING-data TokenValueVInt64FieldInfo-instance AttrInfo TokenValueVInt64FieldInfo where-    type AttrAllowedOps TokenValueVInt64FieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint TokenValueVInt64FieldInfo = (~) Word64-    type AttrBaseTypeConstraint TokenValueVInt64FieldInfo = (~) TokenValue-    type AttrGetType TokenValueVInt64FieldInfo = Word64-    type AttrLabel TokenValueVInt64FieldInfo = "v_int64"-    type AttrOrigin TokenValueVInt64FieldInfo = TokenValue-    attrGet _ = getTokenValueVInt64-    attrSet _ = setTokenValueVInt64-    attrConstruct = undefined-    attrClear _ = undefined--tokenValue_vInt64 :: AttrLabelProxy "vInt64"-tokenValue_vInt64 = 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' tokenValue #vFloat-@--}-getTokenValueVFloat :: MonadIO m => TokenValue -> m Double-getTokenValueVFloat 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_float@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' tokenValue [ #vFloat 'Data.GI.Base.Attributes.:=' value ]-@--}-setTokenValueVFloat :: MonadIO m => TokenValue -> Double -> m ()-setTokenValueVFloat s val = liftIO $ withManagedPtr s $ \ptr -> do-    let val' = realToFrac val-    poke (ptr `plusPtr` 0) (val' :: CDouble)--#if ENABLE_OVERLOADING-data TokenValueVFloatFieldInfo-instance AttrInfo TokenValueVFloatFieldInfo where-    type AttrAllowedOps TokenValueVFloatFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint TokenValueVFloatFieldInfo = (~) Double-    type AttrBaseTypeConstraint TokenValueVFloatFieldInfo = (~) TokenValue-    type AttrGetType TokenValueVFloatFieldInfo = Double-    type AttrLabel TokenValueVFloatFieldInfo = "v_float"-    type AttrOrigin TokenValueVFloatFieldInfo = TokenValue-    attrGet _ = getTokenValueVFloat-    attrSet _ = setTokenValueVFloat-    attrConstruct = undefined-    attrClear _ = undefined--tokenValue_vFloat :: AttrLabelProxy "vFloat"-tokenValue_vFloat = AttrLabelProxy--#endif---{- |-Get the value of the “@v_hex@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' tokenValue #vHex-@--}-getTokenValueVHex :: MonadIO m => TokenValue -> m CULong-getTokenValueVHex s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO CULong-    return val--{- |-Set the value of the “@v_hex@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' tokenValue [ #vHex 'Data.GI.Base.Attributes.:=' value ]-@--}-setTokenValueVHex :: MonadIO m => TokenValue -> CULong -> m ()-setTokenValueVHex s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: CULong)--#if ENABLE_OVERLOADING-data TokenValueVHexFieldInfo-instance AttrInfo TokenValueVHexFieldInfo where-    type AttrAllowedOps TokenValueVHexFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint TokenValueVHexFieldInfo = (~) CULong-    type AttrBaseTypeConstraint TokenValueVHexFieldInfo = (~) TokenValue-    type AttrGetType TokenValueVHexFieldInfo = CULong-    type AttrLabel TokenValueVHexFieldInfo = "v_hex"-    type AttrOrigin TokenValueVHexFieldInfo = TokenValue-    attrGet _ = getTokenValueVHex-    attrSet _ = setTokenValueVHex-    attrConstruct = undefined-    attrClear _ = undefined--tokenValue_vHex :: AttrLabelProxy "vHex"-tokenValue_vHex = 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' tokenValue #vString-@--}-getTokenValueVString :: MonadIO m => TokenValue -> m (Maybe T.Text)-getTokenValueVString 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' tokenValue [ #vString 'Data.GI.Base.Attributes.:=' value ]-@--}-setTokenValueVString :: MonadIO m => TokenValue -> CString -> m ()-setTokenValueVString 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-@--}-clearTokenValueVString :: MonadIO m => TokenValue -> m ()-clearTokenValueVString s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data TokenValueVStringFieldInfo-instance AttrInfo TokenValueVStringFieldInfo where-    type AttrAllowedOps TokenValueVStringFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint TokenValueVStringFieldInfo = (~) CString-    type AttrBaseTypeConstraint TokenValueVStringFieldInfo = (~) TokenValue-    type AttrGetType TokenValueVStringFieldInfo = Maybe T.Text-    type AttrLabel TokenValueVStringFieldInfo = "v_string"-    type AttrOrigin TokenValueVStringFieldInfo = TokenValue-    attrGet _ = getTokenValueVString-    attrSet _ = setTokenValueVString-    attrConstruct = undefined-    attrClear _ = clearTokenValueVString--tokenValue_vString :: AttrLabelProxy "vString"-tokenValue_vString = AttrLabelProxy--#endif---{- |-Get the value of the “@v_comment@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' tokenValue #vComment-@--}-getTokenValueVComment :: MonadIO m => TokenValue -> m (Maybe T.Text)-getTokenValueVComment 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_comment@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' tokenValue [ #vComment 'Data.GI.Base.Attributes.:=' value ]-@--}-setTokenValueVComment :: MonadIO m => TokenValue -> CString -> m ()-setTokenValueVComment s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: CString)--{- |-Set the value of the “@v_comment@” 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' #vComment-@--}-clearTokenValueVComment :: MonadIO m => TokenValue -> m ()-clearTokenValueVComment s = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)--#if ENABLE_OVERLOADING-data TokenValueVCommentFieldInfo-instance AttrInfo TokenValueVCommentFieldInfo where-    type AttrAllowedOps TokenValueVCommentFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]-    type AttrSetTypeConstraint TokenValueVCommentFieldInfo = (~) CString-    type AttrBaseTypeConstraint TokenValueVCommentFieldInfo = (~) TokenValue-    type AttrGetType TokenValueVCommentFieldInfo = Maybe T.Text-    type AttrLabel TokenValueVCommentFieldInfo = "v_comment"-    type AttrOrigin TokenValueVCommentFieldInfo = TokenValue-    attrGet _ = getTokenValueVComment-    attrSet _ = setTokenValueVComment-    attrConstruct = undefined-    attrClear _ = clearTokenValueVComment--tokenValue_vComment :: AttrLabelProxy "vComment"-tokenValue_vComment = AttrLabelProxy--#endif---{- |-Get the value of the “@v_char@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' tokenValue #vChar-@--}-getTokenValueVChar :: MonadIO m => TokenValue -> m Word8-getTokenValueVChar s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO Word8-    return val--{- |-Set the value of the “@v_char@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' tokenValue [ #vChar 'Data.GI.Base.Attributes.:=' value ]-@--}-setTokenValueVChar :: MonadIO m => TokenValue -> Word8 -> m ()-setTokenValueVChar s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: Word8)--#if ENABLE_OVERLOADING-data TokenValueVCharFieldInfo-instance AttrInfo TokenValueVCharFieldInfo where-    type AttrAllowedOps TokenValueVCharFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint TokenValueVCharFieldInfo = (~) Word8-    type AttrBaseTypeConstraint TokenValueVCharFieldInfo = (~) TokenValue-    type AttrGetType TokenValueVCharFieldInfo = Word8-    type AttrLabel TokenValueVCharFieldInfo = "v_char"-    type AttrOrigin TokenValueVCharFieldInfo = TokenValue-    attrGet _ = getTokenValueVChar-    attrSet _ = setTokenValueVChar-    attrConstruct = undefined-    attrClear _ = undefined--tokenValue_vChar :: AttrLabelProxy "vChar"-tokenValue_vChar = AttrLabelProxy--#endif---{- |-Get the value of the “@v_error@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.get' tokenValue #vError-@--}-getTokenValueVError :: MonadIO m => TokenValue -> m Word32-getTokenValueVError s = liftIO $ withManagedPtr s $ \ptr -> do-    val <- peek (ptr `plusPtr` 0) :: IO Word32-    return val--{- |-Set the value of the “@v_error@” field.-When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to--@-'Data.GI.Base.Attributes.set' tokenValue [ #vError 'Data.GI.Base.Attributes.:=' value ]-@--}-setTokenValueVError :: MonadIO m => TokenValue -> Word32 -> m ()-setTokenValueVError s val = liftIO $ withManagedPtr s $ \ptr -> do-    poke (ptr `plusPtr` 0) (val :: Word32)--#if ENABLE_OVERLOADING-data TokenValueVErrorFieldInfo-instance AttrInfo TokenValueVErrorFieldInfo where-    type AttrAllowedOps TokenValueVErrorFieldInfo = '[ 'AttrSet, 'AttrGet]-    type AttrSetTypeConstraint TokenValueVErrorFieldInfo = (~) Word32-    type AttrBaseTypeConstraint TokenValueVErrorFieldInfo = (~) TokenValue-    type AttrGetType TokenValueVErrorFieldInfo = Word32-    type AttrLabel TokenValueVErrorFieldInfo = "v_error"-    type AttrOrigin TokenValueVErrorFieldInfo = TokenValue-    attrGet _ = getTokenValueVError-    attrSet _ = setTokenValueVError-    attrConstruct = undefined-    attrClear _ = undefined--tokenValue_vError :: AttrLabelProxy "vError"-tokenValue_vError = AttrLabelProxy--#endif----#if ENABLE_OVERLOADING-instance O.HasAttributeList TokenValue-type instance O.AttributeList TokenValue = TokenValueAttributeList-type TokenValueAttributeList = ('[ '("vSymbol", TokenValueVSymbolFieldInfo), '("vIdentifier", TokenValueVIdentifierFieldInfo), '("vBinary", TokenValueVBinaryFieldInfo), '("vOctal", TokenValueVOctalFieldInfo), '("vInt", TokenValueVIntFieldInfo), '("vInt64", TokenValueVInt64FieldInfo), '("vFloat", TokenValueVFloatFieldInfo), '("vHex", TokenValueVHexFieldInfo), '("vString", TokenValueVStringFieldInfo), '("vComment", TokenValueVCommentFieldInfo), '("vChar", TokenValueVCharFieldInfo), '("vError", TokenValueVErrorFieldInfo)] :: [(Symbol, *)])-#endif--#if ENABLE_OVERLOADING-type family ResolveTokenValueMethod (t :: Symbol) (o :: *) :: * where-    ResolveTokenValueMethod l o = O.MethodResolutionFailed l o--instance (info ~ ResolveTokenValueMethod t TokenValue, O.MethodInfo info TokenValue p) => OL.IsLabel t (TokenValue -> 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/GLib/Unions/TokenValue.hs-boot
@@ -1,26 +0,0 @@-#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \-       && !defined(__HADDOCK_VERSION__))-module GI.GLib.Unions.TokenValue 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 TokenValue = TokenValue (ManagedPtr TokenValue)-instance WrappedPtr TokenValue where
README.md view
@@ -1,6 +1,6 @@ # Documentation Autogenerated documentation for this package can be found at -[https://hackage.haskell.org/package/gi-glib-2.0.19/docs/GI-GLib.html](https://hackage.haskell.org/package/gi-glib-2.0.19/docs/GI-GLib.html)+[https://hackage.haskell.org/package/gi-glib-2.0.20/docs/GI-GLib.html](https://hackage.haskell.org/package/gi-glib-2.0.20/docs/GI-GLib.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-glib.cabal view
@@ -1,5 +1,5 @@ name:                 gi-glib-version:              2.0.19+version:              2.0.20 synopsis:             GLib bindings description:          Bindings for GLib, autogenerated by haskell-gi. homepage:             https://github.com/haskell-gi/haskell-gi@@ -40,6 +40,83 @@               build-depends: haskell-gi-overloading == 0.0        exposed-modules: GI.GLib,+                       GI.GLib.Callbacks,+                       GI.GLib.Constants,+                       GI.GLib.Enums,+                       GI.GLib.Flags,+                       GI.GLib.Functions,+                       GI.GLib.Structs,+                       GI.GLib.Structs.AsyncQueue,+                       GI.GLib.Structs.BookmarkFile,+                       GI.GLib.Structs.ByteArray,+                       GI.GLib.Structs.Bytes,+                       GI.GLib.Structs.Checksum,+                       GI.GLib.Structs.Cond,+                       GI.GLib.Structs.Data,+                       GI.GLib.Structs.Date,+                       GI.GLib.Structs.DateTime,+                       GI.GLib.Structs.DebugKey,+                       GI.GLib.Structs.Dir,+                       GI.GLib.Structs.HashTableIter,+                       GI.GLib.Structs.Hmac,+                       GI.GLib.Structs.Hook,+                       GI.GLib.Structs.HookList,+                       GI.GLib.Structs.IOChannel,+                       GI.GLib.Structs.IOFuncs,+                       GI.GLib.Structs.KeyFile,+                       GI.GLib.Structs.LogField,+                       GI.GLib.Structs.MainContext,+                       GI.GLib.Structs.MainLoop,+                       GI.GLib.Structs.MappedFile,+                       GI.GLib.Structs.MarkupParseContext,+                       GI.GLib.Structs.MarkupParser,+                       GI.GLib.Structs.MatchInfo,+                       GI.GLib.Structs.MemVTable,+                       GI.GLib.Structs.Node,+                       GI.GLib.Structs.Once,+                       GI.GLib.Structs.OptionContext,+                       GI.GLib.Structs.OptionEntry,+                       GI.GLib.Structs.OptionGroup,+                       GI.GLib.Structs.PatternSpec,+                       GI.GLib.Structs.PollFD,+                       GI.GLib.Structs.PtrArray,+                       GI.GLib.Structs.Queue,+                       GI.GLib.Structs.RWLock,+                       GI.GLib.Structs.Rand,+                       GI.GLib.Structs.RecMutex,+                       GI.GLib.Structs.Regex,+                       GI.GLib.Structs.Scanner,+                       GI.GLib.Structs.ScannerConfig,+                       GI.GLib.Structs.Sequence,+                       GI.GLib.Structs.SequenceIter,+                       GI.GLib.Structs.Source,+                       GI.GLib.Structs.SourceCallbackFuncs,+                       GI.GLib.Structs.SourceFuncs,+                       GI.GLib.Structs.StatBuf,+                       GI.GLib.Structs.String,+                       GI.GLib.Structs.StringChunk,+                       GI.GLib.Structs.TestCase,+                       GI.GLib.Structs.TestConfig,+                       GI.GLib.Structs.TestLogBuffer,+                       GI.GLib.Structs.TestLogMsg,+                       GI.GLib.Structs.TestSuite,+                       GI.GLib.Structs.Thread,+                       GI.GLib.Structs.ThreadPool,+                       GI.GLib.Structs.TimeVal,+                       GI.GLib.Structs.TimeZone,+                       GI.GLib.Structs.Timer,+                       GI.GLib.Structs.TrashStack,+                       GI.GLib.Structs.Tree,+                       GI.GLib.Structs.VariantBuilder,+                       GI.GLib.Structs.VariantDict,+                       GI.GLib.Structs.VariantType,+                       GI.GLib.Unions,+                       GI.GLib.Unions.DoubleIEEE754,+                       GI.GLib.Unions.FloatIEEE754,+                       GI.GLib.Unions.Mutex,+                       GI.GLib.Unions.TokenValue++      autogen-modules: GI.GLib,                        GI.GLib.Callbacks,                        GI.GLib.Constants,                        GI.GLib.Enums,