packages feed

gi-ostree 1.0.6 → 1.0.8

raw patch · 102 files changed

+35125/−10 lines, 102 filesdep ~haskell-gidep ~haskell-gi-basePVP: major bump suggested

API removals or changes: PVP suggests a major version bump

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

API changes (from Hackage documentation)

- GI.OSTree.Callbacks: dynamic_BootloaderInterfaceWriteConfigFieldCallback :: (HasCallStack, MonadIO m, IsCancellable a) => FunPtr C_BootloaderInterfaceWriteConfigFieldCallback -> Bootloader -> Int32 -> a -> m ()
- GI.OSTree.Callbacks: mk_BootloaderInterfaceWriteConfigFieldCallback :: C_BootloaderInterfaceWriteConfigFieldCallback -> IO (FunPtr C_BootloaderInterfaceWriteConfigFieldCallback)
- GI.OSTree.Callbacks: noBootloaderInterfaceWriteConfigFieldCallback :: Maybe BootloaderInterfaceWriteConfigFieldCallback
- GI.OSTree.Callbacks: type BootloaderInterfaceWriteConfigFieldCallback = Bootloader -> Int32 -> Cancellable -> IO () /(Can throw 'Data.GI.Base.GError.GError')/
- GI.OSTree.Callbacks: type C_BootloaderInterfaceWriteConfigFieldCallback = Ptr Bootloader -> Int32 -> Ptr Cancellable -> Ptr (Ptr GError) -> IO CInt
- GI.OSTree.Enums: AnotherRepoResolveRevExtFlags :: Int -> RepoResolveRevExtFlags
- GI.OSTree.Enums: RepoResolveRevExtFlagsRepoResolveRevExtNone :: RepoResolveRevExtFlags
- GI.OSTree.Enums: data RepoResolveRevExtFlags
- GI.OSTree.Enums: instance GHC.Classes.Eq GI.OSTree.Enums.RepoResolveRevExtFlags
- GI.OSTree.Enums: instance GHC.Classes.Ord GI.OSTree.Enums.RepoResolveRevExtFlags
- GI.OSTree.Enums: instance GHC.Enum.Enum GI.OSTree.Enums.RepoResolveRevExtFlags
- GI.OSTree.Enums: instance GHC.Show.Show GI.OSTree.Enums.RepoResolveRevExtFlags
- GI.OSTree.Objects.AsyncProgress: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.OSTree.Objects.AsyncProgress.AsyncProgress a) => GI.OSTree.Objects.AsyncProgress.IsAsyncProgress a
- GI.OSTree.Objects.AsyncProgress: instance GI.GObject.Objects.Object.IsObject GI.OSTree.Objects.AsyncProgress.AsyncProgress
- GI.OSTree.Objects.AsyncProgress: instance GI.OSTree.Objects.AsyncProgress.IsAsyncProgress GI.OSTree.Objects.AsyncProgress.AsyncProgress
- GI.OSTree.Objects.BootconfigParser: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.OSTree.Objects.BootconfigParser.BootconfigParser a) => GI.OSTree.Objects.BootconfigParser.IsBootconfigParser a
- GI.OSTree.Objects.BootconfigParser: instance GI.GObject.Objects.Object.IsObject GI.OSTree.Objects.BootconfigParser.BootconfigParser
- GI.OSTree.Objects.BootconfigParser: instance GI.OSTree.Objects.BootconfigParser.IsBootconfigParser GI.OSTree.Objects.BootconfigParser.BootconfigParser
- GI.OSTree.Objects.ChecksumInputStream: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.OSTree.Objects.ChecksumInputStream.ChecksumInputStream a) => GI.OSTree.Objects.ChecksumInputStream.IsChecksumInputStream a
- GI.OSTree.Objects.ChecksumInputStream: instance GI.GObject.Objects.Object.IsObject GI.OSTree.Objects.ChecksumInputStream.ChecksumInputStream
- GI.OSTree.Objects.ChecksumInputStream: instance GI.Gio.Objects.FilterInputStream.IsFilterInputStream GI.OSTree.Objects.ChecksumInputStream.ChecksumInputStream
- GI.OSTree.Objects.ChecksumInputStream: instance GI.Gio.Objects.InputStream.IsInputStream GI.OSTree.Objects.ChecksumInputStream.ChecksumInputStream
- GI.OSTree.Objects.ChecksumInputStream: instance GI.OSTree.Objects.ChecksumInputStream.IsChecksumInputStream GI.OSTree.Objects.ChecksumInputStream.ChecksumInputStream
- GI.OSTree.Objects.Deployment: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.OSTree.Objects.Deployment.Deployment a) => GI.OSTree.Objects.Deployment.IsDeployment a
- GI.OSTree.Objects.Deployment: instance GI.GObject.Objects.Object.IsObject GI.OSTree.Objects.Deployment.Deployment
- GI.OSTree.Objects.Deployment: instance GI.OSTree.Objects.Deployment.IsDeployment GI.OSTree.Objects.Deployment.Deployment
- GI.OSTree.Objects.GpgVerifyResult: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult a) => GI.OSTree.Objects.GpgVerifyResult.IsGpgVerifyResult a
- GI.OSTree.Objects.GpgVerifyResult: instance GI.GObject.Objects.Object.IsObject GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult
- GI.OSTree.Objects.GpgVerifyResult: instance GI.Gio.Interfaces.Initable.IsInitable GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult
- GI.OSTree.Objects.GpgVerifyResult: instance GI.OSTree.Objects.GpgVerifyResult.IsGpgVerifyResult GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult
- GI.OSTree.Objects.MutableTree: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.OSTree.Objects.MutableTree.MutableTree a) => GI.OSTree.Objects.MutableTree.IsMutableTree a
- GI.OSTree.Objects.MutableTree: instance GI.GObject.Objects.Object.IsObject GI.OSTree.Objects.MutableTree.MutableTree
- GI.OSTree.Objects.MutableTree: instance GI.OSTree.Objects.MutableTree.IsMutableTree GI.OSTree.Objects.MutableTree.MutableTree
- GI.OSTree.Objects.Repo: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.OSTree.Objects.Repo.Repo a) => GI.OSTree.Objects.Repo.IsRepo a
- GI.OSTree.Objects.Repo: instance GI.GObject.Objects.Object.IsObject GI.OSTree.Objects.Repo.Repo
- GI.OSTree.Objects.Repo: instance GI.OSTree.Objects.Repo.IsRepo GI.OSTree.Objects.Repo.Repo
- GI.OSTree.Objects.RepoFile: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.OSTree.Objects.RepoFile.RepoFile a) => GI.OSTree.Objects.RepoFile.IsRepoFile a
- GI.OSTree.Objects.RepoFile: instance GI.GObject.Objects.Object.IsObject GI.OSTree.Objects.RepoFile.RepoFile
- GI.OSTree.Objects.RepoFile: instance GI.Gio.Interfaces.File.IsFile GI.OSTree.Objects.RepoFile.RepoFile
- GI.OSTree.Objects.RepoFile: instance GI.OSTree.Objects.RepoFile.IsRepoFile GI.OSTree.Objects.RepoFile.RepoFile
- GI.OSTree.Objects.SePolicy: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.OSTree.Objects.SePolicy.SePolicy a) => GI.OSTree.Objects.SePolicy.IsSePolicy a
- GI.OSTree.Objects.SePolicy: instance GI.GObject.Objects.Object.IsObject GI.OSTree.Objects.SePolicy.SePolicy
- GI.OSTree.Objects.SePolicy: instance GI.Gio.Interfaces.Initable.IsInitable GI.OSTree.Objects.SePolicy.SePolicy
- GI.OSTree.Objects.SePolicy: instance GI.OSTree.Objects.SePolicy.IsSePolicy GI.OSTree.Objects.SePolicy.SePolicy
- GI.OSTree.Objects.Sysroot: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.OSTree.Objects.Sysroot.Sysroot a) => GI.OSTree.Objects.Sysroot.IsSysroot a
- GI.OSTree.Objects.Sysroot: instance GI.GObject.Objects.Object.IsObject GI.OSTree.Objects.Sysroot.Sysroot
- GI.OSTree.Objects.Sysroot: instance GI.OSTree.Objects.Sysroot.IsSysroot GI.OSTree.Objects.Sysroot.Sysroot
- GI.OSTree.Objects.SysrootUpgrader: instance (Data.GI.Base.BasicTypes.GObject a, Data.GI.Base.Overloading.UnknownAncestorError GI.OSTree.Objects.SysrootUpgrader.SysrootUpgrader a) => GI.OSTree.Objects.SysrootUpgrader.IsSysrootUpgrader a
- GI.OSTree.Objects.SysrootUpgrader: instance GI.GObject.Objects.Object.IsObject GI.OSTree.Objects.SysrootUpgrader.SysrootUpgrader
- GI.OSTree.Objects.SysrootUpgrader: instance GI.Gio.Interfaces.Initable.IsInitable GI.OSTree.Objects.SysrootUpgrader.SysrootUpgrader
- GI.OSTree.Objects.SysrootUpgrader: instance GI.OSTree.Objects.SysrootUpgrader.IsSysrootUpgrader GI.OSTree.Objects.SysrootUpgrader.SysrootUpgrader
- GI.OSTree.Structs.BootloaderInterface: clearBootloaderInterfaceWriteConfig :: MonadIO m => BootloaderInterface -> m ()
- GI.OSTree.Structs.BootloaderInterface: getBootloaderInterfaceWriteConfig :: MonadIO m => BootloaderInterface -> m (Maybe BootloaderInterfaceWriteConfigFieldCallback)
- GI.OSTree.Structs.BootloaderInterface: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.BootloaderInterface.BootloaderInterface tag
- GI.OSTree.Structs.BootloaderInterface: setBootloaderInterfaceWriteConfig :: MonadIO m => BootloaderInterface -> FunPtr C_BootloaderInterfaceWriteConfigFieldCallback -> m ()
- GI.OSTree.Structs.CmdPrivateVTable: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.CmdPrivateVTable.CmdPrivateVTable tag
- GI.OSTree.Structs.DiffDirsOptions: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.DiffDirsOptions.DiffDirsOptions tag
- GI.OSTree.Structs.DiffItem: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.DiffItem.DiffItem tag
- GI.OSTree.Structs.LibarchiveInputStream: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.LibarchiveInputStream.LibarchiveInputStream tag
- GI.OSTree.Structs.MutableTreeIter: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.MutableTreeIter.MutableTreeIter tag
- GI.OSTree.Structs.RepoCheckoutAtOptions: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.RepoCheckoutAtOptions.RepoCheckoutAtOptions tag
- GI.OSTree.Structs.RepoCommitTraverseIter: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.RepoCommitTraverseIter.RepoCommitTraverseIter tag
- GI.OSTree.Structs.RepoPruneOptions: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.RepoPruneOptions.RepoPruneOptions tag
- GI.OSTree.Structs.RepoTransactionStats: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.RepoTransactionStats.RepoTransactionStats tag
- GI.OSTree.Structs.RollsumMatches: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.RollsumMatches.RollsumMatches tag
- GI.OSTree.Structs.SysrootWriteDeploymentsOpts: instance (tag ~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.SysrootWriteDeploymentsOpts.SysrootWriteDeploymentsOpts tag
+ GI.OSTree.Enums: RepoRemoteChangeReplace :: RepoRemoteChange
+ GI.OSTree.Flags: AnotherRepoResolveRevExtFlags :: Int -> RepoResolveRevExtFlags
+ GI.OSTree.Flags: RepoListRefsExtFlagsExcludeMirrors :: RepoListRefsExtFlags
+ GI.OSTree.Flags: RepoResolveRevExtFlagsLocalOnly :: RepoResolveRevExtFlags
+ GI.OSTree.Flags: RepoResolveRevExtFlagsNone :: RepoResolveRevExtFlags
+ GI.OSTree.Flags: data RepoResolveRevExtFlags
+ GI.OSTree.Flags: instance Data.GI.Base.BasicTypes.IsGFlag GI.OSTree.Flags.RepoResolveRevExtFlags
+ GI.OSTree.Flags: instance GHC.Classes.Eq GI.OSTree.Flags.RepoResolveRevExtFlags
+ GI.OSTree.Flags: instance GHC.Classes.Ord GI.OSTree.Flags.RepoResolveRevExtFlags
+ GI.OSTree.Flags: instance GHC.Enum.Enum GI.OSTree.Flags.RepoResolveRevExtFlags
+ GI.OSTree.Flags: instance GHC.Show.Show GI.OSTree.Flags.RepoResolveRevExtFlags
+ GI.OSTree.Functions: validateCollectionId :: (HasCallStack, MonadIO m) => Maybe Text -> m ()
+ GI.OSTree.Interfaces.RepoFinder: RepoFinder :: ManagedPtr RepoFinder -> RepoFinder
+ GI.OSTree.Interfaces.RepoFinder: class (GObject o, IsDescendantOf RepoFinder o) => IsRepoFinder o
+ GI.OSTree.Interfaces.RepoFinder: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.OSTree.Interfaces.RepoFinder.RepoFinder o) => GI.OSTree.Interfaces.RepoFinder.IsRepoFinder o
+ GI.OSTree.Interfaces.RepoFinder: instance Data.GI.Base.BasicTypes.GObject GI.OSTree.Interfaces.RepoFinder.RepoFinder
+ GI.OSTree.Interfaces.RepoFinder: instance Data.GI.Base.Overloading.HasParentTypes GI.OSTree.Interfaces.RepoFinder.RepoFinder
+ GI.OSTree.Interfaces.RepoFinder: newtype RepoFinder
+ GI.OSTree.Interfaces.RepoFinder: noRepoFinder :: Maybe RepoFinder
+ GI.OSTree.Interfaces.RepoFinder: repoFinderResolveAllAsync :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => [RepoFinder] -> [CollectionRef] -> a -> Maybe b -> Maybe AsyncReadyCallback -> m ()
+ GI.OSTree.Interfaces.RepoFinder: repoFinderResolveAllFinish :: (HasCallStack, MonadIO m, IsAsyncResult a) => a -> m [RepoFinderResult]
+ GI.OSTree.Interfaces.RepoFinder: repoFinderResolveAsync :: (HasCallStack, MonadIO m, IsRepoFinder a, IsRepo b, IsCancellable c) => a -> [CollectionRef] -> b -> Maybe c -> Maybe AsyncReadyCallback -> m ()
+ GI.OSTree.Interfaces.RepoFinder: repoFinderResolveFinish :: (HasCallStack, MonadIO m, IsRepoFinder a, IsAsyncResult b) => a -> b -> m [RepoFinderResult]
+ GI.OSTree.Interfaces.RepoFinder: toRepoFinder :: (MonadIO m, IsRepoFinder o) => o -> m RepoFinder
+ GI.OSTree.Objects.AsyncProgress: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.OSTree.Objects.AsyncProgress.AsyncProgress o) => GI.OSTree.Objects.AsyncProgress.IsAsyncProgress o
+ GI.OSTree.Objects.AsyncProgress: instance Data.GI.Base.Overloading.HasParentTypes GI.OSTree.Objects.AsyncProgress.AsyncProgress
+ GI.OSTree.Objects.BootconfigParser: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.OSTree.Objects.BootconfigParser.BootconfigParser o) => GI.OSTree.Objects.BootconfigParser.IsBootconfigParser o
+ GI.OSTree.Objects.BootconfigParser: instance Data.GI.Base.Overloading.HasParentTypes GI.OSTree.Objects.BootconfigParser.BootconfigParser
+ GI.OSTree.Objects.ChecksumInputStream: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.OSTree.Objects.ChecksumInputStream.ChecksumInputStream o) => GI.OSTree.Objects.ChecksumInputStream.IsChecksumInputStream o
+ GI.OSTree.Objects.ChecksumInputStream: instance Data.GI.Base.Overloading.HasParentTypes GI.OSTree.Objects.ChecksumInputStream.ChecksumInputStream
+ GI.OSTree.Objects.Deployment: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.OSTree.Objects.Deployment.Deployment o) => GI.OSTree.Objects.Deployment.IsDeployment o
+ GI.OSTree.Objects.Deployment: instance Data.GI.Base.Overloading.HasParentTypes GI.OSTree.Objects.Deployment.Deployment
+ GI.OSTree.Objects.GpgVerifyResult: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult o) => GI.OSTree.Objects.GpgVerifyResult.IsGpgVerifyResult o
+ GI.OSTree.Objects.GpgVerifyResult: instance Data.GI.Base.Overloading.HasParentTypes GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult
+ GI.OSTree.Objects.MutableTree: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.OSTree.Objects.MutableTree.MutableTree o) => GI.OSTree.Objects.MutableTree.IsMutableTree o
+ GI.OSTree.Objects.MutableTree: instance Data.GI.Base.Overloading.HasParentTypes GI.OSTree.Objects.MutableTree.MutableTree
+ GI.OSTree.Objects.MutableTree: mutableTreeCheckError :: (HasCallStack, MonadIO m, IsMutableTree a) => a -> m ()
+ GI.OSTree.Objects.MutableTree: mutableTreeFillEmptyFromDirtree :: (HasCallStack, MonadIO m, IsMutableTree a, IsRepo b) => a -> b -> Text -> Text -> m Bool
+ GI.OSTree.Objects.MutableTree: mutableTreeNewFromChecksum :: (HasCallStack, MonadIO m, IsRepo a) => a -> Text -> Text -> m MutableTree
+ GI.OSTree.Objects.MutableTree: mutableTreeRemove :: (HasCallStack, MonadIO m, IsMutableTree a) => a -> Text -> Bool -> m ()
+ GI.OSTree.Objects.Repo: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.OSTree.Objects.Repo.Repo o) => GI.OSTree.Objects.Repo.IsRepo o
+ GI.OSTree.Objects.Repo: instance Data.GI.Base.Overloading.HasParentTypes GI.OSTree.Objects.Repo.Repo
+ GI.OSTree.Objects.Repo: repoFindRemotesAsync :: (HasCallStack, MonadIO m, IsRepo a, IsAsyncProgress b, IsCancellable c) => a -> [CollectionRef] -> Maybe GVariant -> [RepoFinder] -> Maybe b -> Maybe c -> Maybe AsyncReadyCallback -> m ()
+ GI.OSTree.Objects.Repo: repoFindRemotesFinish :: (HasCallStack, MonadIO m, IsRepo a, IsAsyncResult b) => a -> b -> m [RepoFinderResult]
+ GI.OSTree.Objects.Repo: repoGetBootloader :: (HasCallStack, MonadIO m, IsRepo a) => a -> m Text
+ GI.OSTree.Objects.Repo: repoGetCollectionId :: (HasCallStack, MonadIO m, IsRepo a) => a -> m (Maybe Text)
+ GI.OSTree.Objects.Repo: repoGetDefaultRepoFinders :: (HasCallStack, MonadIO m, IsRepo a) => a -> m [Text]
+ GI.OSTree.Objects.Repo: repoGetMinFreeSpaceBytes :: (HasCallStack, MonadIO m, IsRepo a) => a -> Word64 -> m ()
+ GI.OSTree.Objects.Repo: repoPullFromRemotesAsync :: (HasCallStack, MonadIO m, IsRepo a, IsAsyncProgress b, IsCancellable c) => a -> [RepoFinderResult] -> Maybe GVariant -> Maybe b -> Maybe c -> Maybe AsyncReadyCallback -> m ()
+ GI.OSTree.Objects.Repo: repoPullFromRemotesFinish :: (HasCallStack, MonadIO m, IsRepo a, IsAsyncResult b) => a -> b -> m ()
+ GI.OSTree.Objects.Repo: repoResolveCollectionRef :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> CollectionRef -> Bool -> [RepoResolveRevExtFlags] -> Maybe b -> m (Maybe Text)
+ GI.OSTree.Objects.Repo: repoResolveKeyringForCollection :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Maybe b -> m Remote
+ GI.OSTree.Objects.Repo: repoSetCollectionId :: (HasCallStack, MonadIO m, IsRepo a) => a -> Maybe Text -> m ()
+ GI.OSTree.Objects.Repo: repoSetCollectionRefImmediate :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> CollectionRef -> Maybe Text -> Maybe b -> m ()
+ GI.OSTree.Objects.Repo: repoTransactionSetCollectionRef :: (HasCallStack, MonadIO m, IsRepo a) => a -> CollectionRef -> Maybe Text -> m ()
+ GI.OSTree.Objects.RepoFile: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.OSTree.Objects.RepoFile.RepoFile o) => GI.OSTree.Objects.RepoFile.IsRepoFile o
+ GI.OSTree.Objects.RepoFile: instance Data.GI.Base.Overloading.HasParentTypes GI.OSTree.Objects.RepoFile.RepoFile
+ GI.OSTree.Objects.RepoFinderAvahi: RepoFinderAvahi :: ManagedPtr RepoFinderAvahi -> RepoFinderAvahi
+ GI.OSTree.Objects.RepoFinderAvahi: class (GObject o, IsDescendantOf RepoFinderAvahi o) => IsRepoFinderAvahi o
+ GI.OSTree.Objects.RepoFinderAvahi: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.OSTree.Objects.RepoFinderAvahi.RepoFinderAvahi o) => GI.OSTree.Objects.RepoFinderAvahi.IsRepoFinderAvahi o
+ GI.OSTree.Objects.RepoFinderAvahi: instance Data.GI.Base.BasicTypes.GObject GI.OSTree.Objects.RepoFinderAvahi.RepoFinderAvahi
+ GI.OSTree.Objects.RepoFinderAvahi: instance Data.GI.Base.Overloading.HasParentTypes GI.OSTree.Objects.RepoFinderAvahi.RepoFinderAvahi
+ GI.OSTree.Objects.RepoFinderAvahi: newtype RepoFinderAvahi
+ GI.OSTree.Objects.RepoFinderAvahi: noRepoFinderAvahi :: Maybe RepoFinderAvahi
+ GI.OSTree.Objects.RepoFinderAvahi: repoFinderAvahiNew :: (HasCallStack, MonadIO m) => MainContext -> m RepoFinderAvahi
+ GI.OSTree.Objects.RepoFinderAvahi: repoFinderAvahiStart :: (HasCallStack, MonadIO m, IsRepoFinderAvahi a) => a -> m ()
+ GI.OSTree.Objects.RepoFinderAvahi: repoFinderAvahiStop :: (HasCallStack, MonadIO m, IsRepoFinderAvahi a) => a -> m ()
+ GI.OSTree.Objects.RepoFinderAvahi: toRepoFinderAvahi :: (MonadIO m, IsRepoFinderAvahi o) => o -> m RepoFinderAvahi
+ GI.OSTree.Objects.RepoFinderConfig: RepoFinderConfig :: ManagedPtr RepoFinderConfig -> RepoFinderConfig
+ GI.OSTree.Objects.RepoFinderConfig: class (GObject o, IsDescendantOf RepoFinderConfig o) => IsRepoFinderConfig o
+ GI.OSTree.Objects.RepoFinderConfig: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.OSTree.Objects.RepoFinderConfig.RepoFinderConfig o) => GI.OSTree.Objects.RepoFinderConfig.IsRepoFinderConfig o
+ GI.OSTree.Objects.RepoFinderConfig: instance Data.GI.Base.BasicTypes.GObject GI.OSTree.Objects.RepoFinderConfig.RepoFinderConfig
+ GI.OSTree.Objects.RepoFinderConfig: instance Data.GI.Base.Overloading.HasParentTypes GI.OSTree.Objects.RepoFinderConfig.RepoFinderConfig
+ GI.OSTree.Objects.RepoFinderConfig: newtype RepoFinderConfig
+ GI.OSTree.Objects.RepoFinderConfig: noRepoFinderConfig :: Maybe RepoFinderConfig
+ GI.OSTree.Objects.RepoFinderConfig: repoFinderConfigNew :: (HasCallStack, MonadIO m) => m RepoFinderConfig
+ GI.OSTree.Objects.RepoFinderConfig: toRepoFinderConfig :: (MonadIO m, IsRepoFinderConfig o) => o -> m RepoFinderConfig
+ GI.OSTree.Objects.RepoFinderMount: RepoFinderMount :: ManagedPtr RepoFinderMount -> RepoFinderMount
+ GI.OSTree.Objects.RepoFinderMount: class (GObject o, IsDescendantOf RepoFinderMount o) => IsRepoFinderMount o
+ GI.OSTree.Objects.RepoFinderMount: constructRepoFinderMountMonitor :: (IsRepoFinderMount o, IsVolumeMonitor a) => a -> IO (GValueConstruct o)
+ GI.OSTree.Objects.RepoFinderMount: getRepoFinderMountMonitor :: (MonadIO m, IsRepoFinderMount o) => o -> m (Maybe VolumeMonitor)
+ GI.OSTree.Objects.RepoFinderMount: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.OSTree.Objects.RepoFinderMount.RepoFinderMount o) => GI.OSTree.Objects.RepoFinderMount.IsRepoFinderMount o
+ GI.OSTree.Objects.RepoFinderMount: instance Data.GI.Base.BasicTypes.GObject GI.OSTree.Objects.RepoFinderMount.RepoFinderMount
+ GI.OSTree.Objects.RepoFinderMount: instance Data.GI.Base.Overloading.HasParentTypes GI.OSTree.Objects.RepoFinderMount.RepoFinderMount
+ GI.OSTree.Objects.RepoFinderMount: newtype RepoFinderMount
+ GI.OSTree.Objects.RepoFinderMount: noRepoFinderMount :: Maybe RepoFinderMount
+ GI.OSTree.Objects.RepoFinderMount: repoFinderMountNew :: (HasCallStack, MonadIO m, IsVolumeMonitor a) => Maybe a -> m RepoFinderMount
+ GI.OSTree.Objects.RepoFinderMount: toRepoFinderMount :: (MonadIO m, IsRepoFinderMount o) => o -> m RepoFinderMount
+ GI.OSTree.Objects.RepoFinderOverride: RepoFinderOverride :: ManagedPtr RepoFinderOverride -> RepoFinderOverride
+ GI.OSTree.Objects.RepoFinderOverride: class (GObject o, IsDescendantOf RepoFinderOverride o) => IsRepoFinderOverride o
+ GI.OSTree.Objects.RepoFinderOverride: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.OSTree.Objects.RepoFinderOverride.RepoFinderOverride o) => GI.OSTree.Objects.RepoFinderOverride.IsRepoFinderOverride o
+ GI.OSTree.Objects.RepoFinderOverride: instance Data.GI.Base.BasicTypes.GObject GI.OSTree.Objects.RepoFinderOverride.RepoFinderOverride
+ GI.OSTree.Objects.RepoFinderOverride: instance Data.GI.Base.Overloading.HasParentTypes GI.OSTree.Objects.RepoFinderOverride.RepoFinderOverride
+ GI.OSTree.Objects.RepoFinderOverride: newtype RepoFinderOverride
+ GI.OSTree.Objects.RepoFinderOverride: noRepoFinderOverride :: Maybe RepoFinderOverride
+ GI.OSTree.Objects.RepoFinderOverride: repoFinderOverrideAddUri :: (HasCallStack, MonadIO m, IsRepoFinderOverride a) => a -> Text -> m ()
+ GI.OSTree.Objects.RepoFinderOverride: repoFinderOverrideNew :: (HasCallStack, MonadIO m) => m RepoFinderOverride
+ GI.OSTree.Objects.RepoFinderOverride: toRepoFinderOverride :: (MonadIO m, IsRepoFinderOverride o) => o -> m RepoFinderOverride
+ GI.OSTree.Objects.SePolicy: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.OSTree.Objects.SePolicy.SePolicy o) => GI.OSTree.Objects.SePolicy.IsSePolicy o
+ GI.OSTree.Objects.SePolicy: instance Data.GI.Base.Overloading.HasParentTypes GI.OSTree.Objects.SePolicy.SePolicy
+ GI.OSTree.Objects.Sysroot: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.OSTree.Objects.Sysroot.Sysroot o) => GI.OSTree.Objects.Sysroot.IsSysroot o
+ GI.OSTree.Objects.Sysroot: instance Data.GI.Base.Overloading.HasParentTypes GI.OSTree.Objects.Sysroot.Sysroot
+ GI.OSTree.Objects.Sysroot: sysrootCleanupPruneRepo :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> RepoPruneOptions -> Maybe b -> m (Int32, Int32, Word64)
+ GI.OSTree.Objects.SysrootUpgrader: instance (Data.GI.Base.BasicTypes.GObject o, Data.GI.Base.Overloading.IsDescendantOf GI.OSTree.Objects.SysrootUpgrader.SysrootUpgrader o) => GI.OSTree.Objects.SysrootUpgrader.IsSysrootUpgrader o
+ GI.OSTree.Objects.SysrootUpgrader: instance Data.GI.Base.Overloading.HasParentTypes GI.OSTree.Objects.SysrootUpgrader.SysrootUpgrader
+ GI.OSTree.Structs.BootloaderInterface: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.BootloaderInterface.BootloaderInterface tag
+ GI.OSTree.Structs.CmdPrivateVTable: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.CmdPrivateVTable.CmdPrivateVTable tag
+ GI.OSTree.Structs.CollectionRef: CollectionRef :: ManagedPtr CollectionRef -> CollectionRef
+ GI.OSTree.Structs.CollectionRef: clearCollectionRefCollectionId :: MonadIO m => CollectionRef -> m ()
+ GI.OSTree.Structs.CollectionRef: clearCollectionRefRefName :: MonadIO m => CollectionRef -> m ()
+ GI.OSTree.Structs.CollectionRef: collectionRefDup :: (HasCallStack, MonadIO m) => CollectionRef -> m CollectionRef
+ GI.OSTree.Structs.CollectionRef: collectionRefDupv :: (HasCallStack, MonadIO m) => [CollectionRef] -> m [CollectionRef]
+ GI.OSTree.Structs.CollectionRef: collectionRefEqual :: (HasCallStack, MonadIO m) => Ptr () -> Ptr () -> m Bool
+ GI.OSTree.Structs.CollectionRef: collectionRefFree :: (HasCallStack, MonadIO m) => CollectionRef -> m ()
+ GI.OSTree.Structs.CollectionRef: collectionRefFreev :: (HasCallStack, MonadIO m) => [CollectionRef] -> m ()
+ GI.OSTree.Structs.CollectionRef: collectionRefHash :: (HasCallStack, MonadIO m) => Ptr () -> m Word32
+ GI.OSTree.Structs.CollectionRef: collectionRefNew :: (HasCallStack, MonadIO m) => Maybe Text -> Text -> m CollectionRef
+ GI.OSTree.Structs.CollectionRef: getCollectionRefCollectionId :: MonadIO m => CollectionRef -> m (Maybe Text)
+ GI.OSTree.Structs.CollectionRef: getCollectionRefRefName :: MonadIO m => CollectionRef -> m (Maybe Text)
+ GI.OSTree.Structs.CollectionRef: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.CollectionRef.CollectionRef tag
+ GI.OSTree.Structs.CollectionRef: instance Data.GI.Base.BasicTypes.BoxedObject GI.OSTree.Structs.CollectionRef.CollectionRef
+ GI.OSTree.Structs.CollectionRef: newZeroCollectionRef :: MonadIO m => m CollectionRef
+ GI.OSTree.Structs.CollectionRef: newtype CollectionRef
+ GI.OSTree.Structs.CollectionRef: noCollectionRef :: Maybe CollectionRef
+ GI.OSTree.Structs.CollectionRef: setCollectionRefCollectionId :: MonadIO m => CollectionRef -> CString -> m ()
+ GI.OSTree.Structs.CollectionRef: setCollectionRefRefName :: MonadIO m => CollectionRef -> CString -> m ()
+ GI.OSTree.Structs.DiffDirsOptions: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.DiffDirsOptions.DiffDirsOptions tag
+ GI.OSTree.Structs.DiffItem: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.DiffItem.DiffItem tag
+ GI.OSTree.Structs.LibarchiveInputStream: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.LibarchiveInputStream.LibarchiveInputStream tag
+ GI.OSTree.Structs.MutableTreeIter: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.MutableTreeIter.MutableTreeIter tag
+ GI.OSTree.Structs.Remote: Remote :: ManagedPtr Remote -> Remote
+ GI.OSTree.Structs.Remote: instance Data.GI.Base.BasicTypes.BoxedObject GI.OSTree.Structs.Remote.Remote
+ GI.OSTree.Structs.Remote: newtype Remote
+ GI.OSTree.Structs.Remote: noRemote :: Maybe Remote
+ GI.OSTree.Structs.Remote: remoteGetName :: (HasCallStack, MonadIO m) => Remote -> m Text
+ GI.OSTree.Structs.Remote: remoteGetUrl :: (HasCallStack, MonadIO m) => Remote -> m Text
+ GI.OSTree.Structs.Remote: remoteRef :: (HasCallStack, MonadIO m) => Remote -> m Remote
+ GI.OSTree.Structs.Remote: remoteUnref :: (HasCallStack, MonadIO m) => Remote -> m ()
+ GI.OSTree.Structs.RepoCheckoutAtOptions: getRepoCheckoutAtOptionsForceCopyZerosized :: MonadIO m => RepoCheckoutAtOptions -> m Bool
+ GI.OSTree.Structs.RepoCheckoutAtOptions: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.RepoCheckoutAtOptions.RepoCheckoutAtOptions tag
+ GI.OSTree.Structs.RepoCheckoutAtOptions: setRepoCheckoutAtOptionsForceCopyZerosized :: MonadIO m => RepoCheckoutAtOptions -> Bool -> m ()
+ GI.OSTree.Structs.RepoCommitTraverseIter: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.RepoCommitTraverseIter.RepoCommitTraverseIter tag
+ GI.OSTree.Structs.RepoFinderResult: RepoFinderResult :: ManagedPtr RepoFinderResult -> RepoFinderResult
+ GI.OSTree.Structs.RepoFinderResult: clearRepoFinderResultFinder :: MonadIO m => RepoFinderResult -> m ()
+ GI.OSTree.Structs.RepoFinderResult: clearRepoFinderResultRemote :: MonadIO m => RepoFinderResult -> m ()
+ GI.OSTree.Structs.RepoFinderResult: getRepoFinderResultFinder :: MonadIO m => RepoFinderResult -> m (Maybe RepoFinder)
+ GI.OSTree.Structs.RepoFinderResult: getRepoFinderResultPriority :: MonadIO m => RepoFinderResult -> m Int32
+ GI.OSTree.Structs.RepoFinderResult: getRepoFinderResultRemote :: MonadIO m => RepoFinderResult -> m (Maybe Remote)
+ GI.OSTree.Structs.RepoFinderResult: getRepoFinderResultSummaryLastModified :: MonadIO m => RepoFinderResult -> m Word64
+ GI.OSTree.Structs.RepoFinderResult: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.RepoFinderResult.RepoFinderResult tag
+ GI.OSTree.Structs.RepoFinderResult: instance Data.GI.Base.BasicTypes.BoxedObject GI.OSTree.Structs.RepoFinderResult.RepoFinderResult
+ GI.OSTree.Structs.RepoFinderResult: newZeroRepoFinderResult :: MonadIO m => m RepoFinderResult
+ GI.OSTree.Structs.RepoFinderResult: newtype RepoFinderResult
+ GI.OSTree.Structs.RepoFinderResult: noRepoFinderResult :: Maybe RepoFinderResult
+ GI.OSTree.Structs.RepoFinderResult: repoFinderResultCompare :: (HasCallStack, MonadIO m) => RepoFinderResult -> RepoFinderResult -> m Int32
+ GI.OSTree.Structs.RepoFinderResult: repoFinderResultDup :: (HasCallStack, MonadIO m) => RepoFinderResult -> m RepoFinderResult
+ GI.OSTree.Structs.RepoFinderResult: repoFinderResultFree :: (HasCallStack, MonadIO m) => RepoFinderResult -> m ()
+ GI.OSTree.Structs.RepoFinderResult: repoFinderResultFreev :: (HasCallStack, MonadIO m) => [RepoFinderResult] -> m ()
+ GI.OSTree.Structs.RepoFinderResult: setRepoFinderResultFinder :: MonadIO m => RepoFinderResult -> Ptr RepoFinder -> m ()
+ GI.OSTree.Structs.RepoFinderResult: setRepoFinderResultPriority :: MonadIO m => RepoFinderResult -> Int32 -> m ()
+ GI.OSTree.Structs.RepoFinderResult: setRepoFinderResultRemote :: MonadIO m => RepoFinderResult -> Ptr Remote -> m ()
+ GI.OSTree.Structs.RepoFinderResult: setRepoFinderResultSummaryLastModified :: MonadIO m => RepoFinderResult -> Word64 -> m ()
+ GI.OSTree.Structs.RepoPruneOptions: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.RepoPruneOptions.RepoPruneOptions tag
+ GI.OSTree.Structs.RepoTransactionStats: getRepoTransactionStatsDevinoCacheHits :: MonadIO m => RepoTransactionStats -> m Word32
+ GI.OSTree.Structs.RepoTransactionStats: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.RepoTransactionStats.RepoTransactionStats tag
+ GI.OSTree.Structs.RepoTransactionStats: setRepoTransactionStatsDevinoCacheHits :: MonadIO m => RepoTransactionStats -> Word32 -> m ()
+ GI.OSTree.Structs.RollsumMatches: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.RollsumMatches.RollsumMatches tag
+ GI.OSTree.Structs.SysrootWriteDeploymentsOpts: instance (tag Data.Type.Equality.~ 'Data.GI.Base.Attributes.AttrSet) => Data.GI.Base.Constructible.Constructible GI.OSTree.Structs.SysrootWriteDeploymentsOpts.SysrootWriteDeploymentsOpts tag
- GI.OSTree.Callbacks: genClosure_BootloaderInterfaceGetNameFieldCallback :: BootloaderInterfaceGetNameFieldCallback -> IO Closure
+ GI.OSTree.Callbacks: genClosure_BootloaderInterfaceGetNameFieldCallback :: MonadIO m => BootloaderInterfaceGetNameFieldCallback -> m (GClosure C_BootloaderInterfaceGetNameFieldCallback)
- GI.OSTree.Callbacks: genClosure_BootloaderInterfaceIsAtomicFieldCallback :: BootloaderInterfaceIsAtomicFieldCallback -> IO Closure
+ GI.OSTree.Callbacks: genClosure_BootloaderInterfaceIsAtomicFieldCallback :: MonadIO m => BootloaderInterfaceIsAtomicFieldCallback -> m (GClosure C_BootloaderInterfaceIsAtomicFieldCallback)
- GI.OSTree.Callbacks: genClosure_RepoCheckoutFilter :: RepoCheckoutFilter -> IO Closure
+ GI.OSTree.Callbacks: genClosure_RepoCheckoutFilter :: MonadIO m => RepoCheckoutFilter -> m (GClosure C_RepoCheckoutFilter)
- GI.OSTree.Callbacks: genClosure_RepoCommitFilter :: RepoCommitFilter -> IO Closure
+ GI.OSTree.Callbacks: genClosure_RepoCommitFilter :: MonadIO m => RepoCommitFilter -> m (GClosure C_RepoCommitFilter)
- GI.OSTree.Callbacks: genClosure_RepoCommitModifierXattrCallback :: RepoCommitModifierXattrCallback -> IO Closure
+ GI.OSTree.Callbacks: genClosure_RepoCommitModifierXattrCallback :: MonadIO m => RepoCommitModifierXattrCallback -> m (GClosure C_RepoCommitModifierXattrCallback)
- GI.OSTree.Callbacks: genClosure_RepoImportArchiveTranslatePathname :: RepoImportArchiveTranslatePathname -> IO Closure
+ GI.OSTree.Callbacks: genClosure_RepoImportArchiveTranslatePathname :: MonadIO m => RepoImportArchiveTranslatePathname -> m (GClosure C_RepoImportArchiveTranslatePathname)
- GI.OSTree.Callbacks: type BootloaderInterfaceQueryFieldCallback = Bootloader -> Bool -> Cancellable -> IO () /(Can throw 'Data.GI.Base.GError.GError')/
+ GI.OSTree.Callbacks: type BootloaderInterfaceQueryFieldCallback = Bootloader -> Bool -> Cancellable -> IO () " /(Can throw 'Data.GI.Base.GError.GError')/ "
- GI.OSTree.Callbacks: type CmdPrivateVTableOstreeFinalizeStagedFieldCallback = Sysroot -> Cancellable -> IO () /(Can throw 'Data.GI.Base.GError.GError')/
+ GI.OSTree.Callbacks: type CmdPrivateVTableOstreeFinalizeStagedFieldCallback = Sysroot -> Cancellable -> IO () " /(Can throw 'Data.GI.Base.GError.GError')/ "
- GI.OSTree.Callbacks: type CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback = Sysroot -> Int32 -> Int32 -> Cancellable -> IO () /(Can throw 'Data.GI.Base.GError.GError')/
+ GI.OSTree.Callbacks: type CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback = Sysroot -> Int32 -> Int32 -> Cancellable -> IO () " /(Can throw 'Data.GI.Base.GError.GError')/ "
- GI.OSTree.Callbacks: type CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback = Text -> Text -> GVariant -> IO () /(Can throw 'Data.GI.Base.GError.GError')/
+ GI.OSTree.Callbacks: type CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback = Text -> Text -> GVariant -> IO () " /(Can throw 'Data.GI.Base.GError.GError')/ "
- GI.OSTree.Callbacks: type CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback = Repo -> Text -> Cancellable -> IO () /(Can throw 'Data.GI.Base.GError.GError')/
+ GI.OSTree.Callbacks: type CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback = Repo -> Text -> Cancellable -> IO () " /(Can throw 'Data.GI.Base.GError.GError')/ "
- GI.OSTree.Callbacks: type CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback = Repo -> Text -> Cancellable -> IO () /(Can throw 'Data.GI.Base.GError.GError')/
+ GI.OSTree.Callbacks: type CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback = Repo -> Text -> Cancellable -> IO () " /(Can throw 'Data.GI.Base.GError.GError')/ "
- GI.OSTree.Callbacks: type CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback = Repo -> Text -> Bool -> Cancellable -> IO () /(Can throw 'Data.GI.Base.GError.GError')/
+ GI.OSTree.Callbacks: type CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback = Repo -> Text -> Bool -> Cancellable -> IO () " /(Can throw 'Data.GI.Base.GError.GError')/ "
- GI.OSTree.Callbacks: type CmdPrivateVTableOstreeSystemGeneratorFieldCallback = Text -> Text -> Text -> Text -> IO () /(Can throw 'Data.GI.Base.GError.GError')/
+ GI.OSTree.Callbacks: type CmdPrivateVTableOstreeSystemGeneratorFieldCallback = Text -> Text -> Text -> Text -> IO () " /(Can throw 'Data.GI.Base.GError.GError')/ "
- GI.OSTree.Callbacks: type RepoCheckoutFilter = Repo /@repo@/: Repo -> Text /@path@/: Path to file -> Ptr () /@stbuf@/: File information -> IO RepoCheckoutFilterResult __Returns:__ 'GI.OSTree.Enums.RepoCheckoutFilterResult' saying whether or not to checkout this file
+ GI.OSTree.Callbacks: type RepoCheckoutFilter = Repo " /@repo@/: Repo " -> Text " /@path@/: Path to file " -> Ptr () " /@stbuf@/: File information " -> IO RepoCheckoutFilterResult " __Returns:__ 'GI.OSTree.Enums.RepoCheckoutFilterResult' saying whether or not to checkout this file "
- GI.OSTree.Callbacks: type RepoCheckoutFilter_WithClosures = Repo /@repo@/: Repo -> Text /@path@/: Path to file -> Ptr () /@stbuf@/: File information -> Ptr () /@userData@/: User data -> IO RepoCheckoutFilterResult __Returns:__ 'GI.OSTree.Enums.RepoCheckoutFilterResult' saying whether or not to checkout this file
+ GI.OSTree.Callbacks: type RepoCheckoutFilter_WithClosures = Repo " /@repo@/: Repo " -> Text " /@path@/: Path to file " -> Ptr () " /@stbuf@/: File information " -> Ptr () " /@userData@/: User data " -> IO RepoCheckoutFilterResult " __Returns:__ 'GI.OSTree.Enums.RepoCheckoutFilterResult' saying whether or not to checkout this file "
- GI.OSTree.Callbacks: type RepoCommitFilter = Repo /@repo@/: Repo -> Text /@path@/: Path to file -> FileInfo /@fileInfo@/: File information -> IO RepoCommitFilterResult __Returns:__ 'GI.OSTree.Enums.RepoCommitFilterResult' saying whether or not to commit this file
+ GI.OSTree.Callbacks: type RepoCommitFilter = Repo " /@repo@/: Repo " -> Text " /@path@/: Path to file " -> FileInfo " /@fileInfo@/: File information " -> IO RepoCommitFilterResult " __Returns:__ 'GI.OSTree.Enums.RepoCommitFilterResult' saying whether or not to commit this file "
- GI.OSTree.Callbacks: type RepoCommitFilter_WithClosures = Repo /@repo@/: Repo -> Text /@path@/: Path to file -> FileInfo /@fileInfo@/: File information -> Ptr () /@userData@/: User data -> IO RepoCommitFilterResult __Returns:__ 'GI.OSTree.Enums.RepoCommitFilterResult' saying whether or not to commit this file
+ GI.OSTree.Callbacks: type RepoCommitFilter_WithClosures = Repo " /@repo@/: Repo " -> Text " /@path@/: Path to file " -> FileInfo " /@fileInfo@/: File information " -> Ptr () " /@userData@/: User data " -> IO RepoCommitFilterResult " __Returns:__ 'GI.OSTree.Enums.RepoCommitFilterResult' saying whether or not to commit this file "
- GI.OSTree.Callbacks: type RepoImportArchiveTranslatePathname = Repo /@repo@/: Repo -> Ptr () /@stbuf@/: Stat buffer -> Text /@srcPath@/: Path in the archive -> IO Text
+ GI.OSTree.Callbacks: type RepoImportArchiveTranslatePathname = Repo " /@repo@/: Repo " -> Ptr () " /@stbuf@/: Stat buffer " -> Text " /@srcPath@/: Path in the archive " -> IO Text
- GI.OSTree.Callbacks: type RepoImportArchiveTranslatePathname_WithClosures = Repo /@repo@/: Repo -> Ptr () /@stbuf@/: Stat buffer -> Text /@srcPath@/: Path in the archive -> Ptr () /@userData@/: User data -> IO Text
+ GI.OSTree.Callbacks: type RepoImportArchiveTranslatePathname_WithClosures = Repo " /@repo@/: Repo " -> Ptr () " /@stbuf@/: Stat buffer " -> Text " /@srcPath@/: Path in the archive " -> Ptr () " /@userData@/: User data " -> IO Text
- GI.OSTree.Functions: breakHardlink :: (HasCallStack, MonadIO m, IsCancellable a) => Int32 -> Text -> Bool -> Maybe (a) -> m ()
+ GI.OSTree.Functions: breakHardlink :: (HasCallStack, MonadIO m, IsCancellable a) => Int32 -> Text -> Bool -> Maybe a -> m ()
- GI.OSTree.Functions: checksumFile :: (HasCallStack, MonadIO m, IsFile a, IsCancellable b) => a -> ObjectType -> Maybe (b) -> m (ByteString)
+ GI.OSTree.Functions: checksumFile :: (HasCallStack, MonadIO m, IsFile a, IsCancellable b) => a -> ObjectType -> Maybe b -> m ByteString
- GI.OSTree.Functions: checksumFileAsync :: (HasCallStack, MonadIO m, IsFile a, IsCancellable b) => a -> ObjectType -> Int32 -> Maybe (b) -> Maybe (AsyncReadyCallback) -> m ()
+ GI.OSTree.Functions: checksumFileAsync :: (HasCallStack, MonadIO m, IsFile a, IsCancellable b) => a -> ObjectType -> Int32 -> Maybe b -> Maybe AsyncReadyCallback -> m ()
- GI.OSTree.Functions: checksumFileAsyncFinish :: (HasCallStack, MonadIO m, IsFile a, IsAsyncResult b) => a -> b -> m (ByteString)
+ GI.OSTree.Functions: checksumFileAsyncFinish :: (HasCallStack, MonadIO m, IsFile a, IsAsyncResult b) => a -> b -> m ByteString
- GI.OSTree.Functions: checksumFileAt :: (HasCallStack, MonadIO m, IsCancellable a) => Int32 -> Text -> Ptr () -> ObjectType -> [ChecksumFlags] -> Text -> Maybe (a) -> m ()
+ GI.OSTree.Functions: checksumFileAt :: (HasCallStack, MonadIO m, IsCancellable a) => Int32 -> Text -> Ptr () -> ObjectType -> [ChecksumFlags] -> Text -> Maybe a -> m ()
- GI.OSTree.Functions: checksumFileFromInput :: (HasCallStack, MonadIO m, IsFileInfo a, IsInputStream b, IsCancellable c) => a -> Maybe (GVariant) -> Maybe (b) -> ObjectType -> Maybe (c) -> m (ByteString)
+ GI.OSTree.Functions: checksumFileFromInput :: (HasCallStack, MonadIO m, IsFileInfo a, IsInputStream b, IsCancellable c) => a -> Maybe GVariant -> Maybe b -> ObjectType -> Maybe c -> m ByteString
- GI.OSTree.Functions: contentFileParse :: (HasCallStack, MonadIO m, IsFile a, IsCancellable b) => Bool -> a -> Bool -> Maybe (b) -> m ((InputStream, FileInfo, GVariant))
+ GI.OSTree.Functions: contentFileParse :: (HasCallStack, MonadIO m, IsFile a, IsCancellable b) => Bool -> a -> Bool -> Maybe b -> m (InputStream, FileInfo, GVariant)
- GI.OSTree.Functions: contentFileParseAt :: (HasCallStack, MonadIO m, IsCancellable a) => Bool -> Int32 -> Text -> Bool -> Maybe (a) -> m ((InputStream, FileInfo, GVariant))
+ GI.OSTree.Functions: contentFileParseAt :: (HasCallStack, MonadIO m, IsCancellable a) => Bool -> Int32 -> Text -> Bool -> Maybe a -> m (InputStream, FileInfo, GVariant)
- GI.OSTree.Functions: contentStreamParse :: (HasCallStack, MonadIO m, IsInputStream a, IsCancellable b) => Bool -> a -> Word64 -> Bool -> Maybe (b) -> m ((InputStream, FileInfo, GVariant))
+ GI.OSTree.Functions: contentStreamParse :: (HasCallStack, MonadIO m, IsInputStream a, IsCancellable b) => Bool -> a -> Word64 -> Bool -> Maybe b -> m (InputStream, FileInfo, GVariant)
- GI.OSTree.Functions: createDirectoryMetadata :: (HasCallStack, MonadIO m, IsFileInfo a) => a -> Maybe (GVariant) -> m GVariant
+ GI.OSTree.Functions: createDirectoryMetadata :: (HasCallStack, MonadIO m, IsFileInfo a) => a -> Maybe GVariant -> m GVariant
- GI.OSTree.Functions: diffDirs :: (HasCallStack, MonadIO m, IsFile a, IsFile b, IsCancellable c) => [DiffFlags] -> a -> b -> [DiffItem] -> [File] -> [File] -> Maybe (c) -> m ()
+ GI.OSTree.Functions: diffDirs :: (HasCallStack, MonadIO m, IsFile a, IsFile b, IsCancellable c) => [DiffFlags] -> a -> b -> [DiffItem] -> [File] -> [File] -> Maybe c -> m ()
- GI.OSTree.Functions: diffDirsWithOptions :: (HasCallStack, MonadIO m, IsFile a, IsFile b, IsCancellable c) => [DiffFlags] -> a -> b -> [DiffItem] -> [File] -> [File] -> Maybe (DiffDirsOptions) -> Maybe (c) -> m ()
+ GI.OSTree.Functions: diffDirsWithOptions :: (HasCallStack, MonadIO m, IsFile a, IsFile b, IsCancellable c) => [DiffFlags] -> a -> b -> [DiffItem] -> [File] -> [File] -> Maybe DiffDirsOptions -> Maybe c -> m ()
- GI.OSTree.Functions: objectFromString :: (HasCallStack, MonadIO m) => Text -> m ((Text, ObjectType))
+ GI.OSTree.Functions: objectFromString :: (HasCallStack, MonadIO m) => Text -> m (Text, ObjectType)
- GI.OSTree.Functions: objectNameDeserialize :: (HasCallStack, MonadIO m) => GVariant -> m ((Text, ObjectType))
+ GI.OSTree.Functions: objectNameDeserialize :: (HasCallStack, MonadIO m) => GVariant -> m (Text, ObjectType)
- GI.OSTree.Functions: parseRefspec :: (HasCallStack, MonadIO m) => Text -> m ((Maybe Text, Text))
+ GI.OSTree.Functions: parseRefspec :: (HasCallStack, MonadIO m) => Text -> m (Maybe Text, Text)
- GI.OSTree.Functions: rawFileToArchiveZ2Stream :: (HasCallStack, MonadIO m, IsInputStream a, IsFileInfo b, IsCancellable c) => a -> b -> Maybe (GVariant) -> Maybe (c) -> m (InputStream)
+ GI.OSTree.Functions: rawFileToArchiveZ2Stream :: (HasCallStack, MonadIO m, IsInputStream a, IsFileInfo b, IsCancellable c) => a -> b -> Maybe GVariant -> Maybe c -> m InputStream
- GI.OSTree.Functions: rawFileToArchiveZ2StreamWithOptions :: (HasCallStack, MonadIO m, IsInputStream a, IsFileInfo b, IsCancellable c) => a -> b -> Maybe (GVariant) -> Maybe (GVariant) -> Maybe (c) -> m (InputStream)
+ GI.OSTree.Functions: rawFileToArchiveZ2StreamWithOptions :: (HasCallStack, MonadIO m, IsInputStream a, IsFileInfo b, IsCancellable c) => a -> b -> Maybe GVariant -> Maybe GVariant -> Maybe c -> m InputStream
- GI.OSTree.Functions: rawFileToContentStream :: (HasCallStack, MonadIO m, IsInputStream a, IsFileInfo b, IsCancellable c) => a -> b -> Maybe (GVariant) -> Maybe (c) -> m ((InputStream, Word64))
+ GI.OSTree.Functions: rawFileToContentStream :: (HasCallStack, MonadIO m, IsInputStream a, IsFileInfo b, IsCancellable c) => a -> b -> Maybe GVariant -> Maybe c -> m (InputStream, Word64)
- GI.OSTree.Objects.AsyncProgress: AsyncProgress :: (ManagedPtr AsyncProgress) -> AsyncProgress
+ GI.OSTree.Objects.AsyncProgress: AsyncProgress :: ManagedPtr AsyncProgress -> AsyncProgress
- GI.OSTree.Objects.AsyncProgress: asyncProgressSetStatus :: (HasCallStack, MonadIO m, IsAsyncProgress a) => a -> Maybe (Text) -> m ()
+ GI.OSTree.Objects.AsyncProgress: asyncProgressSetStatus :: (HasCallStack, MonadIO m, IsAsyncProgress a) => a -> Maybe Text -> m ()
- GI.OSTree.Objects.AsyncProgress: class GObject o => IsAsyncProgress o
+ GI.OSTree.Objects.AsyncProgress: class (GObject o, IsDescendantOf AsyncProgress o) => IsAsyncProgress o
- GI.OSTree.Objects.AsyncProgress: genClosure_AsyncProgressChanged :: AsyncProgressChangedCallback -> IO Closure
+ GI.OSTree.Objects.AsyncProgress: genClosure_AsyncProgressChanged :: MonadIO m => AsyncProgressChangedCallback -> m (GClosure C_AsyncProgressChangedCallback)
- GI.OSTree.Objects.BootconfigParser: BootconfigParser :: (ManagedPtr BootconfigParser) -> BootconfigParser
+ GI.OSTree.Objects.BootconfigParser: BootconfigParser :: ManagedPtr BootconfigParser -> BootconfigParser
- GI.OSTree.Objects.BootconfigParser: bootconfigParserParse :: (HasCallStack, MonadIO m, IsBootconfigParser a, IsFile b, IsCancellable c) => a -> b -> Maybe (c) -> m ()
+ GI.OSTree.Objects.BootconfigParser: bootconfigParserParse :: (HasCallStack, MonadIO m, IsBootconfigParser a, IsFile b, IsCancellable c) => a -> b -> Maybe c -> m ()
- GI.OSTree.Objects.BootconfigParser: bootconfigParserParseAt :: (HasCallStack, MonadIO m, IsBootconfigParser a, IsCancellable b) => a -> Int32 -> Text -> Maybe (b) -> m ()
+ GI.OSTree.Objects.BootconfigParser: bootconfigParserParseAt :: (HasCallStack, MonadIO m, IsBootconfigParser a, IsCancellable b) => a -> Int32 -> Text -> Maybe b -> m ()
- GI.OSTree.Objects.BootconfigParser: bootconfigParserWrite :: (HasCallStack, MonadIO m, IsBootconfigParser a, IsFile b, IsCancellable c) => a -> b -> Maybe (c) -> m ()
+ GI.OSTree.Objects.BootconfigParser: bootconfigParserWrite :: (HasCallStack, MonadIO m, IsBootconfigParser a, IsFile b, IsCancellable c) => a -> b -> Maybe c -> m ()
- GI.OSTree.Objects.BootconfigParser: bootconfigParserWriteAt :: (HasCallStack, MonadIO m, IsBootconfigParser a, IsCancellable b) => a -> Int32 -> Text -> Maybe (b) -> m ()
+ GI.OSTree.Objects.BootconfigParser: bootconfigParserWriteAt :: (HasCallStack, MonadIO m, IsBootconfigParser a, IsCancellable b) => a -> Int32 -> Text -> Maybe b -> m ()
- GI.OSTree.Objects.BootconfigParser: class GObject o => IsBootconfigParser o
+ GI.OSTree.Objects.BootconfigParser: class (GObject o, IsDescendantOf BootconfigParser o) => IsBootconfigParser o
- GI.OSTree.Objects.ChecksumInputStream: ChecksumInputStream :: (ManagedPtr ChecksumInputStream) -> ChecksumInputStream
+ GI.OSTree.Objects.ChecksumInputStream: ChecksumInputStream :: ManagedPtr ChecksumInputStream -> ChecksumInputStream
- GI.OSTree.Objects.ChecksumInputStream: class GObject o => IsChecksumInputStream o
+ GI.OSTree.Objects.ChecksumInputStream: class (GObject o, IsDescendantOf ChecksumInputStream o) => IsChecksumInputStream o
- GI.OSTree.Objects.ChecksumInputStream: constructChecksumInputStreamChecksum :: (IsChecksumInputStream o) => Ptr () -> IO (GValueConstruct o)
+ GI.OSTree.Objects.ChecksumInputStream: constructChecksumInputStreamChecksum :: IsChecksumInputStream o => Ptr () -> IO (GValueConstruct o)
- GI.OSTree.Objects.Deployment: Deployment :: (ManagedPtr Deployment) -> Deployment
+ GI.OSTree.Objects.Deployment: Deployment :: ManagedPtr Deployment -> Deployment
- GI.OSTree.Objects.Deployment: class GObject o => IsDeployment o
+ GI.OSTree.Objects.Deployment: class (GObject o, IsDescendantOf Deployment o) => IsDeployment o
- GI.OSTree.Objects.GpgVerifyResult: GpgVerifyResult :: (ManagedPtr GpgVerifyResult) -> GpgVerifyResult
+ GI.OSTree.Objects.GpgVerifyResult: GpgVerifyResult :: ManagedPtr GpgVerifyResult -> GpgVerifyResult
- GI.OSTree.Objects.GpgVerifyResult: class GObject o => IsGpgVerifyResult o
+ GI.OSTree.Objects.GpgVerifyResult: class (GObject o, IsDescendantOf GpgVerifyResult o) => IsGpgVerifyResult o
- GI.OSTree.Objects.GpgVerifyResult: gpgVerifyResultDescribe :: (HasCallStack, MonadIO m, IsGpgVerifyResult a) => a -> Word32 -> String -> Maybe (Text) -> GpgSignatureFormatFlags -> m ()
+ GI.OSTree.Objects.GpgVerifyResult: gpgVerifyResultDescribe :: (HasCallStack, MonadIO m, IsGpgVerifyResult a) => a -> Word32 -> String -> Maybe Text -> GpgSignatureFormatFlags -> m ()
- GI.OSTree.Objects.GpgVerifyResult: gpgVerifyResultDescribeVariant :: (HasCallStack, MonadIO m) => GVariant -> String -> Maybe (Text) -> GpgSignatureFormatFlags -> m ()
+ GI.OSTree.Objects.GpgVerifyResult: gpgVerifyResultDescribeVariant :: (HasCallStack, MonadIO m) => GVariant -> String -> Maybe Text -> GpgSignatureFormatFlags -> m ()
- GI.OSTree.Objects.GpgVerifyResult: gpgVerifyResultLookup :: (HasCallStack, MonadIO m, IsGpgVerifyResult a) => a -> Text -> m ((Bool, Word32))
+ GI.OSTree.Objects.GpgVerifyResult: gpgVerifyResultLookup :: (HasCallStack, MonadIO m, IsGpgVerifyResult a) => a -> Text -> m (Bool, Word32)
- GI.OSTree.Objects.MutableTree: MutableTree :: (ManagedPtr MutableTree) -> MutableTree
+ GI.OSTree.Objects.MutableTree: MutableTree :: ManagedPtr MutableTree -> MutableTree
- GI.OSTree.Objects.MutableTree: class GObject o => IsMutableTree o
+ GI.OSTree.Objects.MutableTree: class (GObject o, IsDescendantOf MutableTree o) => IsMutableTree o
- GI.OSTree.Objects.MutableTree: mutableTreeEnsureDir :: (HasCallStack, MonadIO m, IsMutableTree a, IsMutableTree b) => a -> Text -> b -> m ()
+ GI.OSTree.Objects.MutableTree: mutableTreeEnsureDir :: (HasCallStack, MonadIO m, IsMutableTree a) => a -> Text -> m MutableTree
- GI.OSTree.Objects.MutableTree: mutableTreeEnsureParentDirs :: (HasCallStack, MonadIO m, IsMutableTree a) => a -> [Text] -> Text -> m (MutableTree)
+ GI.OSTree.Objects.MutableTree: mutableTreeEnsureParentDirs :: (HasCallStack, MonadIO m, IsMutableTree a) => a -> [Text] -> Text -> m MutableTree
- GI.OSTree.Objects.MutableTree: mutableTreeWalk :: (HasCallStack, MonadIO m, IsMutableTree a) => a -> [Text] -> Word32 -> m (MutableTree)
+ GI.OSTree.Objects.MutableTree: mutableTreeWalk :: (HasCallStack, MonadIO m, IsMutableTree a) => a -> [Text] -> Word32 -> m MutableTree
- GI.OSTree.Objects.Repo: Repo :: (ManagedPtr Repo) -> Repo
+ GI.OSTree.Objects.Repo: Repo :: ManagedPtr Repo -> Repo
- GI.OSTree.Objects.Repo: class GObject o => IsRepo o
+ GI.OSTree.Objects.Repo: class (GObject o, IsDescendantOf Repo o) => IsRepo o
- GI.OSTree.Objects.Repo: constructRepoRemotesConfigDir :: (IsRepo o) => Text -> IO (GValueConstruct o)
+ GI.OSTree.Objects.Repo: constructRepoRemotesConfigDir :: IsRepo o => Text -> IO (GValueConstruct o)
- GI.OSTree.Objects.Repo: genClosure_RepoGpgVerifyResult :: RepoGpgVerifyResultCallback -> IO Closure
+ GI.OSTree.Objects.Repo: genClosure_RepoGpgVerifyResult :: MonadIO m => RepoGpgVerifyResultCallback -> m (GClosure C_RepoGpgVerifyResultCallback)
- GI.OSTree.Objects.Repo: repoAbortTransaction :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Repo: repoAbortTransaction :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe b -> m ()
- GI.OSTree.Objects.Repo: repoAddGpgSignatureSummary :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> [Text] -> Maybe (Text) -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Repo: repoAddGpgSignatureSummary :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> [Text] -> Maybe Text -> Maybe b -> m ()
- GI.OSTree.Objects.Repo: repoAppendGpgSignature :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Bytes -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Repo: repoAppendGpgSignature :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Bytes -> Maybe b -> m ()
- GI.OSTree.Objects.Repo: repoCheckoutAt :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe (RepoCheckoutAtOptions) -> Int32 -> Text -> Text -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Repo: repoCheckoutAt :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe RepoCheckoutAtOptions -> Int32 -> Text -> Text -> Maybe b -> m ()
- GI.OSTree.Objects.Repo: repoCheckoutGc :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Repo: repoCheckoutGc :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe b -> m ()
- GI.OSTree.Objects.Repo: repoCheckoutTree :: (HasCallStack, MonadIO m, IsRepo a, IsFile b, IsRepoFile c, IsFileInfo d, IsCancellable e) => a -> RepoCheckoutMode -> RepoCheckoutOverwriteMode -> b -> c -> d -> Maybe (e) -> m ()
+ GI.OSTree.Objects.Repo: repoCheckoutTree :: (HasCallStack, MonadIO m, IsRepo a, IsFile b, IsRepoFile c, IsFileInfo d, IsCancellable e) => a -> RepoCheckoutMode -> RepoCheckoutOverwriteMode -> b -> c -> d -> Maybe e -> m ()
- GI.OSTree.Objects.Repo: repoCommitTransaction :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe (b) -> m (RepoTransactionStats)
+ GI.OSTree.Objects.Repo: repoCommitTransaction :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe b -> m RepoTransactionStats
- GI.OSTree.Objects.Repo: repoCreate :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> RepoMode -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Repo: repoCreate :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> RepoMode -> Maybe b -> m ()
- GI.OSTree.Objects.Repo: repoCreateAt :: (HasCallStack, MonadIO m, IsCancellable a) => Int32 -> Text -> RepoMode -> GVariant -> Maybe (a) -> m Repo
+ GI.OSTree.Objects.Repo: repoCreateAt :: (HasCallStack, MonadIO m, IsCancellable a) => Int32 -> Text -> RepoMode -> GVariant -> Maybe a -> m Repo
- GI.OSTree.Objects.Repo: repoDeleteObject :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> ObjectType -> Text -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Repo: repoDeleteObject :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> ObjectType -> Text -> Maybe b -> m ()
- GI.OSTree.Objects.Repo: repoFsckObject :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> ObjectType -> Text -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Repo: repoFsckObject :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> ObjectType -> Text -> Maybe b -> m ()
- GI.OSTree.Objects.Repo: repoGetRemoteBooleanOption :: (HasCallStack, MonadIO m, IsRepo a) => a -> Text -> Text -> Bool -> m (Bool)
+ GI.OSTree.Objects.Repo: repoGetRemoteBooleanOption :: (HasCallStack, MonadIO m, IsRepo a) => a -> Text -> Text -> Bool -> m Bool
- GI.OSTree.Objects.Repo: repoGetRemoteListOption :: (HasCallStack, MonadIO m, IsRepo a) => a -> Text -> Text -> m ([Text])
+ GI.OSTree.Objects.Repo: repoGetRemoteListOption :: (HasCallStack, MonadIO m, IsRepo a) => a -> Text -> Text -> m [Text]
- GI.OSTree.Objects.Repo: repoGetRemoteOption :: (HasCallStack, MonadIO m, IsRepo a) => a -> Text -> Text -> Maybe (Text) -> m (Text)
+ GI.OSTree.Objects.Repo: repoGetRemoteOption :: (HasCallStack, MonadIO m, IsRepo a) => a -> Text -> Text -> Maybe Text -> m Text
- GI.OSTree.Objects.Repo: repoGpgVerifyData :: (HasCallStack, MonadIO m, IsRepo a, IsFile b, IsFile c, IsCancellable d) => a -> Maybe (Text) -> Bytes -> Bytes -> Maybe (b) -> Maybe (c) -> Maybe (d) -> m GpgVerifyResult
+ GI.OSTree.Objects.Repo: repoGpgVerifyData :: (HasCallStack, MonadIO m, IsRepo a, IsFile b, IsFile c, IsCancellable d) => a -> Maybe Text -> Bytes -> Bytes -> Maybe b -> Maybe c -> Maybe d -> m GpgVerifyResult
- GI.OSTree.Objects.Repo: repoHasObject :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> ObjectType -> Text -> Maybe (b) -> m (Bool)
+ GI.OSTree.Objects.Repo: repoHasObject :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> ObjectType -> Text -> Maybe b -> m Bool
- GI.OSTree.Objects.Repo: repoImportObjectFrom :: (HasCallStack, MonadIO m, IsRepo a, IsRepo b, IsCancellable c) => a -> b -> ObjectType -> Text -> Maybe (c) -> m ()
+ GI.OSTree.Objects.Repo: repoImportObjectFrom :: (HasCallStack, MonadIO m, IsRepo a, IsRepo b, IsCancellable c) => a -> b -> ObjectType -> Text -> Maybe c -> m ()
- GI.OSTree.Objects.Repo: repoImportObjectFromWithTrust :: (HasCallStack, MonadIO m, IsRepo a, IsRepo b, IsCancellable c) => a -> b -> ObjectType -> Text -> Bool -> Maybe (c) -> m ()
+ GI.OSTree.Objects.Repo: repoImportObjectFromWithTrust :: (HasCallStack, MonadIO m, IsRepo a, IsRepo b, IsCancellable c) => a -> b -> ObjectType -> Text -> Bool -> Maybe c -> m ()
- GI.OSTree.Objects.Repo: repoListStaticDeltaNames :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe (b) -> m ([Text])
+ GI.OSTree.Objects.Repo: repoListStaticDeltaNames :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe b -> m [Text]
- GI.OSTree.Objects.Repo: repoLoadCommit :: (HasCallStack, MonadIO m, IsRepo a) => a -> Text -> m ((GVariant, [RepoCommitState]))
+ GI.OSTree.Objects.Repo: repoLoadCommit :: (HasCallStack, MonadIO m, IsRepo a) => a -> Text -> m (GVariant, [RepoCommitState])
- GI.OSTree.Objects.Repo: repoLoadFile :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Maybe (b) -> m ((Maybe InputStream, Maybe FileInfo, Maybe GVariant))
+ GI.OSTree.Objects.Repo: repoLoadFile :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Maybe b -> m (Maybe InputStream, Maybe FileInfo, Maybe GVariant)
- GI.OSTree.Objects.Repo: repoLoadObjectStream :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> ObjectType -> Text -> Maybe (b) -> m ((InputStream, Word64))
+ GI.OSTree.Objects.Repo: repoLoadObjectStream :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> ObjectType -> Text -> Maybe b -> m (InputStream, Word64)
- GI.OSTree.Objects.Repo: repoLoadVariant :: (HasCallStack, MonadIO m, IsRepo a) => a -> ObjectType -> Text -> m (GVariant)
+ GI.OSTree.Objects.Repo: repoLoadVariant :: (HasCallStack, MonadIO m, IsRepo a) => a -> ObjectType -> Text -> m GVariant
- GI.OSTree.Objects.Repo: repoLoadVariantIfExists :: (HasCallStack, MonadIO m, IsRepo a) => a -> ObjectType -> Text -> m (GVariant)
+ GI.OSTree.Objects.Repo: repoLoadVariantIfExists :: (HasCallStack, MonadIO m, IsRepo a) => a -> ObjectType -> Text -> m GVariant
- GI.OSTree.Objects.Repo: repoOpen :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Repo: repoOpen :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe b -> m ()
- GI.OSTree.Objects.Repo: repoOpenAt :: (HasCallStack, MonadIO m, IsCancellable a) => Int32 -> Text -> Maybe (a) -> m Repo
+ GI.OSTree.Objects.Repo: repoOpenAt :: (HasCallStack, MonadIO m, IsCancellable a) => Int32 -> Text -> Maybe a -> m Repo
- GI.OSTree.Objects.Repo: repoPrepareTransaction :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe (b) -> m (Bool)
+ GI.OSTree.Objects.Repo: repoPrepareTransaction :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe b -> m Bool
- GI.OSTree.Objects.Repo: repoPrune :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> RepoPruneFlags -> Int32 -> Maybe (b) -> m ((Int32, Int32, Word64))
+ GI.OSTree.Objects.Repo: repoPrune :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> RepoPruneFlags -> Int32 -> Maybe b -> m (Int32, Int32, Word64)
- GI.OSTree.Objects.Repo: repoPruneFromReachable :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> RepoPruneOptions -> Maybe (b) -> m ((Int32, Int32, Word64))
+ GI.OSTree.Objects.Repo: repoPruneFromReachable :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> RepoPruneOptions -> Maybe b -> m (Int32, Int32, Word64)
- GI.OSTree.Objects.Repo: repoPruneStaticDeltas :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe (Text) -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Repo: repoPruneStaticDeltas :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe Text -> Maybe b -> m ()
- GI.OSTree.Objects.Repo: repoPull :: (HasCallStack, MonadIO m, IsRepo a, IsAsyncProgress b, IsCancellable c) => a -> Text -> Maybe ([Text]) -> [RepoPullFlags] -> Maybe (b) -> Maybe (c) -> m ()
+ GI.OSTree.Objects.Repo: repoPull :: (HasCallStack, MonadIO m, IsRepo a, IsAsyncProgress b, IsCancellable c) => a -> Text -> Maybe [Text] -> [RepoPullFlags] -> Maybe b -> Maybe c -> m ()
- GI.OSTree.Objects.Repo: repoPullOneDir :: (HasCallStack, MonadIO m, IsRepo a, IsAsyncProgress b, IsCancellable c) => a -> Text -> Text -> Maybe ([Text]) -> [RepoPullFlags] -> Maybe (b) -> Maybe (c) -> m ()
+ GI.OSTree.Objects.Repo: repoPullOneDir :: (HasCallStack, MonadIO m, IsRepo a, IsAsyncProgress b, IsCancellable c) => a -> Text -> Text -> Maybe [Text] -> [RepoPullFlags] -> Maybe b -> Maybe c -> m ()
- GI.OSTree.Objects.Repo: repoPullWithOptions :: (HasCallStack, MonadIO m, IsRepo a, IsAsyncProgress b, IsCancellable c) => a -> Text -> GVariant -> Maybe (b) -> Maybe (c) -> m ()
+ GI.OSTree.Objects.Repo: repoPullWithOptions :: (HasCallStack, MonadIO m, IsRepo a, IsAsyncProgress b, IsCancellable c) => a -> Text -> GVariant -> Maybe b -> Maybe c -> m ()
- GI.OSTree.Objects.Repo: repoQueryObjectStorageSize :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> ObjectType -> Text -> Maybe (b) -> m (Word64)
+ GI.OSTree.Objects.Repo: repoQueryObjectStorageSize :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> ObjectType -> Text -> Maybe b -> m Word64
- GI.OSTree.Objects.Repo: repoReadCommit :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Maybe (b) -> m ((File, Text))
+ GI.OSTree.Objects.Repo: repoReadCommit :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Maybe b -> m (File, Text)
- GI.OSTree.Objects.Repo: repoReadCommitDetachedMetadata :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Maybe (b) -> m (GVariant)
+ GI.OSTree.Objects.Repo: repoReadCommitDetachedMetadata :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Maybe b -> m GVariant
- GI.OSTree.Objects.Repo: repoRegenerateSummary :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe (GVariant) -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Repo: repoRegenerateSummary :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe GVariant -> Maybe b -> m ()
- GI.OSTree.Objects.Repo: repoReloadConfig :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Repo: repoReloadConfig :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe b -> m ()
- GI.OSTree.Objects.Repo: repoRemoteAdd :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Text -> Maybe (GVariant) -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Repo: repoRemoteAdd :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Text -> Maybe GVariant -> Maybe b -> m ()
- GI.OSTree.Objects.Repo: repoRemoteChange :: (HasCallStack, MonadIO m, IsRepo a, IsFile b, IsCancellable c) => a -> Maybe (b) -> RepoRemoteChange -> Text -> Text -> Maybe (GVariant) -> Maybe (c) -> m ()
+ GI.OSTree.Objects.Repo: repoRemoteChange :: (HasCallStack, MonadIO m, IsRepo a, IsFile b, IsCancellable c) => a -> Maybe b -> RepoRemoteChange -> Text -> Text -> Maybe GVariant -> Maybe c -> m ()
- GI.OSTree.Objects.Repo: repoRemoteDelete :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Repo: repoRemoteDelete :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Maybe b -> m ()
- GI.OSTree.Objects.Repo: repoRemoteFetchSummary :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Maybe (b) -> m ((Bytes, Bytes))
+ GI.OSTree.Objects.Repo: repoRemoteFetchSummary :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Maybe b -> m (Bytes, Bytes)
- GI.OSTree.Objects.Repo: repoRemoteFetchSummaryWithOptions :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Maybe (GVariant) -> Maybe (b) -> m ((Bytes, Bytes))
+ GI.OSTree.Objects.Repo: repoRemoteFetchSummaryWithOptions :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Maybe GVariant -> Maybe b -> m (Bytes, Bytes)
- GI.OSTree.Objects.Repo: repoRemoteGetGpgVerify :: (HasCallStack, MonadIO m, IsRepo a) => a -> Text -> m (Bool)
+ GI.OSTree.Objects.Repo: repoRemoteGetGpgVerify :: (HasCallStack, MonadIO m, IsRepo a) => a -> Text -> m Bool
- GI.OSTree.Objects.Repo: repoRemoteGetGpgVerifySummary :: (HasCallStack, MonadIO m, IsRepo a) => a -> Text -> m (Bool)
+ GI.OSTree.Objects.Repo: repoRemoteGetGpgVerifySummary :: (HasCallStack, MonadIO m, IsRepo a) => a -> Text -> m Bool
- GI.OSTree.Objects.Repo: repoRemoteGetUrl :: (HasCallStack, MonadIO m, IsRepo a) => a -> Text -> m (Text)
+ GI.OSTree.Objects.Repo: repoRemoteGetUrl :: (HasCallStack, MonadIO m, IsRepo a) => a -> Text -> m Text
- GI.OSTree.Objects.Repo: repoRemoteGpgImport :: (HasCallStack, MonadIO m, IsRepo a, IsInputStream b, IsCancellable c) => a -> Text -> Maybe (b) -> Maybe ([Text]) -> Word32 -> Maybe (c) -> m ()
+ GI.OSTree.Objects.Repo: repoRemoteGpgImport :: (HasCallStack, MonadIO m, IsRepo a, IsInputStream b, IsCancellable c) => a -> Text -> Maybe b -> Maybe [Text] -> Word32 -> Maybe c -> m ()
- GI.OSTree.Objects.Repo: repoResolveRev :: (HasCallStack, MonadIO m, IsRepo a) => a -> Text -> Bool -> m (Text)
+ GI.OSTree.Objects.Repo: repoResolveRev :: (HasCallStack, MonadIO m, IsRepo a) => a -> Text -> Bool -> m Text
- GI.OSTree.Objects.Repo: repoResolveRevExt :: (HasCallStack, MonadIO m, IsRepo a) => a -> Text -> Bool -> RepoResolveRevExtFlags -> m (Text)
+ GI.OSTree.Objects.Repo: repoResolveRevExt :: (HasCallStack, MonadIO m, IsRepo a) => a -> Text -> Bool -> [RepoResolveRevExtFlags] -> m Text
- GI.OSTree.Objects.Repo: repoScanHardlinks :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Repo: repoScanHardlinks :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe b -> m ()
- GI.OSTree.Objects.Repo: repoSetAliasRefImmediate :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe (Text) -> Text -> Maybe (Text) -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Repo: repoSetAliasRefImmediate :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe Text -> Text -> Maybe Text -> Maybe b -> m ()
- GI.OSTree.Objects.Repo: repoSetCacheDir :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Int32 -> Text -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Repo: repoSetCacheDir :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Int32 -> Text -> Maybe b -> m ()
- GI.OSTree.Objects.Repo: repoSetRefImmediate :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe (Text) -> Text -> Maybe (Text) -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Repo: repoSetRefImmediate :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Maybe Text -> Text -> Maybe Text -> Maybe b -> m ()
- GI.OSTree.Objects.Repo: repoSignCommit :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Text -> Maybe (Text) -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Repo: repoSignCommit :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Text -> Maybe Text -> Maybe b -> m ()
- GI.OSTree.Objects.Repo: repoSignDelta :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Text -> Text -> Text -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Repo: repoSignDelta :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Text -> Text -> Text -> Maybe b -> m ()
- GI.OSTree.Objects.Repo: repoStaticDeltaExecuteOffline :: (HasCallStack, MonadIO m, IsRepo a, IsFile b, IsCancellable c) => a -> b -> Bool -> Maybe (c) -> m ()
+ GI.OSTree.Objects.Repo: repoStaticDeltaExecuteOffline :: (HasCallStack, MonadIO m, IsRepo a, IsFile b, IsCancellable c) => a -> b -> Bool -> Maybe c -> m ()
- GI.OSTree.Objects.Repo: repoStaticDeltaGenerate :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> StaticDeltaGenerateOpt -> Text -> Text -> Maybe (GVariant) -> Maybe (GVariant) -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Repo: repoStaticDeltaGenerate :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> StaticDeltaGenerateOpt -> Text -> Text -> Maybe GVariant -> Maybe GVariant -> Maybe b -> m ()
- GI.OSTree.Objects.Repo: repoTransactionSetRef :: (HasCallStack, MonadIO m, IsRepo a) => a -> Maybe (Text) -> Text -> Maybe (Text) -> m ()
+ GI.OSTree.Objects.Repo: repoTransactionSetRef :: (HasCallStack, MonadIO m, IsRepo a) => a -> Maybe Text -> Text -> Maybe Text -> m ()
- GI.OSTree.Objects.Repo: repoTransactionSetRefspec :: (HasCallStack, MonadIO m, IsRepo a) => a -> Text -> Maybe (Text) -> m ()
+ GI.OSTree.Objects.Repo: repoTransactionSetRefspec :: (HasCallStack, MonadIO m, IsRepo a) => a -> Text -> Maybe Text -> m ()
- GI.OSTree.Objects.Repo: repoVerifyCommit :: (HasCallStack, MonadIO m, IsRepo a, IsFile b, IsFile c, IsCancellable d) => a -> Text -> Maybe (b) -> Maybe (c) -> Maybe (d) -> m ()
+ GI.OSTree.Objects.Repo: repoVerifyCommit :: (HasCallStack, MonadIO m, IsRepo a, IsFile b, IsFile c, IsCancellable d) => a -> Text -> Maybe b -> Maybe c -> Maybe d -> m ()
- GI.OSTree.Objects.Repo: repoVerifyCommitExt :: (HasCallStack, MonadIO m, IsRepo a, IsFile b, IsFile c, IsCancellable d) => a -> Text -> Maybe (b) -> Maybe (c) -> Maybe (d) -> m GpgVerifyResult
+ GI.OSTree.Objects.Repo: repoVerifyCommitExt :: (HasCallStack, MonadIO m, IsRepo a, IsFile b, IsFile c, IsCancellable d) => a -> Text -> Maybe b -> Maybe c -> Maybe d -> m GpgVerifyResult
- GI.OSTree.Objects.Repo: repoVerifyCommitForRemote :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Text -> Maybe (b) -> m GpgVerifyResult
+ GI.OSTree.Objects.Repo: repoVerifyCommitForRemote :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Text -> Maybe b -> m GpgVerifyResult
- GI.OSTree.Objects.Repo: repoVerifySummary :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Bytes -> Bytes -> Maybe (b) -> m GpgVerifyResult
+ GI.OSTree.Objects.Repo: repoVerifySummary :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Bytes -> Bytes -> Maybe b -> m GpgVerifyResult
- GI.OSTree.Objects.Repo: repoWriteArchiveToMtree :: (HasCallStack, MonadIO m, IsRepo a, IsFile b, IsMutableTree c, IsCancellable d) => a -> b -> c -> Maybe (RepoCommitModifier) -> Bool -> Maybe (d) -> m ()
+ GI.OSTree.Objects.Repo: repoWriteArchiveToMtree :: (HasCallStack, MonadIO m, IsRepo a, IsFile b, IsMutableTree c, IsCancellable d) => a -> b -> c -> Maybe RepoCommitModifier -> Bool -> Maybe d -> m ()
- GI.OSTree.Objects.Repo: repoWriteCommit :: (HasCallStack, MonadIO m, IsRepo a, IsRepoFile b, IsCancellable c) => a -> Maybe (Text) -> Maybe (Text) -> Maybe (Text) -> Maybe (GVariant) -> b -> Maybe (c) -> m (Text)
+ GI.OSTree.Objects.Repo: repoWriteCommit :: (HasCallStack, MonadIO m, IsRepo a, IsRepoFile b, IsCancellable c) => a -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe GVariant -> b -> Maybe c -> m Text
- GI.OSTree.Objects.Repo: repoWriteCommitDetachedMetadata :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Maybe (GVariant) -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Repo: repoWriteCommitDetachedMetadata :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> Text -> Maybe GVariant -> Maybe b -> m ()
- GI.OSTree.Objects.Repo: repoWriteCommitWithTime :: (HasCallStack, MonadIO m, IsRepo a, IsRepoFile b, IsCancellable c) => a -> Maybe (Text) -> Maybe (Text) -> Maybe (Text) -> Maybe (GVariant) -> b -> Word64 -> Maybe (c) -> m (Text)
+ GI.OSTree.Objects.Repo: repoWriteCommitWithTime :: (HasCallStack, MonadIO m, IsRepo a, IsRepoFile b, IsCancellable c) => a -> Maybe Text -> Maybe Text -> Maybe Text -> Maybe GVariant -> b -> Word64 -> Maybe c -> m Text
- GI.OSTree.Objects.Repo: repoWriteContent :: (HasCallStack, MonadIO m, IsRepo a, IsInputStream b, IsCancellable c) => a -> Maybe (Text) -> b -> Word64 -> Maybe (c) -> m (ByteString)
+ GI.OSTree.Objects.Repo: repoWriteContent :: (HasCallStack, MonadIO m, IsRepo a, IsInputStream b, IsCancellable c) => a -> Maybe Text -> b -> Word64 -> Maybe c -> m ByteString
- GI.OSTree.Objects.Repo: repoWriteContentAsync :: (HasCallStack, MonadIO m, IsRepo a, IsInputStream b, IsCancellable c) => a -> Maybe (Text) -> b -> Word64 -> Maybe (c) -> Maybe (AsyncReadyCallback) -> m ()
+ GI.OSTree.Objects.Repo: repoWriteContentAsync :: (HasCallStack, MonadIO m, IsRepo a, IsInputStream b, IsCancellable c) => a -> Maybe Text -> b -> Word64 -> Maybe c -> Maybe AsyncReadyCallback -> m ()
- GI.OSTree.Objects.Repo: repoWriteContentFinish :: (HasCallStack, MonadIO m, IsRepo a, IsAsyncResult b) => a -> b -> m (Word8)
+ GI.OSTree.Objects.Repo: repoWriteContentFinish :: (HasCallStack, MonadIO m, IsRepo a, IsAsyncResult b) => a -> b -> m Word8
- GI.OSTree.Objects.Repo: repoWriteContentTrusted :: (HasCallStack, MonadIO m, IsRepo a, IsInputStream b, IsCancellable c) => a -> Text -> b -> Word64 -> Maybe (c) -> m ()
+ GI.OSTree.Objects.Repo: repoWriteContentTrusted :: (HasCallStack, MonadIO m, IsRepo a, IsInputStream b, IsCancellable c) => a -> Text -> b -> Word64 -> Maybe c -> m ()
- GI.OSTree.Objects.Repo: repoWriteDfdToMtree :: (HasCallStack, MonadIO m, IsRepo a, IsMutableTree b, IsCancellable c) => a -> Int32 -> Text -> b -> Maybe (RepoCommitModifier) -> Maybe (c) -> m ()
+ GI.OSTree.Objects.Repo: repoWriteDfdToMtree :: (HasCallStack, MonadIO m, IsRepo a, IsMutableTree b, IsCancellable c) => a -> Int32 -> Text -> b -> Maybe RepoCommitModifier -> Maybe c -> m ()
- GI.OSTree.Objects.Repo: repoWriteDirectoryToMtree :: (HasCallStack, MonadIO m, IsRepo a, IsFile b, IsMutableTree c, IsCancellable d) => a -> b -> c -> Maybe (RepoCommitModifier) -> Maybe (d) -> m ()
+ GI.OSTree.Objects.Repo: repoWriteDirectoryToMtree :: (HasCallStack, MonadIO m, IsRepo a, IsFile b, IsMutableTree c, IsCancellable d) => a -> b -> c -> Maybe RepoCommitModifier -> Maybe d -> m ()
- GI.OSTree.Objects.Repo: repoWriteMetadata :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> ObjectType -> Maybe (Text) -> GVariant -> Maybe (b) -> m (ByteString)
+ GI.OSTree.Objects.Repo: repoWriteMetadata :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> ObjectType -> Maybe Text -> GVariant -> Maybe b -> m ByteString
- GI.OSTree.Objects.Repo: repoWriteMetadataAsync :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> ObjectType -> Maybe (Text) -> GVariant -> Maybe (b) -> Maybe (AsyncReadyCallback) -> m ()
+ GI.OSTree.Objects.Repo: repoWriteMetadataAsync :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> ObjectType -> Maybe Text -> GVariant -> Maybe b -> Maybe AsyncReadyCallback -> m ()
- GI.OSTree.Objects.Repo: repoWriteMetadataFinish :: (HasCallStack, MonadIO m, IsRepo a, IsAsyncResult b) => a -> b -> m (ByteString)
+ GI.OSTree.Objects.Repo: repoWriteMetadataFinish :: (HasCallStack, MonadIO m, IsRepo a, IsAsyncResult b) => a -> b -> m ByteString
- GI.OSTree.Objects.Repo: repoWriteMetadataStreamTrusted :: (HasCallStack, MonadIO m, IsRepo a, IsInputStream b, IsCancellable c) => a -> ObjectType -> Text -> b -> Word64 -> Maybe (c) -> m ()
+ GI.OSTree.Objects.Repo: repoWriteMetadataStreamTrusted :: (HasCallStack, MonadIO m, IsRepo a, IsInputStream b, IsCancellable c) => a -> ObjectType -> Text -> b -> Word64 -> Maybe c -> m ()
- GI.OSTree.Objects.Repo: repoWriteMetadataTrusted :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> ObjectType -> Text -> GVariant -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Repo: repoWriteMetadataTrusted :: (HasCallStack, MonadIO m, IsRepo a, IsCancellable b) => a -> ObjectType -> Text -> GVariant -> Maybe b -> m ()
- GI.OSTree.Objects.Repo: repoWriteMtree :: (HasCallStack, MonadIO m, IsRepo a, IsMutableTree b, IsCancellable c) => a -> b -> Maybe (c) -> m (File)
+ GI.OSTree.Objects.Repo: repoWriteMtree :: (HasCallStack, MonadIO m, IsRepo a, IsMutableTree b, IsCancellable c) => a -> b -> Maybe c -> m File
- GI.OSTree.Objects.Repo: type RepoGpgVerifyResultCallback = Text /@checksum@/: checksum of the signed object -> GpgVerifyResult /@result@/: an 'GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult' -> IO ()
+ GI.OSTree.Objects.Repo: type RepoGpgVerifyResultCallback = Text " /@checksum@/: checksum of the signed object " -> GpgVerifyResult " /@result@/: an 'GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult' " -> IO ()
- GI.OSTree.Objects.RepoFile: RepoFile :: (ManagedPtr RepoFile) -> RepoFile
+ GI.OSTree.Objects.RepoFile: RepoFile :: ManagedPtr RepoFile -> RepoFile
- GI.OSTree.Objects.RepoFile: class GObject o => IsRepoFile o
+ GI.OSTree.Objects.RepoFile: class (GObject o, IsDescendantOf RepoFile o) => IsRepoFile o
- GI.OSTree.Objects.RepoFile: repoFileGetXattrs :: (HasCallStack, MonadIO m, IsRepoFile a, IsCancellable b) => a -> GVariant -> Maybe (b) -> m ()
+ GI.OSTree.Objects.RepoFile: repoFileGetXattrs :: (HasCallStack, MonadIO m, IsRepoFile a, IsCancellable b) => a -> GVariant -> Maybe b -> m ()
- GI.OSTree.Objects.RepoFile: repoFileTreeQueryChild :: (HasCallStack, MonadIO m, IsRepoFile a, IsFileInfo b, IsCancellable c) => a -> Int32 -> Text -> [FileQueryInfoFlags] -> b -> Maybe (c) -> m ()
+ GI.OSTree.Objects.RepoFile: repoFileTreeQueryChild :: (HasCallStack, MonadIO m, IsRepoFile a, IsFileInfo b, IsCancellable c) => a -> Int32 -> Text -> [FileQueryInfoFlags] -> b -> Maybe c -> m ()
- GI.OSTree.Objects.SePolicy: SePolicy :: (ManagedPtr SePolicy) -> SePolicy
+ GI.OSTree.Objects.SePolicy: SePolicy :: ManagedPtr SePolicy -> SePolicy
- GI.OSTree.Objects.SePolicy: class GObject o => IsSePolicy o
+ GI.OSTree.Objects.SePolicy: class (GObject o, IsDescendantOf SePolicy o) => IsSePolicy o
- GI.OSTree.Objects.SePolicy: constructSePolicyRootfsDfd :: (IsSePolicy o) => Int32 -> IO (GValueConstruct o)
+ GI.OSTree.Objects.SePolicy: constructSePolicyRootfsDfd :: IsSePolicy o => Int32 -> IO (GValueConstruct o)
- GI.OSTree.Objects.SePolicy: sePolicyGetLabel :: (HasCallStack, MonadIO m, IsSePolicy a, IsCancellable b) => a -> Text -> Word32 -> Maybe (b) -> m (Text)
+ GI.OSTree.Objects.SePolicy: sePolicyGetLabel :: (HasCallStack, MonadIO m, IsSePolicy a, IsCancellable b) => a -> Text -> Word32 -> Maybe b -> m Text
- GI.OSTree.Objects.SePolicy: sePolicyNew :: (HasCallStack, MonadIO m, IsFile a, IsCancellable b) => a -> Maybe (b) -> m SePolicy
+ GI.OSTree.Objects.SePolicy: sePolicyNew :: (HasCallStack, MonadIO m, IsFile a, IsCancellable b) => a -> Maybe b -> m SePolicy
- GI.OSTree.Objects.SePolicy: sePolicyNewAt :: (HasCallStack, MonadIO m, IsCancellable a) => Int32 -> Maybe (a) -> m SePolicy
+ GI.OSTree.Objects.SePolicy: sePolicyNewAt :: (HasCallStack, MonadIO m, IsCancellable a) => Int32 -> Maybe a -> m SePolicy
- GI.OSTree.Objects.SePolicy: sePolicyRestorecon :: (HasCallStack, MonadIO m, IsSePolicy a, IsFileInfo b, IsFile c, IsCancellable d) => a -> Text -> Maybe (b) -> c -> [SePolicyRestoreconFlags] -> Maybe (d) -> m (Text)
+ GI.OSTree.Objects.SePolicy: sePolicyRestorecon :: (HasCallStack, MonadIO m, IsSePolicy a, IsFileInfo b, IsFile c, IsCancellable d) => a -> Text -> Maybe b -> c -> [SePolicyRestoreconFlags] -> Maybe d -> m Text
- GI.OSTree.Objects.Sysroot: Sysroot :: (ManagedPtr Sysroot) -> Sysroot
+ GI.OSTree.Objects.Sysroot: Sysroot :: ManagedPtr Sysroot -> Sysroot
- GI.OSTree.Objects.Sysroot: class GObject o => IsSysroot o
+ GI.OSTree.Objects.Sysroot: class (GObject o, IsDescendantOf Sysroot o) => IsSysroot o
- GI.OSTree.Objects.Sysroot: genClosure_SysrootJournalMsg :: SysrootJournalMsgCallback -> IO Closure
+ GI.OSTree.Objects.Sysroot: genClosure_SysrootJournalMsg :: MonadIO m => SysrootJournalMsgCallback -> m (GClosure C_SysrootJournalMsgCallback)
- GI.OSTree.Objects.Sysroot: sysrootCleanup :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Sysroot: sysrootCleanup :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> Maybe b -> m ()
- GI.OSTree.Objects.Sysroot: sysrootDeployTree :: (HasCallStack, MonadIO m, IsSysroot a, IsDeployment b, IsCancellable c) => a -> Maybe (Text) -> Text -> Maybe (KeyFile) -> Maybe (b) -> Maybe ([Text]) -> Maybe (c) -> m (Deployment)
+ GI.OSTree.Objects.Sysroot: sysrootDeployTree :: (HasCallStack, MonadIO m, IsSysroot a, IsDeployment b, IsCancellable c) => a -> Maybe Text -> Text -> Maybe KeyFile -> Maybe b -> Maybe [Text] -> Maybe c -> m Deployment
- GI.OSTree.Objects.Sysroot: sysrootDeploymentSetKargs :: (HasCallStack, MonadIO m, IsSysroot a, IsDeployment b, IsCancellable c) => a -> b -> [Text] -> Maybe (c) -> m ()
+ GI.OSTree.Objects.Sysroot: sysrootDeploymentSetKargs :: (HasCallStack, MonadIO m, IsSysroot a, IsDeployment b, IsCancellable c) => a -> b -> [Text] -> Maybe c -> m ()
- GI.OSTree.Objects.Sysroot: sysrootDeploymentSetMutable :: (HasCallStack, MonadIO m, IsSysroot a, IsDeployment b, IsCancellable c) => a -> b -> Bool -> Maybe (c) -> m ()
+ GI.OSTree.Objects.Sysroot: sysrootDeploymentSetMutable :: (HasCallStack, MonadIO m, IsSysroot a, IsDeployment b, IsCancellable c) => a -> b -> Bool -> Maybe c -> m ()
- GI.OSTree.Objects.Sysroot: sysrootDeploymentUnlock :: (HasCallStack, MonadIO m, IsSysroot a, IsDeployment b, IsCancellable c) => a -> b -> DeploymentUnlockedState -> Maybe (c) -> m ()
+ GI.OSTree.Objects.Sysroot: sysrootDeploymentUnlock :: (HasCallStack, MonadIO m, IsSysroot a, IsDeployment b, IsCancellable c) => a -> b -> DeploymentUnlockedState -> Maybe c -> m ()
- GI.OSTree.Objects.Sysroot: sysrootEnsureInitialized :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Sysroot: sysrootEnsureInitialized :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> Maybe b -> m ()
- GI.OSTree.Objects.Sysroot: sysrootGetMergeDeployment :: (HasCallStack, MonadIO m, IsSysroot a) => a -> Maybe (Text) -> m Deployment
+ GI.OSTree.Objects.Sysroot: sysrootGetMergeDeployment :: (HasCallStack, MonadIO m, IsSysroot a) => a -> Maybe Text -> m Deployment
- GI.OSTree.Objects.Sysroot: sysrootGetRepo :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> Maybe (b) -> m (Repo)
+ GI.OSTree.Objects.Sysroot: sysrootGetRepo :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> Maybe b -> m Repo
- GI.OSTree.Objects.Sysroot: sysrootInitOsname :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> Text -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Sysroot: sysrootInitOsname :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> Text -> Maybe b -> m ()
- GI.OSTree.Objects.Sysroot: sysrootLoad :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Sysroot: sysrootLoad :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> Maybe b -> m ()
- GI.OSTree.Objects.Sysroot: sysrootLoadIfChanged :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> Bool -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Sysroot: sysrootLoadIfChanged :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> Bool -> Maybe b -> m ()
- GI.OSTree.Objects.Sysroot: sysrootLockAsync :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> Maybe (b) -> Maybe (AsyncReadyCallback) -> m ()
+ GI.OSTree.Objects.Sysroot: sysrootLockAsync :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> Maybe b -> Maybe AsyncReadyCallback -> m ()
- GI.OSTree.Objects.Sysroot: sysrootNew :: (HasCallStack, MonadIO m, IsFile a) => Maybe (a) -> m Sysroot
+ GI.OSTree.Objects.Sysroot: sysrootNew :: (HasCallStack, MonadIO m, IsFile a) => Maybe a -> m Sysroot
- GI.OSTree.Objects.Sysroot: sysrootPrepareCleanup :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Sysroot: sysrootPrepareCleanup :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> Maybe b -> m ()
- GI.OSTree.Objects.Sysroot: sysrootQueryDeploymentsFor :: (HasCallStack, MonadIO m, IsSysroot a) => a -> Maybe (Text) -> m ((Deployment, Deployment))
+ GI.OSTree.Objects.Sysroot: sysrootQueryDeploymentsFor :: (HasCallStack, MonadIO m, IsSysroot a) => a -> Maybe Text -> m (Deployment, Deployment)
- GI.OSTree.Objects.Sysroot: sysrootSimpleWriteDeployment :: (HasCallStack, MonadIO m, IsSysroot a, IsDeployment b, IsDeployment c, IsCancellable d) => a -> Maybe (Text) -> b -> Maybe (c) -> [SysrootSimpleWriteDeploymentFlags] -> Maybe (d) -> m ()
+ GI.OSTree.Objects.Sysroot: sysrootSimpleWriteDeployment :: (HasCallStack, MonadIO m, IsSysroot a, IsDeployment b, IsDeployment c, IsCancellable d) => a -> Maybe Text -> b -> Maybe c -> [SysrootSimpleWriteDeploymentFlags] -> Maybe d -> m ()
- GI.OSTree.Objects.Sysroot: sysrootStageTree :: (HasCallStack, MonadIO m, IsSysroot a, IsDeployment b, IsCancellable c) => a -> Maybe (Text) -> Text -> Maybe (KeyFile) -> Maybe (b) -> Maybe ([Text]) -> Maybe (c) -> m (Deployment)
+ GI.OSTree.Objects.Sysroot: sysrootStageTree :: (HasCallStack, MonadIO m, IsSysroot a, IsDeployment b, IsCancellable c) => a -> Maybe Text -> Text -> Maybe KeyFile -> Maybe b -> Maybe [Text] -> Maybe c -> m Deployment
- GI.OSTree.Objects.Sysroot: sysrootTryLock :: (HasCallStack, MonadIO m, IsSysroot a) => a -> m (Bool)
+ GI.OSTree.Objects.Sysroot: sysrootTryLock :: (HasCallStack, MonadIO m, IsSysroot a) => a -> m Bool
- GI.OSTree.Objects.Sysroot: sysrootWriteDeployments :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> [Deployment] -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Sysroot: sysrootWriteDeployments :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> [Deployment] -> Maybe b -> m ()
- GI.OSTree.Objects.Sysroot: sysrootWriteDeploymentsWithOptions :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> [Deployment] -> SysrootWriteDeploymentsOpts -> Maybe (b) -> m ()
+ GI.OSTree.Objects.Sysroot: sysrootWriteDeploymentsWithOptions :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> [Deployment] -> SysrootWriteDeploymentsOpts -> Maybe b -> m ()
- GI.OSTree.Objects.Sysroot: sysrootWriteOriginFile :: (HasCallStack, MonadIO m, IsSysroot a, IsDeployment b, IsCancellable c) => a -> b -> Maybe (KeyFile) -> Maybe (c) -> m ()
+ GI.OSTree.Objects.Sysroot: sysrootWriteOriginFile :: (HasCallStack, MonadIO m, IsSysroot a, IsDeployment b, IsCancellable c) => a -> b -> Maybe KeyFile -> Maybe c -> m ()
- GI.OSTree.Objects.Sysroot: type SysrootJournalMsgCallback = Text /@msg@/: Human-readable string (should not contain newlines) -> IO ()
+ GI.OSTree.Objects.Sysroot: type SysrootJournalMsgCallback = Text " /@msg@/: Human-readable string (should not contain newlines) " -> IO ()
- GI.OSTree.Objects.SysrootUpgrader: SysrootUpgrader :: (ManagedPtr SysrootUpgrader) -> SysrootUpgrader
+ GI.OSTree.Objects.SysrootUpgrader: SysrootUpgrader :: ManagedPtr SysrootUpgrader -> SysrootUpgrader
- GI.OSTree.Objects.SysrootUpgrader: class GObject o => IsSysrootUpgrader o
+ GI.OSTree.Objects.SysrootUpgrader: class (GObject o, IsDescendantOf SysrootUpgrader o) => IsSysrootUpgrader o
- GI.OSTree.Objects.SysrootUpgrader: constructSysrootUpgraderFlags :: (IsSysrootUpgrader o) => [SysrootUpgraderFlags] -> IO (GValueConstruct o)
+ GI.OSTree.Objects.SysrootUpgrader: constructSysrootUpgraderFlags :: IsSysrootUpgrader o => [SysrootUpgraderFlags] -> IO (GValueConstruct o)
- GI.OSTree.Objects.SysrootUpgrader: constructSysrootUpgraderOsname :: (IsSysrootUpgrader o) => Text -> IO (GValueConstruct o)
+ GI.OSTree.Objects.SysrootUpgrader: constructSysrootUpgraderOsname :: IsSysrootUpgrader o => Text -> IO (GValueConstruct o)
- GI.OSTree.Objects.SysrootUpgrader: sysrootUpgraderDeploy :: (HasCallStack, MonadIO m, IsSysrootUpgrader a, IsCancellable b) => a -> Maybe (b) -> m ()
+ GI.OSTree.Objects.SysrootUpgrader: sysrootUpgraderDeploy :: (HasCallStack, MonadIO m, IsSysrootUpgrader a, IsCancellable b) => a -> Maybe b -> m ()
- GI.OSTree.Objects.SysrootUpgrader: sysrootUpgraderNew :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> Maybe (b) -> m SysrootUpgrader
+ GI.OSTree.Objects.SysrootUpgrader: sysrootUpgraderNew :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> Maybe b -> m SysrootUpgrader
- GI.OSTree.Objects.SysrootUpgrader: sysrootUpgraderNewForOs :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> Maybe (Text) -> Maybe (b) -> m SysrootUpgrader
+ GI.OSTree.Objects.SysrootUpgrader: sysrootUpgraderNewForOs :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> Maybe Text -> Maybe b -> m SysrootUpgrader
- GI.OSTree.Objects.SysrootUpgrader: sysrootUpgraderNewForOsWithFlags :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> Maybe (Text) -> [SysrootUpgraderFlags] -> Maybe (b) -> m SysrootUpgrader
+ GI.OSTree.Objects.SysrootUpgrader: sysrootUpgraderNewForOsWithFlags :: (HasCallStack, MonadIO m, IsSysroot a, IsCancellable b) => a -> Maybe Text -> [SysrootUpgraderFlags] -> Maybe b -> m SysrootUpgrader
- GI.OSTree.Objects.SysrootUpgrader: sysrootUpgraderPull :: (HasCallStack, MonadIO m, IsSysrootUpgrader a, IsAsyncProgress b, IsCancellable c) => a -> [RepoPullFlags] -> [SysrootUpgraderPullFlags] -> Maybe (b) -> Maybe (c) -> m (Bool)
+ GI.OSTree.Objects.SysrootUpgrader: sysrootUpgraderPull :: (HasCallStack, MonadIO m, IsSysrootUpgrader a, IsAsyncProgress b, IsCancellable c) => a -> [RepoPullFlags] -> [SysrootUpgraderPullFlags] -> Maybe b -> Maybe c -> m Bool
- GI.OSTree.Objects.SysrootUpgrader: sysrootUpgraderPullOneDir :: (HasCallStack, MonadIO m, IsSysrootUpgrader a, IsAsyncProgress b, IsCancellable c) => a -> Text -> [RepoPullFlags] -> [SysrootUpgraderPullFlags] -> Maybe (b) -> Maybe (c) -> m (Bool)
+ GI.OSTree.Objects.SysrootUpgrader: sysrootUpgraderPullOneDir :: (HasCallStack, MonadIO m, IsSysrootUpgrader a, IsAsyncProgress b, IsCancellable c) => a -> Text -> [RepoPullFlags] -> [SysrootUpgraderPullFlags] -> Maybe b -> Maybe c -> m Bool
- GI.OSTree.Objects.SysrootUpgrader: sysrootUpgraderSetOrigin :: (HasCallStack, MonadIO m, IsSysrootUpgrader a, IsCancellable b) => a -> Maybe (KeyFile) -> Maybe (b) -> m ()
+ GI.OSTree.Objects.SysrootUpgrader: sysrootUpgraderSetOrigin :: (HasCallStack, MonadIO m, IsSysrootUpgrader a, IsCancellable b) => a -> Maybe KeyFile -> Maybe b -> m ()
- GI.OSTree.Structs.Bootloader: Bootloader :: (ManagedPtr Bootloader) -> Bootloader
+ GI.OSTree.Structs.Bootloader: Bootloader :: ManagedPtr Bootloader -> Bootloader
- GI.OSTree.Structs.BootloaderGrub2: BootloaderGrub2 :: (ManagedPtr BootloaderGrub2) -> BootloaderGrub2
+ GI.OSTree.Structs.BootloaderGrub2: BootloaderGrub2 :: ManagedPtr BootloaderGrub2 -> BootloaderGrub2
- GI.OSTree.Structs.BootloaderInterface: BootloaderInterface :: (ManagedPtr BootloaderInterface) -> BootloaderInterface
+ GI.OSTree.Structs.BootloaderInterface: BootloaderInterface :: ManagedPtr BootloaderInterface -> BootloaderInterface
- GI.OSTree.Structs.BootloaderSyslinux: BootloaderSyslinux :: (ManagedPtr BootloaderSyslinux) -> BootloaderSyslinux
+ GI.OSTree.Structs.BootloaderSyslinux: BootloaderSyslinux :: ManagedPtr BootloaderSyslinux -> BootloaderSyslinux
- GI.OSTree.Structs.BootloaderUboot: BootloaderUboot :: (ManagedPtr BootloaderUboot) -> BootloaderUboot
+ GI.OSTree.Structs.BootloaderUboot: BootloaderUboot :: ManagedPtr BootloaderUboot -> BootloaderUboot
- GI.OSTree.Structs.CmdPrivateVTable: CmdPrivateVTable :: (ManagedPtr CmdPrivateVTable) -> CmdPrivateVTable
+ GI.OSTree.Structs.CmdPrivateVTable: CmdPrivateVTable :: ManagedPtr CmdPrivateVTable -> CmdPrivateVTable
- GI.OSTree.Structs.DiffDirsOptions: DiffDirsOptions :: (ManagedPtr DiffDirsOptions) -> DiffDirsOptions
+ GI.OSTree.Structs.DiffDirsOptions: DiffDirsOptions :: ManagedPtr DiffDirsOptions -> DiffDirsOptions
- GI.OSTree.Structs.DiffItem: DiffItem :: (ManagedPtr DiffItem) -> DiffItem
+ GI.OSTree.Structs.DiffItem: DiffItem :: ManagedPtr DiffItem -> DiffItem
- GI.OSTree.Structs.GpgVerifier: GpgVerifier :: (ManagedPtr GpgVerifier) -> GpgVerifier
+ GI.OSTree.Structs.GpgVerifier: GpgVerifier :: ManagedPtr GpgVerifier -> GpgVerifier
- GI.OSTree.Structs.LibarchiveInputStream: LibarchiveInputStream :: (ManagedPtr LibarchiveInputStream) -> LibarchiveInputStream
+ GI.OSTree.Structs.LibarchiveInputStream: LibarchiveInputStream :: ManagedPtr LibarchiveInputStream -> LibarchiveInputStream
- GI.OSTree.Structs.LzmaCompressor: LzmaCompressor :: (ManagedPtr LzmaCompressor) -> LzmaCompressor
+ GI.OSTree.Structs.LzmaCompressor: LzmaCompressor :: ManagedPtr LzmaCompressor -> LzmaCompressor
- GI.OSTree.Structs.LzmaDecompressor: LzmaDecompressor :: (ManagedPtr LzmaDecompressor) -> LzmaDecompressor
+ GI.OSTree.Structs.LzmaDecompressor: LzmaDecompressor :: ManagedPtr LzmaDecompressor -> LzmaDecompressor
- GI.OSTree.Structs.MutableTreeIter: MutableTreeIter :: (ManagedPtr MutableTreeIter) -> MutableTreeIter
+ GI.OSTree.Structs.MutableTreeIter: MutableTreeIter :: ManagedPtr MutableTreeIter -> MutableTreeIter
- GI.OSTree.Structs.RepoCheckoutAtOptions: RepoCheckoutAtOptions :: (ManagedPtr RepoCheckoutAtOptions) -> RepoCheckoutAtOptions
+ GI.OSTree.Structs.RepoCheckoutAtOptions: RepoCheckoutAtOptions :: ManagedPtr RepoCheckoutAtOptions -> RepoCheckoutAtOptions
- GI.OSTree.Structs.RepoCheckoutAtOptions: repoCheckoutAtOptionsSetDevino :: (HasCallStack, MonadIO m) => RepoCheckoutAtOptions -> Maybe (RepoDevInoCache) -> m ()
+ GI.OSTree.Structs.RepoCheckoutAtOptions: repoCheckoutAtOptionsSetDevino :: (HasCallStack, MonadIO m) => RepoCheckoutAtOptions -> Maybe RepoDevInoCache -> m ()
- GI.OSTree.Structs.RepoCommitModifier: RepoCommitModifier :: (ManagedPtr RepoCommitModifier) -> RepoCommitModifier
+ GI.OSTree.Structs.RepoCommitModifier: RepoCommitModifier :: ManagedPtr RepoCommitModifier -> RepoCommitModifier
- GI.OSTree.Structs.RepoCommitModifier: repoCommitModifierNew :: (HasCallStack, MonadIO m) => [RepoCommitModifierFlags] -> Maybe (RepoCommitFilter) -> m RepoCommitModifier
+ GI.OSTree.Structs.RepoCommitModifier: repoCommitModifierNew :: (HasCallStack, MonadIO m) => [RepoCommitModifierFlags] -> Maybe RepoCommitFilter -> m RepoCommitModifier
- GI.OSTree.Structs.RepoCommitModifier: repoCommitModifierSetSepolicy :: (HasCallStack, MonadIO m, IsSePolicy a) => RepoCommitModifier -> Maybe (a) -> m ()
+ GI.OSTree.Structs.RepoCommitModifier: repoCommitModifierSetSepolicy :: (HasCallStack, MonadIO m, IsSePolicy a) => RepoCommitModifier -> Maybe a -> m ()
- GI.OSTree.Structs.RepoCommitTraverseIter: RepoCommitTraverseIter :: (ManagedPtr RepoCommitTraverseIter) -> RepoCommitTraverseIter
+ GI.OSTree.Structs.RepoCommitTraverseIter: RepoCommitTraverseIter :: ManagedPtr RepoCommitTraverseIter -> RepoCommitTraverseIter
- GI.OSTree.Structs.RepoCommitTraverseIter: repoCommitTraverseIterGetDir :: (HasCallStack, MonadIO m) => RepoCommitTraverseIter -> m ((Text, Text, Text))
+ GI.OSTree.Structs.RepoCommitTraverseIter: repoCommitTraverseIterGetDir :: (HasCallStack, MonadIO m) => RepoCommitTraverseIter -> m (Text, Text, Text)
- GI.OSTree.Structs.RepoCommitTraverseIter: repoCommitTraverseIterGetFile :: (HasCallStack, MonadIO m) => RepoCommitTraverseIter -> m ((Text, Text))
+ GI.OSTree.Structs.RepoCommitTraverseIter: repoCommitTraverseIterGetFile :: (HasCallStack, MonadIO m) => RepoCommitTraverseIter -> m (Text, Text)
- GI.OSTree.Structs.RepoCommitTraverseIter: repoCommitTraverseIterNext :: (HasCallStack, MonadIO m, IsCancellable a) => RepoCommitTraverseIter -> Maybe (a) -> m RepoCommitIterResult
+ GI.OSTree.Structs.RepoCommitTraverseIter: repoCommitTraverseIterNext :: (HasCallStack, MonadIO m, IsCancellable a) => RepoCommitTraverseIter -> Maybe a -> m RepoCommitIterResult
- GI.OSTree.Structs.RepoDevInoCache: RepoDevInoCache :: (ManagedPtr RepoDevInoCache) -> RepoDevInoCache
+ GI.OSTree.Structs.RepoDevInoCache: RepoDevInoCache :: ManagedPtr RepoDevInoCache -> RepoDevInoCache
- GI.OSTree.Structs.RepoFileEnumerator: RepoFileEnumerator :: (ManagedPtr RepoFileEnumerator) -> RepoFileEnumerator
+ GI.OSTree.Structs.RepoFileEnumerator: RepoFileEnumerator :: ManagedPtr RepoFileEnumerator -> RepoFileEnumerator
- GI.OSTree.Structs.RepoPruneOptions: RepoPruneOptions :: (ManagedPtr RepoPruneOptions) -> RepoPruneOptions
+ GI.OSTree.Structs.RepoPruneOptions: RepoPruneOptions :: ManagedPtr RepoPruneOptions -> RepoPruneOptions
- GI.OSTree.Structs.RepoTransactionStats: RepoTransactionStats :: (ManagedPtr RepoTransactionStats) -> RepoTransactionStats
+ GI.OSTree.Structs.RepoTransactionStats: RepoTransactionStats :: ManagedPtr RepoTransactionStats -> RepoTransactionStats
- GI.OSTree.Structs.RepoTransactionStats: getRepoTransactionStatsPadding1 :: MonadIO m => RepoTransactionStats -> m Word64
+ GI.OSTree.Structs.RepoTransactionStats: getRepoTransactionStatsPadding1 :: MonadIO m => RepoTransactionStats -> m Word32
- GI.OSTree.Structs.RepoTransactionStats: setRepoTransactionStatsPadding1 :: MonadIO m => RepoTransactionStats -> Word64 -> m ()
+ GI.OSTree.Structs.RepoTransactionStats: setRepoTransactionStatsPadding1 :: MonadIO m => RepoTransactionStats -> Word32 -> m ()
- GI.OSTree.Structs.RollsumMatches: RollsumMatches :: (ManagedPtr RollsumMatches) -> RollsumMatches
+ GI.OSTree.Structs.RollsumMatches: RollsumMatches :: ManagedPtr RollsumMatches -> RollsumMatches
- GI.OSTree.Structs.RollsumMatches: getRollsumMatchesMatches :: MonadIO m => RollsumMatches -> m (Maybe ([Ptr ()]))
+ GI.OSTree.Structs.RollsumMatches: getRollsumMatchesMatches :: MonadIO m => RollsumMatches -> m (Maybe [Ptr ()])
- GI.OSTree.Structs.SysrootWriteDeploymentsOpts: SysrootWriteDeploymentsOpts :: (ManagedPtr SysrootWriteDeploymentsOpts) -> SysrootWriteDeploymentsOpts
+ GI.OSTree.Structs.SysrootWriteDeploymentsOpts: SysrootWriteDeploymentsOpts :: ManagedPtr SysrootWriteDeploymentsOpts -> SysrootWriteDeploymentsOpts
- GI.OSTree.Structs.TlsCertInteraction: TlsCertInteraction :: (ManagedPtr TlsCertInteraction) -> TlsCertInteraction
+ GI.OSTree.Structs.TlsCertInteraction: TlsCertInteraction :: ManagedPtr TlsCertInteraction -> TlsCertInteraction
- GI.OSTree.Structs.TlsCertInteractionClass: TlsCertInteractionClass :: (ManagedPtr TlsCertInteractionClass) -> TlsCertInteractionClass
+ GI.OSTree.Structs.TlsCertInteractionClass: TlsCertInteractionClass :: ManagedPtr TlsCertInteractionClass -> TlsCertInteractionClass

Files

ChangeLog.md view
@@ -1,3 +1,11 @@+### 1.0.8+++ Update to haskell-gi(-base) 0.22++### 1.0.7+++ Update stack version to 12.10+ ### 1.0.6  + Remove enable-overloading flags, and use instead explicit CPP checks for 'haskell-gi-overloading-1.0', see [how to disable overloading](https://github.com/haskell-gi/haskell-gi/wiki/Overloading\#disabling-overloading).
+ GI/OSTree.hs view
@@ -0,0 +1,60 @@+++{- |+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.OSTree+    (     module GI.OSTree.Callbacks              ,+    module GI.OSTree.Constants              ,+    module GI.OSTree.Enums                  ,+    module GI.OSTree.Flags                  ,+    module GI.OSTree.Functions              ,+    module GI.OSTree.Interfaces             ,+    module GI.OSTree.Objects                ,+    module GI.OSTree.Structs                ,++++    module Data.GI.Base                     ,+++    ) where++import GI.OSTree.Callbacks+import GI.OSTree.Constants+import GI.OSTree.Enums+import GI.OSTree.Flags+import GI.OSTree.Functions+import GI.OSTree.Interfaces+import GI.OSTree.Objects+import GI.OSTree.Structs++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/OSTree/Callbacks.hs view
@@ -0,0 +1,1266 @@+++{- |+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.OSTree.Callbacks+    ( ++ -- * Signals+-- ** BootloaderInterfaceGetNameFieldCallback #signal:BootloaderInterfaceGetNameFieldCallback#++    BootloaderInterfaceGetNameFieldCallback ,+    C_BootloaderInterfaceGetNameFieldCallback,+    dynamic_BootloaderInterfaceGetNameFieldCallback,+    genClosure_BootloaderInterfaceGetNameFieldCallback,+    mk_BootloaderInterfaceGetNameFieldCallback,+    noBootloaderInterfaceGetNameFieldCallback,+    wrap_BootloaderInterfaceGetNameFieldCallback,+++-- ** BootloaderInterfaceIsAtomicFieldCallback #signal:BootloaderInterfaceIsAtomicFieldCallback#++    BootloaderInterfaceIsAtomicFieldCallback,+    C_BootloaderInterfaceIsAtomicFieldCallback,+    dynamic_BootloaderInterfaceIsAtomicFieldCallback,+    genClosure_BootloaderInterfaceIsAtomicFieldCallback,+    mk_BootloaderInterfaceIsAtomicFieldCallback,+    noBootloaderInterfaceIsAtomicFieldCallback,+    wrap_BootloaderInterfaceIsAtomicFieldCallback,+++-- ** BootloaderInterfaceQueryFieldCallback #signal:BootloaderInterfaceQueryFieldCallback#++    BootloaderInterfaceQueryFieldCallback   ,+    C_BootloaderInterfaceQueryFieldCallback ,+    dynamic_BootloaderInterfaceQueryFieldCallback,+    mk_BootloaderInterfaceQueryFieldCallback,+    noBootloaderInterfaceQueryFieldCallback ,+++-- ** CmdPrivateVTableOstreeFinalizeStagedFieldCallback #signal:CmdPrivateVTableOstreeFinalizeStagedFieldCallback#++    C_CmdPrivateVTableOstreeFinalizeStagedFieldCallback,+    CmdPrivateVTableOstreeFinalizeStagedFieldCallback,+    dynamic_CmdPrivateVTableOstreeFinalizeStagedFieldCallback,+    mk_CmdPrivateVTableOstreeFinalizeStagedFieldCallback,+    noCmdPrivateVTableOstreeFinalizeStagedFieldCallback,+++-- ** CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback #signal:CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback#++    C_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback,+    CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback,+    dynamic_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback,+    mk_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback,+    noCmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback,+++-- ** CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback #signal:CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback#++    C_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback,+    CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback,+    dynamic_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback,+    mk_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback,+    noCmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback,+++-- ** CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback #signal:CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback#++    C_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback,+    CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback,+    dynamic_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback,+    mk_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback,+    noCmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback,+++-- ** CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback #signal:CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback#++    C_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback,+    CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback,+    dynamic_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback,+    mk_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback,+    noCmdPrivateVTableOstreeStaticDeltaDumpFieldCallback,+++-- ** CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback #signal:CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback#++    C_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback,+    CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback,+    dynamic_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback,+    mk_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback,+    noCmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback,+++-- ** CmdPrivateVTableOstreeSystemGeneratorFieldCallback #signal:CmdPrivateVTableOstreeSystemGeneratorFieldCallback#++    C_CmdPrivateVTableOstreeSystemGeneratorFieldCallback,+    CmdPrivateVTableOstreeSystemGeneratorFieldCallback,+    dynamic_CmdPrivateVTableOstreeSystemGeneratorFieldCallback,+    mk_CmdPrivateVTableOstreeSystemGeneratorFieldCallback,+    noCmdPrivateVTableOstreeSystemGeneratorFieldCallback,+++-- ** RepoCheckoutFilter #signal:RepoCheckoutFilter#++    C_RepoCheckoutFilter                    ,+    RepoCheckoutFilter                      ,+    RepoCheckoutFilter_WithClosures         ,+    drop_closures_RepoCheckoutFilter        ,+    dynamic_RepoCheckoutFilter              ,+    genClosure_RepoCheckoutFilter           ,+    mk_RepoCheckoutFilter                   ,+    noRepoCheckoutFilter                    ,+    noRepoCheckoutFilter_WithClosures       ,+    wrap_RepoCheckoutFilter                 ,+++-- ** RepoCommitFilter #signal:RepoCommitFilter#++    C_RepoCommitFilter                      ,+    RepoCommitFilter                        ,+    RepoCommitFilter_WithClosures           ,+    drop_closures_RepoCommitFilter          ,+    dynamic_RepoCommitFilter                ,+    genClosure_RepoCommitFilter             ,+    mk_RepoCommitFilter                     ,+    noRepoCommitFilter                      ,+    noRepoCommitFilter_WithClosures         ,+    wrap_RepoCommitFilter                   ,+++-- ** RepoCommitModifierXattrCallback #signal:RepoCommitModifierXattrCallback#++    C_RepoCommitModifierXattrCallback       ,+    RepoCommitModifierXattrCallback         ,+    RepoCommitModifierXattrCallback_WithClosures,+    drop_closures_RepoCommitModifierXattrCallback,+    dynamic_RepoCommitModifierXattrCallback ,+    genClosure_RepoCommitModifierXattrCallback,+    mk_RepoCommitModifierXattrCallback      ,+    noRepoCommitModifierXattrCallback       ,+    noRepoCommitModifierXattrCallback_WithClosures,+    wrap_RepoCommitModifierXattrCallback    ,+++-- ** RepoImportArchiveTranslatePathname #signal:RepoImportArchiveTranslatePathname#++    C_RepoImportArchiveTranslatePathname    ,+    RepoImportArchiveTranslatePathname      ,+    RepoImportArchiveTranslatePathname_WithClosures,+    drop_closures_RepoImportArchiveTranslatePathname,+    dynamic_RepoImportArchiveTranslatePathname,+    genClosure_RepoImportArchiveTranslatePathname,+    mk_RepoImportArchiveTranslatePathname   ,+    noRepoImportArchiveTranslatePathname    ,+    noRepoImportArchiveTranslatePathname_WithClosures,+    wrap_RepoImportArchiveTranslatePathname ,+++++    ) 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.Gio.Objects.Cancellable as Gio.Cancellable+import qualified GI.Gio.Objects.FileInfo as Gio.FileInfo+import {-# SOURCE #-} qualified GI.OSTree.Enums as OSTree.Enums+import {-# SOURCE #-} qualified GI.OSTree.Objects.Repo as OSTree.Repo+import {-# SOURCE #-} qualified GI.OSTree.Objects.Sysroot as OSTree.Sysroot+import {-# SOURCE #-} qualified GI.OSTree.Structs.Bootloader as OSTree.Bootloader++-- callback RepoImportArchiveTranslatePathname+--          -> Callable {returnType = Just (TBasicType TUTF8), returnMayBeNull = False, returnTransfer = TransferEverything, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "repo", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stbuf", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Stat buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Path in the archive", 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 = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Just "Possibly change a pathname while importing an archive. If %NULL is returned,\nthen @src_path will be used unchanged.  Otherwise, return a new pathname which\nwill be freed via `g_free()`.\n\nThis pathname translation will be performed *before* any processing from an\nactive `OstreeRepoCommitModifier`. Will be invoked for all directory and file\ntypes, first with outer directories, then their sub-files and directories.\n\nNote that enabling pathname translation will always override the setting for\n`use_ostree_convention`.", sinceVersion = Just "2017.11"}}+-- | Type for the callback on the (unwrapped) C side.+type C_RepoImportArchiveTranslatePathname =+    Ptr OSTree.Repo.Repo ->+    Ptr () ->+    CString ->+    Ptr () ->+    IO CString++-- Args : [Arg {argCName = "repo", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stbuf", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Stat buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "src_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Path in the archive", 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 = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_RepoImportArchiveTranslatePathname :: FunPtr C_RepoImportArchiveTranslatePathname -> C_RepoImportArchiveTranslatePathname++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_RepoImportArchiveTranslatePathname ::+    (B.CallStack.HasCallStack, MonadIO m, OSTree.Repo.IsRepo a) =>+    FunPtr C_RepoImportArchiveTranslatePathname+    -> a+    {- ^ /@repo@/: Repo -}+    -> Ptr ()+    {- ^ /@stbuf@/: Stat buffer -}+    -> T.Text+    {- ^ /@srcPath@/: Path in the archive -}+    -> Ptr ()+    {- ^ /@userData@/: User data -}+    -> m T.Text+dynamic_RepoImportArchiveTranslatePathname __funPtr repo stbuf srcPath userData = liftIO $ do+    repo' <- unsafeManagedPtrCastPtr repo+    srcPath' <- textToCString srcPath+    result <- (__dynamic_C_RepoImportArchiveTranslatePathname __funPtr) repo' stbuf srcPath' userData+    checkUnexpectedReturnNULL "repoImportArchiveTranslatePathname" result+    result' <- cstringToText result+    freeMem result+    touchManagedPtr repo+    freeMem srcPath'+    return result'++-- | Generate a function pointer callable from C code, from a `C_RepoImportArchiveTranslatePathname`.+foreign import ccall "wrapper"+    mk_RepoImportArchiveTranslatePathname :: C_RepoImportArchiveTranslatePathname -> IO (FunPtr C_RepoImportArchiveTranslatePathname)++{- |+Possibly change a pathname while importing an archive. If 'Nothing' is returned,+then /@srcPath@/ will be used unchanged.  Otherwise, return a new pathname which+will be freed via @g_free()@.++This pathname translation will be performed *before* any processing from an+active @OstreeRepoCommitModifier@. Will be invoked for all directory and file+types, first with outer directories, then their sub-files and directories.++Note that enabling pathname translation will always override the setting for+@use_ostree_convention@.++/Since: 2017.11/+-}+type RepoImportArchiveTranslatePathname =+    OSTree.Repo.Repo+    {- ^ /@repo@/: Repo -}+    -> Ptr ()+    {- ^ /@stbuf@/: Stat buffer -}+    -> T.Text+    {- ^ /@srcPath@/: Path in the archive -}+    -> IO T.Text++-- | A convenience synonym for @`Nothing` :: `Maybe` `RepoImportArchiveTranslatePathname`@.+noRepoImportArchiveTranslatePathname :: Maybe RepoImportArchiveTranslatePathname+noRepoImportArchiveTranslatePathname = Nothing++{- |+Possibly change a pathname while importing an archive. If 'Nothing' is returned,+then /@srcPath@/ will be used unchanged.  Otherwise, return a new pathname which+will be freed via @g_free()@.++This pathname translation will be performed *before* any processing from an+active @OstreeRepoCommitModifier@. Will be invoked for all directory and file+types, first with outer directories, then their sub-files and directories.++Note that enabling pathname translation will always override the setting for+@use_ostree_convention@.++/Since: 2017.11/+-}+type RepoImportArchiveTranslatePathname_WithClosures =+    OSTree.Repo.Repo+    {- ^ /@repo@/: Repo -}+    -> Ptr ()+    {- ^ /@stbuf@/: Stat buffer -}+    -> T.Text+    {- ^ /@srcPath@/: Path in the archive -}+    -> Ptr ()+    {- ^ /@userData@/: User data -}+    -> IO T.Text++-- | A convenience synonym for @`Nothing` :: `Maybe` `RepoImportArchiveTranslatePathname_WithClosures`@.+noRepoImportArchiveTranslatePathname_WithClosures :: Maybe RepoImportArchiveTranslatePathname_WithClosures+noRepoImportArchiveTranslatePathname_WithClosures = Nothing++-- | A simple wrapper that ignores the closure arguments.+drop_closures_RepoImportArchiveTranslatePathname :: RepoImportArchiveTranslatePathname -> RepoImportArchiveTranslatePathname_WithClosures+drop_closures_RepoImportArchiveTranslatePathname _f repo stbuf srcPath _ = _f repo stbuf srcPath++-- | Wrap the callback into a `GClosure`.+genClosure_RepoImportArchiveTranslatePathname :: MonadIO m => RepoImportArchiveTranslatePathname -> m (GClosure C_RepoImportArchiveTranslatePathname)+genClosure_RepoImportArchiveTranslatePathname cb = liftIO $ do+    let cb' = drop_closures_RepoImportArchiveTranslatePathname cb+    let cb'' = wrap_RepoImportArchiveTranslatePathname Nothing cb'+    mk_RepoImportArchiveTranslatePathname cb'' >>= B.GClosure.newGClosure+++-- | Wrap a `RepoImportArchiveTranslatePathname` into a `C_RepoImportArchiveTranslatePathname`.+wrap_RepoImportArchiveTranslatePathname ::+    Maybe (Ptr (FunPtr C_RepoImportArchiveTranslatePathname)) ->+    RepoImportArchiveTranslatePathname_WithClosures ->+    C_RepoImportArchiveTranslatePathname+wrap_RepoImportArchiveTranslatePathname funptrptr _cb repo stbuf srcPath userData = do+    repo' <- (newObject OSTree.Repo.Repo) repo+    srcPath' <- cstringToText srcPath+    result <- _cb  repo' stbuf srcPath' userData+    maybeReleaseFunPtr funptrptr+    result' <- textToCString result+    return result'+++-- callback RepoCommitModifierXattrCallback+--          -> Callable {returnType = Just TVariant, returnMayBeNull = False, returnTransfer = TransferEverything, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "repo", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", 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_info", argType = TInterface (Name {namespace = "Gio", name = "FileInfo"}), 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 = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}}+-- | Type for the callback on the (unwrapped) C side.+type C_RepoCommitModifierXattrCallback =+    Ptr OSTree.Repo.Repo ->+    CString ->+    Ptr Gio.FileInfo.FileInfo ->+    Ptr () ->+    IO (Ptr GVariant)++-- Args : [Arg {argCName = "repo", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", 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_info", argType = TInterface (Name {namespace = "Gio", name = "FileInfo"}), 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 : Just TVariant+-- throws : False+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_RepoCommitModifierXattrCallback :: FunPtr C_RepoCommitModifierXattrCallback -> C_RepoCommitModifierXattrCallback++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_RepoCommitModifierXattrCallback ::+    (B.CallStack.HasCallStack, MonadIO m, OSTree.Repo.IsRepo a, Gio.FileInfo.IsFileInfo b) =>+    FunPtr C_RepoCommitModifierXattrCallback+    -> a+    -> T.Text+    -> b+    -> Ptr ()+    -> m GVariant+dynamic_RepoCommitModifierXattrCallback __funPtr repo path fileInfo userData = liftIO $ do+    repo' <- unsafeManagedPtrCastPtr repo+    path' <- textToCString path+    fileInfo' <- unsafeManagedPtrCastPtr fileInfo+    result <- (__dynamic_C_RepoCommitModifierXattrCallback __funPtr) repo' path' fileInfo' userData+    checkUnexpectedReturnNULL "repoCommitModifierXattrCallback" result+    result' <- B.GVariant.wrapGVariantPtr result+    touchManagedPtr repo+    touchManagedPtr fileInfo+    freeMem path'+    return result'++-- | Generate a function pointer callable from C code, from a `C_RepoCommitModifierXattrCallback`.+foreign import ccall "wrapper"+    mk_RepoCommitModifierXattrCallback :: C_RepoCommitModifierXattrCallback -> IO (FunPtr C_RepoCommitModifierXattrCallback)++{- |+/No description available in the introspection data./+-}+type RepoCommitModifierXattrCallback =+    OSTree.Repo.Repo+    -> T.Text+    -> Gio.FileInfo.FileInfo+    -> IO GVariant++-- | A convenience synonym for @`Nothing` :: `Maybe` `RepoCommitModifierXattrCallback`@.+noRepoCommitModifierXattrCallback :: Maybe RepoCommitModifierXattrCallback+noRepoCommitModifierXattrCallback = Nothing++{- |+/No description available in the introspection data./+-}+type RepoCommitModifierXattrCallback_WithClosures =+    OSTree.Repo.Repo+    -> T.Text+    -> Gio.FileInfo.FileInfo+    -> Ptr ()+    -> IO GVariant++-- | A convenience synonym for @`Nothing` :: `Maybe` `RepoCommitModifierXattrCallback_WithClosures`@.+noRepoCommitModifierXattrCallback_WithClosures :: Maybe RepoCommitModifierXattrCallback_WithClosures+noRepoCommitModifierXattrCallback_WithClosures = Nothing++-- | A simple wrapper that ignores the closure arguments.+drop_closures_RepoCommitModifierXattrCallback :: RepoCommitModifierXattrCallback -> RepoCommitModifierXattrCallback_WithClosures+drop_closures_RepoCommitModifierXattrCallback _f repo path fileInfo _ = _f repo path fileInfo++-- | Wrap the callback into a `GClosure`.+genClosure_RepoCommitModifierXattrCallback :: MonadIO m => RepoCommitModifierXattrCallback -> m (GClosure C_RepoCommitModifierXattrCallback)+genClosure_RepoCommitModifierXattrCallback cb = liftIO $ do+    let cb' = drop_closures_RepoCommitModifierXattrCallback cb+    let cb'' = wrap_RepoCommitModifierXattrCallback Nothing cb'+    mk_RepoCommitModifierXattrCallback cb'' >>= B.GClosure.newGClosure+++-- | Wrap a `RepoCommitModifierXattrCallback` into a `C_RepoCommitModifierXattrCallback`.+wrap_RepoCommitModifierXattrCallback ::+    Maybe (Ptr (FunPtr C_RepoCommitModifierXattrCallback)) ->+    RepoCommitModifierXattrCallback_WithClosures ->+    C_RepoCommitModifierXattrCallback+wrap_RepoCommitModifierXattrCallback funptrptr _cb repo path fileInfo userData = do+    repo' <- (newObject OSTree.Repo.Repo) repo+    path' <- cstringToText path+    fileInfo' <- (newObject Gio.FileInfo.FileInfo) fileInfo+    result <- _cb  repo' path' fileInfo' userData+    maybeReleaseFunPtr funptrptr+    result' <- B.GVariant.disownGVariant result+    return result'+++-- callback RepoCommitFilter+--          -> Callable {returnType = Just (TInterface (Name {namespace = "OSTree", name = "RepoCommitFilterResult"})), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "#OstreeRepoCommitFilterResult saying whether or not to commit this file", sinceVersion = Nothing}, args = [Arg {argCName = "repo", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Path to file", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file_info", argType = TInterface (Name {namespace = "Gio", name = "FileInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "File information", 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 = 3, 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_RepoCommitFilter =+    Ptr OSTree.Repo.Repo ->+    CString ->+    Ptr Gio.FileInfo.FileInfo ->+    Ptr () ->+    IO CUInt++-- Args : [Arg {argCName = "repo", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Path to file", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file_info", argType = TInterface (Name {namespace = "Gio", name = "FileInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "File information", 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 = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "RepoCommitFilterResult"}))+-- throws : False+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_RepoCommitFilter :: FunPtr C_RepoCommitFilter -> C_RepoCommitFilter++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_RepoCommitFilter ::+    (B.CallStack.HasCallStack, MonadIO m, OSTree.Repo.IsRepo a, Gio.FileInfo.IsFileInfo b) =>+    FunPtr C_RepoCommitFilter+    -> a+    {- ^ /@repo@/: Repo -}+    -> T.Text+    {- ^ /@path@/: Path to file -}+    -> b+    {- ^ /@fileInfo@/: File information -}+    -> Ptr ()+    {- ^ /@userData@/: User data -}+    -> m OSTree.Enums.RepoCommitFilterResult+    {- ^ __Returns:__ 'GI.OSTree.Enums.RepoCommitFilterResult' saying whether or not to commit this file -}+dynamic_RepoCommitFilter __funPtr repo path fileInfo userData = liftIO $ do+    repo' <- unsafeManagedPtrCastPtr repo+    path' <- textToCString path+    fileInfo' <- unsafeManagedPtrCastPtr fileInfo+    result <- (__dynamic_C_RepoCommitFilter __funPtr) repo' path' fileInfo' userData+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr repo+    touchManagedPtr fileInfo+    freeMem path'+    return result'++-- | Generate a function pointer callable from C code, from a `C_RepoCommitFilter`.+foreign import ccall "wrapper"+    mk_RepoCommitFilter :: C_RepoCommitFilter -> IO (FunPtr C_RepoCommitFilter)++{- |+/No description available in the introspection data./+-}+type RepoCommitFilter =+    OSTree.Repo.Repo+    {- ^ /@repo@/: Repo -}+    -> T.Text+    {- ^ /@path@/: Path to file -}+    -> Gio.FileInfo.FileInfo+    {- ^ /@fileInfo@/: File information -}+    -> IO OSTree.Enums.RepoCommitFilterResult+    {- ^ __Returns:__ 'GI.OSTree.Enums.RepoCommitFilterResult' saying whether or not to commit this file -}++-- | A convenience synonym for @`Nothing` :: `Maybe` `RepoCommitFilter`@.+noRepoCommitFilter :: Maybe RepoCommitFilter+noRepoCommitFilter = Nothing++{- |+/No description available in the introspection data./+-}+type RepoCommitFilter_WithClosures =+    OSTree.Repo.Repo+    {- ^ /@repo@/: Repo -}+    -> T.Text+    {- ^ /@path@/: Path to file -}+    -> Gio.FileInfo.FileInfo+    {- ^ /@fileInfo@/: File information -}+    -> Ptr ()+    {- ^ /@userData@/: User data -}+    -> IO OSTree.Enums.RepoCommitFilterResult+    {- ^ __Returns:__ 'GI.OSTree.Enums.RepoCommitFilterResult' saying whether or not to commit this file -}++-- | A convenience synonym for @`Nothing` :: `Maybe` `RepoCommitFilter_WithClosures`@.+noRepoCommitFilter_WithClosures :: Maybe RepoCommitFilter_WithClosures+noRepoCommitFilter_WithClosures = Nothing++-- | A simple wrapper that ignores the closure arguments.+drop_closures_RepoCommitFilter :: RepoCommitFilter -> RepoCommitFilter_WithClosures+drop_closures_RepoCommitFilter _f repo path fileInfo _ = _f repo path fileInfo++-- | Wrap the callback into a `GClosure`.+genClosure_RepoCommitFilter :: MonadIO m => RepoCommitFilter -> m (GClosure C_RepoCommitFilter)+genClosure_RepoCommitFilter cb = liftIO $ do+    let cb' = drop_closures_RepoCommitFilter cb+    let cb'' = wrap_RepoCommitFilter Nothing cb'+    mk_RepoCommitFilter cb'' >>= B.GClosure.newGClosure+++-- | Wrap a `RepoCommitFilter` into a `C_RepoCommitFilter`.+wrap_RepoCommitFilter ::+    Maybe (Ptr (FunPtr C_RepoCommitFilter)) ->+    RepoCommitFilter_WithClosures ->+    C_RepoCommitFilter+wrap_RepoCommitFilter funptrptr _cb repo path fileInfo userData = do+    repo' <- (newObject OSTree.Repo.Repo) repo+    path' <- cstringToText path+    fileInfo' <- (newObject Gio.FileInfo.FileInfo) fileInfo+    result <- _cb  repo' path' fileInfo' userData+    maybeReleaseFunPtr funptrptr+    let result' = (fromIntegral . fromEnum) result+    return result'+++-- callback RepoCheckoutFilter+--          -> Callable {returnType = Just (TInterface (Name {namespace = "OSTree", name = "RepoCheckoutFilterResult"})), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Just "#OstreeRepoCheckoutFilterResult saying whether or not to checkout this file", sinceVersion = Nothing}, args = [Arg {argCName = "repo", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Path to file", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stbuf", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "File information", 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 = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}], skipReturn = False, callableThrows = False, callableDeprecated = Nothing, callableDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Just "2018.2"}}+-- | Type for the callback on the (unwrapped) C side.+type C_RepoCheckoutFilter =+    Ptr OSTree.Repo.Repo ->+    CString ->+    Ptr () ->+    Ptr () ->+    IO CUInt++-- Args : [Arg {argCName = "repo", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Path to file", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stbuf", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "File information", 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 = 3, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "RepoCheckoutFilterResult"}))+-- throws : False+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_RepoCheckoutFilter :: FunPtr C_RepoCheckoutFilter -> C_RepoCheckoutFilter++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_RepoCheckoutFilter ::+    (B.CallStack.HasCallStack, MonadIO m, OSTree.Repo.IsRepo a) =>+    FunPtr C_RepoCheckoutFilter+    -> a+    {- ^ /@repo@/: Repo -}+    -> T.Text+    {- ^ /@path@/: Path to file -}+    -> Ptr ()+    {- ^ /@stbuf@/: File information -}+    -> Ptr ()+    {- ^ /@userData@/: User data -}+    -> m OSTree.Enums.RepoCheckoutFilterResult+    {- ^ __Returns:__ 'GI.OSTree.Enums.RepoCheckoutFilterResult' saying whether or not to checkout this file -}+dynamic_RepoCheckoutFilter __funPtr repo path stbuf userData = liftIO $ do+    repo' <- unsafeManagedPtrCastPtr repo+    path' <- textToCString path+    result <- (__dynamic_C_RepoCheckoutFilter __funPtr) repo' path' stbuf userData+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr repo+    freeMem path'+    return result'++-- | Generate a function pointer callable from C code, from a `C_RepoCheckoutFilter`.+foreign import ccall "wrapper"+    mk_RepoCheckoutFilter :: C_RepoCheckoutFilter -> IO (FunPtr C_RepoCheckoutFilter)++{- |+/No description available in the introspection data./++/Since: 2018.2/+-}+type RepoCheckoutFilter =+    OSTree.Repo.Repo+    {- ^ /@repo@/: Repo -}+    -> T.Text+    {- ^ /@path@/: Path to file -}+    -> Ptr ()+    {- ^ /@stbuf@/: File information -}+    -> IO OSTree.Enums.RepoCheckoutFilterResult+    {- ^ __Returns:__ 'GI.OSTree.Enums.RepoCheckoutFilterResult' saying whether or not to checkout this file -}++-- | A convenience synonym for @`Nothing` :: `Maybe` `RepoCheckoutFilter`@.+noRepoCheckoutFilter :: Maybe RepoCheckoutFilter+noRepoCheckoutFilter = Nothing++{- |+/No description available in the introspection data./++/Since: 2018.2/+-}+type RepoCheckoutFilter_WithClosures =+    OSTree.Repo.Repo+    {- ^ /@repo@/: Repo -}+    -> T.Text+    {- ^ /@path@/: Path to file -}+    -> Ptr ()+    {- ^ /@stbuf@/: File information -}+    -> Ptr ()+    {- ^ /@userData@/: User data -}+    -> IO OSTree.Enums.RepoCheckoutFilterResult+    {- ^ __Returns:__ 'GI.OSTree.Enums.RepoCheckoutFilterResult' saying whether or not to checkout this file -}++-- | A convenience synonym for @`Nothing` :: `Maybe` `RepoCheckoutFilter_WithClosures`@.+noRepoCheckoutFilter_WithClosures :: Maybe RepoCheckoutFilter_WithClosures+noRepoCheckoutFilter_WithClosures = Nothing++-- | A simple wrapper that ignores the closure arguments.+drop_closures_RepoCheckoutFilter :: RepoCheckoutFilter -> RepoCheckoutFilter_WithClosures+drop_closures_RepoCheckoutFilter _f repo path stbuf _ = _f repo path stbuf++-- | Wrap the callback into a `GClosure`.+genClosure_RepoCheckoutFilter :: MonadIO m => RepoCheckoutFilter -> m (GClosure C_RepoCheckoutFilter)+genClosure_RepoCheckoutFilter cb = liftIO $ do+    let cb' = drop_closures_RepoCheckoutFilter cb+    let cb'' = wrap_RepoCheckoutFilter Nothing cb'+    mk_RepoCheckoutFilter cb'' >>= B.GClosure.newGClosure+++-- | Wrap a `RepoCheckoutFilter` into a `C_RepoCheckoutFilter`.+wrap_RepoCheckoutFilter ::+    Maybe (Ptr (FunPtr C_RepoCheckoutFilter)) ->+    RepoCheckoutFilter_WithClosures ->+    C_RepoCheckoutFilter+wrap_RepoCheckoutFilter funptrptr _cb repo path stbuf userData = do+    repo' <- (newObject OSTree.Repo.Repo) repo+    path' <- cstringToText path+    result <- _cb  repo' path' stbuf userData+    maybeReleaseFunPtr funptrptr+    let result' = (fromIntegral . fromEnum) result+    return result'+++-- callback CmdPrivateVTableOstreeSystemGeneratorFieldCallback+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "ostree_cmdline", 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 = "normal_dir", 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 = "early_dir", 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 = "late_dir", argType = TBasicType TUTF8, 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_CmdPrivateVTableOstreeSystemGeneratorFieldCallback =+    CString ->+    CString ->+    CString ->+    CString ->+    Ptr (Ptr GError) ->+    IO CInt++-- Args : [Arg {argCName = "ostree_cmdline", 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 = "normal_dir", 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 = "early_dir", 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 = "late_dir", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_CmdPrivateVTableOstreeSystemGeneratorFieldCallback :: FunPtr C_CmdPrivateVTableOstreeSystemGeneratorFieldCallback -> C_CmdPrivateVTableOstreeSystemGeneratorFieldCallback++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_CmdPrivateVTableOstreeSystemGeneratorFieldCallback ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    FunPtr C_CmdPrivateVTableOstreeSystemGeneratorFieldCallback+    -> T.Text+    -> T.Text+    -> T.Text+    -> T.Text+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+dynamic_CmdPrivateVTableOstreeSystemGeneratorFieldCallback __funPtr ostreeCmdline normalDir earlyDir lateDir = liftIO $ do+    ostreeCmdline' <- textToCString ostreeCmdline+    normalDir' <- textToCString normalDir+    earlyDir' <- textToCString earlyDir+    lateDir' <- textToCString lateDir+    onException (do+        _ <- propagateGError $ (__dynamic_C_CmdPrivateVTableOstreeSystemGeneratorFieldCallback __funPtr) ostreeCmdline' normalDir' earlyDir' lateDir'+        freeMem ostreeCmdline'+        freeMem normalDir'+        freeMem earlyDir'+        freeMem lateDir'+        return ()+     ) (do+        freeMem ostreeCmdline'+        freeMem normalDir'+        freeMem earlyDir'+        freeMem lateDir'+     )++-- | Generate a function pointer callable from C code, from a `C_CmdPrivateVTableOstreeSystemGeneratorFieldCallback`.+foreign import ccall "wrapper"+    mk_CmdPrivateVTableOstreeSystemGeneratorFieldCallback :: C_CmdPrivateVTableOstreeSystemGeneratorFieldCallback -> IO (FunPtr C_CmdPrivateVTableOstreeSystemGeneratorFieldCallback)++{- |+/No description available in the introspection data./+-}+type CmdPrivateVTableOstreeSystemGeneratorFieldCallback =+    T.Text+    -> T.Text+    -> T.Text+    -> T.Text+    -> IO ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}++-- | A convenience synonym for @`Nothing` :: `Maybe` `CmdPrivateVTableOstreeSystemGeneratorFieldCallback`@.+noCmdPrivateVTableOstreeSystemGeneratorFieldCallback :: Maybe CmdPrivateVTableOstreeSystemGeneratorFieldCallback+noCmdPrivateVTableOstreeSystemGeneratorFieldCallback = Nothing++-- No Haskell->C wrapper generated since the function throws.++-- callback CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "repo", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "delta_id", 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 = "out_exists", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), 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_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback =+    Ptr OSTree.Repo.Repo ->+    CString ->+    CInt ->+    Ptr Gio.Cancellable.Cancellable ->+    Ptr (Ptr GError) ->+    IO CInt++-- Args : [Arg {argCName = "repo", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "delta_id", 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 = "out_exists", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback :: FunPtr C_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback -> C_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback ::+    (B.CallStack.HasCallStack, MonadIO m, OSTree.Repo.IsRepo a, Gio.Cancellable.IsCancellable b) =>+    FunPtr C_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback+    -> a+    -> T.Text+    -> Bool+    -> b+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+dynamic_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback __funPtr repo deltaId outExists cancellable = liftIO $ do+    repo' <- unsafeManagedPtrCastPtr repo+    deltaId' <- textToCString deltaId+    let outExists' = (fromIntegral . fromEnum) outExists+    cancellable' <- unsafeManagedPtrCastPtr cancellable+    onException (do+        _ <- propagateGError $ (__dynamic_C_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback __funPtr) repo' deltaId' outExists' cancellable'+        touchManagedPtr repo+        touchManagedPtr cancellable+        freeMem deltaId'+        return ()+     ) (do+        freeMem deltaId'+     )++-- | Generate a function pointer callable from C code, from a `C_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback`.+foreign import ccall "wrapper"+    mk_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback :: C_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback -> IO (FunPtr C_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback)++{- |+/No description available in the introspection data./+-}+type CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback =+    OSTree.Repo.Repo+    -> T.Text+    -> Bool+    -> Gio.Cancellable.Cancellable+    -> IO ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}++-- | A convenience synonym for @`Nothing` :: `Maybe` `CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback`@.+noCmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback :: Maybe CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback+noCmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback = Nothing++-- No Haskell->C wrapper generated since the function throws.++-- callback CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "repo", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "delta_id", 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 = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), 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_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback =+    Ptr OSTree.Repo.Repo ->+    CString ->+    Ptr Gio.Cancellable.Cancellable ->+    Ptr (Ptr GError) ->+    IO CInt++-- Args : [Arg {argCName = "repo", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "delta_id", 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 = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback :: FunPtr C_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback -> C_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback ::+    (B.CallStack.HasCallStack, MonadIO m, OSTree.Repo.IsRepo a, Gio.Cancellable.IsCancellable b) =>+    FunPtr C_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback+    -> a+    -> T.Text+    -> b+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+dynamic_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback __funPtr repo deltaId cancellable = liftIO $ do+    repo' <- unsafeManagedPtrCastPtr repo+    deltaId' <- textToCString deltaId+    cancellable' <- unsafeManagedPtrCastPtr cancellable+    onException (do+        _ <- propagateGError $ (__dynamic_C_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback __funPtr) repo' deltaId' cancellable'+        touchManagedPtr repo+        touchManagedPtr cancellable+        freeMem deltaId'+        return ()+     ) (do+        freeMem deltaId'+     )++-- | Generate a function pointer callable from C code, from a `C_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback`.+foreign import ccall "wrapper"+    mk_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback :: C_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback -> IO (FunPtr C_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback)++{- |+/No description available in the introspection data./+-}+type CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback =+    OSTree.Repo.Repo+    -> T.Text+    -> Gio.Cancellable.Cancellable+    -> IO ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}++-- | A convenience synonym for @`Nothing` :: `Maybe` `CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback`@.+noCmdPrivateVTableOstreeStaticDeltaDumpFieldCallback :: Maybe CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback+noCmdPrivateVTableOstreeStaticDeltaDumpFieldCallback = Nothing++-- No Haskell->C wrapper generated since the function throws.++-- callback CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "repo", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "delta_id", 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 = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), 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_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback =+    Ptr OSTree.Repo.Repo ->+    CString ->+    Ptr Gio.Cancellable.Cancellable ->+    Ptr (Ptr GError) ->+    IO CInt++-- Args : [Arg {argCName = "repo", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "delta_id", 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 = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback :: FunPtr C_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback -> C_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback ::+    (B.CallStack.HasCallStack, MonadIO m, OSTree.Repo.IsRepo a, Gio.Cancellable.IsCancellable b) =>+    FunPtr C_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback+    -> a+    -> T.Text+    -> b+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+dynamic_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback __funPtr repo deltaId cancellable = liftIO $ do+    repo' <- unsafeManagedPtrCastPtr repo+    deltaId' <- textToCString deltaId+    cancellable' <- unsafeManagedPtrCastPtr cancellable+    onException (do+        _ <- propagateGError $ (__dynamic_C_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback __funPtr) repo' deltaId' cancellable'+        touchManagedPtr repo+        touchManagedPtr cancellable+        freeMem deltaId'+        return ()+     ) (do+        freeMem deltaId'+     )++-- | Generate a function pointer callable from C code, from a `C_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback`.+foreign import ccall "wrapper"+    mk_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback :: C_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback -> IO (FunPtr C_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback)++{- |+/No description available in the introspection data./+-}+type CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback =+    OSTree.Repo.Repo+    -> T.Text+    -> Gio.Cancellable.Cancellable+    -> IO ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}++-- | A convenience synonym for @`Nothing` :: `Maybe` `CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback`@.+noCmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback :: Maybe CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback+noCmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback = Nothing++-- No Haskell->C wrapper generated since the function throws.++-- callback CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "collection_id", 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 = "ref_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 = "commit", argType = TVariant, 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_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback =+    CString ->+    CString ->+    Ptr GVariant ->+    Ptr (Ptr GError) ->+    IO CInt++-- Args : [Arg {argCName = "collection_id", 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 = "ref_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 = "commit", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback :: FunPtr C_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback -> C_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    FunPtr C_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback+    -> T.Text+    -> T.Text+    -> GVariant+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+dynamic_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback __funPtr collectionId refName commit = liftIO $ do+    collectionId' <- textToCString collectionId+    refName' <- textToCString refName+    commit' <- unsafeManagedPtrGetPtr commit+    onException (do+        _ <- propagateGError $ (__dynamic_C_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback __funPtr) collectionId' refName' commit'+        touchManagedPtr commit+        freeMem collectionId'+        freeMem refName'+        return ()+     ) (do+        freeMem collectionId'+        freeMem refName'+     )++-- | Generate a function pointer callable from C code, from a `C_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback`.+foreign import ccall "wrapper"+    mk_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback :: C_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback -> IO (FunPtr C_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback)++{- |+/No description available in the introspection data./+-}+type CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback =+    T.Text+    -> T.Text+    -> GVariant+    -> IO ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}++-- | A convenience synonym for @`Nothing` :: `Maybe` `CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback`@.+noCmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback :: Maybe CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback+noCmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback = Nothing++-- No Haskell->C wrapper generated since the function throws.++-- callback CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "sysroot", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bootversion", 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 = "target_fd", 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 = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), 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_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback =+    Ptr OSTree.Sysroot.Sysroot ->+    Int32 ->+    Int32 ->+    Ptr Gio.Cancellable.Cancellable ->+    Ptr (Ptr GError) ->+    IO CInt++-- Args : [Arg {argCName = "sysroot", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bootversion", 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 = "target_fd", 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 = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback :: FunPtr C_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback -> C_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback ::+    (B.CallStack.HasCallStack, MonadIO m, OSTree.Sysroot.IsSysroot a, Gio.Cancellable.IsCancellable b) =>+    FunPtr C_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback+    -> a+    -> Int32+    -> Int32+    -> b+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+dynamic_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback __funPtr sysroot bootversion targetFd cancellable = liftIO $ do+    sysroot' <- unsafeManagedPtrCastPtr sysroot+    cancellable' <- unsafeManagedPtrCastPtr cancellable+    onException (do+        _ <- propagateGError $ (__dynamic_C_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback __funPtr) sysroot' bootversion targetFd cancellable'+        touchManagedPtr sysroot+        touchManagedPtr cancellable+        return ()+     ) (do+        return ()+     )++-- | Generate a function pointer callable from C code, from a `C_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback`.+foreign import ccall "wrapper"+    mk_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback :: C_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback -> IO (FunPtr C_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback)++{- |+/No description available in the introspection data./+-}+type CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback =+    OSTree.Sysroot.Sysroot+    -> Int32+    -> Int32+    -> Gio.Cancellable.Cancellable+    -> IO ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}++-- | A convenience synonym for @`Nothing` :: `Maybe` `CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback`@.+noCmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback :: Maybe CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback+noCmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback = Nothing++-- No Haskell->C wrapper generated since the function throws.++-- callback CmdPrivateVTableOstreeFinalizeStagedFieldCallback+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "sysroot", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), 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_CmdPrivateVTableOstreeFinalizeStagedFieldCallback =+    Ptr OSTree.Sysroot.Sysroot ->+    Ptr Gio.Cancellable.Cancellable ->+    Ptr (Ptr GError) ->+    IO CInt++-- Args : [Arg {argCName = "sysroot", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_CmdPrivateVTableOstreeFinalizeStagedFieldCallback :: FunPtr C_CmdPrivateVTableOstreeFinalizeStagedFieldCallback -> C_CmdPrivateVTableOstreeFinalizeStagedFieldCallback++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_CmdPrivateVTableOstreeFinalizeStagedFieldCallback ::+    (B.CallStack.HasCallStack, MonadIO m, OSTree.Sysroot.IsSysroot a, Gio.Cancellable.IsCancellable b) =>+    FunPtr C_CmdPrivateVTableOstreeFinalizeStagedFieldCallback+    -> a+    -> b+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+dynamic_CmdPrivateVTableOstreeFinalizeStagedFieldCallback __funPtr sysroot cancellable = liftIO $ do+    sysroot' <- unsafeManagedPtrCastPtr sysroot+    cancellable' <- unsafeManagedPtrCastPtr cancellable+    onException (do+        _ <- propagateGError $ (__dynamic_C_CmdPrivateVTableOstreeFinalizeStagedFieldCallback __funPtr) sysroot' cancellable'+        touchManagedPtr sysroot+        touchManagedPtr cancellable+        return ()+     ) (do+        return ()+     )++-- | Generate a function pointer callable from C code, from a `C_CmdPrivateVTableOstreeFinalizeStagedFieldCallback`.+foreign import ccall "wrapper"+    mk_CmdPrivateVTableOstreeFinalizeStagedFieldCallback :: C_CmdPrivateVTableOstreeFinalizeStagedFieldCallback -> IO (FunPtr C_CmdPrivateVTableOstreeFinalizeStagedFieldCallback)++{- |+/No description available in the introspection data./+-}+type CmdPrivateVTableOstreeFinalizeStagedFieldCallback =+    OSTree.Sysroot.Sysroot+    -> Gio.Cancellable.Cancellable+    -> IO ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}++-- | A convenience synonym for @`Nothing` :: `Maybe` `CmdPrivateVTableOstreeFinalizeStagedFieldCallback`@.+noCmdPrivateVTableOstreeFinalizeStagedFieldCallback :: Maybe CmdPrivateVTableOstreeFinalizeStagedFieldCallback+noCmdPrivateVTableOstreeFinalizeStagedFieldCallback = Nothing++-- No Haskell->C wrapper generated since the function throws.++-- callback BootloaderInterfaceQueryFieldCallback+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "bootloader", argType = TInterface (Name {namespace = "OSTree", name = "Bootloader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_is_active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), 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_BootloaderInterfaceQueryFieldCallback =+    Ptr OSTree.Bootloader.Bootloader ->+    CInt ->+    Ptr Gio.Cancellable.Cancellable ->+    Ptr (Ptr GError) ->+    IO CInt++-- Args : [Arg {argCName = "bootloader", argType = TInterface (Name {namespace = "OSTree", name = "Bootloader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_is_active", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "dynamic" __dynamic_C_BootloaderInterfaceQueryFieldCallback :: FunPtr C_BootloaderInterfaceQueryFieldCallback -> C_BootloaderInterfaceQueryFieldCallback++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_BootloaderInterfaceQueryFieldCallback ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.Cancellable.IsCancellable a) =>+    FunPtr C_BootloaderInterfaceQueryFieldCallback+    -> OSTree.Bootloader.Bootloader+    -> Bool+    -> a+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+dynamic_BootloaderInterfaceQueryFieldCallback __funPtr bootloader outIsActive cancellable = liftIO $ do+    bootloader' <- unsafeManagedPtrGetPtr bootloader+    let outIsActive' = (fromIntegral . fromEnum) outIsActive+    cancellable' <- unsafeManagedPtrCastPtr cancellable+    onException (do+        _ <- propagateGError $ (__dynamic_C_BootloaderInterfaceQueryFieldCallback __funPtr) bootloader' outIsActive' cancellable'+        touchManagedPtr bootloader+        touchManagedPtr cancellable+        return ()+     ) (do+        return ()+     )++-- | Generate a function pointer callable from C code, from a `C_BootloaderInterfaceQueryFieldCallback`.+foreign import ccall "wrapper"+    mk_BootloaderInterfaceQueryFieldCallback :: C_BootloaderInterfaceQueryFieldCallback -> IO (FunPtr C_BootloaderInterfaceQueryFieldCallback)++{- |+/No description available in the introspection data./+-}+type BootloaderInterfaceQueryFieldCallback =+    OSTree.Bootloader.Bootloader+    -> Bool+    -> Gio.Cancellable.Cancellable+    -> IO ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}++-- | A convenience synonym for @`Nothing` :: `Maybe` `BootloaderInterfaceQueryFieldCallback`@.+noBootloaderInterfaceQueryFieldCallback :: Maybe BootloaderInterfaceQueryFieldCallback+noBootloaderInterfaceQueryFieldCallback = Nothing++-- No Haskell->C wrapper generated since the function throws.++-- callback BootloaderInterfaceIsAtomicFieldCallback+--          -> Callable {returnType = Just (TBasicType TBoolean), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Bootloader"}), 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_BootloaderInterfaceIsAtomicFieldCallback =+    Ptr OSTree.Bootloader.Bootloader ->+    IO CInt++-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Bootloader"}), 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_BootloaderInterfaceIsAtomicFieldCallback :: FunPtr C_BootloaderInterfaceIsAtomicFieldCallback -> C_BootloaderInterfaceIsAtomicFieldCallback++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_BootloaderInterfaceIsAtomicFieldCallback ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    FunPtr C_BootloaderInterfaceIsAtomicFieldCallback+    -> OSTree.Bootloader.Bootloader+    -> m Bool+dynamic_BootloaderInterfaceIsAtomicFieldCallback __funPtr self = liftIO $ do+    self' <- unsafeManagedPtrGetPtr self+    result <- (__dynamic_C_BootloaderInterfaceIsAtomicFieldCallback __funPtr) self'+    let result' = (/= 0) result+    touchManagedPtr self+    return result'++-- | Generate a function pointer callable from C code, from a `C_BootloaderInterfaceIsAtomicFieldCallback`.+foreign import ccall "wrapper"+    mk_BootloaderInterfaceIsAtomicFieldCallback :: C_BootloaderInterfaceIsAtomicFieldCallback -> IO (FunPtr C_BootloaderInterfaceIsAtomicFieldCallback)++{- |+/No description available in the introspection data./+-}+type BootloaderInterfaceIsAtomicFieldCallback =+    OSTree.Bootloader.Bootloader+    -> IO Bool++-- | A convenience synonym for @`Nothing` :: `Maybe` `BootloaderInterfaceIsAtomicFieldCallback`@.+noBootloaderInterfaceIsAtomicFieldCallback :: Maybe BootloaderInterfaceIsAtomicFieldCallback+noBootloaderInterfaceIsAtomicFieldCallback = Nothing++-- | Wrap the callback into a `GClosure`.+genClosure_BootloaderInterfaceIsAtomicFieldCallback :: MonadIO m => BootloaderInterfaceIsAtomicFieldCallback -> m (GClosure C_BootloaderInterfaceIsAtomicFieldCallback)+genClosure_BootloaderInterfaceIsAtomicFieldCallback cb = liftIO $ do+    let cb' = wrap_BootloaderInterfaceIsAtomicFieldCallback Nothing cb+    mk_BootloaderInterfaceIsAtomicFieldCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `BootloaderInterfaceIsAtomicFieldCallback` into a `C_BootloaderInterfaceIsAtomicFieldCallback`.+wrap_BootloaderInterfaceIsAtomicFieldCallback ::+    Maybe (Ptr (FunPtr C_BootloaderInterfaceIsAtomicFieldCallback)) ->+    BootloaderInterfaceIsAtomicFieldCallback ->+    C_BootloaderInterfaceIsAtomicFieldCallback+wrap_BootloaderInterfaceIsAtomicFieldCallback funptrptr _cb self = do+    self' <- (newPtr OSTree.Bootloader.Bootloader) self+    result <- _cb  self'+    maybeReleaseFunPtr funptrptr+    let result' = (fromIntegral . fromEnum) result+    return result'+++-- callback BootloaderInterfaceGetNameFieldCallback+--          -> Callable {returnType = Just (TBasicType TUTF8), returnMayBeNull = False, returnTransfer = TransferNothing, returnDocumentation = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, args = [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Bootloader"}), 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_BootloaderInterfaceGetNameFieldCallback =+    Ptr OSTree.Bootloader.Bootloader ->+    IO CString++-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Bootloader"}), 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 "dynamic" __dynamic_C_BootloaderInterfaceGetNameFieldCallback :: FunPtr C_BootloaderInterfaceGetNameFieldCallback -> C_BootloaderInterfaceGetNameFieldCallback++-- | Given a pointer to a foreign C function, wrap it into a function callable from Haskell.+dynamic_BootloaderInterfaceGetNameFieldCallback ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    FunPtr C_BootloaderInterfaceGetNameFieldCallback+    -> OSTree.Bootloader.Bootloader+    -> m T.Text+dynamic_BootloaderInterfaceGetNameFieldCallback __funPtr self = liftIO $ do+    self' <- unsafeManagedPtrGetPtr self+    result <- (__dynamic_C_BootloaderInterfaceGetNameFieldCallback __funPtr) self'+    checkUnexpectedReturnNULL "bootloaderInterfaceGetNameFieldCallback" result+    result' <- cstringToText result+    touchManagedPtr self+    return result'++-- | Generate a function pointer callable from C code, from a `C_BootloaderInterfaceGetNameFieldCallback`.+foreign import ccall "wrapper"+    mk_BootloaderInterfaceGetNameFieldCallback :: C_BootloaderInterfaceGetNameFieldCallback -> IO (FunPtr C_BootloaderInterfaceGetNameFieldCallback)++{- |+/No description available in the introspection data./+-}+type BootloaderInterfaceGetNameFieldCallback =+    OSTree.Bootloader.Bootloader+    -> IO T.Text++-- | A convenience synonym for @`Nothing` :: `Maybe` `BootloaderInterfaceGetNameFieldCallback`@.+noBootloaderInterfaceGetNameFieldCallback :: Maybe BootloaderInterfaceGetNameFieldCallback+noBootloaderInterfaceGetNameFieldCallback = Nothing++-- | Wrap the callback into a `GClosure`.+genClosure_BootloaderInterfaceGetNameFieldCallback :: MonadIO m => BootloaderInterfaceGetNameFieldCallback -> m (GClosure C_BootloaderInterfaceGetNameFieldCallback)+genClosure_BootloaderInterfaceGetNameFieldCallback cb = liftIO $ do+    let cb' = wrap_BootloaderInterfaceGetNameFieldCallback Nothing cb+    mk_BootloaderInterfaceGetNameFieldCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `BootloaderInterfaceGetNameFieldCallback` into a `C_BootloaderInterfaceGetNameFieldCallback`.+wrap_BootloaderInterfaceGetNameFieldCallback ::+    Maybe (Ptr (FunPtr C_BootloaderInterfaceGetNameFieldCallback)) ->+    BootloaderInterfaceGetNameFieldCallback ->+    C_BootloaderInterfaceGetNameFieldCallback+wrap_BootloaderInterfaceGetNameFieldCallback funptrptr _cb self = do+    self' <- (newPtr OSTree.Bootloader.Bootloader) self+    result <- _cb  self'+    maybeReleaseFunPtr funptrptr+    result' <- textToCString result+    return result'+++
+ GI/OSTree/Constants.hs view
@@ -0,0 +1,270 @@+{-# 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.OSTree.Constants+    ( +    pattern YEAR_VERSION                    ,+    pattern VERSION_S                       ,+    pattern VERSION                         ,+    pattern TREE_GVARIANT_STRING            ,+    pattern TIMESTAMP                       ,+    pattern SUMMARY_SIG_GVARIANT_STRING     ,+    pattern SUMMARY_GVARIANT_STRING         ,+    pattern SHA256_STRING_LEN               ,+    pattern SHA256_DIGEST_LEN               ,+    pattern REPO_METADATA_REF               ,+    pattern RELEASE_VERSION                 ,+    pattern ORIGIN_TRANSIENT_GROUP          ,+    pattern META_KEY_DEPLOY_COLLECTION_ID   ,+    pattern MAX_METADATA_WARN_SIZE          ,+    pattern MAX_METADATA_SIZE               ,+    pattern FILEMETA_GVARIANT_STRING        ,+    pattern DIRMETA_GVARIANT_STRING         ,+    pattern COMMIT_META_KEY_VERSION         ,+    pattern COMMIT_META_KEY_SOURCE_TITLE    ,+    pattern COMMIT_META_KEY_REF_BINDING     ,+    pattern COMMIT_META_KEY_ENDOFLIFE_REBASE,+    pattern COMMIT_META_KEY_ENDOFLIFE       ,+    pattern COMMIT_META_KEY_COLLECTION_BINDING,+    pattern COMMIT_GVARIANT_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+++{- |+ostree year version component (e.g. 2017 if 'GI.OSTree.Constants.VERSION' is 2017.2)++/Since: 2017.4/+-}+pattern YEAR_VERSION = 2019 :: Int32++{- |+ostree version, encoded as a string, useful for printing and+concatenation.++/Since: 2017.4/+-}+pattern VERSION_S = "2019.2" :: T.Text++{- |+ostree version.++/Since: 2017.4/+-}+pattern VERSION = 2019.200000 :: Double++{- |+/No description available in the introspection data./+-}+pattern TREE_GVARIANT_STRING = "(a(say)a(sayay))" :: T.Text++{- |+The mtime used for stored files.  This was originally 0, changed to 1 for+a few releases, then was reverted due to regressions it introduced from+users who had been using zero before.+-}+pattern TIMESTAMP = 0 :: Int32++{- |+/No description available in the introspection data./+-}+pattern SUMMARY_SIG_GVARIANT_STRING = "a{sv}" :: T.Text++{- |+/No description available in the introspection data./+-}+pattern SUMMARY_GVARIANT_STRING = "(a(s(taya{sv}))a{sv})" :: T.Text++{- |+Length of a sha256 digest when expressed as a hexadecimal string+-}+pattern SHA256_STRING_LEN = 64 :: Int32++{- |+Length of a sha256 digest when expressed as raw bytes+-}+pattern SHA256_DIGEST_LEN = 32 :: Int32++{- |+The name of a ref which is used to store metadata for the entire repository,+such as its expected update time (@ostree.summary.expires@), name, or new+GPG keys. Metadata is stored on contentless commits in the ref, and hence is+signed with the commits.++This supersedes the additional metadata dictionary in the @summary@ file+(see 'GI.OSTree.Objects.Repo.repoRegenerateSummary'), as the use of a ref means that the+metadata for multiple upstream repositories can be included in a single mirror+repository, disambiguating the refs using collection IDs. In order to support+peer to peer redistribution of repository metadata, repositories must set a+collection ID ('GI.OSTree.Objects.Repo.repoSetCollectionId').++Users of OSTree may place arbitrary metadata in commits on this ref, but the+keys must be namespaced by product or developer. For example,+@exampleos.end-of-life@. The @ostree.@ prefix is reserved.++/Since: 2018.6/+-}+pattern REPO_METADATA_REF = "ostree-metadata" :: T.Text++{- |+ostree release version component (e.g. 2 if 'GI.OSTree.Constants.VERSION' is 2017.2)++/Since: 2017.4/+-}+pattern RELEASE_VERSION = 2 :: Int32++{- |+The name of a @GKeyFile@ group for data that should not+be carried across upgrades.  For more information,+see 'GI.OSTree.Objects.Deployment.deploymentOriginRemoveTransientState'.++/Since: 2018.3/+-}+pattern ORIGIN_TRANSIENT_GROUP = "libostree-transient" :: T.Text++{- |+GVariant type @s@. This key can be used in the repo metadata which is stored+in OSTREE_REPO_METADATA_REF as well as in the summary. The semantics of this+are that the remote repository wants clients to update their remote config+to add this collection ID (clients can\'t do P2P operations involving a+remote without a collection ID configured on it, even if one is configured+on the server side). Clients must never change or remove a collection ID+already set in their remote config.++Currently, OSTree does not implement changing a remote config based on this+key, but it may do so in a later release, and until then clients such as+Flatpak may implement it.++This is a replacement for the similar metadata key implemented by flatpak,+@xa.collection-id@, which is now deprecated as clients which supported it had+bugs with their P2P implementations.++/Since: 2018.9/+-}+pattern META_KEY_DEPLOY_COLLECTION_ID = "ostree.deploy-collection-id" :: T.Text++{- |+This variable is no longer meaningful, it is kept only for compatibility.+-}+pattern MAX_METADATA_WARN_SIZE = 7340032 :: Int32++{- |+Default limit for maximum permitted size in bytes of metadata objects fetched+over HTTP (including repo\/config files, refs, and commit\/dirtree\/dirmeta+objects). This is an arbitrary number intended to mitigate disk space+exhaustion attacks.+-}+pattern MAX_METADATA_SIZE = 10485760 :: Int32++{- |+/No description available in the introspection data./+-}+pattern FILEMETA_GVARIANT_STRING = "(uuua(ayay))" :: T.Text++{- |+/No description available in the introspection data./+-}+pattern DIRMETA_GVARIANT_STRING = "(uuua(ayay))" :: T.Text++{- |+GVariant type @s@. This metadata key is used for version numbers. A freeform+string; the intention is that systems using ostree do not interpret this+semantically as traditional package managers do.++This is the only ostree-defined metadata key that does not start with @ostree.@.++/Since: 2014.9/+-}+pattern COMMIT_META_KEY_VERSION = "version" :: T.Text++{- |+GVariant type @s@. This should hold a relatively short single line value+containing a human-readable \"source\" for a commit, intended to be displayed+near the origin ref.  This is particularly useful for systems that inject+content into an OSTree commit from elsewhere - for example, generating from+an OCI or qcow2 image. Or if generating from packages, the enabled repository+names and their versions.++Try to keep this key short (e.g. \< 80 characters) and human-readable; if you+desire machine readable data, consider injecting separate metadata keys.++/Since: 2017.13/+-}+pattern COMMIT_META_KEY_SOURCE_TITLE = "ostree.source-title" :: T.Text++{- |+GVariant type @as@; each element is a branch name. If this is added to a+commit, @ostree_repo_pull()@ will enforce that the commit was retrieved from+one of the branch names in this array.  This prevents \"sidegrade\" attacks.+The rationale for having this support multiple branch names is that it helps+support a \"promotion\" model of taking a commit and moving it between development+and production branches.++/Since: 2017.9/+-}+pattern COMMIT_META_KEY_REF_BINDING = "ostree.ref-binding" :: T.Text++{- |+GVariant type @s@.  Should contain a refspec defining a new target branch;+@ostree admin upgrade@ and @OstreeSysrootUpgrader@ will automatically initiate+a rebase upon encountering this metadata key.++/Since: 2017.7/+-}+pattern COMMIT_META_KEY_ENDOFLIFE_REBASE = "ostree.endoflife-rebase" :: T.Text++{- |+GVariant type @s@. This metadata key is used to display vendor\'s message+when an update stream for a particular branch ends. It usually provides+update instructions for the users.++/Since: 2017.7/+-}+pattern COMMIT_META_KEY_ENDOFLIFE = "ostree.endoflife" :: T.Text++{- |+GVariant type @s@.  If this is added to a commit, @ostree_repo_pull()@+will enforce that the commit was retrieved from a repository which has+the same collection ID.  See @ostree_repo_set_collection_id()@.+This is most useful in concert with @OSTREE_COMMIT_META_KEY_REF_BINDING@,+as it more strongly binds the commit to the repository and branch.++/Since: 2018.6/+-}+pattern COMMIT_META_KEY_COLLECTION_BINDING = "ostree.collection-binding" :: T.Text++{- |+/No description available in the introspection data./+-}+pattern COMMIT_GVARIANT_STRING = "(a{sv}aya(say)sstayay)" :: T.Text++
+ GI/OSTree/Enums.hs view
@@ -0,0 +1,721 @@+++{- |+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.OSTree.Enums+    ( ++ -- * Enumerations+-- ** DeploymentUnlockedState #enum:DeploymentUnlockedState#++    DeploymentUnlockedState(..)             ,+++-- ** GpgError #enum:GpgError#++    GpgError(..)                            ,+    catchGpgError                           ,+    handleGpgError                          ,+++-- ** GpgSignatureAttr #enum:GpgSignatureAttr#++    GpgSignatureAttr(..)                    ,+++-- ** GpgSignatureFormatFlags #enum:GpgSignatureFormatFlags#++    GpgSignatureFormatFlags(..)             ,+++-- ** ObjectType #enum:ObjectType#++    ObjectType(..)                          ,+++-- ** RepoCheckoutFilterResult #enum:RepoCheckoutFilterResult#++    RepoCheckoutFilterResult(..)            ,+++-- ** RepoCheckoutMode #enum:RepoCheckoutMode#++    RepoCheckoutMode(..)                    ,+++-- ** RepoCheckoutOverwriteMode #enum:RepoCheckoutOverwriteMode#++    RepoCheckoutOverwriteMode(..)           ,+++-- ** RepoCommitFilterResult #enum:RepoCommitFilterResult#++    RepoCommitFilterResult(..)              ,+++-- ** RepoCommitIterResult #enum:RepoCommitIterResult#++    RepoCommitIterResult(..)                ,+++-- ** RepoMode #enum:RepoMode#++    RepoMode(..)                            ,+++-- ** RepoPruneFlags #enum:RepoPruneFlags#++    RepoPruneFlags(..)                      ,+++-- ** RepoRemoteChange #enum:RepoRemoteChange#++    RepoRemoteChange(..)                    ,+++-- ** StaticDeltaGenerateOpt #enum:StaticDeltaGenerateOpt#++    StaticDeltaGenerateOpt(..)              ,+++++    ) 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 StaticDeltaGenerateOpt+{- |+Parameters controlling optimization of static deltas.+-}+data StaticDeltaGenerateOpt = +      StaticDeltaGenerateOptLowlatency+    {- ^+    Optimize for speed of delta creation over space+    -}+    | StaticDeltaGenerateOptMajor+    {- ^+    Optimize for delta size (may be very slow)+    -}+    | AnotherStaticDeltaGenerateOpt Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum StaticDeltaGenerateOpt where+    fromEnum StaticDeltaGenerateOptLowlatency = 0+    fromEnum StaticDeltaGenerateOptMajor = 1+    fromEnum (AnotherStaticDeltaGenerateOpt k) = k++    toEnum 0 = StaticDeltaGenerateOptLowlatency+    toEnum 1 = StaticDeltaGenerateOptMajor+    toEnum k = AnotherStaticDeltaGenerateOpt k++instance P.Ord StaticDeltaGenerateOpt where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++-- Enum RepoRemoteChange+{- |+The remote change operation.+-}+data RepoRemoteChange = +      RepoRemoteChangeAdd+    {- ^+    Add a remote+    -}+    | RepoRemoteChangeAddIfNotExists+    {- ^+    Like above, but do nothing if the remote exists+    -}+    | RepoRemoteChangeDelete+    {- ^+    Delete a remote+    -}+    | RepoRemoteChangeDeleteIfExists+    {- ^+    Delete a remote, do nothing if the remote does not exist+    -}+    | RepoRemoteChangeReplace+    {- ^+    Add or replace a remote (Since: 2019.2)+    -}+    | AnotherRepoRemoteChange Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum RepoRemoteChange where+    fromEnum RepoRemoteChangeAdd = 0+    fromEnum RepoRemoteChangeAddIfNotExists = 1+    fromEnum RepoRemoteChangeDelete = 2+    fromEnum RepoRemoteChangeDeleteIfExists = 3+    fromEnum RepoRemoteChangeReplace = 4+    fromEnum (AnotherRepoRemoteChange k) = k++    toEnum 0 = RepoRemoteChangeAdd+    toEnum 1 = RepoRemoteChangeAddIfNotExists+    toEnum 2 = RepoRemoteChangeDelete+    toEnum 3 = RepoRemoteChangeDeleteIfExists+    toEnum 4 = RepoRemoteChangeReplace+    toEnum k = AnotherRepoRemoteChange k++instance P.Ord RepoRemoteChange where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++-- Enum RepoPruneFlags+{- |+/No description available in the introspection data./+-}+data RepoPruneFlags = +      RepoPruneFlagsNone+    {- ^+    No special options for pruning+    -}+    | RepoPruneFlagsNoPrune+    {- ^+    Don\'t actually delete objects+    -}+    | RepoPruneFlagsRefsOnly+    {- ^+    Do not traverse individual commit objects, only follow refs+    -}+    | AnotherRepoPruneFlags Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum RepoPruneFlags where+    fromEnum RepoPruneFlagsNone = 0+    fromEnum RepoPruneFlagsNoPrune = 1+    fromEnum RepoPruneFlagsRefsOnly = 2+    fromEnum (AnotherRepoPruneFlags k) = k++    toEnum 0 = RepoPruneFlagsNone+    toEnum 1 = RepoPruneFlagsNoPrune+    toEnum 2 = RepoPruneFlagsRefsOnly+    toEnum k = AnotherRepoPruneFlags k++instance P.Ord RepoPruneFlags where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++-- Enum RepoMode+{- |+See the documentation of 'GI.OSTree.Objects.Repo.Repo' for more information about the+possible modes.+-}+data RepoMode = +      RepoModeBare+    {- ^+    Files are stored as themselves; checkouts are hardlinks; can only be written as root+    -}+    | RepoModeArchive+    {- ^+    Files are compressed, should be owned by non-root.  Can be served via HTTP.  Since: 2017.12+    -}+    | RepoModeArchiveZ2+    {- ^+    Legacy alias for @OSTREE_REPO_MODE_ARCHIVE@+    -}+    | RepoModeBareUser+    {- ^+    Files are stored as themselves, except ownership; can be written by user. Hardlinks work only in user checkouts.+    -}+    | RepoModeBareUserOnly+    {- ^+    Same as BARE_USER, but all metadata is not stored, so it can only be used for user checkouts. Does not need xattrs.+    -}+    | AnotherRepoMode Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum RepoMode where+    fromEnum RepoModeBare = 0+    fromEnum RepoModeArchive = 1+    fromEnum RepoModeArchiveZ2 = 1+    fromEnum RepoModeBareUser = 2+    fromEnum RepoModeBareUserOnly = 3+    fromEnum (AnotherRepoMode k) = k++    toEnum 0 = RepoModeBare+    toEnum 1 = RepoModeArchive+    toEnum 1 = RepoModeArchiveZ2+    toEnum 2 = RepoModeBareUser+    toEnum 3 = RepoModeBareUserOnly+    toEnum k = AnotherRepoMode k++instance P.Ord RepoMode where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++-- Enum RepoCommitIterResult+{- |+/No description available in the introspection data./+-}+data RepoCommitIterResult = +      RepoCommitIterResultError+    {- ^+    /No description available in the introspection data./+    -}+    | RepoCommitIterResultEnd+    {- ^+    /No description available in the introspection data./+    -}+    | RepoCommitIterResultFile+    {- ^+    /No description available in the introspection data./+    -}+    | RepoCommitIterResultDir+    {- ^+    /No description available in the introspection data./+    -}+    | AnotherRepoCommitIterResult Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum RepoCommitIterResult where+    fromEnum RepoCommitIterResultError = 0+    fromEnum RepoCommitIterResultEnd = 1+    fromEnum RepoCommitIterResultFile = 2+    fromEnum RepoCommitIterResultDir = 3+    fromEnum (AnotherRepoCommitIterResult k) = k++    toEnum 0 = RepoCommitIterResultError+    toEnum 1 = RepoCommitIterResultEnd+    toEnum 2 = RepoCommitIterResultFile+    toEnum 3 = RepoCommitIterResultDir+    toEnum k = AnotherRepoCommitIterResult k++instance P.Ord RepoCommitIterResult where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++-- Enum RepoCommitFilterResult+{- |+/No description available in the introspection data./+-}+data RepoCommitFilterResult = +      RepoCommitFilterResultAllow+    {- ^+    Do commit this object+    -}+    | RepoCommitFilterResultSkip+    {- ^+    Ignore this object+    -}+    | AnotherRepoCommitFilterResult Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum RepoCommitFilterResult where+    fromEnum RepoCommitFilterResultAllow = 0+    fromEnum RepoCommitFilterResultSkip = 1+    fromEnum (AnotherRepoCommitFilterResult k) = k++    toEnum 0 = RepoCommitFilterResultAllow+    toEnum 1 = RepoCommitFilterResultSkip+    toEnum k = AnotherRepoCommitFilterResult k++instance P.Ord RepoCommitFilterResult where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++-- Enum RepoCheckoutOverwriteMode+{- |+/No description available in the introspection data./+-}+data RepoCheckoutOverwriteMode = +      RepoCheckoutOverwriteModeNone+    {- ^+    No special options+    -}+    | RepoCheckoutOverwriteModeUnionFiles+    {- ^+    When layering checkouts, @/unlink()/@ and replace existing files, but do not modify existing directories (unless whiteouts are enabled, then directories are replaced)+    -}+    | RepoCheckoutOverwriteModeAddFiles+    {- ^+    Only add new files\/directories+    -}+    | RepoCheckoutOverwriteModeUnionIdentical+    {- ^+    Like UNION_FILES, but error if files are not identical (requires hardlink checkouts)+    -}+    | AnotherRepoCheckoutOverwriteMode Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum RepoCheckoutOverwriteMode where+    fromEnum RepoCheckoutOverwriteModeNone = 0+    fromEnum RepoCheckoutOverwriteModeUnionFiles = 1+    fromEnum RepoCheckoutOverwriteModeAddFiles = 2+    fromEnum RepoCheckoutOverwriteModeUnionIdentical = 3+    fromEnum (AnotherRepoCheckoutOverwriteMode k) = k++    toEnum 0 = RepoCheckoutOverwriteModeNone+    toEnum 1 = RepoCheckoutOverwriteModeUnionFiles+    toEnum 2 = RepoCheckoutOverwriteModeAddFiles+    toEnum 3 = RepoCheckoutOverwriteModeUnionIdentical+    toEnum k = AnotherRepoCheckoutOverwriteMode k++instance P.Ord RepoCheckoutOverwriteMode where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++-- Enum RepoCheckoutMode+{- |+/No description available in the introspection data./+-}+data RepoCheckoutMode = +      RepoCheckoutModeNone+    {- ^+    No special options+    -}+    | RepoCheckoutModeUser+    {- ^+    Ignore uid\/gid of files+    -}+    | AnotherRepoCheckoutMode Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum RepoCheckoutMode where+    fromEnum RepoCheckoutModeNone = 0+    fromEnum RepoCheckoutModeUser = 1+    fromEnum (AnotherRepoCheckoutMode k) = k++    toEnum 0 = RepoCheckoutModeNone+    toEnum 1 = RepoCheckoutModeUser+    toEnum k = AnotherRepoCheckoutMode k++instance P.Ord RepoCheckoutMode where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++-- Enum RepoCheckoutFilterResult+{- |+/No description available in the introspection data./++/Since: 2018.2/+-}+data RepoCheckoutFilterResult = +      RepoCheckoutFilterResultAllow+    {- ^+    Do checkout this object+    -}+    | RepoCheckoutFilterResultSkip+    {- ^+    Ignore this object+    -}+    | AnotherRepoCheckoutFilterResult Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum RepoCheckoutFilterResult where+    fromEnum RepoCheckoutFilterResultAllow = 0+    fromEnum RepoCheckoutFilterResultSkip = 1+    fromEnum (AnotherRepoCheckoutFilterResult k) = k++    toEnum 0 = RepoCheckoutFilterResultAllow+    toEnum 1 = RepoCheckoutFilterResultSkip+    toEnum k = AnotherRepoCheckoutFilterResult k++instance P.Ord RepoCheckoutFilterResult where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++-- Enum ObjectType+{- |+Enumeration for core object types; 'GI.OSTree.Enums.ObjectTypeFile' is for+content, the other types are metadata.+-}+data ObjectType = +      ObjectTypeFile+    {- ^+    Content; regular file, symbolic link+    -}+    | ObjectTypeDirTree+    {- ^+    List of children (trees or files), and metadata+    -}+    | ObjectTypeDirMeta+    {- ^+    Directory metadata+    -}+    | ObjectTypeCommit+    {- ^+    Toplevel object, refers to tree and dirmeta for root+    -}+    | ObjectTypeTombstoneCommit+    {- ^+    Toplevel object, refers to a deleted commit+    -}+    | ObjectTypeCommitMeta+    {- ^+    Detached metadata for a commit+    -}+    | ObjectTypePayloadLink+    {- ^+    Symlink to a .file given its checksum on the payload only.+    -}+    | AnotherObjectType Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum ObjectType where+    fromEnum ObjectTypeFile = 1+    fromEnum ObjectTypeDirTree = 2+    fromEnum ObjectTypeDirMeta = 3+    fromEnum ObjectTypeCommit = 4+    fromEnum ObjectTypeTombstoneCommit = 5+    fromEnum ObjectTypeCommitMeta = 6+    fromEnum ObjectTypePayloadLink = 7+    fromEnum (AnotherObjectType k) = k++    toEnum 1 = ObjectTypeFile+    toEnum 2 = ObjectTypeDirTree+    toEnum 3 = ObjectTypeDirMeta+    toEnum 4 = ObjectTypeCommit+    toEnum 5 = ObjectTypeTombstoneCommit+    toEnum 6 = ObjectTypeCommitMeta+    toEnum 7 = ObjectTypePayloadLink+    toEnum k = AnotherObjectType k++instance P.Ord ObjectType where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++-- Enum GpgSignatureFormatFlags+{- |+Formatting flags for 'GI.OSTree.Objects.GpgVerifyResult.gpgVerifyResultDescribe'.  Currently+there\'s only one possible output format, but this enumeration allows+for future variations.+-}+data GpgSignatureFormatFlags = +      GpgSignatureFormatFlagsGpgSignatureFormatDefault+    {- ^+    Use the default output format+    -}+    | AnotherGpgSignatureFormatFlags Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum GpgSignatureFormatFlags where+    fromEnum GpgSignatureFormatFlagsGpgSignatureFormatDefault = 0+    fromEnum (AnotherGpgSignatureFormatFlags k) = k++    toEnum 0 = GpgSignatureFormatFlagsGpgSignatureFormatDefault+    toEnum k = AnotherGpgSignatureFormatFlags k++instance P.Ord GpgSignatureFormatFlags where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++-- Enum GpgSignatureAttr+{- |+Signature attributes available from an 'GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult'.+The attribute\'s 'GI.GLib.Structs.VariantType.VariantType' is shown in brackets.+-}+data GpgSignatureAttr = +      GpgSignatureAttrValid+    {- ^+    [@/G_VARIANT_TYPE_BOOLEAN/@] Is the signature valid?+    -}+    | GpgSignatureAttrSigExpired+    {- ^+    [@/G_VARIANT_TYPE_BOOLEAN/@] Has the signature expired?+    -}+    | GpgSignatureAttrKeyExpired+    {- ^+    [@/G_VARIANT_TYPE_BOOLEAN/@] Has the signing key expired?+    -}+    | GpgSignatureAttrKeyRevoked+    {- ^+    [@/G_VARIANT_TYPE_BOOLEAN/@] Has the signing key been revoked?+    -}+    | GpgSignatureAttrKeyMissing+    {- ^+    [@/G_VARIANT_TYPE_BOOLEAN/@] Is the signing key missing?+    -}+    | GpgSignatureAttrFingerprint+    {- ^+    [@/G_VARIANT_TYPE_STRING/@] Fingerprint of the signing key+    -}+    | GpgSignatureAttrTimestamp+    {- ^+    [@/G_VARIANT_TYPE_INT64/@] Signature creation Unix timestamp+    -}+    | GpgSignatureAttrExpTimestamp+    {- ^+    [@/G_VARIANT_TYPE_INT64/@] Signature expiration Unix timestamp (0 if no+      expiration)+    -}+    | GpgSignatureAttrPubkeyAlgoName+    {- ^+    [@/G_VARIANT_TYPE_STRING/@] Name of the public key algorithm used to create+      the signature+    -}+    | GpgSignatureAttrHashAlgoName+    {- ^+    [@/G_VARIANT_TYPE_STRING/@] Name of the hash algorithm used to create the+      signature+    -}+    | GpgSignatureAttrUserName+    {- ^+    [@/G_VARIANT_TYPE_STRING/@] The name of the signing key\'s primary user+    -}+    | GpgSignatureAttrUserEmail+    {- ^+    [@/G_VARIANT_TYPE_STRING/@] The email address of the signing key\'s primary+      user+    -}+    | GpgSignatureAttrFingerprintPrimary+    {- ^+    [@/G_VARIANT_TYPE_STRING/@] Fingerprint of the signing key\'s primary key+      (will be the same as OSTREE_GPG_SIGNATURE_ATTR_FINGERPRINT if the+      the signature is already from the primary key rather than a subkey,+      and will be the empty string if the key is missing.)+    -}+    | AnotherGpgSignatureAttr Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum GpgSignatureAttr where+    fromEnum GpgSignatureAttrValid = 0+    fromEnum GpgSignatureAttrSigExpired = 1+    fromEnum GpgSignatureAttrKeyExpired = 2+    fromEnum GpgSignatureAttrKeyRevoked = 3+    fromEnum GpgSignatureAttrKeyMissing = 4+    fromEnum GpgSignatureAttrFingerprint = 5+    fromEnum GpgSignatureAttrTimestamp = 6+    fromEnum GpgSignatureAttrExpTimestamp = 7+    fromEnum GpgSignatureAttrPubkeyAlgoName = 8+    fromEnum GpgSignatureAttrHashAlgoName = 9+    fromEnum GpgSignatureAttrUserName = 10+    fromEnum GpgSignatureAttrUserEmail = 11+    fromEnum GpgSignatureAttrFingerprintPrimary = 12+    fromEnum (AnotherGpgSignatureAttr k) = k++    toEnum 0 = GpgSignatureAttrValid+    toEnum 1 = GpgSignatureAttrSigExpired+    toEnum 2 = GpgSignatureAttrKeyExpired+    toEnum 3 = GpgSignatureAttrKeyRevoked+    toEnum 4 = GpgSignatureAttrKeyMissing+    toEnum 5 = GpgSignatureAttrFingerprint+    toEnum 6 = GpgSignatureAttrTimestamp+    toEnum 7 = GpgSignatureAttrExpTimestamp+    toEnum 8 = GpgSignatureAttrPubkeyAlgoName+    toEnum 9 = GpgSignatureAttrHashAlgoName+    toEnum 10 = GpgSignatureAttrUserName+    toEnum 11 = GpgSignatureAttrUserEmail+    toEnum 12 = GpgSignatureAttrFingerprintPrimary+    toEnum k = AnotherGpgSignatureAttr k++instance P.Ord GpgSignatureAttr where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++-- Enum GpgError+{- |+Errors returned by signature creation and verification operations in OSTree.+These may be returned by any API which creates or verifies signatures.++/Since: 2017.10/+-}+data GpgError = +      GpgErrorNoSignature+    {- ^+    A signature was expected, but not found.+    -}+    | GpgErrorInvalidSignature+    {- ^+    A signature was malformed.+    -}+    | GpgErrorMissingKey+    {- ^+    A signature was found, but was created with a key not in the configured keyrings.+    -}+    | AnotherGpgError Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum GpgError where+    fromEnum GpgErrorNoSignature = 0+    fromEnum GpgErrorInvalidSignature = 1+    fromEnum GpgErrorMissingKey = 2+    fromEnum (AnotherGpgError k) = k++    toEnum 0 = GpgErrorNoSignature+    toEnum 1 = GpgErrorInvalidSignature+    toEnum 2 = GpgErrorMissingKey+    toEnum k = AnotherGpgError k++instance P.Ord GpgError where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++instance GErrorClass GpgError where+    gerrorClassDomain _ = "OstreeGpgError"++-- | Catch exceptions of type `GpgError`. This is a specialized version of `Data.GI.Base.GError.catchGErrorJustDomain`.+catchGpgError ::+    IO a ->+    (GpgError -> GErrorMessage -> IO a) ->+    IO a+catchGpgError = catchGErrorJustDomain++-- | Handle exceptions of type `GpgError`. This is a specialized version of `Data.GI.Base.GError.handleGErrorJustDomain`.+handleGpgError ::+    (GpgError -> GErrorMessage -> IO a) ->+    IO a ->+    IO a+handleGpgError = handleGErrorJustDomain++-- Enum DeploymentUnlockedState+{- |+/No description available in the introspection data./+-}+data DeploymentUnlockedState = +      DeploymentUnlockedStateNone+    {- ^+    /No description available in the introspection data./+    -}+    | DeploymentUnlockedStateDevelopment+    {- ^+    /No description available in the introspection data./+    -}+    | DeploymentUnlockedStateHotfix+    {- ^+    /No description available in the introspection data./+    -}+    | AnotherDeploymentUnlockedState Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum DeploymentUnlockedState where+    fromEnum DeploymentUnlockedStateNone = 0+    fromEnum DeploymentUnlockedStateDevelopment = 1+    fromEnum DeploymentUnlockedStateHotfix = 2+    fromEnum (AnotherDeploymentUnlockedState k) = k++    toEnum 0 = DeploymentUnlockedStateNone+    toEnum 1 = DeploymentUnlockedStateDevelopment+    toEnum 2 = DeploymentUnlockedStateHotfix+    toEnum k = AnotherDeploymentUnlockedState k++instance P.Ord DeploymentUnlockedState where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++
+ GI/OSTree/Enums.hs-boot view
@@ -0,0 +1,52 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.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 StaticDeltaGenerateOpt+instance P.Enum StaticDeltaGenerateOpt where+data RepoRemoteChange+instance P.Enum RepoRemoteChange where+data RepoPruneFlags+instance P.Enum RepoPruneFlags where+data RepoMode+instance P.Enum RepoMode where+data RepoCommitIterResult+instance P.Enum RepoCommitIterResult where+data RepoCommitFilterResult+instance P.Enum RepoCommitFilterResult where+data RepoCheckoutOverwriteMode+instance P.Enum RepoCheckoutOverwriteMode where+data RepoCheckoutMode+instance P.Enum RepoCheckoutMode where+data RepoCheckoutFilterResult+instance P.Enum RepoCheckoutFilterResult where+data ObjectType+instance P.Enum ObjectType where+data GpgSignatureFormatFlags+instance P.Enum GpgSignatureFormatFlags where+data GpgSignatureAttr+instance P.Enum GpgSignatureAttr where+data GpgError+instance P.Enum GpgError where+data DeploymentUnlockedState+instance P.Enum DeploymentUnlockedState where
+ GI/OSTree/Flags.hs view
@@ -0,0 +1,624 @@+++{- |+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.OSTree.Flags+    ( ++ -- * Flags+-- ** ChecksumFlags #flag:ChecksumFlags#++    ChecksumFlags(..)                       ,+++-- ** DiffFlags #flag:DiffFlags#++    DiffFlags(..)                           ,+++-- ** RepoCommitModifierFlags #flag:RepoCommitModifierFlags#++    RepoCommitModifierFlags(..)             ,+++-- ** RepoCommitState #flag:RepoCommitState#++    RepoCommitState(..)                     ,+++-- ** RepoCommitTraverseFlags #flag:RepoCommitTraverseFlags#++    RepoCommitTraverseFlags(..)             ,+++-- ** RepoListObjectsFlags #flag:RepoListObjectsFlags#++    RepoListObjectsFlags(..)                ,+++-- ** RepoListRefsExtFlags #flag:RepoListRefsExtFlags#++    RepoListRefsExtFlags(..)                ,+++-- ** RepoPullFlags #flag:RepoPullFlags#++    RepoPullFlags(..)                       ,+++-- ** RepoResolveRevExtFlags #flag:RepoResolveRevExtFlags#++    RepoResolveRevExtFlags(..)              ,+++-- ** SePolicyRestoreconFlags #flag:SePolicyRestoreconFlags#++    SePolicyRestoreconFlags(..)             ,+++-- ** SysrootSimpleWriteDeploymentFlags #flag:SysrootSimpleWriteDeploymentFlags#++    SysrootSimpleWriteDeploymentFlags(..)   ,+++-- ** SysrootUpgraderFlags #flag:SysrootUpgraderFlags#++    SysrootUpgraderFlags(..)                ,+++-- ** SysrootUpgraderPullFlags #flag:SysrootUpgraderPullFlags#++    SysrootUpgraderPullFlags(..)            ,+++++    ) 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 SysrootUpgraderPullFlags+{- |+/No description available in the introspection data./+-}+data SysrootUpgraderPullFlags = +      SysrootUpgraderPullFlagsNone+    {- ^+    /No description available in the introspection data./+    -}+    | SysrootUpgraderPullFlagsAllowOlder+    {- ^+    /No description available in the introspection data./+    -}+    | SysrootUpgraderPullFlagsSynthetic+    {- ^+    /No description available in the introspection data./+    -}+    | AnotherSysrootUpgraderPullFlags Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum SysrootUpgraderPullFlags where+    fromEnum SysrootUpgraderPullFlagsNone = 0+    fromEnum SysrootUpgraderPullFlagsAllowOlder = 1+    fromEnum SysrootUpgraderPullFlagsSynthetic = 2+    fromEnum (AnotherSysrootUpgraderPullFlags k) = k++    toEnum 0 = SysrootUpgraderPullFlagsNone+    toEnum 1 = SysrootUpgraderPullFlagsAllowOlder+    toEnum 2 = SysrootUpgraderPullFlagsSynthetic+    toEnum k = AnotherSysrootUpgraderPullFlags k++instance P.Ord SysrootUpgraderPullFlags where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++instance IsGFlag SysrootUpgraderPullFlags++-- Flags SysrootUpgraderFlags+{- |+Flags controlling operation of an 'GI.OSTree.Objects.SysrootUpgrader.SysrootUpgrader'.+-}+data SysrootUpgraderFlags = +      SysrootUpgraderFlagsIgnoreUnconfigured+    {- ^+    Do not error if the origin has an unconfigured-state key+    -}+    | AnotherSysrootUpgraderFlags Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum SysrootUpgraderFlags where+    fromEnum SysrootUpgraderFlagsIgnoreUnconfigured = 2+    fromEnum (AnotherSysrootUpgraderFlags k) = k++    toEnum 2 = SysrootUpgraderFlagsIgnoreUnconfigured+    toEnum k = AnotherSysrootUpgraderFlags k++instance P.Ord SysrootUpgraderFlags where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++foreign import ccall "ostree_sysroot_upgrader_flags_get_type" c_ostree_sysroot_upgrader_flags_get_type :: +    IO GType++instance BoxedFlags SysrootUpgraderFlags where+    boxedFlagsType _ = c_ostree_sysroot_upgrader_flags_get_type++instance IsGFlag SysrootUpgraderFlags++-- Flags SysrootSimpleWriteDeploymentFlags+{- |+/No description available in the introspection data./+-}+data SysrootSimpleWriteDeploymentFlags = +      SysrootSimpleWriteDeploymentFlagsNone+    {- ^+    /No description available in the introspection data./+    -}+    | SysrootSimpleWriteDeploymentFlagsRetain+    {- ^+    /No description available in the introspection data./+    -}+    | SysrootSimpleWriteDeploymentFlagsNotDefault+    {- ^+    /No description available in the introspection data./+    -}+    | SysrootSimpleWriteDeploymentFlagsNoClean+    {- ^+    /No description available in the introspection data./+    -}+    | SysrootSimpleWriteDeploymentFlagsRetainPending+    {- ^+    /No description available in the introspection data./+    -}+    | SysrootSimpleWriteDeploymentFlagsRetainRollback+    {- ^+    /No description available in the introspection data./+    -}+    | AnotherSysrootSimpleWriteDeploymentFlags Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum SysrootSimpleWriteDeploymentFlags where+    fromEnum SysrootSimpleWriteDeploymentFlagsNone = 0+    fromEnum SysrootSimpleWriteDeploymentFlagsRetain = 1+    fromEnum SysrootSimpleWriteDeploymentFlagsNotDefault = 2+    fromEnum SysrootSimpleWriteDeploymentFlagsNoClean = 4+    fromEnum SysrootSimpleWriteDeploymentFlagsRetainPending = 8+    fromEnum SysrootSimpleWriteDeploymentFlagsRetainRollback = 16+    fromEnum (AnotherSysrootSimpleWriteDeploymentFlags k) = k++    toEnum 0 = SysrootSimpleWriteDeploymentFlagsNone+    toEnum 1 = SysrootSimpleWriteDeploymentFlagsRetain+    toEnum 2 = SysrootSimpleWriteDeploymentFlagsNotDefault+    toEnum 4 = SysrootSimpleWriteDeploymentFlagsNoClean+    toEnum 8 = SysrootSimpleWriteDeploymentFlagsRetainPending+    toEnum 16 = SysrootSimpleWriteDeploymentFlagsRetainRollback+    toEnum k = AnotherSysrootSimpleWriteDeploymentFlags k++instance P.Ord SysrootSimpleWriteDeploymentFlags where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++instance IsGFlag SysrootSimpleWriteDeploymentFlags++-- Flags SePolicyRestoreconFlags+{- |+/No description available in the introspection data./+-}+data SePolicyRestoreconFlags = +      SePolicyRestoreconFlagsNone+    {- ^+    /No description available in the introspection data./+    -}+    | SePolicyRestoreconFlagsAllowNolabel+    {- ^+    /No description available in the introspection data./+    -}+    | SePolicyRestoreconFlagsKeepExisting+    {- ^+    /No description available in the introspection data./+    -}+    | AnotherSePolicyRestoreconFlags Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum SePolicyRestoreconFlags where+    fromEnum SePolicyRestoreconFlagsNone = 0+    fromEnum SePolicyRestoreconFlagsAllowNolabel = 1+    fromEnum SePolicyRestoreconFlagsKeepExisting = 2+    fromEnum (AnotherSePolicyRestoreconFlags k) = k++    toEnum 0 = SePolicyRestoreconFlagsNone+    toEnum 1 = SePolicyRestoreconFlagsAllowNolabel+    toEnum 2 = SePolicyRestoreconFlagsKeepExisting+    toEnum k = AnotherSePolicyRestoreconFlags k++instance P.Ord SePolicyRestoreconFlags where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++instance IsGFlag SePolicyRestoreconFlags++-- Flags RepoResolveRevExtFlags+{- |+/No description available in the introspection data./+-}+data RepoResolveRevExtFlags = +      RepoResolveRevExtFlagsNone+    {- ^+    No flags.+    -}+    | RepoResolveRevExtFlagsLocalOnly+    {- ^+    Exclude remote and mirrored refs. Since: 2019.2+    -}+    | AnotherRepoResolveRevExtFlags Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum RepoResolveRevExtFlags where+    fromEnum RepoResolveRevExtFlagsNone = 0+    fromEnum RepoResolveRevExtFlagsLocalOnly = 1+    fromEnum (AnotherRepoResolveRevExtFlags k) = k++    toEnum 0 = RepoResolveRevExtFlagsNone+    toEnum 1 = RepoResolveRevExtFlagsLocalOnly+    toEnum k = AnotherRepoResolveRevExtFlags k++instance P.Ord RepoResolveRevExtFlags where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++instance IsGFlag RepoResolveRevExtFlags++-- Flags RepoPullFlags+{- |+/No description available in the introspection data./+-}+data RepoPullFlags = +      RepoPullFlagsNone+    {- ^+    No special options for pull+    -}+    | RepoPullFlagsMirror+    {- ^+    Write out refs suitable for mirrors and fetch all refs if none requested+    -}+    | RepoPullFlagsCommitOnly+    {- ^+    Fetch only the commit metadata+    -}+    | RepoPullFlagsUntrusted+    {- ^+    Do verify checksums of local (filesystem-accessible) repositories (defaults on for HTTP)+    -}+    | RepoPullFlagsBareuseronlyFiles+    {- ^+    Since 2017.7.  Reject writes of content objects with modes outside of 0775.+    -}+    | RepoPullFlagsTrustedHttp+    {- ^+    Don\'t verify checksums of objects HTTP repositories (Since: 2017.12)+    -}+    | AnotherRepoPullFlags Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum RepoPullFlags where+    fromEnum RepoPullFlagsNone = 0+    fromEnum RepoPullFlagsMirror = 1+    fromEnum RepoPullFlagsCommitOnly = 2+    fromEnum RepoPullFlagsUntrusted = 4+    fromEnum RepoPullFlagsBareuseronlyFiles = 8+    fromEnum RepoPullFlagsTrustedHttp = 16+    fromEnum (AnotherRepoPullFlags k) = k++    toEnum 0 = RepoPullFlagsNone+    toEnum 1 = RepoPullFlagsMirror+    toEnum 2 = RepoPullFlagsCommitOnly+    toEnum 4 = RepoPullFlagsUntrusted+    toEnum 8 = RepoPullFlagsBareuseronlyFiles+    toEnum 16 = RepoPullFlagsTrustedHttp+    toEnum k = AnotherRepoPullFlags k++instance P.Ord RepoPullFlags where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++instance IsGFlag RepoPullFlags++-- Flags RepoListRefsExtFlags+{- |+/No description available in the introspection data./+-}+data RepoListRefsExtFlags = +      RepoListRefsExtFlagsNone+    {- ^+    No flags.+    -}+    | RepoListRefsExtFlagsAliases+    {- ^+    Only list aliases.  Since: 2017.10+    -}+    | RepoListRefsExtFlagsExcludeRemotes+    {- ^+    Exclude remote refs.  Since: 2017.11+    -}+    | RepoListRefsExtFlagsExcludeMirrors+    {- ^+    Exclude mirrored refs.  Since: 2019.2+    -}+    | AnotherRepoListRefsExtFlags Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum RepoListRefsExtFlags where+    fromEnum RepoListRefsExtFlagsNone = 0+    fromEnum RepoListRefsExtFlagsAliases = 1+    fromEnum RepoListRefsExtFlagsExcludeRemotes = 2+    fromEnum RepoListRefsExtFlagsExcludeMirrors = 4+    fromEnum (AnotherRepoListRefsExtFlags k) = k++    toEnum 0 = RepoListRefsExtFlagsNone+    toEnum 1 = RepoListRefsExtFlagsAliases+    toEnum 2 = RepoListRefsExtFlagsExcludeRemotes+    toEnum 4 = RepoListRefsExtFlagsExcludeMirrors+    toEnum k = AnotherRepoListRefsExtFlags k++instance P.Ord RepoListRefsExtFlags where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++instance IsGFlag RepoListRefsExtFlags++-- Flags RepoListObjectsFlags+{- |+/No description available in the introspection data./+-}+data RepoListObjectsFlags = +      RepoListObjectsFlagsLoose+    {- ^+    List only loose (plain file) objects+    -}+    | RepoListObjectsFlagsPacked+    {- ^+    List only packed (compacted into blobs) objects+    -}+    | RepoListObjectsFlagsAll+    {- ^+    List all objects+    -}+    | RepoListObjectsFlagsNoParents+    {- ^+    Only list objects in this repo, not parents+    -}+    | AnotherRepoListObjectsFlags Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum RepoListObjectsFlags where+    fromEnum RepoListObjectsFlagsLoose = 1+    fromEnum RepoListObjectsFlagsPacked = 2+    fromEnum RepoListObjectsFlagsAll = 4+    fromEnum RepoListObjectsFlagsNoParents = 8+    fromEnum (AnotherRepoListObjectsFlags k) = k++    toEnum 1 = RepoListObjectsFlagsLoose+    toEnum 2 = RepoListObjectsFlagsPacked+    toEnum 4 = RepoListObjectsFlagsAll+    toEnum 8 = RepoListObjectsFlagsNoParents+    toEnum k = AnotherRepoListObjectsFlags k++instance P.Ord RepoListObjectsFlags where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++instance IsGFlag RepoListObjectsFlags++-- Flags RepoCommitTraverseFlags+{- |+/No description available in the introspection data./+-}+data RepoCommitTraverseFlags = +      RepoCommitTraverseFlagsRepoCommitTraverseFlagNone+    {- ^+    /No description available in the introspection data./+    -}+    | AnotherRepoCommitTraverseFlags Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum RepoCommitTraverseFlags where+    fromEnum RepoCommitTraverseFlagsRepoCommitTraverseFlagNone = 1+    fromEnum (AnotherRepoCommitTraverseFlags k) = k++    toEnum 1 = RepoCommitTraverseFlagsRepoCommitTraverseFlagNone+    toEnum k = AnotherRepoCommitTraverseFlags k++instance P.Ord RepoCommitTraverseFlags where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++instance IsGFlag RepoCommitTraverseFlags++-- Flags RepoCommitState+{- |+Flags representing the state of a commit in the local repository, as returned+by 'GI.OSTree.Objects.Repo.repoLoadCommit'.++/Since: 2015.7/+-}+data RepoCommitState = +      RepoCommitStateNormal+    {- ^+    Commit is complete. This is the default.+       (Since: 2017.14.)+    -}+    | RepoCommitStatePartial+    {- ^+    One or more objects are missing from the+       local copy of the commit, but metadata is present. (Since: 2015.7.)+    -}+    | AnotherRepoCommitState Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum RepoCommitState where+    fromEnum RepoCommitStateNormal = 0+    fromEnum RepoCommitStatePartial = 1+    fromEnum (AnotherRepoCommitState k) = k++    toEnum 0 = RepoCommitStateNormal+    toEnum 1 = RepoCommitStatePartial+    toEnum k = AnotherRepoCommitState k++instance P.Ord RepoCommitState where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++instance IsGFlag RepoCommitState++-- Flags RepoCommitModifierFlags+{- |+/No description available in the introspection data./+-}+data RepoCommitModifierFlags = +      RepoCommitModifierFlagsNone+    {- ^+    No special flags+    -}+    | RepoCommitModifierFlagsSkipXattrs+    {- ^+    Do not process extended attributes+    -}+    | RepoCommitModifierFlagsGenerateSizes+    {- ^+    Generate size information.+    -}+    | RepoCommitModifierFlagsCanonicalPermissions+    {- ^+    Canonicalize permissions for bare-user-only mode.+    -}+    | RepoCommitModifierFlagsErrorOnUnlabeled+    {- ^+    Emit an error if configured SELinux policy does not provide a label+    -}+    | RepoCommitModifierFlagsConsume+    {- ^+    Delete added files\/directories after commit; Since: 2017.13+    -}+    | RepoCommitModifierFlagsDevinoCanonical+    {- ^+    If a devino cache hit is found, skip modifier filters (non-directories only); Since: 2017.14+    -}+    | AnotherRepoCommitModifierFlags Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum RepoCommitModifierFlags where+    fromEnum RepoCommitModifierFlagsNone = 0+    fromEnum RepoCommitModifierFlagsSkipXattrs = 1+    fromEnum RepoCommitModifierFlagsGenerateSizes = 2+    fromEnum RepoCommitModifierFlagsCanonicalPermissions = 4+    fromEnum RepoCommitModifierFlagsErrorOnUnlabeled = 8+    fromEnum RepoCommitModifierFlagsConsume = 16+    fromEnum RepoCommitModifierFlagsDevinoCanonical = 32+    fromEnum (AnotherRepoCommitModifierFlags k) = k++    toEnum 0 = RepoCommitModifierFlagsNone+    toEnum 1 = RepoCommitModifierFlagsSkipXattrs+    toEnum 2 = RepoCommitModifierFlagsGenerateSizes+    toEnum 4 = RepoCommitModifierFlagsCanonicalPermissions+    toEnum 8 = RepoCommitModifierFlagsErrorOnUnlabeled+    toEnum 16 = RepoCommitModifierFlagsConsume+    toEnum 32 = RepoCommitModifierFlagsDevinoCanonical+    toEnum k = AnotherRepoCommitModifierFlags k++instance P.Ord RepoCommitModifierFlags where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++instance IsGFlag RepoCommitModifierFlags++-- Flags DiffFlags+{- |+/No description available in the introspection data./+-}+data DiffFlags = +      DiffFlagsNone+    {- ^+    /No description available in the introspection data./+    -}+    | DiffFlagsIgnoreXattrs+    {- ^+    /No description available in the introspection data./+    -}+    | AnotherDiffFlags Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum DiffFlags where+    fromEnum DiffFlagsNone = 0+    fromEnum DiffFlagsIgnoreXattrs = 1+    fromEnum (AnotherDiffFlags k) = k++    toEnum 0 = DiffFlagsNone+    toEnum 1 = DiffFlagsIgnoreXattrs+    toEnum k = AnotherDiffFlags k++instance P.Ord DiffFlags where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++instance IsGFlag DiffFlags++-- Flags ChecksumFlags+{- |+/No description available in the introspection data./++/Since: 2017.13/+-}+data ChecksumFlags = +      ChecksumFlagsNone+    {- ^+    /No description available in the introspection data./+    -}+    | ChecksumFlagsIgnoreXattrs+    {- ^+    /No description available in the introspection data./+    -}+    | AnotherChecksumFlags Int+    -- ^ Catch-all for unknown values+    deriving (Show, Eq)++instance P.Enum ChecksumFlags where+    fromEnum ChecksumFlagsNone = 0+    fromEnum ChecksumFlagsIgnoreXattrs = 1+    fromEnum (AnotherChecksumFlags k) = k++    toEnum 0 = ChecksumFlagsNone+    toEnum 1 = ChecksumFlagsIgnoreXattrs+    toEnum k = AnotherChecksumFlags k++instance P.Ord ChecksumFlags where+    compare a b = P.compare (P.fromEnum a) (P.fromEnum b)++instance IsGFlag ChecksumFlags++
+ GI/OSTree/Flags.hs-boot view
@@ -0,0 +1,64 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.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 SysrootUpgraderPullFlags+instance P.Enum SysrootUpgraderPullFlags where+instance IsGFlag SysrootUpgraderPullFlags+data SysrootUpgraderFlags+instance P.Enum SysrootUpgraderFlags where+instance BoxedFlags SysrootUpgraderFlags where+instance IsGFlag SysrootUpgraderFlags+data SysrootSimpleWriteDeploymentFlags+instance P.Enum SysrootSimpleWriteDeploymentFlags where+instance IsGFlag SysrootSimpleWriteDeploymentFlags+data SePolicyRestoreconFlags+instance P.Enum SePolicyRestoreconFlags where+instance IsGFlag SePolicyRestoreconFlags+data RepoResolveRevExtFlags+instance P.Enum RepoResolveRevExtFlags where+instance IsGFlag RepoResolveRevExtFlags+data RepoPullFlags+instance P.Enum RepoPullFlags where+instance IsGFlag RepoPullFlags+data RepoListRefsExtFlags+instance P.Enum RepoListRefsExtFlags where+instance IsGFlag RepoListRefsExtFlags+data RepoListObjectsFlags+instance P.Enum RepoListObjectsFlags where+instance IsGFlag RepoListObjectsFlags+data RepoCommitTraverseFlags+instance P.Enum RepoCommitTraverseFlags where+instance IsGFlag RepoCommitTraverseFlags+data RepoCommitState+instance P.Enum RepoCommitState where+instance IsGFlag RepoCommitState+data RepoCommitModifierFlags+instance P.Enum RepoCommitModifierFlags where+instance IsGFlag RepoCommitModifierFlags+data DiffFlags+instance P.Enum DiffFlags where+instance IsGFlag DiffFlags+data ChecksumFlags+instance P.Enum ChecksumFlags where+instance IsGFlag ChecksumFlags
+ GI/OSTree/Functions.hs view
@@ -0,0 +1,2456 @@+++{- |+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.OSTree.Functions+    ( ++ -- * Methods+-- ** breakHardlink #method:breakHardlink#++    breakHardlink                           ,+++-- ** checkVersion #method:checkVersion#++    checkVersion                            ,+++-- ** checksumB64FromBytes #method:checksumB64FromBytes#++    checksumB64FromBytes                    ,+++-- ** checksumB64ToBytes #method:checksumB64ToBytes#++    checksumB64ToBytes                      ,+++-- ** checksumBytesPeek #method:checksumBytesPeek#++    checksumBytesPeek                       ,+++-- ** checksumBytesPeekValidate #method:checksumBytesPeekValidate#++    checksumBytesPeekValidate               ,+++-- ** checksumFile #method:checksumFile#++    checksumFile                            ,+++-- ** checksumFileAsync #method:checksumFileAsync#++    checksumFileAsync                       ,+++-- ** checksumFileAsyncFinish #method:checksumFileAsyncFinish#++    checksumFileAsyncFinish                 ,+++-- ** checksumFileAt #method:checksumFileAt#++    checksumFileAt                          ,+++-- ** checksumFileFromInput #method:checksumFileFromInput#++    checksumFileFromInput                   ,+++-- ** checksumFromBytes #method:checksumFromBytes#++    checksumFromBytes                       ,+++-- ** checksumFromBytesV #method:checksumFromBytesV#++    checksumFromBytesV                      ,+++-- ** checksumInplaceToBytes #method:checksumInplaceToBytes#++    checksumInplaceToBytes                  ,+++-- ** checksumToBytes #method:checksumToBytes#++    checksumToBytes                         ,+++-- ** checksumToBytesV #method:checksumToBytesV#++    checksumToBytesV                        ,+++-- ** cmd_Private__ #method:cmd_Private__#++    cmd_Private__                           ,+++-- ** cmpChecksumBytes #method:cmpChecksumBytes#++    cmpChecksumBytes                        ,+++-- ** commitGetContentChecksum #method:commitGetContentChecksum#++    commitGetContentChecksum                ,+++-- ** commitGetParent #method:commitGetParent#++    commitGetParent                         ,+++-- ** commitGetTimestamp #method:commitGetTimestamp#++    commitGetTimestamp                      ,+++-- ** contentFileParse #method:contentFileParse#++    contentFileParse                        ,+++-- ** contentFileParseAt #method:contentFileParseAt#++    contentFileParseAt                      ,+++-- ** contentStreamParse #method:contentStreamParse#++    contentStreamParse                      ,+++-- ** createDirectoryMetadata #method:createDirectoryMetadata#++    createDirectoryMetadata                 ,+++-- ** diffDirs #method:diffDirs#++    diffDirs                                ,+++-- ** diffDirsWithOptions #method:diffDirsWithOptions#++    diffDirsWithOptions                     ,+++-- ** diffPrint #method:diffPrint#++    diffPrint                               ,+++-- ** gpgErrorQuark #method:gpgErrorQuark#++    gpgErrorQuark                           ,+++-- ** hashObjectName #method:hashObjectName#++    hashObjectName                          ,+++-- ** metadataVariantType #method:metadataVariantType#++    metadataVariantType                     ,+++-- ** objectFromString #method:objectFromString#++    objectFromString                        ,+++-- ** objectNameDeserialize #method:objectNameDeserialize#++    objectNameDeserialize                   ,+++-- ** objectNameSerialize #method:objectNameSerialize#++    objectNameSerialize                     ,+++-- ** objectToString #method:objectToString#++    objectToString                          ,+++-- ** objectTypeFromString #method:objectTypeFromString#++    objectTypeFromString                    ,+++-- ** objectTypeToString #method:objectTypeToString#++    objectTypeToString                      ,+++-- ** parseRefspec #method:parseRefspec#++    parseRefspec                            ,+++-- ** rawFileToArchiveZ2Stream #method:rawFileToArchiveZ2Stream#++    rawFileToArchiveZ2Stream                ,+++-- ** rawFileToArchiveZ2StreamWithOptions #method:rawFileToArchiveZ2StreamWithOptions#++    rawFileToArchiveZ2StreamWithOptions     ,+++-- ** rawFileToContentStream #method:rawFileToContentStream#++    rawFileToContentStream                  ,+++-- ** validateChecksumString #method:validateChecksumString#++    validateChecksumString                  ,+++-- ** validateCollectionId #method:validateCollectionId#++    validateCollectionId                    ,+++-- ** validateRemoteName #method:validateRemoteName#++    validateRemoteName                      ,+++-- ** validateRev #method:validateRev#++    validateRev                             ,+++-- ** validateStructureofChecksumString #method:validateStructureofChecksumString#++    validateStructureofChecksumString       ,+++-- ** validateStructureofCommit #method:validateStructureofCommit#++    validateStructureofCommit               ,+++-- ** validateStructureofCsumV #method:validateStructureofCsumV#++    validateStructureofCsumV                ,+++-- ** validateStructureofDirmeta #method:validateStructureofDirmeta#++    validateStructureofDirmeta              ,+++-- ** validateStructureofDirtree #method:validateStructureofDirtree#++    validateStructureofDirtree              ,+++-- ** validateStructureofFileMode #method:validateStructureofFileMode#++    validateStructureofFileMode             ,+++-- ** validateStructureofObjtype #method:validateStructureofObjtype#++    validateStructureofObjtype              ,+++++    ) 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.Structs.VariantType as GLib.VariantType+import qualified GI.Gio.Callbacks as Gio.Callbacks+import qualified GI.Gio.Interfaces.AsyncResult as Gio.AsyncResult+import qualified GI.Gio.Interfaces.File as Gio.File+import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable+import qualified GI.Gio.Objects.FileInfo as Gio.FileInfo+import qualified GI.Gio.Objects.InputStream as Gio.InputStream+import {-# SOURCE #-} qualified GI.OSTree.Enums as OSTree.Enums+import {-# SOURCE #-} qualified GI.OSTree.Flags as OSTree.Flags+import {-# SOURCE #-} qualified GI.OSTree.Structs.CmdPrivateVTable as OSTree.CmdPrivateVTable+import {-# SOURCE #-} qualified GI.OSTree.Structs.DiffDirsOptions as OSTree.DiffDirsOptions+import {-# SOURCE #-} qualified GI.OSTree.Structs.DiffItem as OSTree.DiffItem++-- function ostree_validate_structureof_objtype+-- Args : [Arg {argCName = "objtype", 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 : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "ostree_validate_structureof_objtype" ostree_validate_structureof_objtype :: +    Word8 ->                                -- objtype : TBasicType TUInt8+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+/No description available in the introspection data./+-}+validateStructureofObjtype ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Word8+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+validateStructureofObjtype objtype = liftIO $ do+    onException (do+        _ <- propagateGError $ ostree_validate_structureof_objtype objtype+        return ()+     ) (do+        return ()+     )+++-- function ostree_validate_structureof_file_mode+-- Args : [Arg {argCName = "mode", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A Unix filesystem mode", 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 "ostree_validate_structureof_file_mode" ostree_validate_structureof_file_mode :: +    Word32 ->                               -- mode : TBasicType TUInt32+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+/No description available in the introspection data./+-}+validateStructureofFileMode ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Word32+    {- ^ /@mode@/: A Unix filesystem mode -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+validateStructureofFileMode mode = liftIO $ do+    onException (do+        _ <- propagateGError $ ostree_validate_structureof_file_mode mode+        return ()+     ) (do+        return ()+     )+++-- function ostree_validate_structureof_dirtree+-- Args : [Arg {argCName = "dirtree", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A dirtree object, %OSTREE_OBJECT_TYPE_DIR_TREE", 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 "ostree_validate_structureof_dirtree" ostree_validate_structureof_dirtree :: +    Ptr GVariant ->                         -- dirtree : TVariant+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Use this to validate the basic structure of /@dirtree@/, independent of+any other objects it references.+-}+validateStructureofDirtree ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GVariant+    {- ^ /@dirtree@/: A dirtree object, 'GI.OSTree.Enums.ObjectTypeDirTree' -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+validateStructureofDirtree dirtree = liftIO $ do+    dirtree' <- unsafeManagedPtrGetPtr dirtree+    onException (do+        _ <- propagateGError $ ostree_validate_structureof_dirtree dirtree'+        touchManagedPtr dirtree+        return ()+     ) (do+        return ()+     )+++-- function ostree_validate_structureof_dirmeta+-- Args : [Arg {argCName = "dirmeta", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A dirmeta object, %OSTREE_OBJECT_TYPE_DIR_META", 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 "ostree_validate_structureof_dirmeta" ostree_validate_structureof_dirmeta :: +    Ptr GVariant ->                         -- dirmeta : TVariant+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Use this to validate the basic structure of /@dirmeta@/.+-}+validateStructureofDirmeta ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GVariant+    {- ^ /@dirmeta@/: A dirmeta object, 'GI.OSTree.Enums.ObjectTypeDirMeta' -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+validateStructureofDirmeta dirmeta = liftIO $ do+    dirmeta' <- unsafeManagedPtrGetPtr dirmeta+    onException (do+        _ <- propagateGError $ ostree_validate_structureof_dirmeta dirmeta'+        touchManagedPtr dirmeta+        return ()+     ) (do+        return ()+     )+++-- function ostree_validate_structureof_csum_v+-- Args : [Arg {argCName = "checksum", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariant of type \"ay\"", 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 "ostree_validate_structureof_csum_v" ostree_validate_structureof_csum_v :: +    Ptr GVariant ->                         -- checksum : TVariant+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+/No description available in the introspection data./+-}+validateStructureofCsumV ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GVariant+    {- ^ /@checksum@/: a 'GVariant' of type \"ay\" -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+validateStructureofCsumV checksum = liftIO $ do+    checksum' <- unsafeManagedPtrGetPtr checksum+    onException (do+        _ <- propagateGError $ ostree_validate_structureof_csum_v checksum'+        touchManagedPtr checksum+        return ()+     ) (do+        return ()+     )+++-- function ostree_validate_structureof_commit+-- Args : [Arg {argCName = "commit", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A commit object, %OSTREE_OBJECT_TYPE_COMMIT", 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 "ostree_validate_structureof_commit" ostree_validate_structureof_commit :: +    Ptr GVariant ->                         -- commit : TVariant+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Use this to validate the basic structure of /@commit@/, independent of+any other objects it references.+-}+validateStructureofCommit ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GVariant+    {- ^ /@commit@/: A commit object, 'GI.OSTree.Enums.ObjectTypeCommit' -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+validateStructureofCommit commit = liftIO $ do+    commit' <- unsafeManagedPtrGetPtr commit+    onException (do+        _ <- propagateGError $ ostree_validate_structureof_commit commit'+        touchManagedPtr commit+        return ()+     ) (do+        return ()+     )+++-- function ostree_validate_structureof_checksum_string+-- Args : [Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an ASCII string", 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 "ostree_validate_structureof_checksum_string" ostree_validate_structureof_checksum_string :: +    CString ->                              -- checksum : TBasicType TUTF8+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+/No description available in the introspection data./+-}+validateStructureofChecksumString ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@checksum@/: an ASCII string -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+validateStructureofChecksumString checksum = liftIO $ do+    checksum' <- textToCString checksum+    onException (do+        _ <- propagateGError $ ostree_validate_structureof_checksum_string checksum'+        freeMem checksum'+        return ()+     ) (do+        freeMem checksum'+     )+++-- function ostree_validate_rev+-- Args : [Arg {argCName = "rev", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A revision string", 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 "ostree_validate_rev" ostree_validate_rev :: +    CString ->                              -- rev : TBasicType TUTF8+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+/No description available in the introspection data./+-}+validateRev ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@rev@/: A revision string -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+validateRev rev = liftIO $ do+    rev' <- textToCString rev+    onException (do+        _ <- propagateGError $ ostree_validate_rev rev'+        freeMem rev'+        return ()+     ) (do+        freeMem rev'+     )+++-- function ostree_validate_remote_name+-- Args : [Arg {argCName = "remote_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A remote 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 "ostree_validate_remote_name" ostree_validate_remote_name :: +    CString ->                              -- remote_name : TBasicType TUTF8+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+/No description available in the introspection data./++/Since: 2017.8/+-}+validateRemoteName ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@remoteName@/: A remote name -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+validateRemoteName remoteName = liftIO $ do+    remoteName' <- textToCString remoteName+    onException (do+        _ <- propagateGError $ ostree_validate_remote_name remoteName'+        freeMem remoteName'+        return ()+     ) (do+        freeMem remoteName'+     )+++-- function ostree_validate_collection_id+-- Args : [Arg {argCName = "collection_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A collection ID", 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 "ostree_validate_collection_id" ostree_validate_collection_id :: +    CString ->                              -- collection_id : TBasicType TUTF8+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Check whether the given /@collectionId@/ is valid. Return an error if it is+invalid or 'Nothing'.++Valid collection IDs are reverse DNS names:+ * They are composed of 1 or more elements separated by a period (@.@) character.+   All elements must contain at least one character.+ * Each element must only contain the ASCII characters @[A-Z][a-z][0-9]_@ and must not+   begin with a digit.+ * They must contain at least one @.@ (period) character (and thus at least two elements).+ * They must not begin with a @.@ (period) character.+ * They must not exceed 255 characters in length.++(This makes their format identical to D-Bus interface names, for consistency.)++/Since: 2018.6/+-}+validateCollectionId ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Maybe (T.Text)+    {- ^ /@collectionId@/: A collection ID -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+validateCollectionId collectionId = liftIO $ do+    maybeCollectionId <- case collectionId of+        Nothing -> return nullPtr+        Just jCollectionId -> do+            jCollectionId' <- textToCString jCollectionId+            return jCollectionId'+    onException (do+        _ <- propagateGError $ ostree_validate_collection_id maybeCollectionId+        freeMem maybeCollectionId+        return ()+     ) (do+        freeMem maybeCollectionId+     )+++-- function ostree_validate_checksum_string+-- Args : [Arg {argCName = "sha256", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "SHA256 hex string", 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 "ostree_validate_checksum_string" ostree_validate_checksum_string :: +    CString ->                              -- sha256 : TBasicType TUTF8+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Use this function to see if input strings are checksums.+-}+validateChecksumString ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@sha256@/: SHA256 hex string -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+validateChecksumString sha256 = liftIO $ do+    sha256' <- textToCString sha256+    onException (do+        _ <- propagateGError $ ostree_validate_checksum_string sha256'+        freeMem sha256'+        return ()+     ) (do+        freeMem sha256'+     )+++-- function ostree_raw_file_to_content_stream+-- Args : [Arg {argCName = "input", argType = TInterface (Name {namespace = "Gio", name = "InputStream"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "File raw content stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file_info", argType = TInterface (Name {namespace = "Gio", name = "FileInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A file info", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xattrs", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Optional extended attributes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_input", argType = TInterface (Name {namespace = "Gio", name = "InputStream"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Serialized object stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_length", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Length of stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_raw_file_to_content_stream" ostree_raw_file_to_content_stream :: +    Ptr Gio.InputStream.InputStream ->      -- input : TInterface (Name {namespace = "Gio", name = "InputStream"})+    Ptr Gio.FileInfo.FileInfo ->            -- file_info : TInterface (Name {namespace = "Gio", name = "FileInfo"})+    Ptr GVariant ->                         -- xattrs : TVariant+    Ptr (Ptr Gio.InputStream.InputStream) -> -- out_input : TInterface (Name {namespace = "Gio", name = "InputStream"})+    Ptr Word64 ->                           -- out_length : TBasicType TUInt64+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Convert from a \"bare\" file representation into an+OSTREE_OBJECT_TYPE_FILE stream.  This is a fundamental operation+for writing data to an 'GI.OSTree.Objects.Repo.Repo'.+-}+rawFileToContentStream ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.InputStream.IsInputStream a, Gio.FileInfo.IsFileInfo b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@input@/: File raw content stream -}+    -> b+    {- ^ /@fileInfo@/: A file info -}+    -> Maybe (GVariant)+    {- ^ /@xattrs@/: Optional extended attributes -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ((Gio.InputStream.InputStream, Word64))+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+rawFileToContentStream input fileInfo xattrs cancellable = liftIO $ do+    input' <- unsafeManagedPtrCastPtr input+    fileInfo' <- unsafeManagedPtrCastPtr fileInfo+    maybeXattrs <- case xattrs of+        Nothing -> return nullPtr+        Just jXattrs -> do+            jXattrs' <- unsafeManagedPtrGetPtr jXattrs+            return jXattrs'+    outInput <- allocMem :: IO (Ptr (Ptr Gio.InputStream.InputStream))+    outLength <- allocMem :: IO (Ptr Word64)+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_raw_file_to_content_stream input' fileInfo' maybeXattrs outInput outLength maybeCancellable+        outInput' <- peek outInput+        outInput'' <- (wrapObject Gio.InputStream.InputStream) outInput'+        outLength' <- peek outLength+        touchManagedPtr input+        touchManagedPtr fileInfo+        whenJust xattrs touchManagedPtr+        whenJust cancellable touchManagedPtr+        freeMem outInput+        freeMem outLength+        return (outInput'', outLength')+     ) (do+        freeMem outInput+        freeMem outLength+     )+++-- function ostree_raw_file_to_archive_z2_stream_with_options+-- Args : [Arg {argCName = "input", argType = TInterface (Name {namespace = "Gio", name = "InputStream"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "File raw content stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file_info", argType = TInterface (Name {namespace = "Gio", name = "FileInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A file info", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xattrs", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Optional extended attributes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "options", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A GVariant `a{sv}` with an extensible set of flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_input", argType = TInterface (Name {namespace = "Gio", name = "InputStream"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Serialized object stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_raw_file_to_archive_z2_stream_with_options" ostree_raw_file_to_archive_z2_stream_with_options :: +    Ptr Gio.InputStream.InputStream ->      -- input : TInterface (Name {namespace = "Gio", name = "InputStream"})+    Ptr Gio.FileInfo.FileInfo ->            -- file_info : TInterface (Name {namespace = "Gio", name = "FileInfo"})+    Ptr GVariant ->                         -- xattrs : TVariant+    Ptr GVariant ->                         -- options : TVariant+    Ptr (Ptr Gio.InputStream.InputStream) -> -- out_input : TInterface (Name {namespace = "Gio", name = "InputStream"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Like 'GI.OSTree.Functions.rawFileToArchiveZ2Stream', but supports an extensible set+of flags. The following flags are currently defined:++* @compression-level@ (@i@): Level of compression to use, 0–9, with 0 being+the least compression, and \<0 giving the default level (currently 6).+++/Since: 2017.3/+-}+rawFileToArchiveZ2StreamWithOptions ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.InputStream.IsInputStream a, Gio.FileInfo.IsFileInfo b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@input@/: File raw content stream -}+    -> b+    {- ^ /@fileInfo@/: A file info -}+    -> Maybe (GVariant)+    {- ^ /@xattrs@/: Optional extended attributes -}+    -> Maybe (GVariant)+    {- ^ /@options@/: A GVariant @a{sv}@ with an extensible set of flags -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m (Gio.InputStream.InputStream)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+rawFileToArchiveZ2StreamWithOptions input fileInfo xattrs options cancellable = liftIO $ do+    input' <- unsafeManagedPtrCastPtr input+    fileInfo' <- unsafeManagedPtrCastPtr fileInfo+    maybeXattrs <- case xattrs of+        Nothing -> return nullPtr+        Just jXattrs -> do+            jXattrs' <- unsafeManagedPtrGetPtr jXattrs+            return jXattrs'+    maybeOptions <- case options of+        Nothing -> return nullPtr+        Just jOptions -> do+            jOptions' <- unsafeManagedPtrGetPtr jOptions+            return jOptions'+    outInput <- allocMem :: IO (Ptr (Ptr Gio.InputStream.InputStream))+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_raw_file_to_archive_z2_stream_with_options input' fileInfo' maybeXattrs maybeOptions outInput maybeCancellable+        outInput' <- peek outInput+        outInput'' <- (wrapObject Gio.InputStream.InputStream) outInput'+        touchManagedPtr input+        touchManagedPtr fileInfo+        whenJust xattrs touchManagedPtr+        whenJust options touchManagedPtr+        whenJust cancellable touchManagedPtr+        freeMem outInput+        return outInput''+     ) (do+        freeMem outInput+     )+++-- function ostree_raw_file_to_archive_z2_stream+-- Args : [Arg {argCName = "input", argType = TInterface (Name {namespace = "Gio", name = "InputStream"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "File raw content stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "file_info", argType = TInterface (Name {namespace = "Gio", name = "FileInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A file info", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xattrs", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Optional extended attributes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_input", argType = TInterface (Name {namespace = "Gio", name = "InputStream"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Serialized object stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_raw_file_to_archive_z2_stream" ostree_raw_file_to_archive_z2_stream :: +    Ptr Gio.InputStream.InputStream ->      -- input : TInterface (Name {namespace = "Gio", name = "InputStream"})+    Ptr Gio.FileInfo.FileInfo ->            -- file_info : TInterface (Name {namespace = "Gio", name = "FileInfo"})+    Ptr GVariant ->                         -- xattrs : TVariant+    Ptr (Ptr Gio.InputStream.InputStream) -> -- out_input : TInterface (Name {namespace = "Gio", name = "InputStream"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Convert from a \"bare\" file representation into an+OSTREE_OBJECT_TYPE_FILE stream suitable for ostree pull.+-}+rawFileToArchiveZ2Stream ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.InputStream.IsInputStream a, Gio.FileInfo.IsFileInfo b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@input@/: File raw content stream -}+    -> b+    {- ^ /@fileInfo@/: A file info -}+    -> Maybe (GVariant)+    {- ^ /@xattrs@/: Optional extended attributes -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m (Gio.InputStream.InputStream)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+rawFileToArchiveZ2Stream input fileInfo xattrs cancellable = liftIO $ do+    input' <- unsafeManagedPtrCastPtr input+    fileInfo' <- unsafeManagedPtrCastPtr fileInfo+    maybeXattrs <- case xattrs of+        Nothing -> return nullPtr+        Just jXattrs -> do+            jXattrs' <- unsafeManagedPtrGetPtr jXattrs+            return jXattrs'+    outInput <- allocMem :: IO (Ptr (Ptr Gio.InputStream.InputStream))+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_raw_file_to_archive_z2_stream input' fileInfo' maybeXattrs outInput maybeCancellable+        outInput' <- peek outInput+        outInput'' <- (wrapObject Gio.InputStream.InputStream) outInput'+        touchManagedPtr input+        touchManagedPtr fileInfo+        whenJust xattrs touchManagedPtr+        whenJust cancellable touchManagedPtr+        freeMem outInput+        return outInput''+     ) (do+        freeMem outInput+     )+++-- function ostree_parse_refspec+-- Args : [Arg {argCName = "refspec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A \"refspec\" string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_remote", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Return location for the remote name,\n   or %NULL if the refspec refs to a local ref", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_ref", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for the ref name", 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 "ostree_parse_refspec" ostree_parse_refspec :: +    CString ->                              -- refspec : TBasicType TUTF8+    Ptr CString ->                          -- out_remote : TBasicType TUTF8+    Ptr CString ->                          -- out_ref : TBasicType TUTF8+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Split a refspec like @gnome-ostree:gnome-ostree\/buildmaster@ or just+@gnome-ostree\/buildmaster@ into two parts. In the first case, /@outRemote@/+will be set to @gnome-ostree@, and /@outRef@/ to @gnome-ostree\/buildmaster@.+In the second case (a local ref), /@outRemote@/ will be 'Nothing', and /@outRef@/+will be @gnome-ostree\/buildmaster@. In both cases, 'True' will be returned.+-}+parseRefspec ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@refspec@/: A \"refspec\" string -}+    -> m ((Maybe T.Text, T.Text))+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+parseRefspec refspec = liftIO $ do+    refspec' <- textToCString refspec+    outRemote <- allocMem :: IO (Ptr CString)+    outRef <- allocMem :: IO (Ptr CString)+    onException (do+        _ <- propagateGError $ ostree_parse_refspec refspec' outRemote outRef+        outRemote' <- peek outRemote+        maybeOutRemote' <- convertIfNonNull outRemote' $ \outRemote'' -> do+            outRemote''' <- cstringToText outRemote''+            return outRemote'''+        freeMem outRemote'+        outRef' <- peek outRef+        outRef'' <- cstringToText outRef'+        freeMem outRef'+        freeMem refspec'+        freeMem outRemote+        freeMem outRef+        return (maybeOutRemote', outRef'')+     ) (do+        freeMem refspec'+        freeMem outRemote+        freeMem outRef+     )+++-- function ostree_object_type_to_string+-- Args : [Arg {argCName = "objtype", argType = TInterface (Name {namespace = "OSTree", name = "ObjectType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeObjectType", 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 "ostree_object_type_to_string" ostree_object_type_to_string :: +    CUInt ->                                -- objtype : TInterface (Name {namespace = "OSTree", name = "ObjectType"})+    IO CString++{- |+Serialize /@objtype@/ to a string; this is used for file extensions.+-}+objectTypeToString ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    OSTree.Enums.ObjectType+    {- ^ /@objtype@/: an 'GI.OSTree.Enums.ObjectType' -}+    -> m T.Text+objectTypeToString objtype = liftIO $ do+    let objtype' = (fromIntegral . fromEnum) objtype+    result <- ostree_object_type_to_string objtype'+    checkUnexpectedReturnNULL "objectTypeToString" result+    result' <- cstringToText result+    return result'+++-- function ostree_object_type_from_string+-- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A stringified version of #OstreeObjectType", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "ObjectType"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_object_type_from_string" ostree_object_type_from_string :: +    CString ->                              -- str : TBasicType TUTF8+    IO CUInt++{- |+The reverse of 'GI.OSTree.Functions.objectTypeToString'.+-}+objectTypeFromString ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@str@/: A stringified version of 'GI.OSTree.Enums.ObjectType' -}+    -> m OSTree.Enums.ObjectType+objectTypeFromString str = liftIO $ do+    str' <- textToCString str+    result <- ostree_object_type_from_string str'+    let result' = (toEnum . fromIntegral) result+    freeMem str'+    return result'+++-- function ostree_object_to_string+-- Args : [Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An ASCII checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "objtype", argType = TInterface (Name {namespace = "OSTree", name = "ObjectType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Object type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUTF8)+-- throws : False+-- Skip return : False++foreign import ccall "ostree_object_to_string" ostree_object_to_string :: +    CString ->                              -- checksum : TBasicType TUTF8+    CUInt ->                                -- objtype : TInterface (Name {namespace = "OSTree", name = "ObjectType"})+    IO CString++{- |+/No description available in the introspection data./+-}+objectToString ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@checksum@/: An ASCII checksum -}+    -> OSTree.Enums.ObjectType+    {- ^ /@objtype@/: Object type -}+    -> m T.Text+    {- ^ __Returns:__ A string containing both /@checksum@/ and a stringifed version of /@objtype@/ -}+objectToString checksum objtype = liftIO $ do+    checksum' <- textToCString checksum+    let objtype' = (fromIntegral . fromEnum) objtype+    result <- ostree_object_to_string checksum' objtype'+    checkUnexpectedReturnNULL "objectToString" result+    result' <- cstringToText result+    freeMem result+    freeMem checksum'+    return result'+++-- function ostree_object_name_serialize+-- Args : [Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An ASCII checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "objtype", argType = TInterface (Name {namespace = "OSTree", name = "ObjectType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An object type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just TVariant+-- throws : False+-- Skip return : False++foreign import ccall "ostree_object_name_serialize" ostree_object_name_serialize :: +    CString ->                              -- checksum : TBasicType TUTF8+    CUInt ->                                -- objtype : TInterface (Name {namespace = "OSTree", name = "ObjectType"})+    IO (Ptr GVariant)++{- |+/No description available in the introspection data./+-}+objectNameSerialize ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@checksum@/: An ASCII checksum -}+    -> OSTree.Enums.ObjectType+    {- ^ /@objtype@/: An object type -}+    -> m GVariant+    {- ^ __Returns:__ A new floating 'GVariant' containing checksum string and objtype -}+objectNameSerialize checksum objtype = liftIO $ do+    checksum' <- textToCString checksum+    let objtype' = (fromIntegral . fromEnum) objtype+    result <- ostree_object_name_serialize checksum' objtype'+    checkUnexpectedReturnNULL "objectNameSerialize" result+    result' <- B.GVariant.newGVariantFromPtr result+    freeMem checksum'+    return result'+++-- function ostree_object_name_deserialize+-- Args : [Arg {argCName = "variant", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GVariant of type (su)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_checksum", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Pointer into string memory of @variant with checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_objtype", argType = TInterface (Name {namespace = "OSTree", name = "ObjectType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return object type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_object_name_deserialize" ostree_object_name_deserialize :: +    Ptr GVariant ->                         -- variant : TVariant+    Ptr CString ->                          -- out_checksum : TBasicType TUTF8+    Ptr CUInt ->                            -- out_objtype : TInterface (Name {namespace = "OSTree", name = "ObjectType"})+    IO ()++{- |+Reverse 'GI.OSTree.Functions.objectNameSerialize'.  Note that /@outChecksum@/ is+only valid for the lifetime of /@variant@/, and must not be freed.+-}+objectNameDeserialize ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GVariant+    {- ^ /@variant@/: A 'GVariant' of type (su) -}+    -> m ((T.Text, OSTree.Enums.ObjectType))+objectNameDeserialize variant = liftIO $ do+    variant' <- unsafeManagedPtrGetPtr variant+    outChecksum <- allocMem :: IO (Ptr CString)+    outObjtype <- allocMem :: IO (Ptr CUInt)+    ostree_object_name_deserialize variant' outChecksum outObjtype+    outChecksum' <- peek outChecksum+    outChecksum'' <- cstringToText outChecksum'+    outObjtype' <- peek outObjtype+    let outObjtype'' = (toEnum . fromIntegral) outObjtype'+    touchManagedPtr variant+    freeMem outChecksum+    freeMem outObjtype+    return (outChecksum'', outObjtype'')+++-- function ostree_object_from_string+-- Args : [Arg {argCName = "str", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An ASCII checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_checksum", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Parsed checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_objtype", argType = TInterface (Name {namespace = "OSTree", name = "ObjectType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Parsed object type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_object_from_string" ostree_object_from_string :: +    CString ->                              -- str : TBasicType TUTF8+    Ptr CString ->                          -- out_checksum : TBasicType TUTF8+    Ptr CUInt ->                            -- out_objtype : TInterface (Name {namespace = "OSTree", name = "ObjectType"})+    IO ()++{- |+Reverse 'GI.OSTree.Functions.objectToString'.+-}+objectFromString ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@str@/: An ASCII checksum -}+    -> m ((T.Text, OSTree.Enums.ObjectType))+objectFromString str = liftIO $ do+    str' <- textToCString str+    outChecksum <- allocMem :: IO (Ptr CString)+    outObjtype <- allocMem :: IO (Ptr CUInt)+    ostree_object_from_string str' outChecksum outObjtype+    outChecksum' <- peek outChecksum+    outChecksum'' <- cstringToText outChecksum'+    freeMem outChecksum'+    outObjtype' <- peek outObjtype+    let outObjtype'' = (toEnum . fromIntegral) outObjtype'+    freeMem str'+    freeMem outChecksum+    freeMem outObjtype+    return (outChecksum'', outObjtype'')+++-- function ostree_metadata_variant_type+-- Args : [Arg {argCName = "objtype", argType = TInterface (Name {namespace = "OSTree", name = "ObjectType"}), 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 "ostree_metadata_variant_type" ostree_metadata_variant_type :: +    CUInt ->                                -- objtype : TInterface (Name {namespace = "OSTree", name = "ObjectType"})+    IO (Ptr GLib.VariantType.VariantType)++{- |+/No description available in the introspection data./+-}+metadataVariantType ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    OSTree.Enums.ObjectType+    -> m GLib.VariantType.VariantType+metadataVariantType objtype = liftIO $ do+    let objtype' = (fromIntegral . fromEnum) objtype+    result <- ostree_metadata_variant_type objtype'+    checkUnexpectedReturnNULL "metadataVariantType" result+    result' <- (newBoxed GLib.VariantType.VariantType) result+    return result'+++-- function ostree_hash_object_name+-- Args : [Arg {argCName = "a", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GVariant containing a serialized object", 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 "ostree_hash_object_name" ostree_hash_object_name :: +    Ptr () ->                               -- a : TBasicType TPtr+    IO Word32++{- |+Use this function with 'GI.GLib.Structs.HashTable.HashTable' and 'GI.OSTree.Functions.objectNameSerialize'.+-}+hashObjectName ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Ptr ()+    {- ^ /@a@/: A 'GVariant' containing a serialized object -}+    -> m Word32+hashObjectName a = liftIO $ do+    result <- ostree_hash_object_name a+    return result+++-- function ostree_gpg_error_quark+-- Args : []+-- Lengths : []+-- returnType : Just (TBasicType TUInt32)+-- throws : False+-- Skip return : False++foreign import ccall "ostree_gpg_error_quark" ostree_gpg_error_quark :: +    IO Word32++{- |+/No description available in the introspection data./+-}+gpgErrorQuark ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m Word32+gpgErrorQuark  = liftIO $ do+    result <- ostree_gpg_error_quark+    return result+++-- function ostree_diff_print+-- Args : [Arg {argCName = "a", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "First directory path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "First directory path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modified", argType = TPtrArray (TInterface (Name {namespace = "OSTree", name = "DiffItem"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Modified files", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "removed", argType = TPtrArray (TInterface (Name {namespace = "Gio", name = "File"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Removed files", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "added", argType = TPtrArray (TInterface (Name {namespace = "Gio", name = "File"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Added files", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_diff_print" ostree_diff_print :: +    Ptr Gio.File.File ->                    -- a : TInterface (Name {namespace = "Gio", name = "File"})+    Ptr Gio.File.File ->                    -- b : TInterface (Name {namespace = "Gio", name = "File"})+    Ptr (GPtrArray (Ptr OSTree.DiffItem.DiffItem)) -> -- modified : TPtrArray (TInterface (Name {namespace = "OSTree", name = "DiffItem"}))+    Ptr (GPtrArray (Ptr Gio.File.File)) ->  -- removed : TPtrArray (TInterface (Name {namespace = "Gio", name = "File"}))+    Ptr (GPtrArray (Ptr Gio.File.File)) ->  -- added : TPtrArray (TInterface (Name {namespace = "Gio", name = "File"}))+    IO ()++{- |+Print the contents of a diff to stdout.+-}+diffPrint ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.File.IsFile a, Gio.File.IsFile b) =>+    a+    {- ^ /@a@/: First directory path -}+    -> b+    {- ^ /@b@/: First directory path -}+    -> [OSTree.DiffItem.DiffItem]+    {- ^ /@modified@/: Modified files -}+    -> [Gio.File.File]+    {- ^ /@removed@/: Removed files -}+    -> [Gio.File.File]+    {- ^ /@added@/: Added files -}+    -> m ()+diffPrint a b modified removed added = liftIO $ do+    a' <- unsafeManagedPtrCastPtr a+    b' <- unsafeManagedPtrCastPtr b+    modified' <- mapM unsafeManagedPtrGetPtr modified+    modified'' <- packGPtrArray modified'+    removed' <- mapM unsafeManagedPtrCastPtr removed+    removed'' <- packGPtrArray removed'+    added' <- mapM unsafeManagedPtrCastPtr added+    added'' <- packGPtrArray added'+    ostree_diff_print a' b' modified'' removed'' added''+    touchManagedPtr a+    touchManagedPtr b+    mapM_ touchManagedPtr modified+    mapM_ touchManagedPtr removed+    mapM_ touchManagedPtr added+    unrefPtrArray modified''+    unrefPtrArray removed''+    unrefPtrArray added''+    return ()+++-- function ostree_diff_dirs_with_options+-- Args : [Arg {argCName = "flags", argType = TInterface (Name {namespace = "OSTree", name = "DiffFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "a", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "First directory path, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "First directory path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modified", argType = TPtrArray (TInterface (Name {namespace = "OSTree", name = "DiffItem"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Modified files", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "removed", argType = TPtrArray (TInterface (Name {namespace = "Gio", name = "File"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Removed files", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "added", argType = TPtrArray (TInterface (Name {namespace = "Gio", name = "File"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Added files", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "options", argType = TInterface (Name {namespace = "OSTree", name = "DiffDirsOptions"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Options", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_diff_dirs_with_options" ostree_diff_dirs_with_options :: +    CUInt ->                                -- flags : TInterface (Name {namespace = "OSTree", name = "DiffFlags"})+    Ptr Gio.File.File ->                    -- a : TInterface (Name {namespace = "Gio", name = "File"})+    Ptr Gio.File.File ->                    -- b : TInterface (Name {namespace = "Gio", name = "File"})+    Ptr (GPtrArray (Ptr OSTree.DiffItem.DiffItem)) -> -- modified : TPtrArray (TInterface (Name {namespace = "OSTree", name = "DiffItem"}))+    Ptr (GPtrArray (Ptr Gio.File.File)) ->  -- removed : TPtrArray (TInterface (Name {namespace = "Gio", name = "File"}))+    Ptr (GPtrArray (Ptr Gio.File.File)) ->  -- added : TPtrArray (TInterface (Name {namespace = "Gio", name = "File"}))+    Ptr OSTree.DiffDirsOptions.DiffDirsOptions -> -- options : TInterface (Name {namespace = "OSTree", name = "DiffDirsOptions"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Compute the difference between directory /@a@/ and /@b@/ as 3 separate+sets of 'GI.OSTree.Structs.DiffItem.DiffItem' in /@modified@/, /@removed@/, and /@added@/.+-}+diffDirsWithOptions ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.File.IsFile a, Gio.File.IsFile b, Gio.Cancellable.IsCancellable c) =>+    [OSTree.Flags.DiffFlags]+    {- ^ /@flags@/: Flags -}+    -> a+    {- ^ /@a@/: First directory path, or 'Nothing' -}+    -> b+    {- ^ /@b@/: First directory path -}+    -> [OSTree.DiffItem.DiffItem]+    {- ^ /@modified@/: Modified files -}+    -> [Gio.File.File]+    {- ^ /@removed@/: Removed files -}+    -> [Gio.File.File]+    {- ^ /@added@/: Added files -}+    -> Maybe (OSTree.DiffDirsOptions.DiffDirsOptions)+    {- ^ /@options@/: Options -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+diffDirsWithOptions flags a b modified removed added options cancellable = liftIO $ do+    let flags' = gflagsToWord flags+    a' <- unsafeManagedPtrCastPtr a+    b' <- unsafeManagedPtrCastPtr b+    modified' <- mapM unsafeManagedPtrGetPtr modified+    modified'' <- packGPtrArray modified'+    removed' <- mapM unsafeManagedPtrCastPtr removed+    removed'' <- packGPtrArray removed'+    added' <- mapM unsafeManagedPtrCastPtr added+    added'' <- packGPtrArray added'+    maybeOptions <- case options of+        Nothing -> return nullPtr+        Just jOptions -> do+            jOptions' <- unsafeManagedPtrGetPtr jOptions+            return jOptions'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_diff_dirs_with_options flags' a' b' modified'' removed'' added'' maybeOptions maybeCancellable+        touchManagedPtr a+        touchManagedPtr b+        mapM_ touchManagedPtr modified+        mapM_ touchManagedPtr removed+        mapM_ touchManagedPtr added+        whenJust options touchManagedPtr+        whenJust cancellable touchManagedPtr+        unrefPtrArray modified''+        unrefPtrArray removed''+        unrefPtrArray added''+        return ()+     ) (do+        unrefPtrArray modified''+        unrefPtrArray removed''+        unrefPtrArray added''+     )+++-- function ostree_diff_dirs+-- Args : [Arg {argCName = "flags", argType = TInterface (Name {namespace = "OSTree", name = "DiffFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "a", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "First directory path, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "First directory path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modified", argType = TPtrArray (TInterface (Name {namespace = "OSTree", name = "DiffItem"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Modified files", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "removed", argType = TPtrArray (TInterface (Name {namespace = "Gio", name = "File"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Removed files", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "added", argType = TPtrArray (TInterface (Name {namespace = "Gio", name = "File"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Added files", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_diff_dirs" ostree_diff_dirs :: +    CUInt ->                                -- flags : TInterface (Name {namespace = "OSTree", name = "DiffFlags"})+    Ptr Gio.File.File ->                    -- a : TInterface (Name {namespace = "Gio", name = "File"})+    Ptr Gio.File.File ->                    -- b : TInterface (Name {namespace = "Gio", name = "File"})+    Ptr (GPtrArray (Ptr OSTree.DiffItem.DiffItem)) -> -- modified : TPtrArray (TInterface (Name {namespace = "OSTree", name = "DiffItem"}))+    Ptr (GPtrArray (Ptr Gio.File.File)) ->  -- removed : TPtrArray (TInterface (Name {namespace = "Gio", name = "File"}))+    Ptr (GPtrArray (Ptr Gio.File.File)) ->  -- added : TPtrArray (TInterface (Name {namespace = "Gio", name = "File"}))+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Compute the difference between directory /@a@/ and /@b@/ as 3 separate+sets of 'GI.OSTree.Structs.DiffItem.DiffItem' in /@modified@/, /@removed@/, and /@added@/.+-}+diffDirs ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.File.IsFile a, Gio.File.IsFile b, Gio.Cancellable.IsCancellable c) =>+    [OSTree.Flags.DiffFlags]+    {- ^ /@flags@/: Flags -}+    -> a+    {- ^ /@a@/: First directory path, or 'Nothing' -}+    -> b+    {- ^ /@b@/: First directory path -}+    -> [OSTree.DiffItem.DiffItem]+    {- ^ /@modified@/: Modified files -}+    -> [Gio.File.File]+    {- ^ /@removed@/: Removed files -}+    -> [Gio.File.File]+    {- ^ /@added@/: Added files -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+diffDirs flags a b modified removed added cancellable = liftIO $ do+    let flags' = gflagsToWord flags+    a' <- unsafeManagedPtrCastPtr a+    b' <- unsafeManagedPtrCastPtr b+    modified' <- mapM unsafeManagedPtrGetPtr modified+    modified'' <- packGPtrArray modified'+    removed' <- mapM unsafeManagedPtrCastPtr removed+    removed'' <- packGPtrArray removed'+    added' <- mapM unsafeManagedPtrCastPtr added+    added'' <- packGPtrArray added'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_diff_dirs flags' a' b' modified'' removed'' added'' maybeCancellable+        touchManagedPtr a+        touchManagedPtr b+        mapM_ touchManagedPtr modified+        mapM_ touchManagedPtr removed+        mapM_ touchManagedPtr added+        whenJust cancellable touchManagedPtr+        unrefPtrArray modified''+        unrefPtrArray removed''+        unrefPtrArray added''+        return ()+     ) (do+        unrefPtrArray modified''+        unrefPtrArray removed''+        unrefPtrArray added''+     )+++-- function ostree_create_directory_metadata+-- Args : [Arg {argCName = "dir_info", argType = TInterface (Name {namespace = "Gio", name = "FileInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GFileInfo containing directory information", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xattrs", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Optional extended attributes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just TVariant+-- throws : False+-- Skip return : False++foreign import ccall "ostree_create_directory_metadata" ostree_create_directory_metadata :: +    Ptr Gio.FileInfo.FileInfo ->            -- dir_info : TInterface (Name {namespace = "Gio", name = "FileInfo"})+    Ptr GVariant ->                         -- xattrs : TVariant+    IO (Ptr GVariant)++{- |+/No description available in the introspection data./+-}+createDirectoryMetadata ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.FileInfo.IsFileInfo a) =>+    a+    {- ^ /@dirInfo@/: a 'GI.Gio.Objects.FileInfo.FileInfo' containing directory information -}+    -> Maybe (GVariant)+    {- ^ /@xattrs@/: Optional extended attributes -}+    -> m GVariant+    {- ^ __Returns:__ A new 'GVariant' containing 'GI.OSTree.Enums.ObjectTypeDirMeta' -}+createDirectoryMetadata dirInfo xattrs = liftIO $ do+    dirInfo' <- unsafeManagedPtrCastPtr dirInfo+    maybeXattrs <- case xattrs of+        Nothing -> return nullPtr+        Just jXattrs -> do+            jXattrs' <- unsafeManagedPtrGetPtr jXattrs+            return jXattrs'+    result <- ostree_create_directory_metadata dirInfo' maybeXattrs+    checkUnexpectedReturnNULL "createDirectoryMetadata" result+    result' <- B.GVariant.wrapGVariantPtr result+    touchManagedPtr dirInfo+    whenJust xattrs touchManagedPtr+    return result'+++-- function ostree_content_stream_parse+-- Args : [Arg {argCName = "compressed", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether or not the stream is zlib-compressed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "input", argType = TInterface (Name {namespace = "Gio", name = "InputStream"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Object content stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "input_length", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Length of stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "trusted", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "If %TRUE, assume the content has been validated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_input", argType = TInterface (Name {namespace = "Gio", name = "InputStream"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The raw file content stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_file_info", argType = TInterface (Name {namespace = "Gio", name = "FileInfo"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Normal metadata", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_xattrs", argType = TVariant, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Extended attributes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_content_stream_parse" ostree_content_stream_parse :: +    CInt ->                                 -- compressed : TBasicType TBoolean+    Ptr Gio.InputStream.InputStream ->      -- input : TInterface (Name {namespace = "Gio", name = "InputStream"})+    Word64 ->                               -- input_length : TBasicType TUInt64+    CInt ->                                 -- trusted : TBasicType TBoolean+    Ptr (Ptr Gio.InputStream.InputStream) -> -- out_input : TInterface (Name {namespace = "Gio", name = "InputStream"})+    Ptr (Ptr Gio.FileInfo.FileInfo) ->      -- out_file_info : TInterface (Name {namespace = "Gio", name = "FileInfo"})+    Ptr (Ptr GVariant) ->                   -- out_xattrs : TVariant+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+The reverse of 'GI.OSTree.Functions.rawFileToContentStream'; this function+converts an object content stream back into components.+-}+contentStreamParse ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.InputStream.IsInputStream a, Gio.Cancellable.IsCancellable b) =>+    Bool+    {- ^ /@compressed@/: Whether or not the stream is zlib-compressed -}+    -> a+    {- ^ /@input@/: Object content stream -}+    -> Word64+    {- ^ /@inputLength@/: Length of stream -}+    -> Bool+    {- ^ /@trusted@/: If 'True', assume the content has been validated -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ((Gio.InputStream.InputStream, Gio.FileInfo.FileInfo, GVariant))+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+contentStreamParse compressed input inputLength trusted cancellable = liftIO $ do+    let compressed' = (fromIntegral . fromEnum) compressed+    input' <- unsafeManagedPtrCastPtr input+    let trusted' = (fromIntegral . fromEnum) trusted+    outInput <- allocMem :: IO (Ptr (Ptr Gio.InputStream.InputStream))+    outFileInfo <- allocMem :: IO (Ptr (Ptr Gio.FileInfo.FileInfo))+    outXattrs <- allocMem :: IO (Ptr (Ptr GVariant))+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_content_stream_parse compressed' input' inputLength trusted' outInput outFileInfo outXattrs maybeCancellable+        outInput' <- peek outInput+        outInput'' <- (wrapObject Gio.InputStream.InputStream) outInput'+        outFileInfo' <- peek outFileInfo+        outFileInfo'' <- (wrapObject Gio.FileInfo.FileInfo) outFileInfo'+        outXattrs' <- peek outXattrs+        outXattrs'' <- B.GVariant.wrapGVariantPtr outXattrs'+        touchManagedPtr input+        whenJust cancellable touchManagedPtr+        freeMem outInput+        freeMem outFileInfo+        freeMem outXattrs+        return (outInput'', outFileInfo'', outXattrs'')+     ) (do+        freeMem outInput+        freeMem outFileInfo+        freeMem outXattrs+     )+++-- function ostree_content_file_parse_at+-- Args : [Arg {argCName = "compressed", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether or not the stream is zlib-compressed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent_dfd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Directory file descriptor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Subpath", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "trusted", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "If %TRUE, assume the content has been validated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_input", argType = TInterface (Name {namespace = "Gio", name = "InputStream"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The raw file content stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_file_info", argType = TInterface (Name {namespace = "Gio", name = "FileInfo"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Normal metadata", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_xattrs", argType = TVariant, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Extended attributes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_content_file_parse_at" ostree_content_file_parse_at :: +    CInt ->                                 -- compressed : TBasicType TBoolean+    Int32 ->                                -- parent_dfd : TBasicType TInt+    CString ->                              -- path : TBasicType TUTF8+    CInt ->                                 -- trusted : TBasicType TBoolean+    Ptr (Ptr Gio.InputStream.InputStream) -> -- out_input : TInterface (Name {namespace = "Gio", name = "InputStream"})+    Ptr (Ptr Gio.FileInfo.FileInfo) ->      -- out_file_info : TInterface (Name {namespace = "Gio", name = "FileInfo"})+    Ptr (Ptr GVariant) ->                   -- out_xattrs : TVariant+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+A thin wrapper for 'GI.OSTree.Functions.contentStreamParse'; this function+converts an object content stream back into components.+-}+contentFileParseAt ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.Cancellable.IsCancellable a) =>+    Bool+    {- ^ /@compressed@/: Whether or not the stream is zlib-compressed -}+    -> Int32+    {- ^ /@parentDfd@/: Directory file descriptor -}+    -> T.Text+    {- ^ /@path@/: Subpath -}+    -> Bool+    {- ^ /@trusted@/: If 'True', assume the content has been validated -}+    -> Maybe (a)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ((Gio.InputStream.InputStream, Gio.FileInfo.FileInfo, GVariant))+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+contentFileParseAt compressed parentDfd path trusted cancellable = liftIO $ do+    let compressed' = (fromIntegral . fromEnum) compressed+    path' <- textToCString path+    let trusted' = (fromIntegral . fromEnum) trusted+    outInput <- allocMem :: IO (Ptr (Ptr Gio.InputStream.InputStream))+    outFileInfo <- allocMem :: IO (Ptr (Ptr Gio.FileInfo.FileInfo))+    outXattrs <- allocMem :: IO (Ptr (Ptr GVariant))+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_content_file_parse_at compressed' parentDfd path' trusted' outInput outFileInfo outXattrs maybeCancellable+        outInput' <- peek outInput+        outInput'' <- (wrapObject Gio.InputStream.InputStream) outInput'+        outFileInfo' <- peek outFileInfo+        outFileInfo'' <- (wrapObject Gio.FileInfo.FileInfo) outFileInfo'+        outXattrs' <- peek outXattrs+        outXattrs'' <- B.GVariant.wrapGVariantPtr outXattrs'+        whenJust cancellable touchManagedPtr+        freeMem path'+        freeMem outInput+        freeMem outFileInfo+        freeMem outXattrs+        return (outInput'', outFileInfo'', outXattrs'')+     ) (do+        freeMem path'+        freeMem outInput+        freeMem outFileInfo+        freeMem outXattrs+     )+++-- function ostree_content_file_parse+-- Args : [Arg {argCName = "compressed", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether or not the stream is zlib-compressed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "content_path", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Path to file containing content", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "trusted", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "If %TRUE, assume the content has been validated", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_input", argType = TInterface (Name {namespace = "Gio", name = "InputStream"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The raw file content stream", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_file_info", argType = TInterface (Name {namespace = "Gio", name = "FileInfo"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Normal metadata", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_xattrs", argType = TVariant, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Extended attributes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_content_file_parse" ostree_content_file_parse :: +    CInt ->                                 -- compressed : TBasicType TBoolean+    Ptr Gio.File.File ->                    -- content_path : TInterface (Name {namespace = "Gio", name = "File"})+    CInt ->                                 -- trusted : TBasicType TBoolean+    Ptr (Ptr Gio.InputStream.InputStream) -> -- out_input : TInterface (Name {namespace = "Gio", name = "InputStream"})+    Ptr (Ptr Gio.FileInfo.FileInfo) ->      -- out_file_info : TInterface (Name {namespace = "Gio", name = "FileInfo"})+    Ptr (Ptr GVariant) ->                   -- out_xattrs : TVariant+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+A thin wrapper for 'GI.OSTree.Functions.contentStreamParse'; this function+converts an object content stream back into components.+-}+contentFileParse ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.File.IsFile a, Gio.Cancellable.IsCancellable b) =>+    Bool+    {- ^ /@compressed@/: Whether or not the stream is zlib-compressed -}+    -> a+    {- ^ /@contentPath@/: Path to file containing content -}+    -> Bool+    {- ^ /@trusted@/: If 'True', assume the content has been validated -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ((Gio.InputStream.InputStream, Gio.FileInfo.FileInfo, GVariant))+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+contentFileParse compressed contentPath trusted cancellable = liftIO $ do+    let compressed' = (fromIntegral . fromEnum) compressed+    contentPath' <- unsafeManagedPtrCastPtr contentPath+    let trusted' = (fromIntegral . fromEnum) trusted+    outInput <- allocMem :: IO (Ptr (Ptr Gio.InputStream.InputStream))+    outFileInfo <- allocMem :: IO (Ptr (Ptr Gio.FileInfo.FileInfo))+    outXattrs <- allocMem :: IO (Ptr (Ptr GVariant))+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_content_file_parse compressed' contentPath' trusted' outInput outFileInfo outXattrs maybeCancellable+        outInput' <- peek outInput+        outInput'' <- (wrapObject Gio.InputStream.InputStream) outInput'+        outFileInfo' <- peek outFileInfo+        outFileInfo'' <- (wrapObject Gio.FileInfo.FileInfo) outFileInfo'+        outXattrs' <- peek outXattrs+        outXattrs'' <- B.GVariant.wrapGVariantPtr outXattrs'+        touchManagedPtr contentPath+        whenJust cancellable touchManagedPtr+        freeMem outInput+        freeMem outFileInfo+        freeMem outXattrs+        return (outInput'', outFileInfo'', outXattrs'')+     ) (do+        freeMem outInput+        freeMem outFileInfo+        freeMem outXattrs+     )+++-- function ostree_commit_get_timestamp+-- Args : [Arg {argCName = "commit_variant", argType = TVariant, 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 "ostree_commit_get_timestamp" ostree_commit_get_timestamp :: +    Ptr GVariant ->                         -- commit_variant : TVariant+    IO Word64++{- |+/No description available in the introspection data./+-}+commitGetTimestamp ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GVariant+    -> m Word64+commitGetTimestamp commitVariant = liftIO $ do+    commitVariant' <- unsafeManagedPtrGetPtr commitVariant+    result <- ostree_commit_get_timestamp commitVariant'+    touchManagedPtr commitVariant+    return result+++-- function ostree_commit_get_parent+-- Args : [Arg {argCName = "commit_variant", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Variant of type %OSTREE_OBJECT_TYPE_COMMIT", 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 "ostree_commit_get_parent" ostree_commit_get_parent :: +    Ptr GVariant ->                         -- commit_variant : TVariant+    IO CString++{- |+/No description available in the introspection data./+-}+commitGetParent ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GVariant+    {- ^ /@commitVariant@/: Variant of type 'GI.OSTree.Enums.ObjectTypeCommit' -}+    -> m T.Text+    {- ^ __Returns:__ Checksum of the parent commit of /@commitVariant@/, or 'Nothing'+if none -}+commitGetParent commitVariant = liftIO $ do+    commitVariant' <- unsafeManagedPtrGetPtr commitVariant+    result <- ostree_commit_get_parent commitVariant'+    checkUnexpectedReturnNULL "commitGetParent" result+    result' <- cstringToText result+    freeMem result+    touchManagedPtr commitVariant+    return result'+++-- function ostree_commit_get_content_checksum+-- Args : [Arg {argCName = "commit_variant", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A commit object", 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 "ostree_commit_get_content_checksum" ostree_commit_get_content_checksum :: +    Ptr GVariant ->                         -- commit_variant : TVariant+    IO CString++{- |+There are use cases where one wants a checksum just of the content of a+commit. OSTree commits by default capture the current timestamp, and may have+additional metadata, which means that re-committing identical content+often results in a new checksum.++By comparing checksums of content, it\'s possible to easily distinguish+cases where nothing actually changed.++The content checksums is simply defined as @SHA256(root dirtree_checksum || root_dirmeta_checksum)@,+i.e. the SHA-256 of the root \"dirtree\" object\'s checksum concatenated with the+root \"dirmeta\" checksum (both in binary form, not hexadecimal).+-}+commitGetContentChecksum ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GVariant+    {- ^ /@commitVariant@/: A commit object -}+    -> m (Maybe T.Text)+    {- ^ __Returns:__ A SHA-256 hex string, or 'Nothing' if /@commitVariant@/ is not well-formed -}+commitGetContentChecksum commitVariant = liftIO $ do+    commitVariant' <- unsafeManagedPtrGetPtr commitVariant+    result <- ostree_commit_get_content_checksum commitVariant'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- cstringToText result'+        freeMem result'+        return result''+    touchManagedPtr commitVariant+    return maybeResult+++-- function ostree_cmp_checksum_bytes+-- Args : [Arg {argCName = "a", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A binary checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A binary checksum", 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 "ostree_cmp_checksum_bytes" ostree_cmp_checksum_bytes :: +    Word8 ->                                -- a : TBasicType TUInt8+    Word8 ->                                -- b : TBasicType TUInt8+    IO Int32++{- |+Compare two binary checksums, using @/memcmp()/@.+-}+cmpChecksumBytes ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Word8+    {- ^ /@a@/: A binary checksum -}+    -> Word8+    {- ^ /@b@/: A binary checksum -}+    -> m Int32+cmpChecksumBytes a b = liftIO $ do+    result <- ostree_cmp_checksum_bytes a b+    return result+++-- function ostree_cmd__private__+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "CmdPrivateVTable"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_cmd__private__" ostree_cmd__private__ :: +    IO (Ptr OSTree.CmdPrivateVTable.CmdPrivateVTable)++{- |+/No description available in the introspection data./+-}+cmd_Private__ ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m OSTree.CmdPrivateVTable.CmdPrivateVTable+cmd_Private__  = liftIO $ do+    result <- ostree_cmd__private__+    checkUnexpectedReturnNULL "cmd_Private__" result+    result' <- (newPtr OSTree.CmdPrivateVTable.CmdPrivateVTable) result+    return result'+++-- function ostree_checksum_to_bytes_v+-- Args : [Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An ASCII checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just TVariant+-- throws : False+-- Skip return : False++foreign import ccall "ostree_checksum_to_bytes_v" ostree_checksum_to_bytes_v :: +    CString ->                              -- checksum : TBasicType TUTF8+    IO (Ptr GVariant)++{- |+/No description available in the introspection data./+-}+checksumToBytesV ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@checksum@/: An ASCII checksum -}+    -> m GVariant+    {- ^ __Returns:__ New 'GVariant' of type ay with length 32 -}+checksumToBytesV checksum = liftIO $ do+    checksum' <- textToCString checksum+    result <- ostree_checksum_to_bytes_v checksum'+    checkUnexpectedReturnNULL "checksumToBytesV" result+    result' <- B.GVariant.wrapGVariantPtr result+    freeMem checksum'+    return result'+++-- function ostree_checksum_to_bytes+-- Args : [Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An ASCII checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TCArray False 32 (-1) (TBasicType TUInt8))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_checksum_to_bytes" ostree_checksum_to_bytes :: +    CString ->                              -- checksum : TBasicType TUTF8+    IO (Ptr Word8)++{- |+/No description available in the introspection data./+-}+checksumToBytes ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@checksum@/: An ASCII checksum -}+    -> m ByteString+    {- ^ __Returns:__ Binary checksum from /@checksum@/ of length 32; free with 'GI.GLib.Functions.free'. -}+checksumToBytes checksum = liftIO $ do+    checksum' <- textToCString checksum+    result <- ostree_checksum_to_bytes checksum'+    checkUnexpectedReturnNULL "checksumToBytes" result+    result' <- (unpackByteStringWithLength 32) result+    freeMem result+    freeMem checksum'+    return result'+++-- function ostree_checksum_inplace_to_bytes+-- Args : [Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a SHA256 string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "buf", argType = TBasicType TUInt8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Output buffer with at least 32 bytes of space", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_checksum_inplace_to_bytes" ostree_checksum_inplace_to_bytes :: +    CString ->                              -- checksum : TBasicType TUTF8+    Word8 ->                                -- buf : TBasicType TUInt8+    IO ()++{- |+Convert /@checksum@/ from a string to binary in-place, without+allocating memory.  Use this function in hot code paths.+-}+checksumInplaceToBytes ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@checksum@/: a SHA256 string -}+    -> Word8+    {- ^ /@buf@/: Output buffer with at least 32 bytes of space -}+    -> m ()+checksumInplaceToBytes checksum buf = liftIO $ do+    checksum' <- textToCString checksum+    ostree_checksum_inplace_to_bytes checksum' buf+    freeMem checksum'+    return ()+++-- function ostree_checksum_from_bytes_v+-- Args : [Arg {argCName = "csum_v", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GVariant of type ay", 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 "ostree_checksum_from_bytes_v" ostree_checksum_from_bytes_v :: +    Ptr GVariant ->                         -- csum_v : TVariant+    IO CString++{- |+/No description available in the introspection data./+-}+checksumFromBytesV ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GVariant+    {- ^ /@csumV@/: 'GVariant' of type ay -}+    -> m T.Text+    {- ^ __Returns:__ String form of /@csumBytes@/ -}+checksumFromBytesV csumV = liftIO $ do+    csumV' <- unsafeManagedPtrGetPtr csumV+    result <- ostree_checksum_from_bytes_v csumV'+    checkUnexpectedReturnNULL "checksumFromBytesV" result+    result' <- cstringToText result+    freeMem result+    touchManagedPtr csumV+    return result'+++-- function ostree_checksum_from_bytes+-- Args : [Arg {argCName = "csum", argType = TCArray False 32 (-1) (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An binary checksum of length 32", 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 "ostree_checksum_from_bytes" ostree_checksum_from_bytes :: +    Ptr Word8 ->                            -- csum : TCArray False 32 (-1) (TBasicType TUInt8)+    IO CString++{- |+/No description available in the introspection data./+-}+checksumFromBytes ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    ByteString+    {- ^ /@csum@/: An binary checksum of length 32 -}+    -> m T.Text+    {- ^ __Returns:__ String form of /@csum@/ -}+checksumFromBytes csum = liftIO $ do+    csum' <- packByteString csum+    result <- ostree_checksum_from_bytes csum'+    checkUnexpectedReturnNULL "checksumFromBytes" result+    result' <- cstringToText result+    freeMem result+    freeMem csum'+    return result'+++-- function ostree_checksum_file_from_input+-- Args : [Arg {argCName = "file_info", argType = TInterface (Name {namespace = "Gio", name = "FileInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "File information", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "xattrs", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Optional extended attributes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "in", argType = TInterface (Name {namespace = "Gio", name = "InputStream"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "File content, should be %NULL for symbolic links", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "objtype", argType = TInterface (Name {namespace = "OSTree", name = "ObjectType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Object type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_csum", argType = TCArray False 32 (-1) (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for binary checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_checksum_file_from_input" ostree_checksum_file_from_input :: +    Ptr Gio.FileInfo.FileInfo ->            -- file_info : TInterface (Name {namespace = "Gio", name = "FileInfo"})+    Ptr GVariant ->                         -- xattrs : TVariant+    Ptr Gio.InputStream.InputStream ->      -- in : TInterface (Name {namespace = "Gio", name = "InputStream"})+    CUInt ->                                -- objtype : TInterface (Name {namespace = "OSTree", name = "ObjectType"})+    Ptr (Ptr Word8) ->                      -- out_csum : TCArray False 32 (-1) (TBasicType TUInt8)+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Compute the OSTree checksum for a given input.+-}+checksumFileFromInput ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.FileInfo.IsFileInfo a, Gio.InputStream.IsInputStream b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@fileInfo@/: File information -}+    -> Maybe (GVariant)+    {- ^ /@xattrs@/: Optional extended attributes -}+    -> Maybe (b)+    {- ^ /@in@/: File content, should be 'Nothing' for symbolic links -}+    -> OSTree.Enums.ObjectType+    {- ^ /@objtype@/: Object type -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m (ByteString)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+checksumFileFromInput fileInfo xattrs in_ objtype cancellable = liftIO $ do+    fileInfo' <- unsafeManagedPtrCastPtr fileInfo+    maybeXattrs <- case xattrs of+        Nothing -> return nullPtr+        Just jXattrs -> do+            jXattrs' <- unsafeManagedPtrGetPtr jXattrs+            return jXattrs'+    maybeIn_ <- case in_ of+        Nothing -> return nullPtr+        Just jIn_ -> do+            jIn_' <- unsafeManagedPtrCastPtr jIn_+            return jIn_'+    let objtype' = (fromIntegral . fromEnum) objtype+    outCsum <- allocMem :: IO (Ptr (Ptr Word8))+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_checksum_file_from_input fileInfo' maybeXattrs maybeIn_ objtype' outCsum maybeCancellable+        outCsum' <- peek outCsum+        outCsum'' <- (unpackByteStringWithLength 32) outCsum'+        freeMem outCsum'+        touchManagedPtr fileInfo+        whenJust xattrs touchManagedPtr+        whenJust in_ touchManagedPtr+        whenJust cancellable touchManagedPtr+        freeMem outCsum+        return outCsum''+     ) (do+        freeMem outCsum+     )+++-- function ostree_checksum_file_at+-- Args : [Arg {argCName = "dfd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Directory file descriptor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Subpath\n@stbuf (allow-none): Optional stat buffer", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stbuf", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "objtype", argType = TInterface (Name {namespace = "OSTree", name = "ObjectType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Object type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "OSTree", name = "ChecksumFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Flags\n@out_checksum (out) (transfer full): Return location for hex checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_checksum", 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 = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_checksum_file_at" ostree_checksum_file_at :: +    Int32 ->                                -- dfd : TBasicType TInt+    CString ->                              -- path : TBasicType TUTF8+    Ptr () ->                               -- stbuf : TBasicType TPtr+    CUInt ->                                -- objtype : TInterface (Name {namespace = "OSTree", name = "ObjectType"})+    CUInt ->                                -- flags : TInterface (Name {namespace = "OSTree", name = "ChecksumFlags"})+    CString ->                              -- out_checksum : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Compute the OSTree checksum for a given file. This is an fd-relative version+of 'GI.OSTree.Functions.checksumFile' which also takes flags and fills in a caller+allocated buffer.++/Since: 2017.13/+-}+checksumFileAt ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.Cancellable.IsCancellable a) =>+    Int32+    {- ^ /@dfd@/: Directory file descriptor -}+    -> T.Text+    {- ^ /@path@/: Subpath+/@stbuf@/ (allow-none): Optional stat buffer -}+    -> Ptr ()+    -> OSTree.Enums.ObjectType+    {- ^ /@objtype@/: Object type -}+    -> [OSTree.Flags.ChecksumFlags]+    {- ^ /@flags@/: Flags+/@outChecksum@/ (out) (transfer full): Return location for hex checksum -}+    -> T.Text+    -> Maybe (a)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+checksumFileAt dfd path stbuf objtype flags outChecksum cancellable = liftIO $ do+    path' <- textToCString path+    let objtype' = (fromIntegral . fromEnum) objtype+    let flags' = gflagsToWord flags+    outChecksum' <- textToCString outChecksum+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_checksum_file_at dfd path' stbuf objtype' flags' outChecksum' maybeCancellable+        whenJust cancellable touchManagedPtr+        freeMem path'+        freeMem outChecksum'+        return ()+     ) (do+        freeMem path'+        freeMem outChecksum'+     )+++-- function ostree_checksum_file_async_finish+-- Args : [Arg {argCName = "f", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "File path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface (Name {namespace = "Gio", name = "AsyncResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Async result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_csum", argType = TCArray False 32 (-1) (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for binary checksum", 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 "ostree_checksum_file_async_finish" ostree_checksum_file_async_finish :: +    Ptr Gio.File.File ->                    -- f : TInterface (Name {namespace = "Gio", name = "File"})+    Ptr Gio.AsyncResult.AsyncResult ->      -- result : TInterface (Name {namespace = "Gio", name = "AsyncResult"})+    Ptr (Ptr Word8) ->                      -- out_csum : TCArray False 32 (-1) (TBasicType TUInt8)+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Finish computing the OSTree checksum for a given file; see+'GI.OSTree.Functions.checksumFileAsync'.+-}+checksumFileAsyncFinish ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.File.IsFile a, Gio.AsyncResult.IsAsyncResult b) =>+    a+    {- ^ /@f@/: File path -}+    -> b+    {- ^ /@result@/: Async result -}+    -> m (ByteString)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+checksumFileAsyncFinish f result_ = liftIO $ do+    f' <- unsafeManagedPtrCastPtr f+    result_' <- unsafeManagedPtrCastPtr result_+    outCsum <- allocMem :: IO (Ptr (Ptr Word8))+    onException (do+        _ <- propagateGError $ ostree_checksum_file_async_finish f' result_' outCsum+        outCsum' <- peek outCsum+        outCsum'' <- (unpackByteStringWithLength 32) outCsum'+        freeMem outCsum'+        touchManagedPtr f+        touchManagedPtr result_+        freeMem outCsum+        return outCsum''+     ) (do+        freeMem outCsum+     )+++-- function ostree_checksum_file_async+-- Args : [Arg {argCName = "f", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "File path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "objtype", argType = TInterface (Name {namespace = "OSTree", name = "ObjectType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Object type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "io_priority", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Priority for operation, see %G_IO_PRIORITY_DEFAULT", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Invoked when operation is complete", 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 "Data for @callback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_checksum_file_async" ostree_checksum_file_async :: +    Ptr Gio.File.File ->                    -- f : TInterface (Name {namespace = "Gio", name = "File"})+    CUInt ->                                -- objtype : TInterface (Name {namespace = "OSTree", name = "ObjectType"})+    Int32 ->                                -- io_priority : TBasicType TInt+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    FunPtr Gio.Callbacks.C_AsyncReadyCallback -> -- callback : TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"})+    Ptr () ->                               -- user_data : TBasicType TPtr+    IO ()++{- |+Asynchronously compute the OSTree checksum for a given file;+complete with 'GI.OSTree.Functions.checksumFileAsyncFinish'.+-}+checksumFileAsync ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.File.IsFile a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@f@/: File path -}+    -> OSTree.Enums.ObjectType+    {- ^ /@objtype@/: Object type -}+    -> Int32+    {- ^ /@ioPriority@/: Priority for operation, see @/G_IO_PRIORITY_DEFAULT/@ -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> Maybe (Gio.Callbacks.AsyncReadyCallback)+    {- ^ /@callback@/: Invoked when operation is complete -}+    -> m ()+checksumFileAsync f objtype ioPriority cancellable callback = liftIO $ do+    f' <- unsafeManagedPtrCastPtr f+    let objtype' = (fromIntegral . fromEnum) objtype+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    maybeCallback <- case callback of+        Nothing -> return (castPtrToFunPtr nullPtr)+        Just jCallback -> do+            ptrcallback <- callocMem :: IO (Ptr (FunPtr Gio.Callbacks.C_AsyncReadyCallback))+            jCallback' <- Gio.Callbacks.mk_AsyncReadyCallback (Gio.Callbacks.wrap_AsyncReadyCallback (Just ptrcallback) (Gio.Callbacks.drop_closures_AsyncReadyCallback jCallback))+            poke ptrcallback jCallback'+            return jCallback'+    let userData = nullPtr+    ostree_checksum_file_async f' objtype' ioPriority maybeCancellable maybeCallback userData+    touchManagedPtr f+    whenJust cancellable touchManagedPtr+    return ()+++-- function ostree_checksum_file+-- Args : [Arg {argCName = "f", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "File path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "objtype", argType = TInterface (Name {namespace = "OSTree", name = "ObjectType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Object type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_csum", argType = TCArray False 32 (-1) (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for binary checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_checksum_file" ostree_checksum_file :: +    Ptr Gio.File.File ->                    -- f : TInterface (Name {namespace = "Gio", name = "File"})+    CUInt ->                                -- objtype : TInterface (Name {namespace = "OSTree", name = "ObjectType"})+    Ptr (Ptr Word8) ->                      -- out_csum : TCArray False 32 (-1) (TBasicType TUInt8)+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Compute the OSTree checksum for a given file.+-}+checksumFile ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.File.IsFile a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@f@/: File path -}+    -> OSTree.Enums.ObjectType+    {- ^ /@objtype@/: Object type -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m (ByteString)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+checksumFile f objtype cancellable = liftIO $ do+    f' <- unsafeManagedPtrCastPtr f+    let objtype' = (fromIntegral . fromEnum) objtype+    outCsum <- allocMem :: IO (Ptr (Ptr Word8))+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_checksum_file f' objtype' outCsum maybeCancellable+        outCsum' <- peek outCsum+        outCsum'' <- (unpackByteStringWithLength 32) outCsum'+        freeMem outCsum'+        touchManagedPtr f+        whenJust cancellable touchManagedPtr+        freeMem outCsum+        return outCsum''+     ) (do+        freeMem outCsum+     )+++-- function ostree_checksum_bytes_peek_validate+-- Args : [Arg {argCName = "bytes", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GVariant of type ay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TCArray False 32 (-1) (TBasicType TUInt8))+-- throws : True+-- Skip return : False++foreign import ccall "ostree_checksum_bytes_peek_validate" ostree_checksum_bytes_peek_validate :: +    Ptr GVariant ->                         -- bytes : TVariant+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr Word8)++{- |+Like 'GI.OSTree.Functions.checksumBytesPeek', but also throws /@error@/.+-}+checksumBytesPeekValidate ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GVariant+    {- ^ /@bytes@/: 'GVariant' of type ay -}+    -> m ByteString+    {- ^ __Returns:__ Binary checksum data /(Can throw 'Data.GI.Base.GError.GError')/ -}+checksumBytesPeekValidate bytes = liftIO $ do+    bytes' <- unsafeManagedPtrGetPtr bytes+    onException (do+        result <- propagateGError $ ostree_checksum_bytes_peek_validate bytes'+        checkUnexpectedReturnNULL "checksumBytesPeekValidate" result+        result' <- (unpackByteStringWithLength 32) result+        touchManagedPtr bytes+        return result'+     ) (do+        return ()+     )+++-- function ostree_checksum_bytes_peek+-- Args : [Arg {argCName = "bytes", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GVariant of type ay", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TCArray False 32 (-1) (TBasicType TUInt8))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_checksum_bytes_peek" ostree_checksum_bytes_peek :: +    Ptr GVariant ->                         -- bytes : TVariant+    IO (Ptr Word8)++{- |+/No description available in the introspection data./+-}+checksumBytesPeek ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GVariant+    {- ^ /@bytes@/: 'GVariant' of type ay -}+    -> m ByteString+    {- ^ __Returns:__ Binary checksum data in /@bytes@/; do not free.  If /@bytes@/ does not have the correct length, return 'Nothing'. -}+checksumBytesPeek bytes = liftIO $ do+    bytes' <- unsafeManagedPtrGetPtr bytes+    result <- ostree_checksum_bytes_peek bytes'+    checkUnexpectedReturnNULL "checksumBytesPeek" result+    result' <- (unpackByteStringWithLength 32) result+    touchManagedPtr bytes+    return result'+++-- function ostree_checksum_b64_to_bytes+-- Args : [Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An ASCII checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TCArray False 32 (-1) (TBasicType TUInt8))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_checksum_b64_to_bytes" ostree_checksum_b64_to_bytes :: +    CString ->                              -- checksum : TBasicType TUTF8+    IO (Ptr Word8)++{- |+/No description available in the introspection data./+-}+checksumB64ToBytes ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    {- ^ /@checksum@/: An ASCII checksum -}+    -> m ByteString+    {- ^ __Returns:__ Binary version of /@checksum@/. -}+checksumB64ToBytes checksum = liftIO $ do+    checksum' <- textToCString checksum+    result <- ostree_checksum_b64_to_bytes checksum'+    checkUnexpectedReturnNULL "checksumB64ToBytes" result+    result' <- (unpackByteStringWithLength 32) result+    freeMem result+    freeMem checksum'+    return result'+++-- function ostree_checksum_b64_from_bytes+-- Args : [Arg {argCName = "csum", argType = TCArray False 32 (-1) (TBasicType TUInt8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An binary checksum of length 32", 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 "ostree_checksum_b64_from_bytes" ostree_checksum_b64_from_bytes :: +    Ptr Word8 ->                            -- csum : TCArray False 32 (-1) (TBasicType TUInt8)+    IO CString++{- |+/No description available in the introspection data./+-}+checksumB64FromBytes ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    ByteString+    {- ^ /@csum@/: An binary checksum of length 32 -}+    -> m T.Text+    {- ^ __Returns:__ Modified base64 encoding of /@csum@/++The \"modified\" term refers to the fact that instead of \'\/\', the \'_\'+character is used. -}+checksumB64FromBytes csum = liftIO $ do+    csum' <- packByteString csum+    result <- ostree_checksum_b64_from_bytes csum'+    checkUnexpectedReturnNULL "checksumB64FromBytes" result+    result' <- cstringToText result+    freeMem result+    freeMem csum'+    return result'+++-- function ostree_check_version+-- Args : [Arg {argCName = "required_year", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Major/year required", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "required_release", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Release version required", 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 "ostree_check_version" ostree_check_version :: +    Word32 ->                               -- required_year : TBasicType TUInt+    Word32 ->                               -- required_release : TBasicType TUInt+    IO CInt++{- |+/No description available in the introspection data./+-}+checkVersion ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Word32+    {- ^ /@requiredYear@/: Major\/year required -}+    -> Word32+    {- ^ /@requiredRelease@/: Release version required -}+    -> m Bool+    {- ^ __Returns:__ 'True' if current libostree has at least the requested version, 'False' otherwise -}+checkVersion requiredYear requiredRelease = liftIO $ do+    result <- ostree_check_version requiredYear requiredRelease+    let result' = (/= 0) result+    return result'+++-- function ostree_break_hardlink+-- Args : [Arg {argCName = "dfd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Directory fd", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Path relative to @dfd", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "skip_xattrs", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Do not copy extended attributes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "ostree_break_hardlink" ostree_break_hardlink :: +    Int32 ->                                -- dfd : TBasicType TInt+    CString ->                              -- path : TBasicType TUTF8+    CInt ->                                 -- skip_xattrs : TBasicType TBoolean+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+In many cases using libostree, a program may need to \"break\"+hardlinks by performing a copy.  For example, in order to+logically append to a file.++This function performs full copying, including e.g. extended+attributes and permissions of both regular files and symbolic links.++If the file is not hardlinked, this function does nothing and+returns successfully.++This function does not perform synchronization via @fsync()@ or+@fdatasync()@; the idea is this will commonly be done as part+of an @ostree_repo_commit_transaction()@, which itself takes+care of synchronization.++/Since: 2017.15/+-}+breakHardlink ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.Cancellable.IsCancellable a) =>+    Int32+    {- ^ /@dfd@/: Directory fd -}+    -> T.Text+    {- ^ /@path@/: Path relative to /@dfd@/ -}+    -> Bool+    {- ^ /@skipXattrs@/: Do not copy extended attributes -}+    -> Maybe (a)+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+breakHardlink dfd path skipXattrs cancellable = liftIO $ do+    path' <- textToCString path+    let skipXattrs' = (fromIntegral . fromEnum) skipXattrs+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_break_hardlink dfd path' skipXattrs' maybeCancellable+        whenJust cancellable touchManagedPtr+        freeMem path'+        return ()+     ) (do+        freeMem path'+     )+++
+ GI/OSTree/Interfaces.hs view
@@ -0,0 +1,41 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.OSTree.Interfaces+    (     module GI.OSTree.Interfaces.RepoFinder  ,+++    ) where++import GI.OSTree.Interfaces.RepoFinder++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/OSTree/Interfaces/RepoFinder.hs view
@@ -0,0 +1,410 @@+++{- |+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.OSTree.Interfaces.RepoFinder+    ( ++-- * Exported types+    RepoFinder(..)                          ,+    noRepoFinder                            ,+    IsRepoFinder                            ,+    toRepoFinder                            ,+++ -- * Methods+-- ** resolveAllAsync #method:resolveAllAsync#++    repoFinderResolveAllAsync               ,+++-- ** resolveAllFinish #method:resolveAllFinish#++    repoFinderResolveAllFinish              ,+++-- ** resolveAsync #method:resolveAsync#++#if ENABLE_OVERLOADING+    RepoFinderResolveAsyncMethodInfo        ,+#endif+    repoFinderResolveAsync                  ,+++-- ** resolveFinish #method:resolveFinish#++#if ENABLE_OVERLOADING+    RepoFinderResolveFinishMethodInfo       ,+#endif+    repoFinderResolveFinish                 ,+++++    ) 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.GObject.Objects.Object as GObject.Object+import qualified GI.Gio.Callbacks as Gio.Callbacks+import qualified GI.Gio.Interfaces.AsyncResult as Gio.AsyncResult+import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable+import {-# SOURCE #-} qualified GI.OSTree.Objects.Repo as OSTree.Repo+import {-# SOURCE #-} qualified GI.OSTree.Structs.CollectionRef as OSTree.CollectionRef+import {-# SOURCE #-} qualified GI.OSTree.Structs.RepoFinderResult as OSTree.RepoFinderResult++-- interface RepoFinder +-- | Memory-managed wrapper type.+newtype RepoFinder = RepoFinder (ManagedPtr RepoFinder)+-- | A convenience alias for `Nothing` :: `Maybe` `RepoFinder`.+noRepoFinder :: Maybe RepoFinder+noRepoFinder = Nothing++#if ENABLE_OVERLOADING+type instance O.SignalList RepoFinder = RepoFinderSignalList+type RepoFinderSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++foreign import ccall "ostree_repo_finder_get_type"+    c_ostree_repo_finder_get_type :: IO GType++instance GObject RepoFinder where+    gobjectType = c_ostree_repo_finder_get_type+    ++-- | Type class for types which can be safely cast to `RepoFinder`, for instance with `toRepoFinder`.+class (GObject o, O.IsDescendantOf RepoFinder o) => IsRepoFinder o+instance (GObject o, O.IsDescendantOf RepoFinder o) => IsRepoFinder o++instance O.HasParentTypes RepoFinder+type instance O.ParentTypes RepoFinder = '[GObject.Object.Object]++-- | Cast to `RepoFinder`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toRepoFinder :: (MonadIO m, IsRepoFinder o) => o -> m RepoFinder+toRepoFinder = liftIO . unsafeCastTo RepoFinder++#if ENABLE_OVERLOADING+instance O.HasAttributeList RepoFinder+type instance O.AttributeList RepoFinder = RepoFinderAttributeList+type RepoFinderAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type family ResolveRepoFinderMethod (t :: Symbol) (o :: *) :: * where+    ResolveRepoFinderMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveRepoFinderMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveRepoFinderMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveRepoFinderMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveRepoFinderMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveRepoFinderMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveRepoFinderMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveRepoFinderMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveRepoFinderMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveRepoFinderMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveRepoFinderMethod "resolveAsync" o = RepoFinderResolveAsyncMethodInfo+    ResolveRepoFinderMethod "resolveFinish" o = RepoFinderResolveFinishMethodInfo+    ResolveRepoFinderMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveRepoFinderMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveRepoFinderMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveRepoFinderMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveRepoFinderMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveRepoFinderMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveRepoFinderMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveRepoFinderMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveRepoFinderMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveRepoFinderMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveRepoFinderMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveRepoFinderMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRepoFinderMethod t RepoFinder, O.MethodInfo info RepoFinder p) => OL.IsLabel t (RepoFinder -> 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++-- method RepoFinder::resolve_async+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "RepoFinder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRepoFinder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "refs", argType = TCArray True (-1) (-1) (TInterface (Name {namespace = "OSTree", name = "CollectionRef"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "non-empty array of collection\8211ref pairs to find remotes for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent_repo", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the local repository which the refs are being resolved for,\n   which provides configuration information and GPG keys", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GCancellable, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "asynchronous completion callback", 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 "data to pass to @callback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_finder_resolve_async" ostree_repo_finder_resolve_async :: +    Ptr RepoFinder ->                       -- self : TInterface (Name {namespace = "OSTree", name = "RepoFinder"})+    Ptr (Ptr OSTree.CollectionRef.CollectionRef) -> -- refs : TCArray True (-1) (-1) (TInterface (Name {namespace = "OSTree", name = "CollectionRef"}))+    Ptr OSTree.Repo.Repo ->                 -- parent_repo : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    FunPtr Gio.Callbacks.C_AsyncReadyCallback -> -- callback : TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"})+    Ptr () ->                               -- user_data : TBasicType TPtr+    IO ()++{- |+Find reachable remote URIs which claim to provide any of the given /@refs@/. The+specific method for finding the remotes depends on the 'GI.OSTree.Interfaces.RepoFinder.RepoFinder'+implementation.++Any remote which is found and which claims to support any of the given /@refs@/+will be returned in the results. It is possible that a remote claims to+support a given ref, but turns out not to — it is not possible to verify this+until 'GI.OSTree.Objects.Repo.repoPullFromRemotesAsync' is called.++The returned results will be sorted with the most useful first — this is+typically the remote which claims to provide the most /@refs@/, at the lowest+latency.++Each result contains a mapping of /@refs@/ to the checksums of the commits+which the result provides. If the result provides the latest commit for a ref+across all of the results, the checksum will be set. Otherwise, if the+result provides an outdated commit, or doesn’t provide a given ref at all,+the checksum will not be set. Results which provide none of the requested+/@refs@/ may be listed with an empty refs map.++Pass the results to 'GI.OSTree.Objects.Repo.repoPullFromRemotesAsync' to pull the given+/@refs@/ from those remotes.++/Since: 2018.6/+-}+repoFinderResolveAsync ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepoFinder a, OSTree.Repo.IsRepo b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: an 'GI.OSTree.Interfaces.RepoFinder.RepoFinder' -}+    -> [OSTree.CollectionRef.CollectionRef]+    {- ^ /@refs@/: non-empty array of collection–ref pairs to find remotes for -}+    -> b+    {- ^ /@parentRepo@/: the local repository which the refs are being resolved for,+   which provides configuration information and GPG keys -}+    -> Maybe (c)+    {- ^ /@cancellable@/: a 'GI.Gio.Objects.Cancellable.Cancellable', or 'Nothing' -}+    -> Maybe (Gio.Callbacks.AsyncReadyCallback)+    {- ^ /@callback@/: asynchronous completion callback -}+    -> m ()+repoFinderResolveAsync self refs parentRepo cancellable callback = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    refs' <- mapM unsafeManagedPtrGetPtr refs+    refs'' <- packZeroTerminatedPtrArray refs'+    parentRepo' <- unsafeManagedPtrCastPtr parentRepo+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    maybeCallback <- case callback of+        Nothing -> return (castPtrToFunPtr nullPtr)+        Just jCallback -> do+            ptrcallback <- callocMem :: IO (Ptr (FunPtr Gio.Callbacks.C_AsyncReadyCallback))+            jCallback' <- Gio.Callbacks.mk_AsyncReadyCallback (Gio.Callbacks.wrap_AsyncReadyCallback (Just ptrcallback) (Gio.Callbacks.drop_closures_AsyncReadyCallback jCallback))+            poke ptrcallback jCallback'+            return jCallback'+    let userData = nullPtr+    ostree_repo_finder_resolve_async self' refs'' parentRepo' maybeCancellable maybeCallback userData+    touchManagedPtr self+    mapM_ touchManagedPtr refs+    touchManagedPtr parentRepo+    whenJust cancellable touchManagedPtr+    freeMem refs''+    return ()++#if ENABLE_OVERLOADING+data RepoFinderResolveAsyncMethodInfo+instance (signature ~ ([OSTree.CollectionRef.CollectionRef] -> b -> Maybe (c) -> Maybe (Gio.Callbacks.AsyncReadyCallback) -> m ()), MonadIO m, IsRepoFinder a, OSTree.Repo.IsRepo b, Gio.Cancellable.IsCancellable c) => O.MethodInfo RepoFinderResolveAsyncMethodInfo a signature where+    overloadedMethod _ = repoFinderResolveAsync++#endif++-- method RepoFinder::resolve_finish+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "RepoFinder"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRepoFinder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface (Name {namespace = "Gio", name = "AsyncResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GAsyncResult from the callback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TPtrArray (TInterface (Name {namespace = "OSTree", name = "RepoFinderResult"})))+-- throws : True+-- Skip return : False++foreign import ccall "ostree_repo_finder_resolve_finish" ostree_repo_finder_resolve_finish :: +    Ptr RepoFinder ->                       -- self : TInterface (Name {namespace = "OSTree", name = "RepoFinder"})+    Ptr Gio.AsyncResult.AsyncResult ->      -- result : TInterface (Name {namespace = "Gio", name = "AsyncResult"})+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr (GPtrArray (Ptr OSTree.RepoFinderResult.RepoFinderResult)))++{- |+Get the results from a 'GI.OSTree.Interfaces.RepoFinder.repoFinderResolveAsync' operation.++/Since: 2018.6/+-}+repoFinderResolveFinish ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepoFinder a, Gio.AsyncResult.IsAsyncResult b) =>+    a+    {- ^ /@self@/: an 'GI.OSTree.Interfaces.RepoFinder.RepoFinder' -}+    -> b+    {- ^ /@result@/: 'GI.Gio.Interfaces.AsyncResult.AsyncResult' from the callback -}+    -> m [OSTree.RepoFinderResult.RepoFinderResult]+    {- ^ __Returns:__ array of zero+   or more results /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoFinderResolveFinish self result_ = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result_' <- unsafeManagedPtrCastPtr result_+    onException (do+        result <- propagateGError $ ostree_repo_finder_resolve_finish self' result_'+        checkUnexpectedReturnNULL "repoFinderResolveFinish" result+        result' <- unpackGPtrArray result+        result'' <- mapM (wrapBoxed OSTree.RepoFinderResult.RepoFinderResult) result'+        unrefPtrArray result+        touchManagedPtr self+        touchManagedPtr result_+        return result''+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepoFinderResolveFinishMethodInfo+instance (signature ~ (b -> m [OSTree.RepoFinderResult.RepoFinderResult]), MonadIO m, IsRepoFinder a, Gio.AsyncResult.IsAsyncResult b) => O.MethodInfo RepoFinderResolveFinishMethodInfo a signature where+    overloadedMethod _ = repoFinderResolveFinish++#endif++-- method RepoFinder::resolve_all_async+-- method type : MemberFunction+-- Args : [Arg {argCName = "finders", argType = TCArray True (-1) (-1) (TInterface (Name {namespace = "OSTree", name = "RepoFinder"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "non-empty array of #OstreeRepoFinders", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "refs", argType = TCArray True (-1) (-1) (TInterface (Name {namespace = "OSTree", name = "CollectionRef"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "non-empty array of collection\8211ref pairs to find remotes for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent_repo", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the local repository which the refs are being resolved for,\n   which provides configuration information and GPG keys", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GCancellable, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "asynchronous completion callback", 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 "data to pass to @callback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_finder_resolve_all_async" ostree_repo_finder_resolve_all_async :: +    Ptr (Ptr RepoFinder) ->                 -- finders : TCArray True (-1) (-1) (TInterface (Name {namespace = "OSTree", name = "RepoFinder"}))+    Ptr (Ptr OSTree.CollectionRef.CollectionRef) -> -- refs : TCArray True (-1) (-1) (TInterface (Name {namespace = "OSTree", name = "CollectionRef"}))+    Ptr OSTree.Repo.Repo ->                 -- parent_repo : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    FunPtr Gio.Callbacks.C_AsyncReadyCallback -> -- callback : TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"})+    Ptr () ->                               -- user_data : TBasicType TPtr+    IO ()++{- |+A version of 'GI.OSTree.Interfaces.RepoFinder.repoFinderResolveAsync' which queries one or more+/@finders@/ in parallel and combines the results.++/Since: 2018.6/+-}+repoFinderResolveAllAsync ::+    (B.CallStack.HasCallStack, MonadIO m, OSTree.Repo.IsRepo a, Gio.Cancellable.IsCancellable b) =>+    [RepoFinder]+    {- ^ /@finders@/: non-empty array of @/OstreeRepoFinders/@ -}+    -> [OSTree.CollectionRef.CollectionRef]+    {- ^ /@refs@/: non-empty array of collection–ref pairs to find remotes for -}+    -> a+    {- ^ /@parentRepo@/: the local repository which the refs are being resolved for,+   which provides configuration information and GPG keys -}+    -> Maybe (b)+    {- ^ /@cancellable@/: a 'GI.Gio.Objects.Cancellable.Cancellable', or 'Nothing' -}+    -> Maybe (Gio.Callbacks.AsyncReadyCallback)+    {- ^ /@callback@/: asynchronous completion callback -}+    -> m ()+repoFinderResolveAllAsync finders refs parentRepo cancellable callback = liftIO $ do+    finders' <- mapM unsafeManagedPtrCastPtr finders+    finders'' <- packZeroTerminatedPtrArray finders'+    refs' <- mapM unsafeManagedPtrGetPtr refs+    refs'' <- packZeroTerminatedPtrArray refs'+    parentRepo' <- unsafeManagedPtrCastPtr parentRepo+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    maybeCallback <- case callback of+        Nothing -> return (castPtrToFunPtr nullPtr)+        Just jCallback -> do+            ptrcallback <- callocMem :: IO (Ptr (FunPtr Gio.Callbacks.C_AsyncReadyCallback))+            jCallback' <- Gio.Callbacks.mk_AsyncReadyCallback (Gio.Callbacks.wrap_AsyncReadyCallback (Just ptrcallback) (Gio.Callbacks.drop_closures_AsyncReadyCallback jCallback))+            poke ptrcallback jCallback'+            return jCallback'+    let userData = nullPtr+    ostree_repo_finder_resolve_all_async finders'' refs'' parentRepo' maybeCancellable maybeCallback userData+    mapM_ touchManagedPtr finders+    mapM_ touchManagedPtr refs+    touchManagedPtr parentRepo+    whenJust cancellable touchManagedPtr+    freeMem finders''+    freeMem refs''+    return ()++#if ENABLE_OVERLOADING+#endif++-- method RepoFinder::resolve_all_finish+-- method type : MemberFunction+-- Args : [Arg {argCName = "result", argType = TInterface (Name {namespace = "Gio", name = "AsyncResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GAsyncResult from the callback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TPtrArray (TInterface (Name {namespace = "OSTree", name = "RepoFinderResult"})))+-- throws : True+-- Skip return : False++foreign import ccall "ostree_repo_finder_resolve_all_finish" ostree_repo_finder_resolve_all_finish :: +    Ptr Gio.AsyncResult.AsyncResult ->      -- result : TInterface (Name {namespace = "Gio", name = "AsyncResult"})+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr (GPtrArray (Ptr OSTree.RepoFinderResult.RepoFinderResult)))++{- |+Get the results from a 'GI.OSTree.Functions.repoFinderResolveAllAsync' operation.++/Since: 2018.6/+-}+repoFinderResolveAllFinish ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.AsyncResult.IsAsyncResult a) =>+    a+    {- ^ /@result@/: 'GI.Gio.Interfaces.AsyncResult.AsyncResult' from the callback -}+    -> m [OSTree.RepoFinderResult.RepoFinderResult]+    {- ^ __Returns:__ array of zero+   or more results /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoFinderResolveAllFinish result_ = liftIO $ do+    result_' <- unsafeManagedPtrCastPtr result_+    onException (do+        result <- propagateGError $ ostree_repo_finder_resolve_all_finish result_'+        checkUnexpectedReturnNULL "repoFinderResolveAllFinish" result+        result' <- unpackGPtrArray result+        result'' <- mapM (wrapBoxed OSTree.RepoFinderResult.RepoFinderResult) result'+        unrefPtrArray result+        touchManagedPtr result_+        return result''+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+#endif++
+ GI/OSTree/Interfaces/RepoFinder.hs-boot view
@@ -0,0 +1,35 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Interfaces.RepoFinder 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 RepoFinder = RepoFinder (ManagedPtr RepoFinder)+instance GObject RepoFinder where+class (GObject o, O.IsDescendantOf RepoFinder o) => IsRepoFinder o+instance (GObject o, O.IsDescendantOf RepoFinder o) => IsRepoFinder o+instance O.HasParentTypes RepoFinder+#if ENABLE_OVERLOADING+data RepoFinderResolveAsyncMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoFinderResolveFinishMethodInfo+#endif
+ GI/OSTree/Objects.hs view
@@ -0,0 +1,69 @@+++{- |+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.OSTree.Objects+    (     module GI.OSTree.Objects.AsyncProgress  ,+    module GI.OSTree.Objects.BootconfigParser,+    module GI.OSTree.Objects.ChecksumInputStream,+    module GI.OSTree.Objects.Deployment     ,+    module GI.OSTree.Objects.GpgVerifyResult,+    module GI.OSTree.Objects.MutableTree    ,+    module GI.OSTree.Objects.Repo           ,+    module GI.OSTree.Objects.RepoFile       ,+    module GI.OSTree.Objects.RepoFinderAvahi,+    module GI.OSTree.Objects.RepoFinderConfig,+    module GI.OSTree.Objects.RepoFinderMount,+    module GI.OSTree.Objects.RepoFinderOverride,+    module GI.OSTree.Objects.SePolicy       ,+    module GI.OSTree.Objects.Sysroot        ,+    module GI.OSTree.Objects.SysrootUpgrader,+++    ) where++import GI.OSTree.Objects.AsyncProgress+import GI.OSTree.Objects.BootconfigParser+import GI.OSTree.Objects.ChecksumInputStream+import GI.OSTree.Objects.Deployment+import GI.OSTree.Objects.GpgVerifyResult+import GI.OSTree.Objects.MutableTree+import GI.OSTree.Objects.Repo+import GI.OSTree.Objects.RepoFile+import GI.OSTree.Objects.RepoFinderAvahi+import GI.OSTree.Objects.RepoFinderConfig+import GI.OSTree.Objects.RepoFinderMount+import GI.OSTree.Objects.RepoFinderOverride+import GI.OSTree.Objects.SePolicy+import GI.OSTree.Objects.Sysroot+import GI.OSTree.Objects.SysrootUpgrader++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/OSTree/Objects/AsyncProgress.hs view
@@ -0,0 +1,733 @@+++{- |+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.OSTree.Objects.AsyncProgress+    ( ++-- * Exported types+    AsyncProgress(..)                       ,+    IsAsyncProgress                         ,+    toAsyncProgress                         ,+    noAsyncProgress                         ,+++ -- * Methods+-- ** finish #method:finish#++#if ENABLE_OVERLOADING+    AsyncProgressFinishMethodInfo           ,+#endif+    asyncProgressFinish                     ,+++-- ** getStatus #method:getStatus#++#if ENABLE_OVERLOADING+    AsyncProgressGetStatusMethodInfo        ,+#endif+    asyncProgressGetStatus                  ,+++-- ** getUint #method:getUint#++#if ENABLE_OVERLOADING+    AsyncProgressGetUintMethodInfo          ,+#endif+    asyncProgressGetUint                    ,+++-- ** getUint64 #method:getUint64#++#if ENABLE_OVERLOADING+    AsyncProgressGetUint64MethodInfo        ,+#endif+    asyncProgressGetUint64                  ,+++-- ** getVariant #method:getVariant#++#if ENABLE_OVERLOADING+    AsyncProgressGetVariantMethodInfo       ,+#endif+    asyncProgressGetVariant                 ,+++-- ** new #method:new#++    asyncProgressNew                        ,+++-- ** newAndConnect #method:newAndConnect#++    asyncProgressNewAndConnect              ,+++-- ** setStatus #method:setStatus#++#if ENABLE_OVERLOADING+    AsyncProgressSetStatusMethodInfo        ,+#endif+    asyncProgressSetStatus                  ,+++-- ** setUint #method:setUint#++#if ENABLE_OVERLOADING+    AsyncProgressSetUintMethodInfo          ,+#endif+    asyncProgressSetUint                    ,+++-- ** setUint64 #method:setUint64#++#if ENABLE_OVERLOADING+    AsyncProgressSetUint64MethodInfo        ,+#endif+    asyncProgressSetUint64                  ,+++-- ** setVariant #method:setVariant#++#if ENABLE_OVERLOADING+    AsyncProgressSetVariantMethodInfo       ,+#endif+    asyncProgressSetVariant                 ,+++++ -- * Signals+-- ** changed #signal:changed#++    AsyncProgressChangedCallback            ,+#if ENABLE_OVERLOADING+    AsyncProgressChangedSignalInfo          ,+#endif+    C_AsyncProgressChangedCallback          ,+    afterAsyncProgressChanged               ,+    genClosure_AsyncProgressChanged         ,+    mk_AsyncProgressChangedCallback         ,+    noAsyncProgressChangedCallback          ,+    onAsyncProgressChanged                  ,+    wrap_AsyncProgressChangedCallback       ,+++++    ) 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.GObject.Objects.Object as GObject.Object++-- | Memory-managed wrapper type.+newtype AsyncProgress = AsyncProgress (ManagedPtr AsyncProgress)+foreign import ccall "ostree_async_progress_get_type"+    c_ostree_async_progress_get_type :: IO GType++instance GObject AsyncProgress where+    gobjectType = c_ostree_async_progress_get_type+    ++-- | Type class for types which can be safely cast to `AsyncProgress`, for instance with `toAsyncProgress`.+class (GObject o, O.IsDescendantOf AsyncProgress o) => IsAsyncProgress o+instance (GObject o, O.IsDescendantOf AsyncProgress o) => IsAsyncProgress o++instance O.HasParentTypes AsyncProgress+type instance O.ParentTypes AsyncProgress = '[GObject.Object.Object]++-- | Cast to `AsyncProgress`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toAsyncProgress :: (MonadIO m, IsAsyncProgress o) => o -> m AsyncProgress+toAsyncProgress = liftIO . unsafeCastTo AsyncProgress++-- | A convenience alias for `Nothing` :: `Maybe` `AsyncProgress`.+noAsyncProgress :: Maybe AsyncProgress+noAsyncProgress = Nothing++#if ENABLE_OVERLOADING+type family ResolveAsyncProgressMethod (t :: Symbol) (o :: *) :: * where+    ResolveAsyncProgressMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveAsyncProgressMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveAsyncProgressMethod "finish" o = AsyncProgressFinishMethodInfo+    ResolveAsyncProgressMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveAsyncProgressMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveAsyncProgressMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveAsyncProgressMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveAsyncProgressMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveAsyncProgressMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveAsyncProgressMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveAsyncProgressMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveAsyncProgressMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveAsyncProgressMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveAsyncProgressMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveAsyncProgressMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveAsyncProgressMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveAsyncProgressMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveAsyncProgressMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveAsyncProgressMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveAsyncProgressMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveAsyncProgressMethod "getStatus" o = AsyncProgressGetStatusMethodInfo+    ResolveAsyncProgressMethod "getUint" o = AsyncProgressGetUintMethodInfo+    ResolveAsyncProgressMethod "getUint64" o = AsyncProgressGetUint64MethodInfo+    ResolveAsyncProgressMethod "getVariant" o = AsyncProgressGetVariantMethodInfo+    ResolveAsyncProgressMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveAsyncProgressMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveAsyncProgressMethod "setStatus" o = AsyncProgressSetStatusMethodInfo+    ResolveAsyncProgressMethod "setUint" o = AsyncProgressSetUintMethodInfo+    ResolveAsyncProgressMethod "setUint64" o = AsyncProgressSetUint64MethodInfo+    ResolveAsyncProgressMethod "setVariant" o = AsyncProgressSetVariantMethodInfo+    ResolveAsyncProgressMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveAsyncProgressMethod t AsyncProgress, O.MethodInfo info AsyncProgress p) => OL.IsLabel t (AsyncProgress -> 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++-- signal AsyncProgress::changed+{- |+Emitted when /@self@/ has been changed.+-}+type AsyncProgressChangedCallback =+    IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `AsyncProgressChangedCallback`@.+noAsyncProgressChangedCallback :: Maybe AsyncProgressChangedCallback+noAsyncProgressChangedCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_AsyncProgressChangedCallback =+    Ptr () ->                               -- object+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_AsyncProgressChangedCallback`.+foreign import ccall "wrapper"+    mk_AsyncProgressChangedCallback :: C_AsyncProgressChangedCallback -> IO (FunPtr C_AsyncProgressChangedCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_AsyncProgressChanged :: MonadIO m => AsyncProgressChangedCallback -> m (GClosure C_AsyncProgressChangedCallback)+genClosure_AsyncProgressChanged cb = liftIO $ do+    let cb' = wrap_AsyncProgressChangedCallback cb+    mk_AsyncProgressChangedCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `AsyncProgressChangedCallback` into a `C_AsyncProgressChangedCallback`.+wrap_AsyncProgressChangedCallback ::+    AsyncProgressChangedCallback ->+    C_AsyncProgressChangedCallback+wrap_AsyncProgressChangedCallback _cb _ _ = do+    _cb +++{- |+Connect a signal handler for the “@changed@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' asyncProgress #changed callback+@+-}+onAsyncProgressChanged :: (IsAsyncProgress a, MonadIO m) => a -> AsyncProgressChangedCallback -> m SignalHandlerId+onAsyncProgressChanged obj cb = liftIO $ do+    let cb' = wrap_AsyncProgressChangedCallback cb+    cb'' <- mk_AsyncProgressChangedCallback cb'+    connectSignalFunPtr obj "changed" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@changed@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' asyncProgress #changed callback+@+-}+afterAsyncProgressChanged :: (IsAsyncProgress a, MonadIO m) => a -> AsyncProgressChangedCallback -> m SignalHandlerId+afterAsyncProgressChanged obj cb = liftIO $ do+    let cb' = wrap_AsyncProgressChangedCallback cb+    cb'' <- mk_AsyncProgressChangedCallback cb'+    connectSignalFunPtr obj "changed" cb'' SignalConnectAfter+++#if ENABLE_OVERLOADING+instance O.HasAttributeList AsyncProgress+type instance O.AttributeList AsyncProgress = AsyncProgressAttributeList+type AsyncProgressAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+data AsyncProgressChangedSignalInfo+instance SignalInfo AsyncProgressChangedSignalInfo where+    type HaskellCallbackType AsyncProgressChangedSignalInfo = AsyncProgressChangedCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_AsyncProgressChangedCallback cb+        cb'' <- mk_AsyncProgressChangedCallback cb'+        connectSignalFunPtr obj "changed" cb'' connectMode++type instance O.SignalList AsyncProgress = AsyncProgressSignalList+type AsyncProgressSignalList = ('[ '("changed", AsyncProgressChangedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method AsyncProgress::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "AsyncProgress"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_async_progress_new" ostree_async_progress_new :: +    IO (Ptr AsyncProgress)++{- |+/No description available in the introspection data./+-}+asyncProgressNew ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m AsyncProgress+    {- ^ __Returns:__ A new progress object -}+asyncProgressNew  = liftIO $ do+    result <- ostree_async_progress_new+    checkUnexpectedReturnNULL "asyncProgressNew" result+    result' <- (wrapObject AsyncProgress) result+    return result'++#if ENABLE_OVERLOADING+#endif++-- method AsyncProgress::new_and_connect+-- method type : Constructor+-- Args : [Arg {argCName = "changed", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "AsyncProgress"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_async_progress_new_and_connect" ostree_async_progress_new_and_connect :: +    Ptr () ->                               -- changed : TBasicType TPtr+    Ptr () ->                               -- user_data : TBasicType TPtr+    IO (Ptr AsyncProgress)++{- |+/No description available in the introspection data./+-}+asyncProgressNewAndConnect ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Ptr ()+    -> Ptr ()+    -> m AsyncProgress+asyncProgressNewAndConnect changed userData = liftIO $ do+    result <- ostree_async_progress_new_and_connect changed userData+    checkUnexpectedReturnNULL "asyncProgressNewAndConnect" result+    result' <- (wrapObject AsyncProgress) result+    return result'++#if ENABLE_OVERLOADING+#endif++-- method AsyncProgress::finish+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "AsyncProgress"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Self", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_async_progress_finish" ostree_async_progress_finish :: +    Ptr AsyncProgress ->                    -- self : TInterface (Name {namespace = "OSTree", name = "AsyncProgress"})+    IO ()++{- |+Process any pending signals, ensuring the main context is cleared+of sources used by this object.  Also ensures that no further+events will be queued.+-}+asyncProgressFinish ::+    (B.CallStack.HasCallStack, MonadIO m, IsAsyncProgress a) =>+    a+    {- ^ /@self@/: Self -}+    -> m ()+asyncProgressFinish self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    ostree_async_progress_finish self'+    touchManagedPtr self+    return ()++#if ENABLE_OVERLOADING+data AsyncProgressFinishMethodInfo+instance (signature ~ (m ()), MonadIO m, IsAsyncProgress a) => O.MethodInfo AsyncProgressFinishMethodInfo a signature where+    overloadedMethod _ = asyncProgressFinish++#endif++-- method AsyncProgress::get_status+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "AsyncProgress"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeAsyncProgress", 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 "ostree_async_progress_get_status" ostree_async_progress_get_status :: +    Ptr AsyncProgress ->                    -- self : TInterface (Name {namespace = "OSTree", name = "AsyncProgress"})+    IO CString++{- |+Get the human-readable status string from the 'GI.OSTree.Objects.AsyncProgress.AsyncProgress'. This+operation is thread-safe. The retuned value may be 'Nothing' if no status is+set.++This is a convenience function to get the well-known @status@ key.++/Since: 2017.6/+-}+asyncProgressGetStatus ::+    (B.CallStack.HasCallStack, MonadIO m, IsAsyncProgress a) =>+    a+    {- ^ /@self@/: an 'GI.OSTree.Objects.AsyncProgress.AsyncProgress' -}+    -> m (Maybe T.Text)+    {- ^ __Returns:__ the current status, or 'Nothing' if none is set -}+asyncProgressGetStatus self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_async_progress_get_status self'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- cstringToText result'+        freeMem result'+        return result''+    touchManagedPtr self+    return maybeResult++#if ENABLE_OVERLOADING+data AsyncProgressGetStatusMethodInfo+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsAsyncProgress a) => O.MethodInfo AsyncProgressGetStatusMethodInfo a signature where+    overloadedMethod _ = asyncProgressGetStatus++#endif++-- method AsyncProgress::get_uint+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "AsyncProgress"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, 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 = Nothing, 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 "ostree_async_progress_get_uint" ostree_async_progress_get_uint :: +    Ptr AsyncProgress ->                    -- self : TInterface (Name {namespace = "OSTree", name = "AsyncProgress"})+    CString ->                              -- key : TBasicType TUTF8+    IO Word32++{- |+/No description available in the introspection data./+-}+asyncProgressGetUint ::+    (B.CallStack.HasCallStack, MonadIO m, IsAsyncProgress a) =>+    a+    -> T.Text+    -> m Word32+asyncProgressGetUint self key = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    key' <- textToCString key+    result <- ostree_async_progress_get_uint self' key'+    touchManagedPtr self+    freeMem key'+    return result++#if ENABLE_OVERLOADING+data AsyncProgressGetUintMethodInfo+instance (signature ~ (T.Text -> m Word32), MonadIO m, IsAsyncProgress a) => O.MethodInfo AsyncProgressGetUintMethodInfo a signature where+    overloadedMethod _ = asyncProgressGetUint++#endif++-- method AsyncProgress::get_uint64+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "AsyncProgress"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, 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 = 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 "ostree_async_progress_get_uint64" ostree_async_progress_get_uint64 :: +    Ptr AsyncProgress ->                    -- self : TInterface (Name {namespace = "OSTree", name = "AsyncProgress"})+    CString ->                              -- key : TBasicType TUTF8+    IO Word64++{- |+/No description available in the introspection data./+-}+asyncProgressGetUint64 ::+    (B.CallStack.HasCallStack, MonadIO m, IsAsyncProgress a) =>+    a+    -> T.Text+    -> m Word64+asyncProgressGetUint64 self key = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    key' <- textToCString key+    result <- ostree_async_progress_get_uint64 self' key'+    touchManagedPtr self+    freeMem key'+    return result++#if ENABLE_OVERLOADING+data AsyncProgressGetUint64MethodInfo+instance (signature ~ (T.Text -> m Word64), MonadIO m, IsAsyncProgress a) => O.MethodInfo AsyncProgressGetUint64MethodInfo a signature where+    overloadedMethod _ = asyncProgressGetUint64++#endif++-- method AsyncProgress::get_variant+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "AsyncProgress"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeAsyncProgress", 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 to look up", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just TVariant+-- throws : False+-- Skip return : False++foreign import ccall "ostree_async_progress_get_variant" ostree_async_progress_get_variant :: +    Ptr AsyncProgress ->                    -- self : TInterface (Name {namespace = "OSTree", name = "AsyncProgress"})+    CString ->                              -- key : TBasicType TUTF8+    IO (Ptr GVariant)++{- |+Look up a key in the 'GI.OSTree.Objects.AsyncProgress.AsyncProgress' and return the 'GVariant' associated+with it. The lookup is thread-safe.++/Since: 2017.6/+-}+asyncProgressGetVariant ::+    (B.CallStack.HasCallStack, MonadIO m, IsAsyncProgress a) =>+    a+    {- ^ /@self@/: an 'GI.OSTree.Objects.AsyncProgress.AsyncProgress' -}+    -> T.Text+    {- ^ /@key@/: a key to look up -}+    -> m (Maybe GVariant)+    {- ^ __Returns:__ value for the given /@key@/, or 'Nothing' if+   it was not set -}+asyncProgressGetVariant self key = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    key' <- textToCString key+    result <- ostree_async_progress_get_variant self' key'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- B.GVariant.wrapGVariantPtr result'+        return result''+    touchManagedPtr self+    freeMem key'+    return maybeResult++#if ENABLE_OVERLOADING+data AsyncProgressGetVariantMethodInfo+instance (signature ~ (T.Text -> m (Maybe GVariant)), MonadIO m, IsAsyncProgress a) => O.MethodInfo AsyncProgressGetVariantMethodInfo a signature where+    overloadedMethod _ = asyncProgressGetVariant++#endif++-- method AsyncProgress::set_status+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "AsyncProgress"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeAsyncProgress", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "status", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "new status string, or %NULL to clear the status", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_async_progress_set_status" ostree_async_progress_set_status :: +    Ptr AsyncProgress ->                    -- self : TInterface (Name {namespace = "OSTree", name = "AsyncProgress"})+    CString ->                              -- status : TBasicType TUTF8+    IO ()++{- |+Set the human-readable status string for the 'GI.OSTree.Objects.AsyncProgress.AsyncProgress'. This+operation is thread-safe. 'Nothing' may be passed to clear the status.++This is a convenience function to set the well-known @status@ key.++/Since: 2017.6/+-}+asyncProgressSetStatus ::+    (B.CallStack.HasCallStack, MonadIO m, IsAsyncProgress a) =>+    a+    {- ^ /@self@/: an 'GI.OSTree.Objects.AsyncProgress.AsyncProgress' -}+    -> Maybe (T.Text)+    {- ^ /@status@/: new status string, or 'Nothing' to clear the status -}+    -> m ()+asyncProgressSetStatus self status = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeStatus <- case status of+        Nothing -> return nullPtr+        Just jStatus -> do+            jStatus' <- textToCString jStatus+            return jStatus'+    ostree_async_progress_set_status self' maybeStatus+    touchManagedPtr self+    freeMem maybeStatus+    return ()++#if ENABLE_OVERLOADING+data AsyncProgressSetStatusMethodInfo+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsAsyncProgress a) => O.MethodInfo AsyncProgressSetStatusMethodInfo a signature where+    overloadedMethod _ = asyncProgressSetStatus++#endif++-- method AsyncProgress::set_uint+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "AsyncProgress"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, 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 = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "value", 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 : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_async_progress_set_uint" ostree_async_progress_set_uint :: +    Ptr AsyncProgress ->                    -- self : TInterface (Name {namespace = "OSTree", name = "AsyncProgress"})+    CString ->                              -- key : TBasicType TUTF8+    Word32 ->                               -- value : TBasicType TUInt+    IO ()++{- |+/No description available in the introspection data./+-}+asyncProgressSetUint ::+    (B.CallStack.HasCallStack, MonadIO m, IsAsyncProgress a) =>+    a+    -> T.Text+    -> Word32+    -> m ()+asyncProgressSetUint self key value = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    key' <- textToCString key+    ostree_async_progress_set_uint self' key' value+    touchManagedPtr self+    freeMem key'+    return ()++#if ENABLE_OVERLOADING+data AsyncProgressSetUintMethodInfo+instance (signature ~ (T.Text -> Word32 -> m ()), MonadIO m, IsAsyncProgress a) => O.MethodInfo AsyncProgressSetUintMethodInfo a signature where+    overloadedMethod _ = asyncProgressSetUint++#endif++-- method AsyncProgress::set_uint64+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "AsyncProgress"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, 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 = Nothing, 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 = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_async_progress_set_uint64" ostree_async_progress_set_uint64 :: +    Ptr AsyncProgress ->                    -- self : TInterface (Name {namespace = "OSTree", name = "AsyncProgress"})+    CString ->                              -- key : TBasicType TUTF8+    Word64 ->                               -- value : TBasicType TUInt64+    IO ()++{- |+/No description available in the introspection data./+-}+asyncProgressSetUint64 ::+    (B.CallStack.HasCallStack, MonadIO m, IsAsyncProgress a) =>+    a+    -> T.Text+    -> Word64+    -> m ()+asyncProgressSetUint64 self key value = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    key' <- textToCString key+    ostree_async_progress_set_uint64 self' key' value+    touchManagedPtr self+    freeMem key'+    return ()++#if ENABLE_OVERLOADING+data AsyncProgressSetUint64MethodInfo+instance (signature ~ (T.Text -> Word64 -> m ()), MonadIO m, IsAsyncProgress a) => O.MethodInfo AsyncProgressSetUint64MethodInfo a signature where+    overloadedMethod _ = asyncProgressSetUint64++#endif++-- method AsyncProgress::set_variant+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "AsyncProgress"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeAsyncProgress", 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 to set", 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 assign to @key", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_async_progress_set_variant" ostree_async_progress_set_variant :: +    Ptr AsyncProgress ->                    -- self : TInterface (Name {namespace = "OSTree", name = "AsyncProgress"})+    CString ->                              -- key : TBasicType TUTF8+    Ptr GVariant ->                         -- value : TVariant+    IO ()++{- |+Assign a new /@value@/ to the given /@key@/, replacing any existing value. The+operation is thread-safe. /@value@/ may be a floating reference;+'GI.GLib.Structs.Variant.variantRefSink' will be called on it.++Any watchers of the 'GI.OSTree.Objects.AsyncProgress.AsyncProgress' will be notified of the change if+/@value@/ differs from the existing value for /@key@/.++/Since: 2017.6/+-}+asyncProgressSetVariant ::+    (B.CallStack.HasCallStack, MonadIO m, IsAsyncProgress a) =>+    a+    {- ^ /@self@/: an 'GI.OSTree.Objects.AsyncProgress.AsyncProgress' -}+    -> T.Text+    {- ^ /@key@/: a key to set -}+    -> GVariant+    {- ^ /@value@/: the value to assign to /@key@/ -}+    -> m ()+asyncProgressSetVariant self key value = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    key' <- textToCString key+    value' <- unsafeManagedPtrGetPtr value+    ostree_async_progress_set_variant self' key' value'+    touchManagedPtr self+    touchManagedPtr value+    freeMem key'+    return ()++#if ENABLE_OVERLOADING+data AsyncProgressSetVariantMethodInfo+instance (signature ~ (T.Text -> GVariant -> m ()), MonadIO m, IsAsyncProgress a) => O.MethodInfo AsyncProgressSetVariantMethodInfo a signature where+    overloadedMethod _ = asyncProgressSetVariant++#endif++
+ GI/OSTree/Objects/AsyncProgress.hs-boot view
@@ -0,0 +1,59 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Objects.AsyncProgress 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 AsyncProgress = AsyncProgress (ManagedPtr AsyncProgress)+instance GObject AsyncProgress where+class (GObject o, O.IsDescendantOf AsyncProgress o) => IsAsyncProgress o+instance (GObject o, O.IsDescendantOf AsyncProgress o) => IsAsyncProgress o+instance O.HasParentTypes AsyncProgress+#if ENABLE_OVERLOADING+data AsyncProgressChangedSignalInfo+#endif+#if ENABLE_OVERLOADING+data AsyncProgressFinishMethodInfo+#endif+#if ENABLE_OVERLOADING+data AsyncProgressGetStatusMethodInfo+#endif+#if ENABLE_OVERLOADING+data AsyncProgressGetUintMethodInfo+#endif+#if ENABLE_OVERLOADING+data AsyncProgressGetUint64MethodInfo+#endif+#if ENABLE_OVERLOADING+data AsyncProgressGetVariantMethodInfo+#endif+#if ENABLE_OVERLOADING+data AsyncProgressSetStatusMethodInfo+#endif+#if ENABLE_OVERLOADING+data AsyncProgressSetUintMethodInfo+#endif+#if ENABLE_OVERLOADING+data AsyncProgressSetUint64MethodInfo+#endif+#if ENABLE_OVERLOADING+data AsyncProgressSetVariantMethodInfo+#endif
+ GI/OSTree/Objects/BootconfigParser.hs view
@@ -0,0 +1,542 @@+++{- |+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.OSTree.Objects.BootconfigParser+    ( ++-- * Exported types+    BootconfigParser(..)                    ,+    IsBootconfigParser                      ,+    toBootconfigParser                      ,+    noBootconfigParser                      ,+++ -- * Methods+-- ** clone #method:clone#++#if ENABLE_OVERLOADING+    BootconfigParserCloneMethodInfo         ,+#endif+    bootconfigParserClone                   ,+++-- ** get #method:get#++#if ENABLE_OVERLOADING+    BootconfigParserGetMethodInfo           ,+#endif+    bootconfigParserGet                     ,+++-- ** new #method:new#++    bootconfigParserNew                     ,+++-- ** parse #method:parse#++#if ENABLE_OVERLOADING+    BootconfigParserParseMethodInfo         ,+#endif+    bootconfigParserParse                   ,+++-- ** parseAt #method:parseAt#++#if ENABLE_OVERLOADING+    BootconfigParserParseAtMethodInfo       ,+#endif+    bootconfigParserParseAt                 ,+++-- ** set #method:set#++#if ENABLE_OVERLOADING+    BootconfigParserSetMethodInfo           ,+#endif+    bootconfigParserSet                     ,+++-- ** write #method:write#++#if ENABLE_OVERLOADING+    BootconfigParserWriteMethodInfo         ,+#endif+    bootconfigParserWrite                   ,+++-- ** writeAt #method:writeAt#++#if ENABLE_OVERLOADING+    BootconfigParserWriteAtMethodInfo       ,+#endif+    bootconfigParserWriteAt                 ,+++++    ) 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.GObject.Objects.Object as GObject.Object+import qualified GI.Gio.Interfaces.File as Gio.File+import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable++-- | Memory-managed wrapper type.+newtype BootconfigParser = BootconfigParser (ManagedPtr BootconfigParser)+foreign import ccall "ostree_bootconfig_parser_get_type"+    c_ostree_bootconfig_parser_get_type :: IO GType++instance GObject BootconfigParser where+    gobjectType = c_ostree_bootconfig_parser_get_type+    ++-- | Type class for types which can be safely cast to `BootconfigParser`, for instance with `toBootconfigParser`.+class (GObject o, O.IsDescendantOf BootconfigParser o) => IsBootconfigParser o+instance (GObject o, O.IsDescendantOf BootconfigParser o) => IsBootconfigParser o++instance O.HasParentTypes BootconfigParser+type instance O.ParentTypes BootconfigParser = '[GObject.Object.Object]++-- | Cast to `BootconfigParser`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toBootconfigParser :: (MonadIO m, IsBootconfigParser o) => o -> m BootconfigParser+toBootconfigParser = liftIO . unsafeCastTo BootconfigParser++-- | A convenience alias for `Nothing` :: `Maybe` `BootconfigParser`.+noBootconfigParser :: Maybe BootconfigParser+noBootconfigParser = Nothing++#if ENABLE_OVERLOADING+type family ResolveBootconfigParserMethod (t :: Symbol) (o :: *) :: * where+    ResolveBootconfigParserMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveBootconfigParserMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveBootconfigParserMethod "clone" o = BootconfigParserCloneMethodInfo+    ResolveBootconfigParserMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveBootconfigParserMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveBootconfigParserMethod "get" o = BootconfigParserGetMethodInfo+    ResolveBootconfigParserMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveBootconfigParserMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveBootconfigParserMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveBootconfigParserMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveBootconfigParserMethod "parse" o = BootconfigParserParseMethodInfo+    ResolveBootconfigParserMethod "parseAt" o = BootconfigParserParseAtMethodInfo+    ResolveBootconfigParserMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveBootconfigParserMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveBootconfigParserMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveBootconfigParserMethod "set" o = BootconfigParserSetMethodInfo+    ResolveBootconfigParserMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveBootconfigParserMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveBootconfigParserMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveBootconfigParserMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveBootconfigParserMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveBootconfigParserMethod "write" o = BootconfigParserWriteMethodInfo+    ResolveBootconfigParserMethod "writeAt" o = BootconfigParserWriteAtMethodInfo+    ResolveBootconfigParserMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveBootconfigParserMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveBootconfigParserMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveBootconfigParserMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveBootconfigParserMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveBootconfigParserMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveBootconfigParserMethod t BootconfigParser, O.MethodInfo info BootconfigParser p) => OL.IsLabel t (BootconfigParser -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList BootconfigParser+type instance O.AttributeList BootconfigParser = BootconfigParserAttributeList+type BootconfigParserAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type instance O.SignalList BootconfigParser = BootconfigParserSignalList+type BootconfigParserSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method BootconfigParser::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "BootconfigParser"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_bootconfig_parser_new" ostree_bootconfig_parser_new :: +    IO (Ptr BootconfigParser)++{- |+/No description available in the introspection data./+-}+bootconfigParserNew ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m BootconfigParser+bootconfigParserNew  = liftIO $ do+    result <- ostree_bootconfig_parser_new+    checkUnexpectedReturnNULL "bootconfigParserNew" result+    result' <- (wrapObject BootconfigParser) result+    return result'++#if ENABLE_OVERLOADING+#endif++-- method BootconfigParser::clone+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "BootconfigParser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Bootconfig to clone", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "BootconfigParser"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_bootconfig_parser_clone" ostree_bootconfig_parser_clone :: +    Ptr BootconfigParser ->                 -- self : TInterface (Name {namespace = "OSTree", name = "BootconfigParser"})+    IO (Ptr BootconfigParser)++{- |+/No description available in the introspection data./+-}+bootconfigParserClone ::+    (B.CallStack.HasCallStack, MonadIO m, IsBootconfigParser a) =>+    a+    {- ^ /@self@/: Bootconfig to clone -}+    -> m BootconfigParser+    {- ^ __Returns:__ Copy of /@self@/ -}+bootconfigParserClone self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_bootconfig_parser_clone self'+    checkUnexpectedReturnNULL "bootconfigParserClone" result+    result' <- (wrapObject BootconfigParser) result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data BootconfigParserCloneMethodInfo+instance (signature ~ (m BootconfigParser), MonadIO m, IsBootconfigParser a) => O.MethodInfo BootconfigParserCloneMethodInfo a signature where+    overloadedMethod _ = bootconfigParserClone++#endif++-- method BootconfigParser::get+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "BootconfigParser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, 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 = 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 "ostree_bootconfig_parser_get" ostree_bootconfig_parser_get :: +    Ptr BootconfigParser ->                 -- self : TInterface (Name {namespace = "OSTree", name = "BootconfigParser"})+    CString ->                              -- key : TBasicType TUTF8+    IO CString++{- |+/No description available in the introspection data./+-}+bootconfigParserGet ::+    (B.CallStack.HasCallStack, MonadIO m, IsBootconfigParser a) =>+    a+    -> T.Text+    -> m T.Text+bootconfigParserGet self key = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    key' <- textToCString key+    result <- ostree_bootconfig_parser_get self' key'+    checkUnexpectedReturnNULL "bootconfigParserGet" result+    result' <- cstringToText result+    touchManagedPtr self+    freeMem key'+    return result'++#if ENABLE_OVERLOADING+data BootconfigParserGetMethodInfo+instance (signature ~ (T.Text -> m T.Text), MonadIO m, IsBootconfigParser a) => O.MethodInfo BootconfigParserGetMethodInfo a signature where+    overloadedMethod _ = bootconfigParserGet++#endif++-- method BootconfigParser::parse+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "BootconfigParser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "ostree_bootconfig_parser_parse" ostree_bootconfig_parser_parse :: +    Ptr BootconfigParser ->                 -- self : TInterface (Name {namespace = "OSTree", name = "BootconfigParser"})+    Ptr Gio.File.File ->                    -- path : TInterface (Name {namespace = "Gio", name = "File"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+/No description available in the introspection data./+-}+bootconfigParserParse ::+    (B.CallStack.HasCallStack, MonadIO m, IsBootconfigParser a, Gio.File.IsFile b, Gio.Cancellable.IsCancellable c) =>+    a+    -> b+    -> Maybe (c)+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+bootconfigParserParse self path cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    path' <- unsafeManagedPtrCastPtr path+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_bootconfig_parser_parse self' path' maybeCancellable+        touchManagedPtr self+        touchManagedPtr path+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data BootconfigParserParseMethodInfo+instance (signature ~ (b -> Maybe (c) -> m ()), MonadIO m, IsBootconfigParser a, Gio.File.IsFile b, Gio.Cancellable.IsCancellable c) => O.MethodInfo BootconfigParserParseMethodInfo a signature where+    overloadedMethod _ = bootconfigParserParse++#endif++-- method BootconfigParser::parse_at+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "BootconfigParser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Parser", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dfd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Directory fd", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "File path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_bootconfig_parser_parse_at" ostree_bootconfig_parser_parse_at :: +    Ptr BootconfigParser ->                 -- self : TInterface (Name {namespace = "OSTree", name = "BootconfigParser"})+    Int32 ->                                -- dfd : TBasicType TInt+    CString ->                              -- path : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Initialize a bootconfig from the given file.+-}+bootconfigParserParseAt ::+    (B.CallStack.HasCallStack, MonadIO m, IsBootconfigParser a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Parser -}+    -> Int32+    {- ^ /@dfd@/: Directory fd -}+    -> T.Text+    {- ^ /@path@/: File path -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+bootconfigParserParseAt self dfd path cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    path' <- textToCString path+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_bootconfig_parser_parse_at self' dfd path' maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem path'+        return ()+     ) (do+        freeMem path'+     )++#if ENABLE_OVERLOADING+data BootconfigParserParseAtMethodInfo+instance (signature ~ (Int32 -> T.Text -> Maybe (b) -> m ()), MonadIO m, IsBootconfigParser a, Gio.Cancellable.IsCancellable b) => O.MethodInfo BootconfigParserParseAtMethodInfo a signature where+    overloadedMethod _ = bootconfigParserParseAt++#endif++-- method BootconfigParser::set+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "BootconfigParser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, 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 = Nothing, 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 = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_bootconfig_parser_set" ostree_bootconfig_parser_set :: +    Ptr BootconfigParser ->                 -- self : TInterface (Name {namespace = "OSTree", name = "BootconfigParser"})+    CString ->                              -- key : TBasicType TUTF8+    CString ->                              -- value : TBasicType TUTF8+    IO ()++{- |+/No description available in the introspection data./+-}+bootconfigParserSet ::+    (B.CallStack.HasCallStack, MonadIO m, IsBootconfigParser a) =>+    a+    -> T.Text+    -> T.Text+    -> m ()+bootconfigParserSet self key value = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    key' <- textToCString key+    value' <- textToCString value+    ostree_bootconfig_parser_set self' key' value'+    touchManagedPtr self+    freeMem key'+    freeMem value'+    return ()++#if ENABLE_OVERLOADING+data BootconfigParserSetMethodInfo+instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m, IsBootconfigParser a) => O.MethodInfo BootconfigParserSetMethodInfo a signature where+    overloadedMethod _ = bootconfigParserSet++#endif++-- method BootconfigParser::write+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "BootconfigParser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "output", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "ostree_bootconfig_parser_write" ostree_bootconfig_parser_write :: +    Ptr BootconfigParser ->                 -- self : TInterface (Name {namespace = "OSTree", name = "BootconfigParser"})+    Ptr Gio.File.File ->                    -- output : TInterface (Name {namespace = "Gio", name = "File"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+/No description available in the introspection data./+-}+bootconfigParserWrite ::+    (B.CallStack.HasCallStack, MonadIO m, IsBootconfigParser a, Gio.File.IsFile b, Gio.Cancellable.IsCancellable c) =>+    a+    -> b+    -> Maybe (c)+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+bootconfigParserWrite self output cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    output' <- unsafeManagedPtrCastPtr output+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_bootconfig_parser_write self' output' maybeCancellable+        touchManagedPtr self+        touchManagedPtr output+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data BootconfigParserWriteMethodInfo+instance (signature ~ (b -> Maybe (c) -> m ()), MonadIO m, IsBootconfigParser a, Gio.File.IsFile b, Gio.Cancellable.IsCancellable c) => O.MethodInfo BootconfigParserWriteMethodInfo a signature where+    overloadedMethod _ = bootconfigParserWrite++#endif++-- method BootconfigParser::write_at+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "BootconfigParser"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dfd", 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 = "path", 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 = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "ostree_bootconfig_parser_write_at" ostree_bootconfig_parser_write_at :: +    Ptr BootconfigParser ->                 -- self : TInterface (Name {namespace = "OSTree", name = "BootconfigParser"})+    Int32 ->                                -- dfd : TBasicType TInt+    CString ->                              -- path : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+/No description available in the introspection data./+-}+bootconfigParserWriteAt ::+    (B.CallStack.HasCallStack, MonadIO m, IsBootconfigParser a, Gio.Cancellable.IsCancellable b) =>+    a+    -> Int32+    -> T.Text+    -> Maybe (b)+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+bootconfigParserWriteAt self dfd path cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    path' <- textToCString path+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_bootconfig_parser_write_at self' dfd path' maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem path'+        return ()+     ) (do+        freeMem path'+     )++#if ENABLE_OVERLOADING+data BootconfigParserWriteAtMethodInfo+instance (signature ~ (Int32 -> T.Text -> Maybe (b) -> m ()), MonadIO m, IsBootconfigParser a, Gio.Cancellable.IsCancellable b) => O.MethodInfo BootconfigParserWriteAtMethodInfo a signature where+    overloadedMethod _ = bootconfigParserWriteAt++#endif++
+ GI/OSTree/Objects/BootconfigParser.hs-boot view
@@ -0,0 +1,50 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Objects.BootconfigParser 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 BootconfigParser = BootconfigParser (ManagedPtr BootconfigParser)+instance GObject BootconfigParser where+class (GObject o, O.IsDescendantOf BootconfigParser o) => IsBootconfigParser o+instance (GObject o, O.IsDescendantOf BootconfigParser o) => IsBootconfigParser o+instance O.HasParentTypes BootconfigParser+#if ENABLE_OVERLOADING+data BootconfigParserCloneMethodInfo+#endif+#if ENABLE_OVERLOADING+data BootconfigParserGetMethodInfo+#endif+#if ENABLE_OVERLOADING+data BootconfigParserParseMethodInfo+#endif+#if ENABLE_OVERLOADING+data BootconfigParserParseAtMethodInfo+#endif+#if ENABLE_OVERLOADING+data BootconfigParserSetMethodInfo+#endif+#if ENABLE_OVERLOADING+data BootconfigParserWriteMethodInfo+#endif+#if ENABLE_OVERLOADING+data BootconfigParserWriteAtMethodInfo+#endif
+ GI/OSTree/Objects/ChecksumInputStream.hs view
@@ -0,0 +1,244 @@+++{- |+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.OSTree.Objects.ChecksumInputStream+    ( ++-- * Exported types+    ChecksumInputStream(..)                 ,+    IsChecksumInputStream                   ,+    toChecksumInputStream                   ,+    noChecksumInputStream                   ,+++ -- * Methods+-- ** new #method:new#++    checksumInputStreamNew                  ,+++++ -- * Properties+-- ** checksum #attr:checksum#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    ChecksumInputStreamChecksumPropertyInfo ,+#endif+#if ENABLE_OVERLOADING+    checksumInputStreamChecksum             ,+#endif+    constructChecksumInputStreamChecksum    ,+    getChecksumInputStreamChecksum          ,+++++    ) 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.Structs.Checksum as GLib.Checksum+import qualified GI.GObject.Objects.Object as GObject.Object+import qualified GI.Gio.Objects.FilterInputStream as Gio.FilterInputStream+import qualified GI.Gio.Objects.InputStream as Gio.InputStream++-- | Memory-managed wrapper type.+newtype ChecksumInputStream = ChecksumInputStream (ManagedPtr ChecksumInputStream)+foreign import ccall "ostree_checksum_input_stream_get_type"+    c_ostree_checksum_input_stream_get_type :: IO GType++instance GObject ChecksumInputStream where+    gobjectType = c_ostree_checksum_input_stream_get_type+    ++-- | Type class for types which can be safely cast to `ChecksumInputStream`, for instance with `toChecksumInputStream`.+class (GObject o, O.IsDescendantOf ChecksumInputStream o) => IsChecksumInputStream o+instance (GObject o, O.IsDescendantOf ChecksumInputStream o) => IsChecksumInputStream o++instance O.HasParentTypes ChecksumInputStream+type instance O.ParentTypes ChecksumInputStream = '[Gio.FilterInputStream.FilterInputStream, Gio.InputStream.InputStream, GObject.Object.Object]++-- | Cast to `ChecksumInputStream`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toChecksumInputStream :: (MonadIO m, IsChecksumInputStream o) => o -> m ChecksumInputStream+toChecksumInputStream = liftIO . unsafeCastTo ChecksumInputStream++-- | A convenience alias for `Nothing` :: `Maybe` `ChecksumInputStream`.+noChecksumInputStream :: Maybe ChecksumInputStream+noChecksumInputStream = Nothing++#if ENABLE_OVERLOADING+type family ResolveChecksumInputStreamMethod (t :: Symbol) (o :: *) :: * where+    ResolveChecksumInputStreamMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveChecksumInputStreamMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveChecksumInputStreamMethod "clearPending" o = Gio.InputStream.InputStreamClearPendingMethodInfo+    ResolveChecksumInputStreamMethod "close" o = Gio.InputStream.InputStreamCloseMethodInfo+    ResolveChecksumInputStreamMethod "closeAsync" o = Gio.InputStream.InputStreamCloseAsyncMethodInfo+    ResolveChecksumInputStreamMethod "closeFinish" o = Gio.InputStream.InputStreamCloseFinishMethodInfo+    ResolveChecksumInputStreamMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveChecksumInputStreamMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveChecksumInputStreamMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveChecksumInputStreamMethod "hasPending" o = Gio.InputStream.InputStreamHasPendingMethodInfo+    ResolveChecksumInputStreamMethod "isClosed" o = Gio.InputStream.InputStreamIsClosedMethodInfo+    ResolveChecksumInputStreamMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveChecksumInputStreamMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveChecksumInputStreamMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveChecksumInputStreamMethod "read" o = Gio.InputStream.InputStreamReadMethodInfo+    ResolveChecksumInputStreamMethod "readAll" o = Gio.InputStream.InputStreamReadAllMethodInfo+    ResolveChecksumInputStreamMethod "readAllAsync" o = Gio.InputStream.InputStreamReadAllAsyncMethodInfo+    ResolveChecksumInputStreamMethod "readAllFinish" o = Gio.InputStream.InputStreamReadAllFinishMethodInfo+    ResolveChecksumInputStreamMethod "readAsync" o = Gio.InputStream.InputStreamReadAsyncMethodInfo+    ResolveChecksumInputStreamMethod "readBytes" o = Gio.InputStream.InputStreamReadBytesMethodInfo+    ResolveChecksumInputStreamMethod "readBytesAsync" o = Gio.InputStream.InputStreamReadBytesAsyncMethodInfo+    ResolveChecksumInputStreamMethod "readBytesFinish" o = Gio.InputStream.InputStreamReadBytesFinishMethodInfo+    ResolveChecksumInputStreamMethod "readFinish" o = Gio.InputStream.InputStreamReadFinishMethodInfo+    ResolveChecksumInputStreamMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveChecksumInputStreamMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveChecksumInputStreamMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveChecksumInputStreamMethod "skip" o = Gio.InputStream.InputStreamSkipMethodInfo+    ResolveChecksumInputStreamMethod "skipAsync" o = Gio.InputStream.InputStreamSkipAsyncMethodInfo+    ResolveChecksumInputStreamMethod "skipFinish" o = Gio.InputStream.InputStreamSkipFinishMethodInfo+    ResolveChecksumInputStreamMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveChecksumInputStreamMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveChecksumInputStreamMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveChecksumInputStreamMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveChecksumInputStreamMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveChecksumInputStreamMethod "getBaseStream" o = Gio.FilterInputStream.FilterInputStreamGetBaseStreamMethodInfo+    ResolveChecksumInputStreamMethod "getCloseBaseStream" o = Gio.FilterInputStream.FilterInputStreamGetCloseBaseStreamMethodInfo+    ResolveChecksumInputStreamMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveChecksumInputStreamMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveChecksumInputStreamMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveChecksumInputStreamMethod "setCloseBaseStream" o = Gio.FilterInputStream.FilterInputStreamSetCloseBaseStreamMethodInfo+    ResolveChecksumInputStreamMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveChecksumInputStreamMethod "setPending" o = Gio.InputStream.InputStreamSetPendingMethodInfo+    ResolveChecksumInputStreamMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveChecksumInputStreamMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveChecksumInputStreamMethod t ChecksumInputStream, O.MethodInfo info ChecksumInputStream p) => OL.IsLabel t (ChecksumInputStream -> 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++-- VVV Prop "checksum"+   -- Type: TBasicType TPtr+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@checksum@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' checksumInputStream #checksum+@+-}+getChecksumInputStreamChecksum :: (MonadIO m, IsChecksumInputStream o) => o -> m (Ptr ())+getChecksumInputStreamChecksum obj = liftIO $ B.Properties.getObjectPropertyPtr obj "checksum"++{- |+Construct a `GValueConstruct` with valid value for the “@checksum@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructChecksumInputStreamChecksum :: (IsChecksumInputStream o) => Ptr () -> IO (GValueConstruct o)+constructChecksumInputStreamChecksum val = B.Properties.constructObjectPropertyPtr "checksum" val++#if ENABLE_OVERLOADING+data ChecksumInputStreamChecksumPropertyInfo+instance AttrInfo ChecksumInputStreamChecksumPropertyInfo where+    type AttrAllowedOps ChecksumInputStreamChecksumPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint ChecksumInputStreamChecksumPropertyInfo = (~) (Ptr ())+    type AttrBaseTypeConstraint ChecksumInputStreamChecksumPropertyInfo = IsChecksumInputStream+    type AttrGetType ChecksumInputStreamChecksumPropertyInfo = (Ptr ())+    type AttrLabel ChecksumInputStreamChecksumPropertyInfo = "checksum"+    type AttrOrigin ChecksumInputStreamChecksumPropertyInfo = ChecksumInputStream+    attrGet _ = getChecksumInputStreamChecksum+    attrSet _ = undefined+    attrConstruct _ = constructChecksumInputStreamChecksum+    attrClear _ = undefined+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList ChecksumInputStream+type instance O.AttributeList ChecksumInputStream = ChecksumInputStreamAttributeList+type ChecksumInputStreamAttributeList = ('[ '("baseStream", Gio.FilterInputStream.FilterInputStreamBaseStreamPropertyInfo), '("checksum", ChecksumInputStreamChecksumPropertyInfo), '("closeBaseStream", Gio.FilterInputStream.FilterInputStreamCloseBaseStreamPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+checksumInputStreamChecksum :: AttrLabelProxy "checksum"+checksumInputStreamChecksum = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+type instance O.SignalList ChecksumInputStream = ChecksumInputStreamSignalList+type ChecksumInputStreamSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method ChecksumInputStream::new+-- method type : Constructor+-- Args : [Arg {argCName = "stream", argType = TInterface (Name {namespace = "Gio", name = "InputStream"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checksum", argType = TInterface (Name {namespace = "GLib", name = "Checksum"}), 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 = "OSTree", name = "ChecksumInputStream"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_checksum_input_stream_new" ostree_checksum_input_stream_new :: +    Ptr Gio.InputStream.InputStream ->      -- stream : TInterface (Name {namespace = "Gio", name = "InputStream"})+    Ptr GLib.Checksum.Checksum ->           -- checksum : TInterface (Name {namespace = "GLib", name = "Checksum"})+    IO (Ptr ChecksumInputStream)++{- |+/No description available in the introspection data./+-}+checksumInputStreamNew ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.InputStream.IsInputStream a) =>+    a+    -> GLib.Checksum.Checksum+    -> m ChecksumInputStream+checksumInputStreamNew stream checksum = liftIO $ do+    stream' <- unsafeManagedPtrCastPtr stream+    checksum' <- unsafeManagedPtrGetPtr checksum+    result <- ostree_checksum_input_stream_new stream' checksum'+    checkUnexpectedReturnNULL "checksumInputStreamNew" result+    result' <- (wrapObject ChecksumInputStream) result+    touchManagedPtr stream+    touchManagedPtr checksum+    return result'++#if ENABLE_OVERLOADING+#endif++
+ GI/OSTree/Objects/ChecksumInputStream.hs-boot view
@@ -0,0 +1,32 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Objects.ChecksumInputStream 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 ChecksumInputStream = ChecksumInputStream (ManagedPtr ChecksumInputStream)+instance GObject ChecksumInputStream where+class (GObject o, O.IsDescendantOf ChecksumInputStream o) => IsChecksumInputStream o+instance (GObject o, O.IsDescendantOf ChecksumInputStream o) => IsChecksumInputStream o+instance O.HasParentTypes ChecksumInputStream+#if ENABLE_OVERLOADING+data ChecksumInputStreamChecksumPropertyInfo+#endif
+ GI/OSTree/Objects/Deployment.hs view
@@ -0,0 +1,1084 @@+++{- |+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.OSTree.Objects.Deployment+    ( ++-- * Exported types+    Deployment(..)                          ,+    IsDeployment                            ,+    toDeployment                            ,+    noDeployment                            ,+++ -- * Methods+-- ** clone #method:clone#++#if ENABLE_OVERLOADING+    DeploymentCloneMethodInfo               ,+#endif+    deploymentClone                         ,+++-- ** equal #method:equal#++#if ENABLE_OVERLOADING+    DeploymentEqualMethodInfo               ,+#endif+    deploymentEqual                         ,+++-- ** getBootconfig #method:getBootconfig#++#if ENABLE_OVERLOADING+    DeploymentGetBootconfigMethodInfo       ,+#endif+    deploymentGetBootconfig                 ,+++-- ** getBootcsum #method:getBootcsum#++#if ENABLE_OVERLOADING+    DeploymentGetBootcsumMethodInfo         ,+#endif+    deploymentGetBootcsum                   ,+++-- ** getBootserial #method:getBootserial#++#if ENABLE_OVERLOADING+    DeploymentGetBootserialMethodInfo       ,+#endif+    deploymentGetBootserial                 ,+++-- ** getCsum #method:getCsum#++#if ENABLE_OVERLOADING+    DeploymentGetCsumMethodInfo             ,+#endif+    deploymentGetCsum                       ,+++-- ** getDeployserial #method:getDeployserial#++#if ENABLE_OVERLOADING+    DeploymentGetDeployserialMethodInfo     ,+#endif+    deploymentGetDeployserial               ,+++-- ** getIndex #method:getIndex#++#if ENABLE_OVERLOADING+    DeploymentGetIndexMethodInfo            ,+#endif+    deploymentGetIndex                      ,+++-- ** getOrigin #method:getOrigin#++#if ENABLE_OVERLOADING+    DeploymentGetOriginMethodInfo           ,+#endif+    deploymentGetOrigin                     ,+++-- ** getOriginRelpath #method:getOriginRelpath#++#if ENABLE_OVERLOADING+    DeploymentGetOriginRelpathMethodInfo    ,+#endif+    deploymentGetOriginRelpath              ,+++-- ** getOsname #method:getOsname#++#if ENABLE_OVERLOADING+    DeploymentGetOsnameMethodInfo           ,+#endif+    deploymentGetOsname                     ,+++-- ** getUnlocked #method:getUnlocked#++#if ENABLE_OVERLOADING+    DeploymentGetUnlockedMethodInfo         ,+#endif+    deploymentGetUnlocked                   ,+++-- ** hash #method:hash#++    deploymentHash                          ,+++-- ** isPinned #method:isPinned#++#if ENABLE_OVERLOADING+    DeploymentIsPinnedMethodInfo            ,+#endif+    deploymentIsPinned                      ,+++-- ** isStaged #method:isStaged#++#if ENABLE_OVERLOADING+    DeploymentIsStagedMethodInfo            ,+#endif+    deploymentIsStaged                      ,+++-- ** new #method:new#++    deploymentNew                           ,+++-- ** originRemoveTransientState #method:originRemoveTransientState#++    deploymentOriginRemoveTransientState    ,+++-- ** setBootconfig #method:setBootconfig#++#if ENABLE_OVERLOADING+    DeploymentSetBootconfigMethodInfo       ,+#endif+    deploymentSetBootconfig                 ,+++-- ** setBootserial #method:setBootserial#++#if ENABLE_OVERLOADING+    DeploymentSetBootserialMethodInfo       ,+#endif+    deploymentSetBootserial                 ,+++-- ** setIndex #method:setIndex#++#if ENABLE_OVERLOADING+    DeploymentSetIndexMethodInfo            ,+#endif+    deploymentSetIndex                      ,+++-- ** setOrigin #method:setOrigin#++#if ENABLE_OVERLOADING+    DeploymentSetOriginMethodInfo           ,+#endif+    deploymentSetOrigin                     ,+++-- ** unlockedStateToString #method:unlockedStateToString#++    deploymentUnlockedStateToString         ,+++++    ) 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.Structs.KeyFile as GLib.KeyFile+import qualified GI.GObject.Objects.Object as GObject.Object+import {-# SOURCE #-} qualified GI.OSTree.Enums as OSTree.Enums+import {-# SOURCE #-} qualified GI.OSTree.Objects.BootconfigParser as OSTree.BootconfigParser++-- | Memory-managed wrapper type.+newtype Deployment = Deployment (ManagedPtr Deployment)+foreign import ccall "ostree_deployment_get_type"+    c_ostree_deployment_get_type :: IO GType++instance GObject Deployment where+    gobjectType = c_ostree_deployment_get_type+    ++-- | Type class for types which can be safely cast to `Deployment`, for instance with `toDeployment`.+class (GObject o, O.IsDescendantOf Deployment o) => IsDeployment o+instance (GObject o, O.IsDescendantOf Deployment o) => IsDeployment o++instance O.HasParentTypes Deployment+type instance O.ParentTypes Deployment = '[GObject.Object.Object]++-- | Cast to `Deployment`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toDeployment :: (MonadIO m, IsDeployment o) => o -> m Deployment+toDeployment = liftIO . unsafeCastTo Deployment++-- | A convenience alias for `Nothing` :: `Maybe` `Deployment`.+noDeployment :: Maybe Deployment+noDeployment = Nothing++#if ENABLE_OVERLOADING+type family ResolveDeploymentMethod (t :: Symbol) (o :: *) :: * where+    ResolveDeploymentMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveDeploymentMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveDeploymentMethod "clone" o = DeploymentCloneMethodInfo+    ResolveDeploymentMethod "equal" o = DeploymentEqualMethodInfo+    ResolveDeploymentMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveDeploymentMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveDeploymentMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveDeploymentMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveDeploymentMethod "isPinned" o = DeploymentIsPinnedMethodInfo+    ResolveDeploymentMethod "isStaged" o = DeploymentIsStagedMethodInfo+    ResolveDeploymentMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveDeploymentMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveDeploymentMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveDeploymentMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveDeploymentMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveDeploymentMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveDeploymentMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveDeploymentMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveDeploymentMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveDeploymentMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveDeploymentMethod "getBootconfig" o = DeploymentGetBootconfigMethodInfo+    ResolveDeploymentMethod "getBootcsum" o = DeploymentGetBootcsumMethodInfo+    ResolveDeploymentMethod "getBootserial" o = DeploymentGetBootserialMethodInfo+    ResolveDeploymentMethod "getCsum" o = DeploymentGetCsumMethodInfo+    ResolveDeploymentMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveDeploymentMethod "getDeployserial" o = DeploymentGetDeployserialMethodInfo+    ResolveDeploymentMethod "getIndex" o = DeploymentGetIndexMethodInfo+    ResolveDeploymentMethod "getOrigin" o = DeploymentGetOriginMethodInfo+    ResolveDeploymentMethod "getOriginRelpath" o = DeploymentGetOriginRelpathMethodInfo+    ResolveDeploymentMethod "getOsname" o = DeploymentGetOsnameMethodInfo+    ResolveDeploymentMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveDeploymentMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveDeploymentMethod "getUnlocked" o = DeploymentGetUnlockedMethodInfo+    ResolveDeploymentMethod "setBootconfig" o = DeploymentSetBootconfigMethodInfo+    ResolveDeploymentMethod "setBootserial" o = DeploymentSetBootserialMethodInfo+    ResolveDeploymentMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveDeploymentMethod "setIndex" o = DeploymentSetIndexMethodInfo+    ResolveDeploymentMethod "setOrigin" o = DeploymentSetOriginMethodInfo+    ResolveDeploymentMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveDeploymentMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveDeploymentMethod t Deployment, O.MethodInfo info Deployment p) => OL.IsLabel t (Deployment -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList Deployment+type instance O.AttributeList Deployment = DeploymentAttributeList+type DeploymentAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type instance O.SignalList Deployment = DeploymentSignalList+type DeploymentSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method Deployment::new+-- method type : Constructor+-- Args : [Arg {argCName = "index", 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 = "osname", 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 = "csum", 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 = "deployserial", 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 = "bootcsum", 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 = "bootserial", 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 (TInterface (Name {namespace = "OSTree", name = "Deployment"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_deployment_new" ostree_deployment_new :: +    Int32 ->                                -- index : TBasicType TInt+    CString ->                              -- osname : TBasicType TUTF8+    CString ->                              -- csum : TBasicType TUTF8+    Int32 ->                                -- deployserial : TBasicType TInt+    CString ->                              -- bootcsum : TBasicType TUTF8+    Int32 ->                                -- bootserial : TBasicType TInt+    IO (Ptr Deployment)++{- |+/No description available in the introspection data./+-}+deploymentNew ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Int32+    -> T.Text+    -> T.Text+    -> Int32+    -> T.Text+    -> Int32+    -> m Deployment+deploymentNew index osname csum deployserial bootcsum bootserial = liftIO $ do+    osname' <- textToCString osname+    csum' <- textToCString csum+    bootcsum' <- textToCString bootcsum+    result <- ostree_deployment_new index osname' csum' deployserial bootcsum' bootserial+    checkUnexpectedReturnNULL "deploymentNew" result+    result' <- (wrapObject Deployment) result+    freeMem osname'+    freeMem csum'+    freeMem bootcsum'+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Deployment::clone+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Deployment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "Deployment"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_deployment_clone" ostree_deployment_clone :: +    Ptr Deployment ->                       -- self : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    IO (Ptr Deployment)++{- |+/No description available in the introspection data./+-}+deploymentClone ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeployment a) =>+    a+    {- ^ /@self@/: Deployment -}+    -> m Deployment+    {- ^ __Returns:__ New deep copy of /@self@/ -}+deploymentClone self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_deployment_clone self'+    checkUnexpectedReturnNULL "deploymentClone" result+    result' <- (wrapObject Deployment) result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data DeploymentCloneMethodInfo+instance (signature ~ (m Deployment), MonadIO m, IsDeployment a) => O.MethodInfo DeploymentCloneMethodInfo a signature where+    overloadedMethod _ = deploymentClone++#endif++-- method Deployment::equal+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "ap", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A deployment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bp", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A deployment", 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 "ostree_deployment_equal" ostree_deployment_equal :: +    Ptr Deployment ->                       -- ap : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    Ptr Deployment ->                       -- bp : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    IO CInt++{- |+/No description available in the introspection data./+-}+deploymentEqual ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeployment a, IsDeployment b) =>+    a+    {- ^ /@ap@/: A deployment -}+    -> b+    {- ^ /@bp@/: A deployment -}+    -> m Bool+    {- ^ __Returns:__ 'True' if deployments have the same osname, csum, and deployserial -}+deploymentEqual ap bp = liftIO $ do+    ap' <- unsafeManagedPtrCastPtr ap+    bp' <- unsafeManagedPtrCastPtr bp+    result <- ostree_deployment_equal ap' bp'+    let result' = (/= 0) result+    touchManagedPtr ap+    touchManagedPtr bp+    return result'++#if ENABLE_OVERLOADING+data DeploymentEqualMethodInfo+instance (signature ~ (b -> m Bool), MonadIO m, IsDeployment a, IsDeployment b) => O.MethodInfo DeploymentEqualMethodInfo a signature where+    overloadedMethod _ = deploymentEqual++#endif++-- method Deployment::get_bootconfig+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Deployment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "BootconfigParser"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_deployment_get_bootconfig" ostree_deployment_get_bootconfig :: +    Ptr Deployment ->                       -- self : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    IO (Ptr OSTree.BootconfigParser.BootconfigParser)++{- |+/No description available in the introspection data./+-}+deploymentGetBootconfig ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeployment a) =>+    a+    {- ^ /@self@/: Deployment -}+    -> m OSTree.BootconfigParser.BootconfigParser+    {- ^ __Returns:__ Boot configuration -}+deploymentGetBootconfig self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_deployment_get_bootconfig self'+    checkUnexpectedReturnNULL "deploymentGetBootconfig" result+    result' <- (newObject OSTree.BootconfigParser.BootconfigParser) result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data DeploymentGetBootconfigMethodInfo+instance (signature ~ (m OSTree.BootconfigParser.BootconfigParser), MonadIO m, IsDeployment a) => O.MethodInfo DeploymentGetBootconfigMethodInfo a signature where+    overloadedMethod _ = deploymentGetBootconfig++#endif++-- method Deployment::get_bootcsum+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), 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 "ostree_deployment_get_bootcsum" ostree_deployment_get_bootcsum :: +    Ptr Deployment ->                       -- self : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    IO CString++{- |+/No description available in the introspection data./+-}+deploymentGetBootcsum ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeployment a) =>+    a+    -> m T.Text+deploymentGetBootcsum self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_deployment_get_bootcsum self'+    checkUnexpectedReturnNULL "deploymentGetBootcsum" result+    result' <- cstringToText result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data DeploymentGetBootcsumMethodInfo+instance (signature ~ (m T.Text), MonadIO m, IsDeployment a) => O.MethodInfo DeploymentGetBootcsumMethodInfo a signature where+    overloadedMethod _ = deploymentGetBootcsum++#endif++-- method Deployment::get_bootserial+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, 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 "ostree_deployment_get_bootserial" ostree_deployment_get_bootserial :: +    Ptr Deployment ->                       -- self : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    IO Int32++{- |+/No description available in the introspection data./+-}+deploymentGetBootserial ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeployment a) =>+    a+    -> m Int32+deploymentGetBootserial self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_deployment_get_bootserial self'+    touchManagedPtr self+    return result++#if ENABLE_OVERLOADING+data DeploymentGetBootserialMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsDeployment a) => O.MethodInfo DeploymentGetBootserialMethodInfo a signature where+    overloadedMethod _ = deploymentGetBootserial++#endif++-- method Deployment::get_csum+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), 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 "ostree_deployment_get_csum" ostree_deployment_get_csum :: +    Ptr Deployment ->                       -- self : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    IO CString++{- |+/No description available in the introspection data./+-}+deploymentGetCsum ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeployment a) =>+    a+    -> m T.Text+deploymentGetCsum self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_deployment_get_csum self'+    checkUnexpectedReturnNULL "deploymentGetCsum" result+    result' <- cstringToText result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data DeploymentGetCsumMethodInfo+instance (signature ~ (m T.Text), MonadIO m, IsDeployment a) => O.MethodInfo DeploymentGetCsumMethodInfo a signature where+    overloadedMethod _ = deploymentGetCsum++#endif++-- method Deployment::get_deployserial+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, 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 "ostree_deployment_get_deployserial" ostree_deployment_get_deployserial :: +    Ptr Deployment ->                       -- self : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    IO Int32++{- |+/No description available in the introspection data./+-}+deploymentGetDeployserial ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeployment a) =>+    a+    -> m Int32+deploymentGetDeployserial self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_deployment_get_deployserial self'+    touchManagedPtr self+    return result++#if ENABLE_OVERLOADING+data DeploymentGetDeployserialMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsDeployment a) => O.MethodInfo DeploymentGetDeployserialMethodInfo a signature where+    overloadedMethod _ = deploymentGetDeployserial++#endif++-- method Deployment::get_index+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, 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 "ostree_deployment_get_index" ostree_deployment_get_index :: +    Ptr Deployment ->                       -- self : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    IO Int32++{- |+/No description available in the introspection data./+-}+deploymentGetIndex ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeployment a) =>+    a+    -> m Int32+deploymentGetIndex self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_deployment_get_index self'+    touchManagedPtr self+    return result++#if ENABLE_OVERLOADING+data DeploymentGetIndexMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsDeployment a) => O.MethodInfo DeploymentGetIndexMethodInfo a signature where+    overloadedMethod _ = deploymentGetIndex++#endif++-- method Deployment::get_origin+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Deployment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GLib", name = "KeyFile"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_deployment_get_origin" ostree_deployment_get_origin :: +    Ptr Deployment ->                       -- self : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    IO (Ptr GLib.KeyFile.KeyFile)++{- |+/No description available in the introspection data./+-}+deploymentGetOrigin ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeployment a) =>+    a+    {- ^ /@self@/: Deployment -}+    -> m GLib.KeyFile.KeyFile+    {- ^ __Returns:__ Origin -}+deploymentGetOrigin self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_deployment_get_origin self'+    checkUnexpectedReturnNULL "deploymentGetOrigin" result+    result' <- (newBoxed GLib.KeyFile.KeyFile) result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data DeploymentGetOriginMethodInfo+instance (signature ~ (m GLib.KeyFile.KeyFile), MonadIO m, IsDeployment a) => O.MethodInfo DeploymentGetOriginMethodInfo a signature where+    overloadedMethod _ = deploymentGetOrigin++#endif++-- method Deployment::get_origin_relpath+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A deployment", 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 "ostree_deployment_get_origin_relpath" ostree_deployment_get_origin_relpath :: +    Ptr Deployment ->                       -- self : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    IO CString++{- |+Note this function only returns a *relative* path - if you want to+access, it, you must either use fd-relative api such as @/openat()/@,+or concatenate it with the full 'GI.OSTree.Objects.Sysroot.sysrootGetPath'.+-}+deploymentGetOriginRelpath ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeployment a) =>+    a+    {- ^ /@self@/: A deployment -}+    -> m T.Text+    {- ^ __Returns:__ Path to deployment root directory, relative to sysroot -}+deploymentGetOriginRelpath self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_deployment_get_origin_relpath self'+    checkUnexpectedReturnNULL "deploymentGetOriginRelpath" result+    result' <- cstringToText result+    freeMem result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data DeploymentGetOriginRelpathMethodInfo+instance (signature ~ (m T.Text), MonadIO m, IsDeployment a) => O.MethodInfo DeploymentGetOriginRelpathMethodInfo a signature where+    overloadedMethod _ = deploymentGetOriginRelpath++#endif++-- method Deployment::get_osname+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), 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 "ostree_deployment_get_osname" ostree_deployment_get_osname :: +    Ptr Deployment ->                       -- self : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    IO CString++{- |+/No description available in the introspection data./+-}+deploymentGetOsname ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeployment a) =>+    a+    -> m T.Text+deploymentGetOsname self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_deployment_get_osname self'+    checkUnexpectedReturnNULL "deploymentGetOsname" result+    result' <- cstringToText result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data DeploymentGetOsnameMethodInfo+instance (signature ~ (m T.Text), MonadIO m, IsDeployment a) => O.MethodInfo DeploymentGetOsnameMethodInfo a signature where+    overloadedMethod _ = deploymentGetOsname++#endif++-- method Deployment::get_unlocked+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), 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 = "OSTree", name = "DeploymentUnlockedState"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_deployment_get_unlocked" ostree_deployment_get_unlocked :: +    Ptr Deployment ->                       -- self : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    IO CUInt++{- |+/No description available in the introspection data./+-}+deploymentGetUnlocked ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeployment a) =>+    a+    -> m OSTree.Enums.DeploymentUnlockedState+deploymentGetUnlocked self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_deployment_get_unlocked self'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data DeploymentGetUnlockedMethodInfo+instance (signature ~ (m OSTree.Enums.DeploymentUnlockedState), MonadIO m, IsDeployment a) => O.MethodInfo DeploymentGetUnlockedMethodInfo a signature where+    overloadedMethod _ = deploymentGetUnlocked++#endif++-- method Deployment::is_pinned+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Deployment", 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 "ostree_deployment_is_pinned" ostree_deployment_is_pinned :: +    Ptr Deployment ->                       -- self : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    IO CInt++{- |+See 'GI.OSTree.Objects.Sysroot.sysrootDeploymentSetPinned'.++/Since: 2018.3/+-}+deploymentIsPinned ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeployment a) =>+    a+    {- ^ /@self@/: Deployment -}+    -> m Bool+    {- ^ __Returns:__ @TRUE@ if deployment will not be subject to GC -}+deploymentIsPinned self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_deployment_is_pinned self'+    let result' = (/= 0) result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data DeploymentIsPinnedMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsDeployment a) => O.MethodInfo DeploymentIsPinnedMethodInfo a signature where+    overloadedMethod _ = deploymentIsPinned++#endif++-- method Deployment::is_staged+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Deployment", 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 "ostree_deployment_is_staged" ostree_deployment_is_staged :: +    Ptr Deployment ->                       -- self : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    IO CInt++{- |+/No description available in the introspection data./++/Since: 2018.3/+-}+deploymentIsStaged ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeployment a) =>+    a+    {- ^ /@self@/: Deployment -}+    -> m Bool+    {- ^ __Returns:__ @TRUE@ if deployment should be \"finalized\" at shutdown time -}+deploymentIsStaged self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_deployment_is_staged self'+    let result' = (/= 0) result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data DeploymentIsStagedMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsDeployment a) => O.MethodInfo DeploymentIsStagedMethodInfo a signature where+    overloadedMethod _ = deploymentIsStaged++#endif++-- method Deployment::set_bootconfig+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "bootconfig", argType = TInterface (Name {namespace = "OSTree", name = "BootconfigParser"}), 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 "ostree_deployment_set_bootconfig" ostree_deployment_set_bootconfig :: +    Ptr Deployment ->                       -- self : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    Ptr OSTree.BootconfigParser.BootconfigParser -> -- bootconfig : TInterface (Name {namespace = "OSTree", name = "BootconfigParser"})+    IO ()++{- |+/No description available in the introspection data./+-}+deploymentSetBootconfig ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeployment a, OSTree.BootconfigParser.IsBootconfigParser b) =>+    a+    -> b+    -> m ()+deploymentSetBootconfig self bootconfig = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    bootconfig' <- unsafeManagedPtrCastPtr bootconfig+    ostree_deployment_set_bootconfig self' bootconfig'+    touchManagedPtr self+    touchManagedPtr bootconfig+    return ()++#if ENABLE_OVERLOADING+data DeploymentSetBootconfigMethodInfo+instance (signature ~ (b -> m ()), MonadIO m, IsDeployment a, OSTree.BootconfigParser.IsBootconfigParser b) => O.MethodInfo DeploymentSetBootconfigMethodInfo a signature where+    overloadedMethod _ = deploymentSetBootconfig++#endif++-- method Deployment::set_bootserial+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_deployment_set_bootserial" ostree_deployment_set_bootserial :: +    Ptr Deployment ->                       -- self : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    Int32 ->                                -- index : TBasicType TInt+    IO ()++{- |+/No description available in the introspection data./+-}+deploymentSetBootserial ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeployment a) =>+    a+    -> Int32+    -> m ()+deploymentSetBootserial self index = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    ostree_deployment_set_bootserial self' index+    touchManagedPtr self+    return ()++#if ENABLE_OVERLOADING+data DeploymentSetBootserialMethodInfo+instance (signature ~ (Int32 -> m ()), MonadIO m, IsDeployment a) => O.MethodInfo DeploymentSetBootserialMethodInfo a signature where+    overloadedMethod _ = deploymentSetBootserial++#endif++-- method Deployment::set_index+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "index", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_deployment_set_index" ostree_deployment_set_index :: +    Ptr Deployment ->                       -- self : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    Int32 ->                                -- index : TBasicType TInt+    IO ()++{- |+/No description available in the introspection data./+-}+deploymentSetIndex ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeployment a) =>+    a+    -> Int32+    -> m ()+deploymentSetIndex self index = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    ostree_deployment_set_index self' index+    touchManagedPtr self+    return ()++#if ENABLE_OVERLOADING+data DeploymentSetIndexMethodInfo+instance (signature ~ (Int32 -> m ()), MonadIO m, IsDeployment a) => O.MethodInfo DeploymentSetIndexMethodInfo a signature where+    overloadedMethod _ = deploymentSetIndex++#endif++-- method Deployment::set_origin+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "origin", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), 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 "ostree_deployment_set_origin" ostree_deployment_set_origin :: +    Ptr Deployment ->                       -- self : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    Ptr GLib.KeyFile.KeyFile ->             -- origin : TInterface (Name {namespace = "GLib", name = "KeyFile"})+    IO ()++{- |+/No description available in the introspection data./+-}+deploymentSetOrigin ::+    (B.CallStack.HasCallStack, MonadIO m, IsDeployment a) =>+    a+    -> GLib.KeyFile.KeyFile+    -> m ()+deploymentSetOrigin self origin = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    origin' <- unsafeManagedPtrGetPtr origin+    ostree_deployment_set_origin self' origin'+    touchManagedPtr self+    touchManagedPtr origin+    return ()++#if ENABLE_OVERLOADING+data DeploymentSetOriginMethodInfo+instance (signature ~ (GLib.KeyFile.KeyFile -> m ()), MonadIO m, IsDeployment a) => O.MethodInfo DeploymentSetOriginMethodInfo a signature where+    overloadedMethod _ = deploymentSetOrigin++#endif++-- method Deployment::hash+-- method type : MemberFunction+-- Args : [Arg {argCName = "v", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TUInt)+-- throws : False+-- Skip return : False++foreign import ccall "ostree_deployment_hash" ostree_deployment_hash :: +    Ptr () ->                               -- v : TBasicType TPtr+    IO Word32++{- |+/No description available in the introspection data./+-}+deploymentHash ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Ptr ()+    -> m Word32+deploymentHash v = liftIO $ do+    result <- ostree_deployment_hash v+    return result++#if ENABLE_OVERLOADING+#endif++-- method Deployment::origin_remove_transient_state+-- method type : MemberFunction+-- Args : [Arg {argCName = "origin", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An origin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_deployment_origin_remove_transient_state" ostree_deployment_origin_remove_transient_state :: +    Ptr GLib.KeyFile.KeyFile ->             -- origin : TInterface (Name {namespace = "GLib", name = "KeyFile"})+    IO ()++{- |+The intention of an origin file is primarily describe the \"inputs\" that+resulted in a deployment, and it\'s commonly used to derive the new state. For+example, a key value (in pure libostree mode) is the \"refspec\". However,+libostree (or other applications) may want to store \"transient\" state that+should not be carried across upgrades.++This function just removes all members of the @libostree-transient@ group.+The name of that group is available to all libostree users; best practice+would be to prefix values underneath there with a short identifier for your+software.++Additionally, this function will remove the @origin\/unlocked@ and+@origin\/override-commit@ members; these should be considered transient state+that should have been under an explicit group.++/Since: 2018.3/+-}+deploymentOriginRemoveTransientState ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GLib.KeyFile.KeyFile+    {- ^ /@origin@/: An origin -}+    -> m ()+deploymentOriginRemoveTransientState origin = liftIO $ do+    origin' <- unsafeManagedPtrGetPtr origin+    ostree_deployment_origin_remove_transient_state origin'+    touchManagedPtr origin+    return ()++#if ENABLE_OVERLOADING+#endif++-- method Deployment::unlocked_state_to_string+-- method type : MemberFunction+-- Args : [Arg {argCName = "state", argType = TInterface (Name {namespace = "OSTree", name = "DeploymentUnlockedState"}), 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 "ostree_deployment_unlocked_state_to_string" ostree_deployment_unlocked_state_to_string :: +    CUInt ->                                -- state : TInterface (Name {namespace = "OSTree", name = "DeploymentUnlockedState"})+    IO CString++{- |+/No description available in the introspection data./+-}+deploymentUnlockedStateToString ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    OSTree.Enums.DeploymentUnlockedState+    -> m T.Text+deploymentUnlockedStateToString state = liftIO $ do+    let state' = (fromIntegral . fromEnum) state+    result <- ostree_deployment_unlocked_state_to_string state'+    checkUnexpectedReturnNULL "deploymentUnlockedStateToString" result+    result' <- cstringToText result+    return result'++#if ENABLE_OVERLOADING+#endif++
+ GI/OSTree/Objects/Deployment.hs-boot view
@@ -0,0 +1,83 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Objects.Deployment 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 Deployment = Deployment (ManagedPtr Deployment)+instance GObject Deployment where+class (GObject o, O.IsDescendantOf Deployment o) => IsDeployment o+instance (GObject o, O.IsDescendantOf Deployment o) => IsDeployment o+instance O.HasParentTypes Deployment+#if ENABLE_OVERLOADING+data DeploymentCloneMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeploymentEqualMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeploymentGetBootconfigMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeploymentGetBootcsumMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeploymentGetBootserialMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeploymentGetCsumMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeploymentGetDeployserialMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeploymentGetIndexMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeploymentGetOriginMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeploymentGetOriginRelpathMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeploymentGetOsnameMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeploymentGetUnlockedMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeploymentIsPinnedMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeploymentIsStagedMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeploymentSetBootconfigMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeploymentSetBootserialMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeploymentSetIndexMethodInfo+#endif+#if ENABLE_OVERLOADING+data DeploymentSetOriginMethodInfo+#endif
+ GI/OSTree/Objects/GpgVerifyResult.hs view
@@ -0,0 +1,584 @@+++{- |+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.OSTree.Objects.GpgVerifyResult+    ( ++-- * Exported types+    GpgVerifyResult(..)                     ,+    IsGpgVerifyResult                       ,+    toGpgVerifyResult                       ,+    noGpgVerifyResult                       ,+++ -- * Methods+-- ** countAll #method:countAll#++#if ENABLE_OVERLOADING+    GpgVerifyResultCountAllMethodInfo       ,+#endif+    gpgVerifyResultCountAll                 ,+++-- ** countValid #method:countValid#++#if ENABLE_OVERLOADING+    GpgVerifyResultCountValidMethodInfo     ,+#endif+    gpgVerifyResultCountValid               ,+++-- ** describe #method:describe#++#if ENABLE_OVERLOADING+    GpgVerifyResultDescribeMethodInfo       ,+#endif+    gpgVerifyResultDescribe                 ,+++-- ** describeVariant #method:describeVariant#++    gpgVerifyResultDescribeVariant          ,+++-- ** get #method:get#++#if ENABLE_OVERLOADING+    GpgVerifyResultGetMethodInfo            ,+#endif+    gpgVerifyResultGet                      ,+++-- ** getAll #method:getAll#++#if ENABLE_OVERLOADING+    GpgVerifyResultGetAllMethodInfo         ,+#endif+    gpgVerifyResultGetAll                   ,+++-- ** lookup #method:lookup#++#if ENABLE_OVERLOADING+    GpgVerifyResultLookupMethodInfo         ,+#endif+    gpgVerifyResultLookup                   ,+++-- ** requireValidSignature #method:requireValidSignature#++#if ENABLE_OVERLOADING+    GpgVerifyResultRequireValidSignatureMethodInfo,+#endif+    gpgVerifyResultRequireValidSignature    ,+++++    ) 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.Structs.String as GLib.String+import qualified GI.GObject.Objects.Object as GObject.Object+import qualified GI.Gio.Interfaces.Initable as Gio.Initable+import {-# SOURCE #-} qualified GI.OSTree.Enums as OSTree.Enums++-- | Memory-managed wrapper type.+newtype GpgVerifyResult = GpgVerifyResult (ManagedPtr GpgVerifyResult)+foreign import ccall "ostree_gpg_verify_result_get_type"+    c_ostree_gpg_verify_result_get_type :: IO GType++instance GObject GpgVerifyResult where+    gobjectType = c_ostree_gpg_verify_result_get_type+    ++-- | Type class for types which can be safely cast to `GpgVerifyResult`, for instance with `toGpgVerifyResult`.+class (GObject o, O.IsDescendantOf GpgVerifyResult o) => IsGpgVerifyResult o+instance (GObject o, O.IsDescendantOf GpgVerifyResult o) => IsGpgVerifyResult o++instance O.HasParentTypes GpgVerifyResult+type instance O.ParentTypes GpgVerifyResult = '[GObject.Object.Object, Gio.Initable.Initable]++-- | Cast to `GpgVerifyResult`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toGpgVerifyResult :: (MonadIO m, IsGpgVerifyResult o) => o -> m GpgVerifyResult+toGpgVerifyResult = liftIO . unsafeCastTo GpgVerifyResult++-- | A convenience alias for `Nothing` :: `Maybe` `GpgVerifyResult`.+noGpgVerifyResult :: Maybe GpgVerifyResult+noGpgVerifyResult = Nothing++#if ENABLE_OVERLOADING+type family ResolveGpgVerifyResultMethod (t :: Symbol) (o :: *) :: * where+    ResolveGpgVerifyResultMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveGpgVerifyResultMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveGpgVerifyResultMethod "countAll" o = GpgVerifyResultCountAllMethodInfo+    ResolveGpgVerifyResultMethod "countValid" o = GpgVerifyResultCountValidMethodInfo+    ResolveGpgVerifyResultMethod "describe" o = GpgVerifyResultDescribeMethodInfo+    ResolveGpgVerifyResultMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveGpgVerifyResultMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveGpgVerifyResultMethod "get" o = GpgVerifyResultGetMethodInfo+    ResolveGpgVerifyResultMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveGpgVerifyResultMethod "init" o = Gio.Initable.InitableInitMethodInfo+    ResolveGpgVerifyResultMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveGpgVerifyResultMethod "lookup" o = GpgVerifyResultLookupMethodInfo+    ResolveGpgVerifyResultMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveGpgVerifyResultMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveGpgVerifyResultMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveGpgVerifyResultMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveGpgVerifyResultMethod "requireValidSignature" o = GpgVerifyResultRequireValidSignatureMethodInfo+    ResolveGpgVerifyResultMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveGpgVerifyResultMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveGpgVerifyResultMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveGpgVerifyResultMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveGpgVerifyResultMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveGpgVerifyResultMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveGpgVerifyResultMethod "getAll" o = GpgVerifyResultGetAllMethodInfo+    ResolveGpgVerifyResultMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveGpgVerifyResultMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveGpgVerifyResultMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveGpgVerifyResultMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveGpgVerifyResultMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveGpgVerifyResultMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveGpgVerifyResultMethod t GpgVerifyResult, O.MethodInfo info GpgVerifyResult p) => OL.IsLabel t (GpgVerifyResult -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList GpgVerifyResult+type instance O.AttributeList GpgVerifyResult = GpgVerifyResultAttributeList+type GpgVerifyResultAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type instance O.SignalList GpgVerifyResult = GpgVerifyResultSignalList+type GpgVerifyResultSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method GpgVerifyResult::count_all+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "result", argType = TInterface (Name {namespace = "OSTree", name = "GpgVerifyResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeGpgVerifyResult", 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 "ostree_gpg_verify_result_count_all" ostree_gpg_verify_result_count_all :: +    Ptr GpgVerifyResult ->                  -- result : TInterface (Name {namespace = "OSTree", name = "GpgVerifyResult"})+    IO Word32++{- |+Counts all the signatures in /@result@/.+-}+gpgVerifyResultCountAll ::+    (B.CallStack.HasCallStack, MonadIO m, IsGpgVerifyResult a) =>+    a+    {- ^ /@result@/: an 'GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult' -}+    -> m Word32+    {- ^ __Returns:__ signature count -}+gpgVerifyResultCountAll result_ = liftIO $ do+    result_' <- unsafeManagedPtrCastPtr result_+    result <- ostree_gpg_verify_result_count_all result_'+    touchManagedPtr result_+    return result++#if ENABLE_OVERLOADING+data GpgVerifyResultCountAllMethodInfo+instance (signature ~ (m Word32), MonadIO m, IsGpgVerifyResult a) => O.MethodInfo GpgVerifyResultCountAllMethodInfo a signature where+    overloadedMethod _ = gpgVerifyResultCountAll++#endif++-- method GpgVerifyResult::count_valid+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "result", argType = TInterface (Name {namespace = "OSTree", name = "GpgVerifyResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeGpgVerifyResult", 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 "ostree_gpg_verify_result_count_valid" ostree_gpg_verify_result_count_valid :: +    Ptr GpgVerifyResult ->                  -- result : TInterface (Name {namespace = "OSTree", name = "GpgVerifyResult"})+    IO Word32++{- |+Counts only the valid signatures in /@result@/.+-}+gpgVerifyResultCountValid ::+    (B.CallStack.HasCallStack, MonadIO m, IsGpgVerifyResult a) =>+    a+    {- ^ /@result@/: an 'GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult' -}+    -> m Word32+    {- ^ __Returns:__ valid signature count -}+gpgVerifyResultCountValid result_ = liftIO $ do+    result_' <- unsafeManagedPtrCastPtr result_+    result <- ostree_gpg_verify_result_count_valid result_'+    touchManagedPtr result_+    return result++#if ENABLE_OVERLOADING+data GpgVerifyResultCountValidMethodInfo+instance (signature ~ (m Word32), MonadIO m, IsGpgVerifyResult a) => O.MethodInfo GpgVerifyResultCountValidMethodInfo a signature where+    overloadedMethod _ = gpgVerifyResultCountValid++#endif++-- method GpgVerifyResult::describe+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "result", argType = TInterface (Name {namespace = "OSTree", name = "GpgVerifyResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeGpgVerifyResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signature_index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "which signature to describe", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "output_buffer", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString to hold the description", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "line_prefix", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "optional line prefix string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "OSTree", name = "GpgSignatureFormatFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags to adjust the description format", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_gpg_verify_result_describe" ostree_gpg_verify_result_describe :: +    Ptr GpgVerifyResult ->                  -- result : TInterface (Name {namespace = "OSTree", name = "GpgVerifyResult"})+    Word32 ->                               -- signature_index : TBasicType TUInt+    Ptr GLib.String.String ->               -- output_buffer : TInterface (Name {namespace = "GLib", name = "String"})+    CString ->                              -- line_prefix : TBasicType TUTF8+    CUInt ->                                -- flags : TInterface (Name {namespace = "OSTree", name = "GpgSignatureFormatFlags"})+    IO ()++{- |+Appends a brief, human-readable description of the GPG signature at+/@signatureIndex@/ in /@result@/ to the /@outputBuffer@/.  The description+spans multiple lines.  A /@linePrefix@/ string, if given, will precede+each line of the description.++The /@flags@/ argument is reserved for future variations to the description+format.  Currently must be 0.++It is a programmer error to request an invalid /@signatureIndex@/.  Use+'GI.OSTree.Objects.GpgVerifyResult.gpgVerifyResultCountAll' to find the number of signatures in+/@result@/.+-}+gpgVerifyResultDescribe ::+    (B.CallStack.HasCallStack, MonadIO m, IsGpgVerifyResult a) =>+    a+    {- ^ /@result@/: an 'GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult' -}+    -> Word32+    {- ^ /@signatureIndex@/: which signature to describe -}+    -> GLib.String.String+    {- ^ /@outputBuffer@/: a 'GI.GLib.Structs.String.String' to hold the description -}+    -> Maybe (T.Text)+    {- ^ /@linePrefix@/: optional line prefix string -}+    -> OSTree.Enums.GpgSignatureFormatFlags+    {- ^ /@flags@/: flags to adjust the description format -}+    -> m ()+gpgVerifyResultDescribe result_ signatureIndex outputBuffer linePrefix flags = liftIO $ do+    result_' <- unsafeManagedPtrCastPtr result_+    outputBuffer' <- unsafeManagedPtrGetPtr outputBuffer+    maybeLinePrefix <- case linePrefix of+        Nothing -> return nullPtr+        Just jLinePrefix -> do+            jLinePrefix' <- textToCString jLinePrefix+            return jLinePrefix'+    let flags' = (fromIntegral . fromEnum) flags+    ostree_gpg_verify_result_describe result_' signatureIndex outputBuffer' maybeLinePrefix flags'+    touchManagedPtr result_+    touchManagedPtr outputBuffer+    freeMem maybeLinePrefix+    return ()++#if ENABLE_OVERLOADING+data GpgVerifyResultDescribeMethodInfo+instance (signature ~ (Word32 -> GLib.String.String -> Maybe (T.Text) -> OSTree.Enums.GpgSignatureFormatFlags -> m ()), MonadIO m, IsGpgVerifyResult a) => O.MethodInfo GpgVerifyResultDescribeMethodInfo a signature where+    overloadedMethod _ = gpgVerifyResultDescribe++#endif++-- method GpgVerifyResult::get+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "result", argType = TInterface (Name {namespace = "OSTree", name = "GpgVerifyResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeGpgVerifyResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signature_index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "which signature to get attributes from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attrs", argType = TCArray False (-1) 3 (TInterface (Name {namespace = "OSTree", name = "GpgSignatureAttr"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Array of requested attributes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "n_attrs", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Length of the @attrs array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : [Arg {argCName = "n_attrs", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Length of the @attrs array", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- returnType : Just TVariant+-- throws : False+-- Skip return : False++foreign import ccall "ostree_gpg_verify_result_get" ostree_gpg_verify_result_get :: +    Ptr GpgVerifyResult ->                  -- result : TInterface (Name {namespace = "OSTree", name = "GpgVerifyResult"})+    Word32 ->                               -- signature_index : TBasicType TUInt+    Ptr CUInt ->                            -- attrs : TCArray False (-1) 3 (TInterface (Name {namespace = "OSTree", name = "GpgSignatureAttr"}))+    Word32 ->                               -- n_attrs : TBasicType TUInt+    IO (Ptr GVariant)++{- |+Builds a 'GVariant' tuple of requested attributes for the GPG signature at+/@signatureIndex@/ in /@result@/.  See the 'GI.OSTree.Enums.GpgSignatureAttr' description+for the 'GI.GLib.Structs.VariantType.VariantType' of each available attribute.++It is a programmer error to request an invalid 'GI.OSTree.Enums.GpgSignatureAttr' or+an invalid /@signatureIndex@/.  Use 'GI.OSTree.Objects.GpgVerifyResult.gpgVerifyResultCountAll' to+find the number of signatures in /@result@/.+-}+gpgVerifyResultGet ::+    (B.CallStack.HasCallStack, MonadIO m, IsGpgVerifyResult a) =>+    a+    {- ^ /@result@/: an 'GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult' -}+    -> Word32+    {- ^ /@signatureIndex@/: which signature to get attributes from -}+    -> [OSTree.Enums.GpgSignatureAttr]+    {- ^ /@attrs@/: Array of requested attributes -}+    -> m GVariant+    {- ^ __Returns:__ a new, floating, 'GVariant' tuple -}+gpgVerifyResultGet result_ signatureIndex attrs = liftIO $ do+    let nAttrs = fromIntegral $ length attrs+    result_' <- unsafeManagedPtrCastPtr result_+    let attrs' = map (fromIntegral . fromEnum) attrs+    attrs'' <- packStorableArray attrs'+    result <- ostree_gpg_verify_result_get result_' signatureIndex attrs'' nAttrs+    checkUnexpectedReturnNULL "gpgVerifyResultGet" result+    result' <- B.GVariant.wrapGVariantPtr result+    touchManagedPtr result_+    freeMem attrs''+    return result'++#if ENABLE_OVERLOADING+data GpgVerifyResultGetMethodInfo+instance (signature ~ (Word32 -> [OSTree.Enums.GpgSignatureAttr] -> m GVariant), MonadIO m, IsGpgVerifyResult a) => O.MethodInfo GpgVerifyResultGetMethodInfo a signature where+    overloadedMethod _ = gpgVerifyResultGet++#endif++-- method GpgVerifyResult::get_all+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "result", argType = TInterface (Name {namespace = "OSTree", name = "GpgVerifyResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeGpgVerifyResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signature_index", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "which signature to get attributes from", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just TVariant+-- throws : False+-- Skip return : False++foreign import ccall "ostree_gpg_verify_result_get_all" ostree_gpg_verify_result_get_all :: +    Ptr GpgVerifyResult ->                  -- result : TInterface (Name {namespace = "OSTree", name = "GpgVerifyResult"})+    Word32 ->                               -- signature_index : TBasicType TUInt+    IO (Ptr GVariant)++{- |+Builds a 'GVariant' tuple of all available attributes for the GPG signature+at /@signatureIndex@/ in /@result@/.++The child values in the returned 'GVariant' tuple are ordered to match the+'GI.OSTree.Enums.GpgSignatureAttr' enumeration, which means the enum values can be+used as index values in functions like @/g_variant_get_child()/@.  See the+'GI.OSTree.Enums.GpgSignatureAttr' description for the 'GI.GLib.Structs.VariantType.VariantType' of each+available attribute.++\<note>+  \<para>+    The 'GI.OSTree.Enums.GpgSignatureAttr' enumeration may be extended in the future+    with new attributes, which would affect the 'GVariant' tuple returned by+    this function.  While the position and type of current child values in+    the 'GVariant' tuple will not change, to avoid backward-compatibility+    issues \<emphasis>please do not depend on the tuple\'s overall size or+    type signature\<\/emphasis>.+  \<\/para>+\<\/note>++It is a programmer error to request an invalid /@signatureIndex@/.  Use+'GI.OSTree.Objects.GpgVerifyResult.gpgVerifyResultCountAll' to find the number of signatures in+/@result@/.+-}+gpgVerifyResultGetAll ::+    (B.CallStack.HasCallStack, MonadIO m, IsGpgVerifyResult a) =>+    a+    {- ^ /@result@/: an 'GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult' -}+    -> Word32+    {- ^ /@signatureIndex@/: which signature to get attributes from -}+    -> m GVariant+    {- ^ __Returns:__ a new, floating, 'GVariant' tuple -}+gpgVerifyResultGetAll result_ signatureIndex = liftIO $ do+    result_' <- unsafeManagedPtrCastPtr result_+    result <- ostree_gpg_verify_result_get_all result_' signatureIndex+    checkUnexpectedReturnNULL "gpgVerifyResultGetAll" result+    result' <- B.GVariant.wrapGVariantPtr result+    touchManagedPtr result_+    return result'++#if ENABLE_OVERLOADING+data GpgVerifyResultGetAllMethodInfo+instance (signature ~ (Word32 -> m GVariant), MonadIO m, IsGpgVerifyResult a) => O.MethodInfo GpgVerifyResultGetAllMethodInfo a signature where+    overloadedMethod _ = gpgVerifyResultGetAll++#endif++-- method GpgVerifyResult::lookup+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "result", argType = TInterface (Name {namespace = "OSTree", name = "GpgVerifyResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeGpgVerifyResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a GPG key ID or fingerprint", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_signature_index", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for the index of the signature\n                             signed by @key_id, 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 "ostree_gpg_verify_result_lookup" ostree_gpg_verify_result_lookup :: +    Ptr GpgVerifyResult ->                  -- result : TInterface (Name {namespace = "OSTree", name = "GpgVerifyResult"})+    CString ->                              -- key_id : TBasicType TUTF8+    Ptr Word32 ->                           -- out_signature_index : TBasicType TUInt+    IO CInt++{- |+Searches /@result@/ for a signature signed by /@keyId@/.  If a match is found,+the function returns 'True' and sets /@outSignatureIndex@/ so that further+signature details can be obtained through 'GI.OSTree.Objects.GpgVerifyResult.gpgVerifyResultGet'.+If no match is found, the function returns 'False' and leaves+/@outSignatureIndex@/ unchanged.+-}+gpgVerifyResultLookup ::+    (B.CallStack.HasCallStack, MonadIO m, IsGpgVerifyResult a) =>+    a+    {- ^ /@result@/: an 'GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult' -}+    -> T.Text+    {- ^ /@keyId@/: a GPG key ID or fingerprint -}+    -> m ((Bool, Word32))+    {- ^ __Returns:__ 'True' on success, 'False' on failure -}+gpgVerifyResultLookup result_ keyId = liftIO $ do+    result_' <- unsafeManagedPtrCastPtr result_+    keyId' <- textToCString keyId+    outSignatureIndex <- allocMem :: IO (Ptr Word32)+    result <- ostree_gpg_verify_result_lookup result_' keyId' outSignatureIndex+    let result' = (/= 0) result+    outSignatureIndex' <- peek outSignatureIndex+    touchManagedPtr result_+    freeMem keyId'+    freeMem outSignatureIndex+    return (result', outSignatureIndex')++#if ENABLE_OVERLOADING+data GpgVerifyResultLookupMethodInfo+instance (signature ~ (T.Text -> m ((Bool, Word32))), MonadIO m, IsGpgVerifyResult a) => O.MethodInfo GpgVerifyResultLookupMethodInfo a signature where+    overloadedMethod _ = gpgVerifyResultLookup++#endif++-- method GpgVerifyResult::require_valid_signature+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "result", argType = TInterface (Name {namespace = "OSTree", name = "GpgVerifyResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeGpgVerifyResult", 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 "ostree_gpg_verify_result_require_valid_signature" ostree_gpg_verify_result_require_valid_signature :: +    Ptr GpgVerifyResult ->                  -- result : TInterface (Name {namespace = "OSTree", name = "GpgVerifyResult"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Checks if the result contains at least one signature from the+trusted keyring.  You can call this function immediately after+'GI.OSTree.Objects.Repo.repoVerifySummary' or 'GI.OSTree.Objects.Repo.repoVerifyCommitExt' -+it will handle the 'Nothing' /@result@/ and filled /@error@/ too.+-}+gpgVerifyResultRequireValidSignature ::+    (B.CallStack.HasCallStack, MonadIO m, IsGpgVerifyResult a) =>+    a+    {- ^ /@result@/: an 'GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult' -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+gpgVerifyResultRequireValidSignature result_ = liftIO $ do+    result_' <- unsafeManagedPtrCastPtr result_+    onException (do+        _ <- propagateGError $ ostree_gpg_verify_result_require_valid_signature result_'+        touchManagedPtr result_+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data GpgVerifyResultRequireValidSignatureMethodInfo+instance (signature ~ (m ()), MonadIO m, IsGpgVerifyResult a) => O.MethodInfo GpgVerifyResultRequireValidSignatureMethodInfo a signature where+    overloadedMethod _ = gpgVerifyResultRequireValidSignature++#endif++-- method GpgVerifyResult::describe_variant+-- method type : MemberFunction+-- Args : [Arg {argCName = "variant", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GVariant from ostree_gpg_verify_result_get_all()", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "output_buffer", argType = TInterface (Name {namespace = "GLib", name = "String"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GString to hold the description", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "line_prefix", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "optional line prefix string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "OSTree", name = "GpgSignatureFormatFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "flags to adjust the description format", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_gpg_verify_result_describe_variant" ostree_gpg_verify_result_describe_variant :: +    Ptr GVariant ->                         -- variant : TVariant+    Ptr GLib.String.String ->               -- output_buffer : TInterface (Name {namespace = "GLib", name = "String"})+    CString ->                              -- line_prefix : TBasicType TUTF8+    CUInt ->                                -- flags : TInterface (Name {namespace = "OSTree", name = "GpgSignatureFormatFlags"})+    IO ()++{- |+Similar to 'GI.OSTree.Objects.GpgVerifyResult.gpgVerifyResultDescribe' but takes a 'GVariant' of+all attributes for a GPG signature instead of an 'GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult'+and signature index.++The /@variant@/ \<emphasis>MUST\<\/emphasis> have been created by+'GI.OSTree.Objects.GpgVerifyResult.gpgVerifyResultGetAll'.+-}+gpgVerifyResultDescribeVariant ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GVariant+    {- ^ /@variant@/: a 'GVariant' from 'GI.OSTree.Objects.GpgVerifyResult.gpgVerifyResultGetAll' -}+    -> GLib.String.String+    {- ^ /@outputBuffer@/: a 'GI.GLib.Structs.String.String' to hold the description -}+    -> Maybe (T.Text)+    {- ^ /@linePrefix@/: optional line prefix string -}+    -> OSTree.Enums.GpgSignatureFormatFlags+    {- ^ /@flags@/: flags to adjust the description format -}+    -> m ()+gpgVerifyResultDescribeVariant variant outputBuffer linePrefix flags = liftIO $ do+    variant' <- unsafeManagedPtrGetPtr variant+    outputBuffer' <- unsafeManagedPtrGetPtr outputBuffer+    maybeLinePrefix <- case linePrefix of+        Nothing -> return nullPtr+        Just jLinePrefix -> do+            jLinePrefix' <- textToCString jLinePrefix+            return jLinePrefix'+    let flags' = (fromIntegral . fromEnum) flags+    ostree_gpg_verify_result_describe_variant variant' outputBuffer' maybeLinePrefix flags'+    touchManagedPtr variant+    touchManagedPtr outputBuffer+    freeMem maybeLinePrefix+    return ()++#if ENABLE_OVERLOADING+#endif++
+ GI/OSTree/Objects/GpgVerifyResult.hs-boot view
@@ -0,0 +1,50 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Objects.GpgVerifyResult 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 GpgVerifyResult = GpgVerifyResult (ManagedPtr GpgVerifyResult)+instance GObject GpgVerifyResult where+class (GObject o, O.IsDescendantOf GpgVerifyResult o) => IsGpgVerifyResult o+instance (GObject o, O.IsDescendantOf GpgVerifyResult o) => IsGpgVerifyResult o+instance O.HasParentTypes GpgVerifyResult+#if ENABLE_OVERLOADING+data GpgVerifyResultCountAllMethodInfo+#endif+#if ENABLE_OVERLOADING+data GpgVerifyResultCountValidMethodInfo+#endif+#if ENABLE_OVERLOADING+data GpgVerifyResultDescribeMethodInfo+#endif+#if ENABLE_OVERLOADING+data GpgVerifyResultGetMethodInfo+#endif+#if ENABLE_OVERLOADING+data GpgVerifyResultGetAllMethodInfo+#endif+#if ENABLE_OVERLOADING+data GpgVerifyResultLookupMethodInfo+#endif+#if ENABLE_OVERLOADING+data GpgVerifyResultRequireValidSignatureMethodInfo+#endif
+ GI/OSTree/Objects/MutableTree.hs view
@@ -0,0 +1,928 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Private instance structure.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.OSTree.Objects.MutableTree+    ( +#if ENABLE_OVERLOADING+    MutableTreeGetSubdirsMethodInfo         ,+#endif++-- * Exported types+    MutableTree(..)                         ,+    IsMutableTree                           ,+    toMutableTree                           ,+    noMutableTree                           ,+++ -- * Methods+-- ** checkError #method:checkError#++#if ENABLE_OVERLOADING+    MutableTreeCheckErrorMethodInfo         ,+#endif+    mutableTreeCheckError                   ,+++-- ** ensureDir #method:ensureDir#++#if ENABLE_OVERLOADING+    MutableTreeEnsureDirMethodInfo          ,+#endif+    mutableTreeEnsureDir                    ,+++-- ** ensureParentDirs #method:ensureParentDirs#++#if ENABLE_OVERLOADING+    MutableTreeEnsureParentDirsMethodInfo   ,+#endif+    mutableTreeEnsureParentDirs             ,+++-- ** fillEmptyFromDirtree #method:fillEmptyFromDirtree#++#if ENABLE_OVERLOADING+    MutableTreeFillEmptyFromDirtreeMethodInfo,+#endif+    mutableTreeFillEmptyFromDirtree         ,+++-- ** getContentsChecksum #method:getContentsChecksum#++#if ENABLE_OVERLOADING+    MutableTreeGetContentsChecksumMethodInfo,+#endif+    mutableTreeGetContentsChecksum          ,+++-- ** getFiles #method:getFiles#++#if ENABLE_OVERLOADING+    MutableTreeGetFilesMethodInfo           ,+#endif+    mutableTreeGetFiles                     ,+++-- ** getMetadataChecksum #method:getMetadataChecksum#++#if ENABLE_OVERLOADING+    MutableTreeGetMetadataChecksumMethodInfo,+#endif+    mutableTreeGetMetadataChecksum          ,+++-- ** lookup #method:lookup#++#if ENABLE_OVERLOADING+    MutableTreeLookupMethodInfo             ,+#endif+    mutableTreeLookup                       ,+++-- ** new #method:new#++    mutableTreeNew                          ,+++-- ** newFromChecksum #method:newFromChecksum#++    mutableTreeNewFromChecksum              ,+++-- ** remove #method:remove#++#if ENABLE_OVERLOADING+    MutableTreeRemoveMethodInfo             ,+#endif+    mutableTreeRemove                       ,+++-- ** replaceFile #method:replaceFile#++#if ENABLE_OVERLOADING+    MutableTreeReplaceFileMethodInfo        ,+#endif+    mutableTreeReplaceFile                  ,+++-- ** setContentsChecksum #method:setContentsChecksum#++#if ENABLE_OVERLOADING+    MutableTreeSetContentsChecksumMethodInfo,+#endif+    mutableTreeSetContentsChecksum          ,+++-- ** setMetadataChecksum #method:setMetadataChecksum#++#if ENABLE_OVERLOADING+    MutableTreeSetMetadataChecksumMethodInfo,+#endif+    mutableTreeSetMetadataChecksum          ,+++-- ** walk #method:walk#++#if ENABLE_OVERLOADING+    MutableTreeWalkMethodInfo               ,+#endif+    mutableTreeWalk                         ,+++++    ) 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.GObject.Objects.Object as GObject.Object+import {-# SOURCE #-} qualified GI.OSTree.Objects.Repo as OSTree.Repo++-- | Memory-managed wrapper type.+newtype MutableTree = MutableTree (ManagedPtr MutableTree)+foreign import ccall "ostree_mutable_tree_get_type"+    c_ostree_mutable_tree_get_type :: IO GType++instance GObject MutableTree where+    gobjectType = c_ostree_mutable_tree_get_type+    ++-- | Type class for types which can be safely cast to `MutableTree`, for instance with `toMutableTree`.+class (GObject o, O.IsDescendantOf MutableTree o) => IsMutableTree o+instance (GObject o, O.IsDescendantOf MutableTree o) => IsMutableTree o++instance O.HasParentTypes MutableTree+type instance O.ParentTypes MutableTree = '[GObject.Object.Object]++-- | Cast to `MutableTree`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toMutableTree :: (MonadIO m, IsMutableTree o) => o -> m MutableTree+toMutableTree = liftIO . unsafeCastTo MutableTree++-- | A convenience alias for `Nothing` :: `Maybe` `MutableTree`.+noMutableTree :: Maybe MutableTree+noMutableTree = Nothing++#if ENABLE_OVERLOADING+type family ResolveMutableTreeMethod (t :: Symbol) (o :: *) :: * where+    ResolveMutableTreeMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveMutableTreeMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveMutableTreeMethod "checkError" o = MutableTreeCheckErrorMethodInfo+    ResolveMutableTreeMethod "ensureDir" o = MutableTreeEnsureDirMethodInfo+    ResolveMutableTreeMethod "ensureParentDirs" o = MutableTreeEnsureParentDirsMethodInfo+    ResolveMutableTreeMethod "fillEmptyFromDirtree" o = MutableTreeFillEmptyFromDirtreeMethodInfo+    ResolveMutableTreeMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveMutableTreeMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveMutableTreeMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveMutableTreeMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveMutableTreeMethod "lookup" o = MutableTreeLookupMethodInfo+    ResolveMutableTreeMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveMutableTreeMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveMutableTreeMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveMutableTreeMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveMutableTreeMethod "remove" o = MutableTreeRemoveMethodInfo+    ResolveMutableTreeMethod "replaceFile" o = MutableTreeReplaceFileMethodInfo+    ResolveMutableTreeMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveMutableTreeMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveMutableTreeMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveMutableTreeMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveMutableTreeMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveMutableTreeMethod "walk" o = MutableTreeWalkMethodInfo+    ResolveMutableTreeMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveMutableTreeMethod "getContentsChecksum" o = MutableTreeGetContentsChecksumMethodInfo+    ResolveMutableTreeMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveMutableTreeMethod "getFiles" o = MutableTreeGetFilesMethodInfo+    ResolveMutableTreeMethod "getMetadataChecksum" o = MutableTreeGetMetadataChecksumMethodInfo+    ResolveMutableTreeMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveMutableTreeMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveMutableTreeMethod "getSubdirs" o = MutableTreeGetSubdirsMethodInfo+    ResolveMutableTreeMethod "setContentsChecksum" o = MutableTreeSetContentsChecksumMethodInfo+    ResolveMutableTreeMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveMutableTreeMethod "setMetadataChecksum" o = MutableTreeSetMetadataChecksumMethodInfo+    ResolveMutableTreeMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveMutableTreeMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveMutableTreeMethod t MutableTree, O.MethodInfo info MutableTree p) => OL.IsLabel t (MutableTree -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList MutableTree+type instance O.AttributeList MutableTree = MutableTreeAttributeList+type MutableTreeAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type instance O.SignalList MutableTree = MutableTreeSignalList+type MutableTreeSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method MutableTree::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "MutableTree"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_mutable_tree_new" ostree_mutable_tree_new :: +    IO (Ptr MutableTree)++{- |+/No description available in the introspection data./+-}+mutableTreeNew ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m MutableTree+    {- ^ __Returns:__ A new tree -}+mutableTreeNew  = liftIO $ do+    result <- ostree_mutable_tree_new+    checkUnexpectedReturnNULL "mutableTreeNew" result+    result' <- (wrapObject MutableTree) result+    return result'++#if ENABLE_OVERLOADING+#endif++-- method MutableTree::new_from_checksum+-- method type : Constructor+-- Args : [Arg {argCName = "repo", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The repo which contains the objects refered by the checksums.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "contents_checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "dirtree checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "metadata_checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "dirmeta checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "MutableTree"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_mutable_tree_new_from_checksum" ostree_mutable_tree_new_from_checksum :: +    Ptr OSTree.Repo.Repo ->                 -- repo : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- contents_checksum : TBasicType TUTF8+    CString ->                              -- metadata_checksum : TBasicType TUTF8+    IO (Ptr MutableTree)++{- |+Creates a new OstreeMutableTree with the contents taken from the given repo+and checksums.  The data will be loaded from the repo lazily as needed.+-}+mutableTreeNewFromChecksum ::+    (B.CallStack.HasCallStack, MonadIO m, OSTree.Repo.IsRepo a) =>+    a+    {- ^ /@repo@/: The repo which contains the objects refered by the checksums. -}+    -> T.Text+    {- ^ /@contentsChecksum@/: dirtree checksum -}+    -> T.Text+    {- ^ /@metadataChecksum@/: dirmeta checksum -}+    -> m MutableTree+    {- ^ __Returns:__ A new tree -}+mutableTreeNewFromChecksum repo contentsChecksum metadataChecksum = liftIO $ do+    repo' <- unsafeManagedPtrCastPtr repo+    contentsChecksum' <- textToCString contentsChecksum+    metadataChecksum' <- textToCString metadataChecksum+    result <- ostree_mutable_tree_new_from_checksum repo' contentsChecksum' metadataChecksum'+    checkUnexpectedReturnNULL "mutableTreeNewFromChecksum" result+    result' <- (wrapObject MutableTree) result+    touchManagedPtr repo+    freeMem contentsChecksum'+    freeMem metadataChecksum'+    return result'++#if ENABLE_OVERLOADING+#endif++-- method MutableTree::check_error+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "MutableTree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Tree", 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 "ostree_mutable_tree_check_error" ostree_mutable_tree_check_error :: +    Ptr MutableTree ->                      -- self : TInterface (Name {namespace = "OSTree", name = "MutableTree"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+In some cases, a tree may be in a \"lazy\" state that loads+data in the background; if an error occurred during a non-throwing+API call, it will have been cached.  This function checks for a+cached error.  The tree remains in error state.++/Since: 2018.7/+-}+mutableTreeCheckError ::+    (B.CallStack.HasCallStack, MonadIO m, IsMutableTree a) =>+    a+    {- ^ /@self@/: Tree -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+mutableTreeCheckError self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    onException (do+        _ <- propagateGError $ ostree_mutable_tree_check_error self'+        touchManagedPtr self+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data MutableTreeCheckErrorMethodInfo+instance (signature ~ (m ()), MonadIO m, IsMutableTree a) => O.MethodInfo MutableTreeCheckErrorMethodInfo a signature where+    overloadedMethod _ = mutableTreeCheckError++#endif++-- method MutableTree::ensure_dir+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "MutableTree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Tree", 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 subdirectory of self to retrieve/creates", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_subdir", argType = TInterface (Name {namespace = "OSTree", name = "MutableTree"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the subdirectory", 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 "ostree_mutable_tree_ensure_dir" ostree_mutable_tree_ensure_dir :: +    Ptr MutableTree ->                      -- self : TInterface (Name {namespace = "OSTree", name = "MutableTree"})+    CString ->                              -- name : TBasicType TUTF8+    Ptr (Ptr MutableTree) ->                -- out_subdir : TInterface (Name {namespace = "OSTree", name = "MutableTree"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Returns the subdirectory of self with filename /@name@/, creating an empty one+it if it doesn\'t exist.+-}+mutableTreeEnsureDir ::+    (B.CallStack.HasCallStack, MonadIO m, IsMutableTree a) =>+    a+    {- ^ /@self@/: Tree -}+    -> T.Text+    {- ^ /@name@/: Name of subdirectory of self to retrieve\/creates -}+    -> m (MutableTree)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+mutableTreeEnsureDir self name = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    name' <- textToCString name+    outSubdir <- allocMem :: IO (Ptr (Ptr MutableTree))+    onException (do+        _ <- propagateGError $ ostree_mutable_tree_ensure_dir self' name' outSubdir+        outSubdir' <- peek outSubdir+        outSubdir'' <- (wrapObject MutableTree) outSubdir'+        touchManagedPtr self+        freeMem name'+        freeMem outSubdir+        return outSubdir''+     ) (do+        freeMem name'+        freeMem outSubdir+     )++#if ENABLE_OVERLOADING+data MutableTreeEnsureDirMethodInfo+instance (signature ~ (T.Text -> m (MutableTree)), MonadIO m, IsMutableTree a) => O.MethodInfo MutableTreeEnsureDirMethodInfo a signature where+    overloadedMethod _ = mutableTreeEnsureDir++#endif++-- method MutableTree::ensure_parent_dirs+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "MutableTree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Tree", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "split_path", argType = TPtrArray (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "File path components", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "metadata_checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "SHA256 checksum for metadata", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_parent", argType = TInterface (Name {namespace = "OSTree", name = "MutableTree"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The parent tree", 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 "ostree_mutable_tree_ensure_parent_dirs" ostree_mutable_tree_ensure_parent_dirs :: +    Ptr MutableTree ->                      -- self : TInterface (Name {namespace = "OSTree", name = "MutableTree"})+    Ptr (GPtrArray CString) ->              -- split_path : TPtrArray (TBasicType TUTF8)+    CString ->                              -- metadata_checksum : TBasicType TUTF8+    Ptr (Ptr MutableTree) ->                -- out_parent : TInterface (Name {namespace = "OSTree", name = "MutableTree"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Create all parent trees necessary for the given /@splitPath@/ to+exist.+-}+mutableTreeEnsureParentDirs ::+    (B.CallStack.HasCallStack, MonadIO m, IsMutableTree a) =>+    a+    {- ^ /@self@/: Tree -}+    -> [T.Text]+    {- ^ /@splitPath@/: File path components -}+    -> T.Text+    {- ^ /@metadataChecksum@/: SHA256 checksum for metadata -}+    -> m (MutableTree)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+mutableTreeEnsureParentDirs self splitPath metadataChecksum = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    splitPath' <- mapM textToCString splitPath+    splitPath'' <- packGPtrArray splitPath'+    metadataChecksum' <- textToCString metadataChecksum+    outParent <- allocMem :: IO (Ptr (Ptr MutableTree))+    onException (do+        _ <- propagateGError $ ostree_mutable_tree_ensure_parent_dirs self' splitPath'' metadataChecksum' outParent+        outParent' <- peek outParent+        outParent'' <- (wrapObject MutableTree) outParent'+        touchManagedPtr self+        mapPtrArray freeMem splitPath''+        unrefPtrArray splitPath''+        freeMem metadataChecksum'+        freeMem outParent+        return outParent''+     ) (do+        mapPtrArray freeMem splitPath''+        unrefPtrArray splitPath''+        freeMem metadataChecksum'+        freeMem outParent+     )++#if ENABLE_OVERLOADING+data MutableTreeEnsureParentDirsMethodInfo+instance (signature ~ ([T.Text] -> T.Text -> m (MutableTree)), MonadIO m, IsMutableTree a) => O.MethodInfo MutableTreeEnsureParentDirsMethodInfo a signature where+    overloadedMethod _ = mutableTreeEnsureParentDirs++#endif++-- method MutableTree::fill_empty_from_dirtree+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "MutableTree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "repo", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "contents_checksum", 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 = "metadata_checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : False+-- Skip return : False++foreign import ccall "ostree_mutable_tree_fill_empty_from_dirtree" ostree_mutable_tree_fill_empty_from_dirtree :: +    Ptr MutableTree ->                      -- self : TInterface (Name {namespace = "OSTree", name = "MutableTree"})+    Ptr OSTree.Repo.Repo ->                 -- repo : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- contents_checksum : TBasicType TUTF8+    CString ->                              -- metadata_checksum : TBasicType TUTF8+    IO CInt++{- |+Merges /@self@/ with the tree given by /@contentsChecksum@/ and+/@metadataChecksum@/, but only if it\'s possible without writing new objects to+the /@repo@/.  We can do this if either /@self@/ is empty, the tree given by+/@contentsChecksum@/ is empty or if both trees already have the same+/@contentsChecksum@/.+-}+mutableTreeFillEmptyFromDirtree ::+    (B.CallStack.HasCallStack, MonadIO m, IsMutableTree a, OSTree.Repo.IsRepo b) =>+    a+    -> b+    -> T.Text+    -> T.Text+    -> m Bool+    {- ^ __Returns:__ /@tRUE@/ if merge was successful, /@fALSE@/ if it was not possible.++This function enables optimisations when composing trees.  The provided+checksums are not loaded or checked when this function is called.  Instead+the contents will be loaded only when needed. -}+mutableTreeFillEmptyFromDirtree self repo contentsChecksum metadataChecksum = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    repo' <- unsafeManagedPtrCastPtr repo+    contentsChecksum' <- textToCString contentsChecksum+    metadataChecksum' <- textToCString metadataChecksum+    result <- ostree_mutable_tree_fill_empty_from_dirtree self' repo' contentsChecksum' metadataChecksum'+    let result' = (/= 0) result+    touchManagedPtr self+    touchManagedPtr repo+    freeMem contentsChecksum'+    freeMem metadataChecksum'+    return result'++#if ENABLE_OVERLOADING+data MutableTreeFillEmptyFromDirtreeMethodInfo+instance (signature ~ (b -> T.Text -> T.Text -> m Bool), MonadIO m, IsMutableTree a, OSTree.Repo.IsRepo b) => O.MethodInfo MutableTreeFillEmptyFromDirtreeMethodInfo a signature where+    overloadedMethod _ = mutableTreeFillEmptyFromDirtree++#endif++-- method MutableTree::get_contents_checksum+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "MutableTree"}), 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 "ostree_mutable_tree_get_contents_checksum" ostree_mutable_tree_get_contents_checksum :: +    Ptr MutableTree ->                      -- self : TInterface (Name {namespace = "OSTree", name = "MutableTree"})+    IO CString++{- |+/No description available in the introspection data./+-}+mutableTreeGetContentsChecksum ::+    (B.CallStack.HasCallStack, MonadIO m, IsMutableTree a) =>+    a+    -> m T.Text+mutableTreeGetContentsChecksum self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_mutable_tree_get_contents_checksum self'+    checkUnexpectedReturnNULL "mutableTreeGetContentsChecksum" result+    result' <- cstringToText result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data MutableTreeGetContentsChecksumMethodInfo+instance (signature ~ (m T.Text), MonadIO m, IsMutableTree a) => O.MethodInfo MutableTreeGetContentsChecksumMethodInfo a signature where+    overloadedMethod _ = mutableTreeGetContentsChecksum++#endif++-- method MutableTree::get_files+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "MutableTree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TGHash (TBasicType TUTF8) (TBasicType TUTF8))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_mutable_tree_get_files" ostree_mutable_tree_get_files :: +    Ptr MutableTree ->                      -- self : TInterface (Name {namespace = "OSTree", name = "MutableTree"})+    IO (Ptr (GHashTable CString CString))++{- |+/No description available in the introspection data./+-}+mutableTreeGetFiles ::+    (B.CallStack.HasCallStack, MonadIO m, IsMutableTree a) =>+    a+    -> m (Map.Map T.Text T.Text)+    {- ^ __Returns:__ All children files (the value is a checksum) -}+mutableTreeGetFiles self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_mutable_tree_get_files self'+    checkUnexpectedReturnNULL "mutableTreeGetFiles" result+    result' <- unpackGHashTable result+    let result'' = mapFirst cstringUnpackPtr result'+    result''' <- mapFirstA cstringToText result''+    let result'''' = mapSecond cstringUnpackPtr result'''+    result''''' <- mapSecondA cstringToText result''''+    let result'''''' = Map.fromList result'''''+    touchManagedPtr self+    return result''''''++#if ENABLE_OVERLOADING+data MutableTreeGetFilesMethodInfo+instance (signature ~ (m (Map.Map T.Text T.Text)), MonadIO m, IsMutableTree a) => O.MethodInfo MutableTreeGetFilesMethodInfo a signature where+    overloadedMethod _ = mutableTreeGetFiles++#endif++-- method MutableTree::get_metadata_checksum+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "MutableTree"}), 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 "ostree_mutable_tree_get_metadata_checksum" ostree_mutable_tree_get_metadata_checksum :: +    Ptr MutableTree ->                      -- self : TInterface (Name {namespace = "OSTree", name = "MutableTree"})+    IO CString++{- |+/No description available in the introspection data./+-}+mutableTreeGetMetadataChecksum ::+    (B.CallStack.HasCallStack, MonadIO m, IsMutableTree a) =>+    a+    -> m T.Text+mutableTreeGetMetadataChecksum self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_mutable_tree_get_metadata_checksum self'+    checkUnexpectedReturnNULL "mutableTreeGetMetadataChecksum" result+    result' <- cstringToText result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data MutableTreeGetMetadataChecksumMethodInfo+instance (signature ~ (m T.Text), MonadIO m, IsMutableTree a) => O.MethodInfo MutableTreeGetMetadataChecksumMethodInfo a signature where+    overloadedMethod _ = mutableTreeGetMetadataChecksum++#endif++-- XXX Could not generate method MutableTree::get_subdirs+-- Error was : Not implemented: "GHashTable element of type TInterface (Name {namespace = \"OSTree\", name = \"MutableTree\"}) unsupported."+#if ENABLE_OVERLOADING+-- XXX: Dummy instance, since code generation failed.+-- Please file a bug at http://github.com/haskell-gi/haskell-gi.+data MutableTreeGetSubdirsMethodInfo+instance (p ~ (), o ~ O.MethodResolutionFailed "getSubdirs" MutableTree) => O.MethodInfo MutableTreeGetSubdirsMethodInfo o p where+    overloadedMethod _ = undefined+#endif++-- method MutableTree::lookup+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "MutableTree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, 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 = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_file_checksum", 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 = "out_subdir", argType = TInterface (Name {namespace = "OSTree", name = "MutableTree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "ostree_mutable_tree_lookup" ostree_mutable_tree_lookup :: +    Ptr MutableTree ->                      -- self : TInterface (Name {namespace = "OSTree", name = "MutableTree"})+    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- out_file_checksum : TBasicType TUTF8+    Ptr MutableTree ->                      -- out_subdir : TInterface (Name {namespace = "OSTree", name = "MutableTree"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+/No description available in the introspection data./+-}+mutableTreeLookup ::+    (B.CallStack.HasCallStack, MonadIO m, IsMutableTree a, IsMutableTree b) =>+    a+    -> T.Text+    -> T.Text+    -> b+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+mutableTreeLookup self name outFileChecksum outSubdir = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    name' <- textToCString name+    outFileChecksum' <- textToCString outFileChecksum+    outSubdir' <- unsafeManagedPtrCastPtr outSubdir+    onException (do+        _ <- propagateGError $ ostree_mutable_tree_lookup self' name' outFileChecksum' outSubdir'+        touchManagedPtr self+        touchManagedPtr outSubdir+        freeMem name'+        freeMem outFileChecksum'+        return ()+     ) (do+        freeMem name'+        freeMem outFileChecksum'+     )++#if ENABLE_OVERLOADING+data MutableTreeLookupMethodInfo+instance (signature ~ (T.Text -> T.Text -> b -> m ()), MonadIO m, IsMutableTree a, IsMutableTree b) => O.MethodInfo MutableTreeLookupMethodInfo a signature where+    overloadedMethod _ = mutableTreeLookup++#endif++-- method MutableTree::remove+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "MutableTree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Tree", 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 file or subdirectory to remove", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allow_noent", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "If @FALSE, an error will be thrown if @name does not exist in the tree", 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 "ostree_mutable_tree_remove" ostree_mutable_tree_remove :: +    Ptr MutableTree ->                      -- self : TInterface (Name {namespace = "OSTree", name = "MutableTree"})+    CString ->                              -- name : TBasicType TUTF8+    CInt ->                                 -- allow_noent : TBasicType TBoolean+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Remove the file or subdirectory named /@name@/ from the mutable tree /@self@/.+-}+mutableTreeRemove ::+    (B.CallStack.HasCallStack, MonadIO m, IsMutableTree a) =>+    a+    {- ^ /@self@/: Tree -}+    -> T.Text+    {- ^ /@name@/: Name of file or subdirectory to remove -}+    -> Bool+    {- ^ /@allowNoent@/: If /@fALSE@/, an error will be thrown if /@name@/ does not exist in the tree -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+mutableTreeRemove self name allowNoent = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    name' <- textToCString name+    let allowNoent' = (fromIntegral . fromEnum) allowNoent+    onException (do+        _ <- propagateGError $ ostree_mutable_tree_remove self' name' allowNoent'+        touchManagedPtr self+        freeMem name'+        return ()+     ) (do+        freeMem name'+     )++#if ENABLE_OVERLOADING+data MutableTreeRemoveMethodInfo+instance (signature ~ (T.Text -> Bool -> m ()), MonadIO m, IsMutableTree a) => O.MethodInfo MutableTreeRemoveMethodInfo a signature where+    overloadedMethod _ = mutableTreeRemove++#endif++-- method MutableTree::replace_file+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "MutableTree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, 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 = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "ostree_mutable_tree_replace_file" ostree_mutable_tree_replace_file :: +    Ptr MutableTree ->                      -- self : TInterface (Name {namespace = "OSTree", name = "MutableTree"})+    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- checksum : TBasicType TUTF8+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+/No description available in the introspection data./+-}+mutableTreeReplaceFile ::+    (B.CallStack.HasCallStack, MonadIO m, IsMutableTree a) =>+    a+    -> T.Text+    -> T.Text+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+mutableTreeReplaceFile self name checksum = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    name' <- textToCString name+    checksum' <- textToCString checksum+    onException (do+        _ <- propagateGError $ ostree_mutable_tree_replace_file self' name' checksum'+        touchManagedPtr self+        freeMem name'+        freeMem checksum'+        return ()+     ) (do+        freeMem name'+        freeMem checksum'+     )++#if ENABLE_OVERLOADING+data MutableTreeReplaceFileMethodInfo+instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m, IsMutableTree a) => O.MethodInfo MutableTreeReplaceFileMethodInfo a signature where+    overloadedMethod _ = mutableTreeReplaceFile++#endif++-- method MutableTree::set_contents_checksum+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "MutableTree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checksum", 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 "ostree_mutable_tree_set_contents_checksum" ostree_mutable_tree_set_contents_checksum :: +    Ptr MutableTree ->                      -- self : TInterface (Name {namespace = "OSTree", name = "MutableTree"})+    CString ->                              -- checksum : TBasicType TUTF8+    IO ()++{- |+/No description available in the introspection data./+-}+mutableTreeSetContentsChecksum ::+    (B.CallStack.HasCallStack, MonadIO m, IsMutableTree a) =>+    a+    -> T.Text+    -> m ()+mutableTreeSetContentsChecksum self checksum = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    checksum' <- textToCString checksum+    ostree_mutable_tree_set_contents_checksum self' checksum'+    touchManagedPtr self+    freeMem checksum'+    return ()++#if ENABLE_OVERLOADING+data MutableTreeSetContentsChecksumMethodInfo+instance (signature ~ (T.Text -> m ()), MonadIO m, IsMutableTree a) => O.MethodInfo MutableTreeSetContentsChecksumMethodInfo a signature where+    overloadedMethod _ = mutableTreeSetContentsChecksum++#endif++-- method MutableTree::set_metadata_checksum+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "MutableTree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checksum", 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 "ostree_mutable_tree_set_metadata_checksum" ostree_mutable_tree_set_metadata_checksum :: +    Ptr MutableTree ->                      -- self : TInterface (Name {namespace = "OSTree", name = "MutableTree"})+    CString ->                              -- checksum : TBasicType TUTF8+    IO ()++{- |+/No description available in the introspection data./+-}+mutableTreeSetMetadataChecksum ::+    (B.CallStack.HasCallStack, MonadIO m, IsMutableTree a) =>+    a+    -> T.Text+    -> m ()+mutableTreeSetMetadataChecksum self checksum = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    checksum' <- textToCString checksum+    ostree_mutable_tree_set_metadata_checksum self' checksum'+    touchManagedPtr self+    freeMem checksum'+    return ()++#if ENABLE_OVERLOADING+data MutableTreeSetMetadataChecksumMethodInfo+instance (signature ~ (T.Text -> m ()), MonadIO m, IsMutableTree a) => O.MethodInfo MutableTreeSetMetadataChecksumMethodInfo a signature where+    overloadedMethod _ = mutableTreeSetMetadataChecksum++#endif++-- method MutableTree::walk+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "MutableTree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Tree", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "split_path", argType = TPtrArray (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Split pathname", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Descend from this number of elements in @split_path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_subdir", argType = TInterface (Name {namespace = "OSTree", name = "MutableTree"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Target parent", 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 "ostree_mutable_tree_walk" ostree_mutable_tree_walk :: +    Ptr MutableTree ->                      -- self : TInterface (Name {namespace = "OSTree", name = "MutableTree"})+    Ptr (GPtrArray CString) ->              -- split_path : TPtrArray (TBasicType TUTF8)+    Word32 ->                               -- start : TBasicType TUInt+    Ptr (Ptr MutableTree) ->                -- out_subdir : TInterface (Name {namespace = "OSTree", name = "MutableTree"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Traverse /@start@/ number of elements starting from /@splitPath@/; the+child will be returned in /@outSubdir@/.+-}+mutableTreeWalk ::+    (B.CallStack.HasCallStack, MonadIO m, IsMutableTree a) =>+    a+    {- ^ /@self@/: Tree -}+    -> [T.Text]+    {- ^ /@splitPath@/: Split pathname -}+    -> Word32+    {- ^ /@start@/: Descend from this number of elements in /@splitPath@/ -}+    -> m (MutableTree)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+mutableTreeWalk self splitPath start = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    splitPath' <- mapM textToCString splitPath+    splitPath'' <- packGPtrArray splitPath'+    outSubdir <- allocMem :: IO (Ptr (Ptr MutableTree))+    onException (do+        _ <- propagateGError $ ostree_mutable_tree_walk self' splitPath'' start outSubdir+        outSubdir' <- peek outSubdir+        outSubdir'' <- (wrapObject MutableTree) outSubdir'+        touchManagedPtr self+        mapPtrArray freeMem splitPath''+        unrefPtrArray splitPath''+        freeMem outSubdir+        return outSubdir''+     ) (do+        mapPtrArray freeMem splitPath''+        unrefPtrArray splitPath''+        freeMem outSubdir+     )++#if ENABLE_OVERLOADING+data MutableTreeWalkMethodInfo+instance (signature ~ ([T.Text] -> Word32 -> m (MutableTree)), MonadIO m, IsMutableTree a) => O.MethodInfo MutableTreeWalkMethodInfo a signature where+    overloadedMethod _ = mutableTreeWalk++#endif++
+ GI/OSTree/Objects/MutableTree.hs-boot view
@@ -0,0 +1,71 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Objects.MutableTree 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 MutableTree = MutableTree (ManagedPtr MutableTree)+instance GObject MutableTree where+class (GObject o, O.IsDescendantOf MutableTree o) => IsMutableTree o+instance (GObject o, O.IsDescendantOf MutableTree o) => IsMutableTree o+instance O.HasParentTypes MutableTree+#if ENABLE_OVERLOADING+data MutableTreeCheckErrorMethodInfo+#endif+#if ENABLE_OVERLOADING+data MutableTreeEnsureDirMethodInfo+#endif+#if ENABLE_OVERLOADING+data MutableTreeEnsureParentDirsMethodInfo+#endif+#if ENABLE_OVERLOADING+data MutableTreeFillEmptyFromDirtreeMethodInfo+#endif+#if ENABLE_OVERLOADING+data MutableTreeGetContentsChecksumMethodInfo+#endif+#if ENABLE_OVERLOADING+data MutableTreeGetFilesMethodInfo+#endif+#if ENABLE_OVERLOADING+data MutableTreeGetMetadataChecksumMethodInfo+#endif+#if ENABLE_OVERLOADING+data MutableTreeGetSubdirsMethodInfo+#endif+#if ENABLE_OVERLOADING+data MutableTreeLookupMethodInfo+#endif+#if ENABLE_OVERLOADING+data MutableTreeRemoveMethodInfo+#endif+#if ENABLE_OVERLOADING+data MutableTreeReplaceFileMethodInfo+#endif+#if ENABLE_OVERLOADING+data MutableTreeSetContentsChecksumMethodInfo+#endif+#if ENABLE_OVERLOADING+data MutableTreeSetMetadataChecksumMethodInfo+#endif+#if ENABLE_OVERLOADING+data MutableTreeWalkMethodInfo+#endif
+ GI/OSTree/Objects/Repo.hs view
@@ -0,0 +1,8588 @@+++{- |+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.OSTree.Objects.Repo+    ( +#if ENABLE_OVERLOADING+    RepoListCollectionRefsMethodInfo        ,+#endif+#if ENABLE_OVERLOADING+    RepoListCommitObjectsStartingWithMethodInfo,+#endif+#if ENABLE_OVERLOADING+    RepoListObjectsMethodInfo               ,+#endif+#if ENABLE_OVERLOADING+    RepoListRefsMethodInfo                  ,+#endif+#if ENABLE_OVERLOADING+    RepoListRefsExtMethodInfo               ,+#endif+#if ENABLE_OVERLOADING+    RepoRemoteListCollectionRefsMethodInfo  ,+#endif+#if ENABLE_OVERLOADING+    RepoRemoteListRefsMethodInfo            ,+#endif+#if ENABLE_OVERLOADING+    RepoTraverseCommitMethodInfo            ,+#endif+#if ENABLE_OVERLOADING+    RepoTraverseReachableRefsMethodInfo     ,+#endif+#if ENABLE_OVERLOADING+    RepoTraverseNewParentsMethodInfo        ,+#endif+#if ENABLE_OVERLOADING+    RepoTraverseNewReachableMethodInfo      ,+#endif++-- * Exported types+    Repo(..)                                ,+    IsRepo                                  ,+    toRepo                                  ,+    noRepo                                  ,+++ -- * Methods+-- ** abortTransaction #method:abortTransaction#++#if ENABLE_OVERLOADING+    RepoAbortTransactionMethodInfo          ,+#endif+    repoAbortTransaction                    ,+++-- ** addGpgSignatureSummary #method:addGpgSignatureSummary#++#if ENABLE_OVERLOADING+    RepoAddGpgSignatureSummaryMethodInfo    ,+#endif+    repoAddGpgSignatureSummary              ,+++-- ** appendGpgSignature #method:appendGpgSignature#++#if ENABLE_OVERLOADING+    RepoAppendGpgSignatureMethodInfo        ,+#endif+    repoAppendGpgSignature                  ,+++-- ** checkoutAt #method:checkoutAt#++#if ENABLE_OVERLOADING+    RepoCheckoutAtMethodInfo                ,+#endif+    repoCheckoutAt                          ,+++-- ** checkoutGc #method:checkoutGc#++#if ENABLE_OVERLOADING+    RepoCheckoutGcMethodInfo                ,+#endif+    repoCheckoutGc                          ,+++-- ** checkoutTree #method:checkoutTree#++#if ENABLE_OVERLOADING+    RepoCheckoutTreeMethodInfo              ,+#endif+    repoCheckoutTree                        ,+++-- ** commitTransaction #method:commitTransaction#++#if ENABLE_OVERLOADING+    RepoCommitTransactionMethodInfo         ,+#endif+    repoCommitTransaction                   ,+++-- ** copyConfig #method:copyConfig#++#if ENABLE_OVERLOADING+    RepoCopyConfigMethodInfo                ,+#endif+    repoCopyConfig                          ,+++-- ** create #method:create#++#if ENABLE_OVERLOADING+    RepoCreateMethodInfo                    ,+#endif+    repoCreate                              ,+++-- ** createAt #method:createAt#++    repoCreateAt                            ,+++-- ** deleteObject #method:deleteObject#++#if ENABLE_OVERLOADING+    RepoDeleteObjectMethodInfo              ,+#endif+    repoDeleteObject                        ,+++-- ** equal #method:equal#++#if ENABLE_OVERLOADING+    RepoEqualMethodInfo                     ,+#endif+    repoEqual                               ,+++-- ** findRemotesAsync #method:findRemotesAsync#++#if ENABLE_OVERLOADING+    RepoFindRemotesAsyncMethodInfo          ,+#endif+    repoFindRemotesAsync                    ,+++-- ** findRemotesFinish #method:findRemotesFinish#++#if ENABLE_OVERLOADING+    RepoFindRemotesFinishMethodInfo         ,+#endif+    repoFindRemotesFinish                   ,+++-- ** fsckObject #method:fsckObject#++#if ENABLE_OVERLOADING+    RepoFsckObjectMethodInfo                ,+#endif+    repoFsckObject                          ,+++-- ** getBootloader #method:getBootloader#++#if ENABLE_OVERLOADING+    RepoGetBootloaderMethodInfo             ,+#endif+    repoGetBootloader                       ,+++-- ** getCollectionId #method:getCollectionId#++#if ENABLE_OVERLOADING+    RepoGetCollectionIdMethodInfo           ,+#endif+    repoGetCollectionId                     ,+++-- ** getConfig #method:getConfig#++#if ENABLE_OVERLOADING+    RepoGetConfigMethodInfo                 ,+#endif+    repoGetConfig                           ,+++-- ** getDefaultRepoFinders #method:getDefaultRepoFinders#++#if ENABLE_OVERLOADING+    RepoGetDefaultRepoFindersMethodInfo     ,+#endif+    repoGetDefaultRepoFinders               ,+++-- ** getDfd #method:getDfd#++#if ENABLE_OVERLOADING+    RepoGetDfdMethodInfo                    ,+#endif+    repoGetDfd                              ,+++-- ** getDisableFsync #method:getDisableFsync#++#if ENABLE_OVERLOADING+    RepoGetDisableFsyncMethodInfo           ,+#endif+    repoGetDisableFsync                     ,+++-- ** getMinFreeSpaceBytes #method:getMinFreeSpaceBytes#++#if ENABLE_OVERLOADING+    RepoGetMinFreeSpaceBytesMethodInfo      ,+#endif+    repoGetMinFreeSpaceBytes                ,+++-- ** getMode #method:getMode#++#if ENABLE_OVERLOADING+    RepoGetModeMethodInfo                   ,+#endif+    repoGetMode                             ,+++-- ** getParent #method:getParent#++#if ENABLE_OVERLOADING+    RepoGetParentMethodInfo                 ,+#endif+    repoGetParent                           ,+++-- ** getPath #method:getPath#++#if ENABLE_OVERLOADING+    RepoGetPathMethodInfo                   ,+#endif+    repoGetPath                             ,+++-- ** getRemoteBooleanOption #method:getRemoteBooleanOption#++#if ENABLE_OVERLOADING+    RepoGetRemoteBooleanOptionMethodInfo    ,+#endif+    repoGetRemoteBooleanOption              ,+++-- ** getRemoteListOption #method:getRemoteListOption#++#if ENABLE_OVERLOADING+    RepoGetRemoteListOptionMethodInfo       ,+#endif+    repoGetRemoteListOption                 ,+++-- ** getRemoteOption #method:getRemoteOption#++#if ENABLE_OVERLOADING+    RepoGetRemoteOptionMethodInfo           ,+#endif+    repoGetRemoteOption                     ,+++-- ** gpgVerifyData #method:gpgVerifyData#++#if ENABLE_OVERLOADING+    RepoGpgVerifyDataMethodInfo             ,+#endif+    repoGpgVerifyData                       ,+++-- ** hasObject #method:hasObject#++#if ENABLE_OVERLOADING+    RepoHasObjectMethodInfo                 ,+#endif+    repoHasObject                           ,+++-- ** hash #method:hash#++#if ENABLE_OVERLOADING+    RepoHashMethodInfo                      ,+#endif+    repoHash                                ,+++-- ** importObjectFrom #method:importObjectFrom#++#if ENABLE_OVERLOADING+    RepoImportObjectFromMethodInfo          ,+#endif+    repoImportObjectFrom                    ,+++-- ** importObjectFromWithTrust #method:importObjectFromWithTrust#++#if ENABLE_OVERLOADING+    RepoImportObjectFromWithTrustMethodInfo ,+#endif+    repoImportObjectFromWithTrust           ,+++-- ** isSystem #method:isSystem#++#if ENABLE_OVERLOADING+    RepoIsSystemMethodInfo                  ,+#endif+    repoIsSystem                            ,+++-- ** isWritable #method:isWritable#++#if ENABLE_OVERLOADING+    RepoIsWritableMethodInfo                ,+#endif+    repoIsWritable                          ,+++-- ** listStaticDeltaNames #method:listStaticDeltaNames#++#if ENABLE_OVERLOADING+    RepoListStaticDeltaNamesMethodInfo      ,+#endif+    repoListStaticDeltaNames                ,+++-- ** loadCommit #method:loadCommit#++#if ENABLE_OVERLOADING+    RepoLoadCommitMethodInfo                ,+#endif+    repoLoadCommit                          ,+++-- ** loadFile #method:loadFile#++#if ENABLE_OVERLOADING+    RepoLoadFileMethodInfo                  ,+#endif+    repoLoadFile                            ,+++-- ** loadObjectStream #method:loadObjectStream#++#if ENABLE_OVERLOADING+    RepoLoadObjectStreamMethodInfo          ,+#endif+    repoLoadObjectStream                    ,+++-- ** loadVariant #method:loadVariant#++#if ENABLE_OVERLOADING+    RepoLoadVariantMethodInfo               ,+#endif+    repoLoadVariant                         ,+++-- ** loadVariantIfExists #method:loadVariantIfExists#++#if ENABLE_OVERLOADING+    RepoLoadVariantIfExistsMethodInfo       ,+#endif+    repoLoadVariantIfExists                 ,+++-- ** markCommitPartial #method:markCommitPartial#++#if ENABLE_OVERLOADING+    RepoMarkCommitPartialMethodInfo         ,+#endif+    repoMarkCommitPartial                   ,+++-- ** modeFromString #method:modeFromString#++    repoModeFromString                      ,+++-- ** new #method:new#++    repoNew                                 ,+++-- ** newDefault #method:newDefault#++    repoNewDefault                          ,+++-- ** newForSysrootPath #method:newForSysrootPath#++    repoNewForSysrootPath                   ,+++-- ** open #method:open#++#if ENABLE_OVERLOADING+    RepoOpenMethodInfo                      ,+#endif+    repoOpen                                ,+++-- ** openAt #method:openAt#++    repoOpenAt                              ,+++-- ** prepareTransaction #method:prepareTransaction#++#if ENABLE_OVERLOADING+    RepoPrepareTransactionMethodInfo        ,+#endif+    repoPrepareTransaction                  ,+++-- ** prune #method:prune#++#if ENABLE_OVERLOADING+    RepoPruneMethodInfo                     ,+#endif+    repoPrune                               ,+++-- ** pruneFromReachable #method:pruneFromReachable#++#if ENABLE_OVERLOADING+    RepoPruneFromReachableMethodInfo        ,+#endif+    repoPruneFromReachable                  ,+++-- ** pruneStaticDeltas #method:pruneStaticDeltas#++#if ENABLE_OVERLOADING+    RepoPruneStaticDeltasMethodInfo         ,+#endif+    repoPruneStaticDeltas                   ,+++-- ** pull #method:pull#++#if ENABLE_OVERLOADING+    RepoPullMethodInfo                      ,+#endif+    repoPull                                ,+++-- ** pullDefaultConsoleProgressChanged #method:pullDefaultConsoleProgressChanged#++    repoPullDefaultConsoleProgressChanged   ,+++-- ** pullFromRemotesAsync #method:pullFromRemotesAsync#++#if ENABLE_OVERLOADING+    RepoPullFromRemotesAsyncMethodInfo      ,+#endif+    repoPullFromRemotesAsync                ,+++-- ** pullFromRemotesFinish #method:pullFromRemotesFinish#++#if ENABLE_OVERLOADING+    RepoPullFromRemotesFinishMethodInfo     ,+#endif+    repoPullFromRemotesFinish               ,+++-- ** pullOneDir #method:pullOneDir#++#if ENABLE_OVERLOADING+    RepoPullOneDirMethodInfo                ,+#endif+    repoPullOneDir                          ,+++-- ** pullWithOptions #method:pullWithOptions#++#if ENABLE_OVERLOADING+    RepoPullWithOptionsMethodInfo           ,+#endif+    repoPullWithOptions                     ,+++-- ** queryObjectStorageSize #method:queryObjectStorageSize#++#if ENABLE_OVERLOADING+    RepoQueryObjectStorageSizeMethodInfo    ,+#endif+    repoQueryObjectStorageSize              ,+++-- ** readCommit #method:readCommit#++#if ENABLE_OVERLOADING+    RepoReadCommitMethodInfo                ,+#endif+    repoReadCommit                          ,+++-- ** readCommitDetachedMetadata #method:readCommitDetachedMetadata#++#if ENABLE_OVERLOADING+    RepoReadCommitDetachedMetadataMethodInfo,+#endif+    repoReadCommitDetachedMetadata          ,+++-- ** regenerateSummary #method:regenerateSummary#++#if ENABLE_OVERLOADING+    RepoRegenerateSummaryMethodInfo         ,+#endif+    repoRegenerateSummary                   ,+++-- ** reloadConfig #method:reloadConfig#++#if ENABLE_OVERLOADING+    RepoReloadConfigMethodInfo              ,+#endif+    repoReloadConfig                        ,+++-- ** remoteAdd #method:remoteAdd#++#if ENABLE_OVERLOADING+    RepoRemoteAddMethodInfo                 ,+#endif+    repoRemoteAdd                           ,+++-- ** remoteChange #method:remoteChange#++#if ENABLE_OVERLOADING+    RepoRemoteChangeMethodInfo              ,+#endif+    repoRemoteChange                        ,+++-- ** remoteDelete #method:remoteDelete#++#if ENABLE_OVERLOADING+    RepoRemoteDeleteMethodInfo              ,+#endif+    repoRemoteDelete                        ,+++-- ** remoteFetchSummary #method:remoteFetchSummary#++#if ENABLE_OVERLOADING+    RepoRemoteFetchSummaryMethodInfo        ,+#endif+    repoRemoteFetchSummary                  ,+++-- ** remoteFetchSummaryWithOptions #method:remoteFetchSummaryWithOptions#++#if ENABLE_OVERLOADING+    RepoRemoteFetchSummaryWithOptionsMethodInfo,+#endif+    repoRemoteFetchSummaryWithOptions       ,+++-- ** remoteGetGpgVerify #method:remoteGetGpgVerify#++#if ENABLE_OVERLOADING+    RepoRemoteGetGpgVerifyMethodInfo        ,+#endif+    repoRemoteGetGpgVerify                  ,+++-- ** remoteGetGpgVerifySummary #method:remoteGetGpgVerifySummary#++#if ENABLE_OVERLOADING+    RepoRemoteGetGpgVerifySummaryMethodInfo ,+#endif+    repoRemoteGetGpgVerifySummary           ,+++-- ** remoteGetUrl #method:remoteGetUrl#++#if ENABLE_OVERLOADING+    RepoRemoteGetUrlMethodInfo              ,+#endif+    repoRemoteGetUrl                        ,+++-- ** remoteGpgImport #method:remoteGpgImport#++#if ENABLE_OVERLOADING+    RepoRemoteGpgImportMethodInfo           ,+#endif+    repoRemoteGpgImport                     ,+++-- ** remoteList #method:remoteList#++#if ENABLE_OVERLOADING+    RepoRemoteListMethodInfo                ,+#endif+    repoRemoteList                          ,+++-- ** resolveCollectionRef #method:resolveCollectionRef#++#if ENABLE_OVERLOADING+    RepoResolveCollectionRefMethodInfo      ,+#endif+    repoResolveCollectionRef                ,+++-- ** resolveKeyringForCollection #method:resolveKeyringForCollection#++#if ENABLE_OVERLOADING+    RepoResolveKeyringForCollectionMethodInfo,+#endif+    repoResolveKeyringForCollection         ,+++-- ** resolveRev #method:resolveRev#++#if ENABLE_OVERLOADING+    RepoResolveRevMethodInfo                ,+#endif+    repoResolveRev                          ,+++-- ** resolveRevExt #method:resolveRevExt#++#if ENABLE_OVERLOADING+    RepoResolveRevExtMethodInfo             ,+#endif+    repoResolveRevExt                       ,+++-- ** scanHardlinks #method:scanHardlinks#++#if ENABLE_OVERLOADING+    RepoScanHardlinksMethodInfo             ,+#endif+    repoScanHardlinks                       ,+++-- ** setAliasRefImmediate #method:setAliasRefImmediate#++#if ENABLE_OVERLOADING+    RepoSetAliasRefImmediateMethodInfo      ,+#endif+    repoSetAliasRefImmediate                ,+++-- ** setCacheDir #method:setCacheDir#++#if ENABLE_OVERLOADING+    RepoSetCacheDirMethodInfo               ,+#endif+    repoSetCacheDir                         ,+++-- ** setCollectionId #method:setCollectionId#++#if ENABLE_OVERLOADING+    RepoSetCollectionIdMethodInfo           ,+#endif+    repoSetCollectionId                     ,+++-- ** setCollectionRefImmediate #method:setCollectionRefImmediate#++#if ENABLE_OVERLOADING+    RepoSetCollectionRefImmediateMethodInfo ,+#endif+    repoSetCollectionRefImmediate           ,+++-- ** setDisableFsync #method:setDisableFsync#++#if ENABLE_OVERLOADING+    RepoSetDisableFsyncMethodInfo           ,+#endif+    repoSetDisableFsync                     ,+++-- ** setRefImmediate #method:setRefImmediate#++#if ENABLE_OVERLOADING+    RepoSetRefImmediateMethodInfo           ,+#endif+    repoSetRefImmediate                     ,+++-- ** signCommit #method:signCommit#++#if ENABLE_OVERLOADING+    RepoSignCommitMethodInfo                ,+#endif+    repoSignCommit                          ,+++-- ** signDelta #method:signDelta#++#if ENABLE_OVERLOADING+    RepoSignDeltaMethodInfo                 ,+#endif+    repoSignDelta                           ,+++-- ** staticDeltaExecuteOffline #method:staticDeltaExecuteOffline#++#if ENABLE_OVERLOADING+    RepoStaticDeltaExecuteOfflineMethodInfo ,+#endif+    repoStaticDeltaExecuteOffline           ,+++-- ** staticDeltaGenerate #method:staticDeltaGenerate#++#if ENABLE_OVERLOADING+    RepoStaticDeltaGenerateMethodInfo       ,+#endif+    repoStaticDeltaGenerate                 ,+++-- ** transactionSetCollectionRef #method:transactionSetCollectionRef#++#if ENABLE_OVERLOADING+    RepoTransactionSetCollectionRefMethodInfo,+#endif+    repoTransactionSetCollectionRef         ,+++-- ** transactionSetRef #method:transactionSetRef#++#if ENABLE_OVERLOADING+    RepoTransactionSetRefMethodInfo         ,+#endif+    repoTransactionSetRef                   ,+++-- ** transactionSetRefspec #method:transactionSetRefspec#++#if ENABLE_OVERLOADING+    RepoTransactionSetRefspecMethodInfo     ,+#endif+    repoTransactionSetRefspec               ,+++-- ** traverseParentsGetCommits #method:traverseParentsGetCommits#++    repoTraverseParentsGetCommits           ,+++-- ** verifyCommit #method:verifyCommit#++#if ENABLE_OVERLOADING+    RepoVerifyCommitMethodInfo              ,+#endif+    repoVerifyCommit                        ,+++-- ** verifyCommitExt #method:verifyCommitExt#++#if ENABLE_OVERLOADING+    RepoVerifyCommitExtMethodInfo           ,+#endif+    repoVerifyCommitExt                     ,+++-- ** verifyCommitForRemote #method:verifyCommitForRemote#++#if ENABLE_OVERLOADING+    RepoVerifyCommitForRemoteMethodInfo     ,+#endif+    repoVerifyCommitForRemote               ,+++-- ** verifySummary #method:verifySummary#++#if ENABLE_OVERLOADING+    RepoVerifySummaryMethodInfo             ,+#endif+    repoVerifySummary                       ,+++-- ** writeArchiveToMtree #method:writeArchiveToMtree#++#if ENABLE_OVERLOADING+    RepoWriteArchiveToMtreeMethodInfo       ,+#endif+    repoWriteArchiveToMtree                 ,+++-- ** writeCommit #method:writeCommit#++#if ENABLE_OVERLOADING+    RepoWriteCommitMethodInfo               ,+#endif+    repoWriteCommit                         ,+++-- ** writeCommitDetachedMetadata #method:writeCommitDetachedMetadata#++#if ENABLE_OVERLOADING+    RepoWriteCommitDetachedMetadataMethodInfo,+#endif+    repoWriteCommitDetachedMetadata         ,+++-- ** writeCommitWithTime #method:writeCommitWithTime#++#if ENABLE_OVERLOADING+    RepoWriteCommitWithTimeMethodInfo       ,+#endif+    repoWriteCommitWithTime                 ,+++-- ** writeConfig #method:writeConfig#++#if ENABLE_OVERLOADING+    RepoWriteConfigMethodInfo               ,+#endif+    repoWriteConfig                         ,+++-- ** writeContent #method:writeContent#++#if ENABLE_OVERLOADING+    RepoWriteContentMethodInfo              ,+#endif+    repoWriteContent                        ,+++-- ** writeContentAsync #method:writeContentAsync#++#if ENABLE_OVERLOADING+    RepoWriteContentAsyncMethodInfo         ,+#endif+    repoWriteContentAsync                   ,+++-- ** writeContentFinish #method:writeContentFinish#++#if ENABLE_OVERLOADING+    RepoWriteContentFinishMethodInfo        ,+#endif+    repoWriteContentFinish                  ,+++-- ** writeContentTrusted #method:writeContentTrusted#++#if ENABLE_OVERLOADING+    RepoWriteContentTrustedMethodInfo       ,+#endif+    repoWriteContentTrusted                 ,+++-- ** writeDfdToMtree #method:writeDfdToMtree#++#if ENABLE_OVERLOADING+    RepoWriteDfdToMtreeMethodInfo           ,+#endif+    repoWriteDfdToMtree                     ,+++-- ** writeDirectoryToMtree #method:writeDirectoryToMtree#++#if ENABLE_OVERLOADING+    RepoWriteDirectoryToMtreeMethodInfo     ,+#endif+    repoWriteDirectoryToMtree               ,+++-- ** writeMetadata #method:writeMetadata#++#if ENABLE_OVERLOADING+    RepoWriteMetadataMethodInfo             ,+#endif+    repoWriteMetadata                       ,+++-- ** writeMetadataAsync #method:writeMetadataAsync#++#if ENABLE_OVERLOADING+    RepoWriteMetadataAsyncMethodInfo        ,+#endif+    repoWriteMetadataAsync                  ,+++-- ** writeMetadataFinish #method:writeMetadataFinish#++#if ENABLE_OVERLOADING+    RepoWriteMetadataFinishMethodInfo       ,+#endif+    repoWriteMetadataFinish                 ,+++-- ** writeMetadataStreamTrusted #method:writeMetadataStreamTrusted#++#if ENABLE_OVERLOADING+    RepoWriteMetadataStreamTrustedMethodInfo,+#endif+    repoWriteMetadataStreamTrusted          ,+++-- ** writeMetadataTrusted #method:writeMetadataTrusted#++#if ENABLE_OVERLOADING+    RepoWriteMetadataTrustedMethodInfo      ,+#endif+    repoWriteMetadataTrusted                ,+++-- ** writeMtree #method:writeMtree#++#if ENABLE_OVERLOADING+    RepoWriteMtreeMethodInfo                ,+#endif+    repoWriteMtree                          ,+++++ -- * Properties+-- ** path #attr:path#+{- | Path to repository.  Note that if this repository was created+via @ostree_repo_new_at()@, this value will refer to a value in+the Linux kernel\'s @\/proc\/self\/fd@ directory.  Generally, you+should avoid using this property at all; you can gain a reference+to the repository\'s directory fd via @ostree_repo_get_dfd()@ and+use file-descriptor relative operations.+-}+#if ENABLE_OVERLOADING+    RepoPathPropertyInfo                    ,+#endif+    constructRepoPath                       ,+    getRepoPath                             ,+#if ENABLE_OVERLOADING+    repoPath                                ,+#endif+++-- ** remotesConfigDir #attr:remotesConfigDir#+{- | Path to directory containing remote definitions.  The default is @NULL@.+If a @sysroot-path@ property is defined, this value will default to+@${sysroot_path}\/etc\/ostree\/remotes.d@.++This value will only be used for system repositories.+-}+#if ENABLE_OVERLOADING+    RepoRemotesConfigDirPropertyInfo        ,+#endif+    constructRepoRemotesConfigDir           ,+    getRepoRemotesConfigDir                 ,+#if ENABLE_OVERLOADING+    repoRemotesConfigDir                    ,+#endif+++-- ** sysrootPath #attr:sysrootPath#+{- | A system using libostree for the host has a \"system\" repository; this+property will be set for repositories referenced via+@ostree_sysroot_repo()@ for example.++You should avoid using this property; if your code is operating+on a system repository, use @OstreeSysroot@ and access the repository+object via @ostree_sysroot_repo()@.+-}+#if ENABLE_OVERLOADING+    RepoSysrootPathPropertyInfo             ,+#endif+    constructRepoSysrootPath                ,+    getRepoSysrootPath                      ,+#if ENABLE_OVERLOADING+    repoSysrootPath                         ,+#endif+++++ -- * Signals+-- ** gpgVerifyResult #signal:gpgVerifyResult#++    C_RepoGpgVerifyResultCallback           ,+    RepoGpgVerifyResultCallback             ,+#if ENABLE_OVERLOADING+    RepoGpgVerifyResultSignalInfo           ,+#endif+    afterRepoGpgVerifyResult                ,+    genClosure_RepoGpgVerifyResult          ,+    mk_RepoGpgVerifyResultCallback          ,+    noRepoGpgVerifyResultCallback           ,+    onRepoGpgVerifyResult                   ,+    wrap_RepoGpgVerifyResultCallback        ,+++++    ) 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.Structs.Bytes as GLib.Bytes+import qualified GI.GLib.Structs.KeyFile as GLib.KeyFile+import qualified GI.GObject.Objects.Object as GObject.Object+import qualified GI.Gio.Callbacks as Gio.Callbacks+import qualified GI.Gio.Interfaces.AsyncResult as Gio.AsyncResult+import qualified GI.Gio.Interfaces.File as Gio.File+import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable+import qualified GI.Gio.Objects.FileInfo as Gio.FileInfo+import qualified GI.Gio.Objects.InputStream as Gio.InputStream+import {-# SOURCE #-} qualified GI.OSTree.Enums as OSTree.Enums+import {-# SOURCE #-} qualified GI.OSTree.Flags as OSTree.Flags+import {-# SOURCE #-} qualified GI.OSTree.Interfaces.RepoFinder as OSTree.RepoFinder+import {-# SOURCE #-} qualified GI.OSTree.Objects.AsyncProgress as OSTree.AsyncProgress+import {-# SOURCE #-} qualified GI.OSTree.Objects.GpgVerifyResult as OSTree.GpgVerifyResult+import {-# SOURCE #-} qualified GI.OSTree.Objects.MutableTree as OSTree.MutableTree+import {-# SOURCE #-} qualified GI.OSTree.Objects.RepoFile as OSTree.RepoFile+import {-# SOURCE #-} qualified GI.OSTree.Structs.CollectionRef as OSTree.CollectionRef+import {-# SOURCE #-} qualified GI.OSTree.Structs.Remote as OSTree.Remote+import {-# SOURCE #-} qualified GI.OSTree.Structs.RepoCheckoutAtOptions as OSTree.RepoCheckoutAtOptions+import {-# SOURCE #-} qualified GI.OSTree.Structs.RepoCommitModifier as OSTree.RepoCommitModifier+import {-# SOURCE #-} qualified GI.OSTree.Structs.RepoFinderResult as OSTree.RepoFinderResult+import {-# SOURCE #-} qualified GI.OSTree.Structs.RepoPruneOptions as OSTree.RepoPruneOptions+import {-# SOURCE #-} qualified GI.OSTree.Structs.RepoTransactionStats as OSTree.RepoTransactionStats++-- | Memory-managed wrapper type.+newtype Repo = Repo (ManagedPtr Repo)+foreign import ccall "ostree_repo_get_type"+    c_ostree_repo_get_type :: IO GType++instance GObject Repo where+    gobjectType = c_ostree_repo_get_type+    ++-- | Type class for types which can be safely cast to `Repo`, for instance with `toRepo`.+class (GObject o, O.IsDescendantOf Repo o) => IsRepo o+instance (GObject o, O.IsDescendantOf Repo o) => IsRepo o++instance O.HasParentTypes Repo+type instance O.ParentTypes Repo = '[GObject.Object.Object]++-- | Cast to `Repo`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toRepo :: (MonadIO m, IsRepo o) => o -> m Repo+toRepo = liftIO . unsafeCastTo Repo++-- | A convenience alias for `Nothing` :: `Maybe` `Repo`.+noRepo :: Maybe Repo+noRepo = Nothing++#if ENABLE_OVERLOADING+type family ResolveRepoMethod (t :: Symbol) (o :: *) :: * where+    ResolveRepoMethod "abortTransaction" o = RepoAbortTransactionMethodInfo+    ResolveRepoMethod "addGpgSignatureSummary" o = RepoAddGpgSignatureSummaryMethodInfo+    ResolveRepoMethod "appendGpgSignature" o = RepoAppendGpgSignatureMethodInfo+    ResolveRepoMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveRepoMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveRepoMethod "checkoutAt" o = RepoCheckoutAtMethodInfo+    ResolveRepoMethod "checkoutGc" o = RepoCheckoutGcMethodInfo+    ResolveRepoMethod "checkoutTree" o = RepoCheckoutTreeMethodInfo+    ResolveRepoMethod "commitTransaction" o = RepoCommitTransactionMethodInfo+    ResolveRepoMethod "copyConfig" o = RepoCopyConfigMethodInfo+    ResolveRepoMethod "create" o = RepoCreateMethodInfo+    ResolveRepoMethod "deleteObject" o = RepoDeleteObjectMethodInfo+    ResolveRepoMethod "equal" o = RepoEqualMethodInfo+    ResolveRepoMethod "findRemotesAsync" o = RepoFindRemotesAsyncMethodInfo+    ResolveRepoMethod "findRemotesFinish" o = RepoFindRemotesFinishMethodInfo+    ResolveRepoMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveRepoMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveRepoMethod "fsckObject" o = RepoFsckObjectMethodInfo+    ResolveRepoMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveRepoMethod "gpgVerifyData" o = RepoGpgVerifyDataMethodInfo+    ResolveRepoMethod "hasObject" o = RepoHasObjectMethodInfo+    ResolveRepoMethod "hash" o = RepoHashMethodInfo+    ResolveRepoMethod "importObjectFrom" o = RepoImportObjectFromMethodInfo+    ResolveRepoMethod "importObjectFromWithTrust" o = RepoImportObjectFromWithTrustMethodInfo+    ResolveRepoMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveRepoMethod "isSystem" o = RepoIsSystemMethodInfo+    ResolveRepoMethod "isWritable" o = RepoIsWritableMethodInfo+    ResolveRepoMethod "listCollectionRefs" o = RepoListCollectionRefsMethodInfo+    ResolveRepoMethod "listCommitObjectsStartingWith" o = RepoListCommitObjectsStartingWithMethodInfo+    ResolveRepoMethod "listObjects" o = RepoListObjectsMethodInfo+    ResolveRepoMethod "listRefs" o = RepoListRefsMethodInfo+    ResolveRepoMethod "listRefsExt" o = RepoListRefsExtMethodInfo+    ResolveRepoMethod "listStaticDeltaNames" o = RepoListStaticDeltaNamesMethodInfo+    ResolveRepoMethod "loadCommit" o = RepoLoadCommitMethodInfo+    ResolveRepoMethod "loadFile" o = RepoLoadFileMethodInfo+    ResolveRepoMethod "loadObjectStream" o = RepoLoadObjectStreamMethodInfo+    ResolveRepoMethod "loadVariant" o = RepoLoadVariantMethodInfo+    ResolveRepoMethod "loadVariantIfExists" o = RepoLoadVariantIfExistsMethodInfo+    ResolveRepoMethod "markCommitPartial" o = RepoMarkCommitPartialMethodInfo+    ResolveRepoMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveRepoMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveRepoMethod "open" o = RepoOpenMethodInfo+    ResolveRepoMethod "prepareTransaction" o = RepoPrepareTransactionMethodInfo+    ResolveRepoMethod "prune" o = RepoPruneMethodInfo+    ResolveRepoMethod "pruneFromReachable" o = RepoPruneFromReachableMethodInfo+    ResolveRepoMethod "pruneStaticDeltas" o = RepoPruneStaticDeltasMethodInfo+    ResolveRepoMethod "pull" o = RepoPullMethodInfo+    ResolveRepoMethod "pullFromRemotesAsync" o = RepoPullFromRemotesAsyncMethodInfo+    ResolveRepoMethod "pullFromRemotesFinish" o = RepoPullFromRemotesFinishMethodInfo+    ResolveRepoMethod "pullOneDir" o = RepoPullOneDirMethodInfo+    ResolveRepoMethod "pullWithOptions" o = RepoPullWithOptionsMethodInfo+    ResolveRepoMethod "queryObjectStorageSize" o = RepoQueryObjectStorageSizeMethodInfo+    ResolveRepoMethod "readCommit" o = RepoReadCommitMethodInfo+    ResolveRepoMethod "readCommitDetachedMetadata" o = RepoReadCommitDetachedMetadataMethodInfo+    ResolveRepoMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveRepoMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveRepoMethod "regenerateSummary" o = RepoRegenerateSummaryMethodInfo+    ResolveRepoMethod "reloadConfig" o = RepoReloadConfigMethodInfo+    ResolveRepoMethod "remoteAdd" o = RepoRemoteAddMethodInfo+    ResolveRepoMethod "remoteChange" o = RepoRemoteChangeMethodInfo+    ResolveRepoMethod "remoteDelete" o = RepoRemoteDeleteMethodInfo+    ResolveRepoMethod "remoteFetchSummary" o = RepoRemoteFetchSummaryMethodInfo+    ResolveRepoMethod "remoteFetchSummaryWithOptions" o = RepoRemoteFetchSummaryWithOptionsMethodInfo+    ResolveRepoMethod "remoteGetGpgVerify" o = RepoRemoteGetGpgVerifyMethodInfo+    ResolveRepoMethod "remoteGetGpgVerifySummary" o = RepoRemoteGetGpgVerifySummaryMethodInfo+    ResolveRepoMethod "remoteGetUrl" o = RepoRemoteGetUrlMethodInfo+    ResolveRepoMethod "remoteGpgImport" o = RepoRemoteGpgImportMethodInfo+    ResolveRepoMethod "remoteList" o = RepoRemoteListMethodInfo+    ResolveRepoMethod "remoteListCollectionRefs" o = RepoRemoteListCollectionRefsMethodInfo+    ResolveRepoMethod "remoteListRefs" o = RepoRemoteListRefsMethodInfo+    ResolveRepoMethod "resolveCollectionRef" o = RepoResolveCollectionRefMethodInfo+    ResolveRepoMethod "resolveKeyringForCollection" o = RepoResolveKeyringForCollectionMethodInfo+    ResolveRepoMethod "resolveRev" o = RepoResolveRevMethodInfo+    ResolveRepoMethod "resolveRevExt" o = RepoResolveRevExtMethodInfo+    ResolveRepoMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveRepoMethod "scanHardlinks" o = RepoScanHardlinksMethodInfo+    ResolveRepoMethod "signCommit" o = RepoSignCommitMethodInfo+    ResolveRepoMethod "signDelta" o = RepoSignDeltaMethodInfo+    ResolveRepoMethod "staticDeltaExecuteOffline" o = RepoStaticDeltaExecuteOfflineMethodInfo+    ResolveRepoMethod "staticDeltaGenerate" o = RepoStaticDeltaGenerateMethodInfo+    ResolveRepoMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveRepoMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveRepoMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveRepoMethod "transactionSetCollectionRef" o = RepoTransactionSetCollectionRefMethodInfo+    ResolveRepoMethod "transactionSetRef" o = RepoTransactionSetRefMethodInfo+    ResolveRepoMethod "transactionSetRefspec" o = RepoTransactionSetRefspecMethodInfo+    ResolveRepoMethod "traverseCommit" o = RepoTraverseCommitMethodInfo+    ResolveRepoMethod "traverseReachableRefs" o = RepoTraverseReachableRefsMethodInfo+    ResolveRepoMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveRepoMethod "verifyCommit" o = RepoVerifyCommitMethodInfo+    ResolveRepoMethod "verifyCommitExt" o = RepoVerifyCommitExtMethodInfo+    ResolveRepoMethod "verifyCommitForRemote" o = RepoVerifyCommitForRemoteMethodInfo+    ResolveRepoMethod "verifySummary" o = RepoVerifySummaryMethodInfo+    ResolveRepoMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveRepoMethod "writeArchiveToMtree" o = RepoWriteArchiveToMtreeMethodInfo+    ResolveRepoMethod "writeCommit" o = RepoWriteCommitMethodInfo+    ResolveRepoMethod "writeCommitDetachedMetadata" o = RepoWriteCommitDetachedMetadataMethodInfo+    ResolveRepoMethod "writeCommitWithTime" o = RepoWriteCommitWithTimeMethodInfo+    ResolveRepoMethod "writeConfig" o = RepoWriteConfigMethodInfo+    ResolveRepoMethod "writeContent" o = RepoWriteContentMethodInfo+    ResolveRepoMethod "writeContentAsync" o = RepoWriteContentAsyncMethodInfo+    ResolveRepoMethod "writeContentFinish" o = RepoWriteContentFinishMethodInfo+    ResolveRepoMethod "writeContentTrusted" o = RepoWriteContentTrustedMethodInfo+    ResolveRepoMethod "writeDfdToMtree" o = RepoWriteDfdToMtreeMethodInfo+    ResolveRepoMethod "writeDirectoryToMtree" o = RepoWriteDirectoryToMtreeMethodInfo+    ResolveRepoMethod "writeMetadata" o = RepoWriteMetadataMethodInfo+    ResolveRepoMethod "writeMetadataAsync" o = RepoWriteMetadataAsyncMethodInfo+    ResolveRepoMethod "writeMetadataFinish" o = RepoWriteMetadataFinishMethodInfo+    ResolveRepoMethod "writeMetadataStreamTrusted" o = RepoWriteMetadataStreamTrustedMethodInfo+    ResolveRepoMethod "writeMetadataTrusted" o = RepoWriteMetadataTrustedMethodInfo+    ResolveRepoMethod "writeMtree" o = RepoWriteMtreeMethodInfo+    ResolveRepoMethod "getBootloader" o = RepoGetBootloaderMethodInfo+    ResolveRepoMethod "getCollectionId" o = RepoGetCollectionIdMethodInfo+    ResolveRepoMethod "getConfig" o = RepoGetConfigMethodInfo+    ResolveRepoMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveRepoMethod "getDefaultRepoFinders" o = RepoGetDefaultRepoFindersMethodInfo+    ResolveRepoMethod "getDfd" o = RepoGetDfdMethodInfo+    ResolveRepoMethod "getDisableFsync" o = RepoGetDisableFsyncMethodInfo+    ResolveRepoMethod "getMinFreeSpaceBytes" o = RepoGetMinFreeSpaceBytesMethodInfo+    ResolveRepoMethod "getMode" o = RepoGetModeMethodInfo+    ResolveRepoMethod "getParent" o = RepoGetParentMethodInfo+    ResolveRepoMethod "getPath" o = RepoGetPathMethodInfo+    ResolveRepoMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveRepoMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveRepoMethod "getRemoteBooleanOption" o = RepoGetRemoteBooleanOptionMethodInfo+    ResolveRepoMethod "getRemoteListOption" o = RepoGetRemoteListOptionMethodInfo+    ResolveRepoMethod "getRemoteOption" o = RepoGetRemoteOptionMethodInfo+    ResolveRepoMethod "setAliasRefImmediate" o = RepoSetAliasRefImmediateMethodInfo+    ResolveRepoMethod "setCacheDir" o = RepoSetCacheDirMethodInfo+    ResolveRepoMethod "setCollectionId" o = RepoSetCollectionIdMethodInfo+    ResolveRepoMethod "setCollectionRefImmediate" o = RepoSetCollectionRefImmediateMethodInfo+    ResolveRepoMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveRepoMethod "setDisableFsync" o = RepoSetDisableFsyncMethodInfo+    ResolveRepoMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveRepoMethod "setRefImmediate" o = RepoSetRefImmediateMethodInfo+    ResolveRepoMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRepoMethod t Repo, O.MethodInfo info Repo p) => OL.IsLabel t (Repo -> 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++-- signal Repo::gpg-verify-result+{- |+Emitted during a pull operation upon GPG verification (if enabled).+Applications can connect to this signal to output the verification+results if desired.++The signal will be emitted from whichever 'GI.GLib.Structs.MainContext.MainContext' is the+thread-default at the point when 'GI.OSTree.Objects.Repo.repoPullWithOptions'+is called.+-}+type RepoGpgVerifyResultCallback =+    T.Text+    {- ^ /@checksum@/: checksum of the signed object -}+    -> OSTree.GpgVerifyResult.GpgVerifyResult+    {- ^ /@result@/: an 'GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult' -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `RepoGpgVerifyResultCallback`@.+noRepoGpgVerifyResultCallback :: Maybe RepoGpgVerifyResultCallback+noRepoGpgVerifyResultCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_RepoGpgVerifyResultCallback =+    Ptr () ->                               -- object+    CString ->+    Ptr OSTree.GpgVerifyResult.GpgVerifyResult ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_RepoGpgVerifyResultCallback`.+foreign import ccall "wrapper"+    mk_RepoGpgVerifyResultCallback :: C_RepoGpgVerifyResultCallback -> IO (FunPtr C_RepoGpgVerifyResultCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_RepoGpgVerifyResult :: MonadIO m => RepoGpgVerifyResultCallback -> m (GClosure C_RepoGpgVerifyResultCallback)+genClosure_RepoGpgVerifyResult cb = liftIO $ do+    let cb' = wrap_RepoGpgVerifyResultCallback cb+    mk_RepoGpgVerifyResultCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `RepoGpgVerifyResultCallback` into a `C_RepoGpgVerifyResultCallback`.+wrap_RepoGpgVerifyResultCallback ::+    RepoGpgVerifyResultCallback ->+    C_RepoGpgVerifyResultCallback+wrap_RepoGpgVerifyResultCallback _cb _ checksum result_ _ = do+    checksum' <- cstringToText checksum+    result_' <- (newObject OSTree.GpgVerifyResult.GpgVerifyResult) result_+    _cb  checksum' result_'+++{- |+Connect a signal handler for the “@gpg-verify-result@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' repo #gpgVerifyResult callback+@+-}+onRepoGpgVerifyResult :: (IsRepo a, MonadIO m) => a -> RepoGpgVerifyResultCallback -> m SignalHandlerId+onRepoGpgVerifyResult obj cb = liftIO $ do+    let cb' = wrap_RepoGpgVerifyResultCallback cb+    cb'' <- mk_RepoGpgVerifyResultCallback cb'+    connectSignalFunPtr obj "gpg-verify-result" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@gpg-verify-result@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' repo #gpgVerifyResult callback+@+-}+afterRepoGpgVerifyResult :: (IsRepo a, MonadIO m) => a -> RepoGpgVerifyResultCallback -> m SignalHandlerId+afterRepoGpgVerifyResult obj cb = liftIO $ do+    let cb' = wrap_RepoGpgVerifyResultCallback cb+    cb'' <- mk_RepoGpgVerifyResultCallback cb'+    connectSignalFunPtr obj "gpg-verify-result" cb'' SignalConnectAfter+++-- VVV Prop "path"+   -- Type: TInterface (Name {namespace = "Gio", name = "File"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@path@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repo #path+@+-}+getRepoPath :: (MonadIO m, IsRepo o) => o -> m Gio.File.File+getRepoPath obj = liftIO $ checkUnexpectedNothing "getRepoPath" $ B.Properties.getObjectPropertyObject obj "path" Gio.File.File++{- |+Construct a `GValueConstruct` with valid value for the “@path@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructRepoPath :: (IsRepo o, Gio.File.IsFile a) => a -> IO (GValueConstruct o)+constructRepoPath val = B.Properties.constructObjectPropertyObject "path" (Just val)++#if ENABLE_OVERLOADING+data RepoPathPropertyInfo+instance AttrInfo RepoPathPropertyInfo where+    type AttrAllowedOps RepoPathPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint RepoPathPropertyInfo = Gio.File.IsFile+    type AttrBaseTypeConstraint RepoPathPropertyInfo = IsRepo+    type AttrGetType RepoPathPropertyInfo = Gio.File.File+    type AttrLabel RepoPathPropertyInfo = "path"+    type AttrOrigin RepoPathPropertyInfo = Repo+    attrGet _ = getRepoPath+    attrSet _ = undefined+    attrConstruct _ = constructRepoPath+    attrClear _ = undefined+#endif++-- VVV Prop "remotes-config-dir"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@remotes-config-dir@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repo #remotesConfigDir+@+-}+getRepoRemotesConfigDir :: (MonadIO m, IsRepo o) => o -> m (Maybe T.Text)+getRepoRemotesConfigDir obj = liftIO $ B.Properties.getObjectPropertyString obj "remotes-config-dir"++{- |+Construct a `GValueConstruct` with valid value for the “@remotes-config-dir@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructRepoRemotesConfigDir :: (IsRepo o) => T.Text -> IO (GValueConstruct o)+constructRepoRemotesConfigDir val = B.Properties.constructObjectPropertyString "remotes-config-dir" (Just val)++#if ENABLE_OVERLOADING+data RepoRemotesConfigDirPropertyInfo+instance AttrInfo RepoRemotesConfigDirPropertyInfo where+    type AttrAllowedOps RepoRemotesConfigDirPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint RepoRemotesConfigDirPropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint RepoRemotesConfigDirPropertyInfo = IsRepo+    type AttrGetType RepoRemotesConfigDirPropertyInfo = (Maybe T.Text)+    type AttrLabel RepoRemotesConfigDirPropertyInfo = "remotes-config-dir"+    type AttrOrigin RepoRemotesConfigDirPropertyInfo = Repo+    attrGet _ = getRepoRemotesConfigDir+    attrSet _ = undefined+    attrConstruct _ = constructRepoRemotesConfigDir+    attrClear _ = undefined+#endif++-- VVV Prop "sysroot-path"+   -- Type: TInterface (Name {namespace = "Gio", name = "File"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@sysroot-path@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repo #sysrootPath+@+-}+getRepoSysrootPath :: (MonadIO m, IsRepo o) => o -> m (Maybe Gio.File.File)+getRepoSysrootPath obj = liftIO $ B.Properties.getObjectPropertyObject obj "sysroot-path" Gio.File.File++{- |+Construct a `GValueConstruct` with valid value for the “@sysroot-path@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructRepoSysrootPath :: (IsRepo o, Gio.File.IsFile a) => a -> IO (GValueConstruct o)+constructRepoSysrootPath val = B.Properties.constructObjectPropertyObject "sysroot-path" (Just val)++#if ENABLE_OVERLOADING+data RepoSysrootPathPropertyInfo+instance AttrInfo RepoSysrootPathPropertyInfo where+    type AttrAllowedOps RepoSysrootPathPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint RepoSysrootPathPropertyInfo = Gio.File.IsFile+    type AttrBaseTypeConstraint RepoSysrootPathPropertyInfo = IsRepo+    type AttrGetType RepoSysrootPathPropertyInfo = (Maybe Gio.File.File)+    type AttrLabel RepoSysrootPathPropertyInfo = "sysroot-path"+    type AttrOrigin RepoSysrootPathPropertyInfo = Repo+    attrGet _ = getRepoSysrootPath+    attrSet _ = undefined+    attrConstruct _ = constructRepoSysrootPath+    attrClear _ = undefined+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList Repo+type instance O.AttributeList Repo = RepoAttributeList+type RepoAttributeList = ('[ '("path", RepoPathPropertyInfo), '("remotesConfigDir", RepoRemotesConfigDirPropertyInfo), '("sysrootPath", RepoSysrootPathPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+repoPath :: AttrLabelProxy "path"+repoPath = AttrLabelProxy++repoRemotesConfigDir :: AttrLabelProxy "remotesConfigDir"+repoRemotesConfigDir = AttrLabelProxy++repoSysrootPath :: AttrLabelProxy "sysrootPath"+repoSysrootPath = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+data RepoGpgVerifyResultSignalInfo+instance SignalInfo RepoGpgVerifyResultSignalInfo where+    type HaskellCallbackType RepoGpgVerifyResultSignalInfo = RepoGpgVerifyResultCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_RepoGpgVerifyResultCallback cb+        cb'' <- mk_RepoGpgVerifyResultCallback cb'+        connectSignalFunPtr obj "gpg-verify-result" cb'' connectMode++type instance O.SignalList Repo = RepoSignalList+type RepoSignalList = ('[ '("gpgVerifyResult", RepoGpgVerifyResultSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method Repo::new+-- method type : Constructor+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Path to a repository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "Repo"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_new" ostree_repo_new :: +    Ptr Gio.File.File ->                    -- path : TInterface (Name {namespace = "Gio", name = "File"})+    IO (Ptr Repo)++{- |+/No description available in the introspection data./+-}+repoNew ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.File.IsFile a) =>+    a+    {- ^ /@path@/: Path to a repository -}+    -> m Repo+    {- ^ __Returns:__ An accessor object for an OSTree repository located at /@path@/ -}+repoNew path = liftIO $ do+    path' <- unsafeManagedPtrCastPtr path+    result <- ostree_repo_new path'+    checkUnexpectedReturnNULL "repoNew" result+    result' <- (wrapObject Repo) result+    touchManagedPtr path+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Repo::new_default+-- method type : Constructor+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "Repo"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_new_default" ostree_repo_new_default :: +    IO (Ptr Repo)++{- |+If the current working directory appears to be an OSTree+repository, create a new 'GI.OSTree.Objects.Repo.Repo' object for accessing it.+Otherwise use the path in the OSTREE_REPO environment variable+(if defined) or else the default system repository located at+\/ostree\/repo.+-}+repoNewDefault ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m Repo+    {- ^ __Returns:__ An accessor object for an OSTree repository located at \/ostree\/repo -}+repoNewDefault  = liftIO $ do+    result <- ostree_repo_new_default+    checkUnexpectedReturnNULL "repoNewDefault" result+    result' <- (wrapObject Repo) result+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Repo::new_for_sysroot_path+-- method type : Constructor+-- Args : [Arg {argCName = "repo_path", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Path to a repository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sysroot_path", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Path to the system root", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "Repo"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_new_for_sysroot_path" ostree_repo_new_for_sysroot_path :: +    Ptr Gio.File.File ->                    -- repo_path : TInterface (Name {namespace = "Gio", name = "File"})+    Ptr Gio.File.File ->                    -- sysroot_path : TInterface (Name {namespace = "Gio", name = "File"})+    IO (Ptr Repo)++{- |+Creates a new 'GI.OSTree.Objects.Repo.Repo' instance, taking the system root path explicitly+instead of assuming \"\/\".+-}+repoNewForSysrootPath ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.File.IsFile a, Gio.File.IsFile b) =>+    a+    {- ^ /@repoPath@/: Path to a repository -}+    -> b+    {- ^ /@sysrootPath@/: Path to the system root -}+    -> m Repo+    {- ^ __Returns:__ An accessor object for the OSTree repository located at /@repoPath@/. -}+repoNewForSysrootPath repoPath sysrootPath = liftIO $ do+    repoPath' <- unsafeManagedPtrCastPtr repoPath+    sysrootPath' <- unsafeManagedPtrCastPtr sysrootPath+    result <- ostree_repo_new_for_sysroot_path repoPath' sysrootPath'+    checkUnexpectedReturnNULL "repoNewForSysrootPath" result+    result' <- (wrapObject Repo) result+    touchManagedPtr repoPath+    touchManagedPtr sysrootPath+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Repo::abort_transaction+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_abort_transaction" ostree_repo_abort_transaction :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Abort the active transaction; any staged objects and ref changes will be+discarded. You *must* invoke this if you have chosen not to invoke+'GI.OSTree.Objects.Repo.repoCommitTransaction'. Calling this function when not in a+transaction will do nothing and return successfully.+-}+repoAbortTransaction ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: An 'GI.OSTree.Objects.Repo.Repo' -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoAbortTransaction self cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_abort_transaction self' maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepoAbortTransactionMethodInfo+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoAbortTransactionMethodInfo a signature where+    overloadedMethod _ = repoAbortTransaction++#endif++-- method Repo::add_gpg_signature_summary+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Self", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key_id", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "NULL-terminated array of GPG keys.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "homedir", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "GPG home directory, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GCancellable", 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 "ostree_repo_add_gpg_signature_summary" ostree_repo_add_gpg_signature_summary :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr CString ->                          -- key_id : TCArray True (-1) (-1) (TBasicType TUTF8)+    CString ->                              -- homedir : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Add a GPG signature to a summary file.+-}+repoAddGpgSignatureSummary ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Self -}+    -> [T.Text]+    {- ^ /@keyId@/: NULL-terminated array of GPG keys. -}+    -> Maybe (T.Text)+    {- ^ /@homedir@/: GPG home directory, or 'Nothing' -}+    -> Maybe (b)+    {- ^ /@cancellable@/: A 'GI.Gio.Objects.Cancellable.Cancellable' -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoAddGpgSignatureSummary self keyId homedir cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    keyId' <- packZeroTerminatedUTF8CArray keyId+    maybeHomedir <- case homedir of+        Nothing -> return nullPtr+        Just jHomedir -> do+            jHomedir' <- textToCString jHomedir+            return jHomedir'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_add_gpg_signature_summary self' keyId' maybeHomedir maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        mapZeroTerminatedCArray freeMem keyId'+        freeMem keyId'+        freeMem maybeHomedir+        return ()+     ) (do+        mapZeroTerminatedCArray freeMem keyId'+        freeMem keyId'+        freeMem maybeHomedir+     )++#if ENABLE_OVERLOADING+data RepoAddGpgSignatureSummaryMethodInfo+instance (signature ~ ([T.Text] -> Maybe (T.Text) -> Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoAddGpgSignatureSummaryMethodInfo a signature where+    overloadedMethod _ = repoAddGpgSignatureSummary++#endif++-- method Repo::append_gpg_signature+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Self", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "commit_checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "SHA256 of given commit to sign", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signature_bytes", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Signature data", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GCancellable", 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 "ostree_repo_append_gpg_signature" ostree_repo_append_gpg_signature :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- commit_checksum : TBasicType TUTF8+    Ptr GLib.Bytes.Bytes ->                 -- signature_bytes : TInterface (Name {namespace = "GLib", name = "Bytes"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Append a GPG signature to a commit.+-}+repoAppendGpgSignature ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Self -}+    -> T.Text+    {- ^ /@commitChecksum@/: SHA256 of given commit to sign -}+    -> GLib.Bytes.Bytes+    {- ^ /@signatureBytes@/: Signature data -}+    -> Maybe (b)+    {- ^ /@cancellable@/: A 'GI.Gio.Objects.Cancellable.Cancellable' -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoAppendGpgSignature self commitChecksum signatureBytes cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    commitChecksum' <- textToCString commitChecksum+    signatureBytes' <- unsafeManagedPtrGetPtr signatureBytes+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_append_gpg_signature self' commitChecksum' signatureBytes' maybeCancellable+        touchManagedPtr self+        touchManagedPtr signatureBytes+        whenJust cancellable touchManagedPtr+        freeMem commitChecksum'+        return ()+     ) (do+        freeMem commitChecksum'+     )++#if ENABLE_OVERLOADING+data RepoAppendGpgSignatureMethodInfo+instance (signature ~ (T.Text -> GLib.Bytes.Bytes -> Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoAppendGpgSignatureMethodInfo a signature where+    overloadedMethod _ = repoAppendGpgSignature++#endif++-- method Repo::checkout_at+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "options", argType = TInterface (Name {namespace = "OSTree", name = "RepoCheckoutAtOptions"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Options", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destination_dfd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Directory FD for destination", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destination_path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Directory for destination", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "commit", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Checksum for commit", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_checkout_at" ostree_repo_checkout_at :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr OSTree.RepoCheckoutAtOptions.RepoCheckoutAtOptions -> -- options : TInterface (Name {namespace = "OSTree", name = "RepoCheckoutAtOptions"})+    Int32 ->                                -- destination_dfd : TBasicType TInt+    CString ->                              -- destination_path : TBasicType TUTF8+    CString ->                              -- commit : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Similar to 'GI.OSTree.Objects.Repo.repoCheckoutTree', but uses directory-relative+paths for the destination, uses a new @OstreeRepoCheckoutAtOptions@,+and takes a commit checksum and optional subpath pair, rather than+requiring use of @GFile@ APIs for the caller.++It also replaces 'GI.OSTree.Objects.Repo.repoCheckoutAt' which was not safe to+use with GObject introspection.++Note in addition that unlike 'GI.OSTree.Objects.Repo.repoCheckoutTree', the+default is not to use the repository-internal uncompressed objects+cache.+-}+repoCheckoutAt ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repo -}+    -> Maybe (OSTree.RepoCheckoutAtOptions.RepoCheckoutAtOptions)+    {- ^ /@options@/: Options -}+    -> Int32+    {- ^ /@destinationDfd@/: Directory FD for destination -}+    -> T.Text+    {- ^ /@destinationPath@/: Directory for destination -}+    -> T.Text+    {- ^ /@commit@/: Checksum for commit -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoCheckoutAt self options destinationDfd destinationPath commit cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeOptions <- case options of+        Nothing -> return nullPtr+        Just jOptions -> do+            jOptions' <- unsafeManagedPtrGetPtr jOptions+            return jOptions'+    destinationPath' <- textToCString destinationPath+    commit' <- textToCString commit+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_checkout_at self' maybeOptions destinationDfd destinationPath' commit' maybeCancellable+        touchManagedPtr self+        whenJust options touchManagedPtr+        whenJust cancellable touchManagedPtr+        freeMem destinationPath'+        freeMem commit'+        return ()+     ) (do+        freeMem destinationPath'+        freeMem commit'+     )++#if ENABLE_OVERLOADING+data RepoCheckoutAtMethodInfo+instance (signature ~ (Maybe (OSTree.RepoCheckoutAtOptions.RepoCheckoutAtOptions) -> Int32 -> T.Text -> T.Text -> Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoCheckoutAtMethodInfo a signature where+    overloadedMethod _ = repoCheckoutAt++#endif++-- method Repo::checkout_gc+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_checkout_gc" ostree_repo_checkout_gc :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Call this after finishing a succession of checkout operations; it+will delete any currently-unused uncompressed objects from the+cache.+-}+repoCheckoutGc ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repo -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoCheckoutGc self cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_checkout_gc self' maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepoCheckoutGcMethodInfo+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoCheckoutGcMethodInfo a signature where+    overloadedMethod _ = repoCheckoutGc++#endif++-- method Repo::checkout_tree+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "OSTree", name = "RepoCheckoutMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Options controlling all files", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "overwrite_mode", argType = TInterface (Name {namespace = "OSTree", name = "RepoCheckoutOverwriteMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether or not to overwrite files", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destination", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Place tree here", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "source", argType = TInterface (Name {namespace = "OSTree", name = "RepoFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Source tree", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "source_info", argType = TInterface (Name {namespace = "Gio", name = "FileInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Source info", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_checkout_tree" ostree_repo_checkout_tree :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CUInt ->                                -- mode : TInterface (Name {namespace = "OSTree", name = "RepoCheckoutMode"})+    CUInt ->                                -- overwrite_mode : TInterface (Name {namespace = "OSTree", name = "RepoCheckoutOverwriteMode"})+    Ptr Gio.File.File ->                    -- destination : TInterface (Name {namespace = "Gio", name = "File"})+    Ptr OSTree.RepoFile.RepoFile ->         -- source : TInterface (Name {namespace = "OSTree", name = "RepoFile"})+    Ptr Gio.FileInfo.FileInfo ->            -- source_info : TInterface (Name {namespace = "Gio", name = "FileInfo"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Check out /@source@/ into /@destination@/, which must live on the+physical filesystem.  /@source@/ may be any subdirectory of a given+commit.  The /@mode@/ and /@overwriteMode@/ allow control over how the+files are checked out.+-}+repoCheckoutTree ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.File.IsFile b, OSTree.RepoFile.IsRepoFile c, Gio.FileInfo.IsFileInfo d, Gio.Cancellable.IsCancellable e) =>+    a+    {- ^ /@self@/: Repo -}+    -> OSTree.Enums.RepoCheckoutMode+    {- ^ /@mode@/: Options controlling all files -}+    -> OSTree.Enums.RepoCheckoutOverwriteMode+    {- ^ /@overwriteMode@/: Whether or not to overwrite files -}+    -> b+    {- ^ /@destination@/: Place tree here -}+    -> c+    {- ^ /@source@/: Source tree -}+    -> d+    {- ^ /@sourceInfo@/: Source info -}+    -> Maybe (e)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoCheckoutTree self mode overwriteMode destination source sourceInfo cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    let mode' = (fromIntegral . fromEnum) mode+    let overwriteMode' = (fromIntegral . fromEnum) overwriteMode+    destination' <- unsafeManagedPtrCastPtr destination+    source' <- unsafeManagedPtrCastPtr source+    sourceInfo' <- unsafeManagedPtrCastPtr sourceInfo+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_checkout_tree self' mode' overwriteMode' destination' source' sourceInfo' maybeCancellable+        touchManagedPtr self+        touchManagedPtr destination+        touchManagedPtr source+        touchManagedPtr sourceInfo+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepoCheckoutTreeMethodInfo+instance (signature ~ (OSTree.Enums.RepoCheckoutMode -> OSTree.Enums.RepoCheckoutOverwriteMode -> b -> c -> d -> Maybe (e) -> m ()), MonadIO m, IsRepo a, Gio.File.IsFile b, OSTree.RepoFile.IsRepoFile c, Gio.FileInfo.IsFileInfo d, Gio.Cancellable.IsCancellable e) => O.MethodInfo RepoCheckoutTreeMethodInfo a signature where+    overloadedMethod _ = repoCheckoutTree++#endif++-- method Repo::commit_transaction+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_stats", argType = TInterface (Name {namespace = "OSTree", name = "RepoTransactionStats"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A set of statistics of things\nthat happened during this transaction.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = True, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_commit_transaction" ostree_repo_commit_transaction :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr OSTree.RepoTransactionStats.RepoTransactionStats -> -- out_stats : TInterface (Name {namespace = "OSTree", name = "RepoTransactionStats"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Complete the transaction. Any refs set with+'GI.OSTree.Objects.Repo.repoTransactionSetRef' or+'GI.OSTree.Objects.Repo.repoTransactionSetRefspec' will be written out.++Note that if multiple threads are performing writes, all such threads must+have terminated before this function is invoked.++Locking: Releases @shared@ lock acquired by @ostree_repo_prepare_transaction()@+Multithreading: This function is *not* MT safe; only one transaction can be+active at a time.+-}+repoCommitTransaction ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: An 'GI.OSTree.Objects.Repo.Repo' -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m (OSTree.RepoTransactionStats.RepoTransactionStats)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoCommitTransaction self cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    outStats <- callocBoxedBytes 56 :: IO (Ptr OSTree.RepoTransactionStats.RepoTransactionStats)+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_commit_transaction self' outStats maybeCancellable+        outStats' <- (wrapBoxed OSTree.RepoTransactionStats.RepoTransactionStats) outStats+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        return outStats'+     ) (do+        freeMem outStats+     )++#if ENABLE_OVERLOADING+data RepoCommitTransactionMethodInfo+instance (signature ~ (Maybe (b) -> m (OSTree.RepoTransactionStats.RepoTransactionStats)), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoCommitTransactionMethodInfo a signature where+    overloadedMethod _ = repoCommitTransaction++#endif++-- method Repo::copy_config+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), 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 = "KeyFile"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_copy_config" ostree_repo_copy_config :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    IO (Ptr GLib.KeyFile.KeyFile)++{- |+/No description available in the introspection data./+-}+repoCopyConfig ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    -> m GLib.KeyFile.KeyFile+    {- ^ __Returns:__ A newly-allocated copy of the repository config -}+repoCopyConfig self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_repo_copy_config self'+    checkUnexpectedReturnNULL "repoCopyConfig" result+    result' <- (wrapBoxed GLib.KeyFile.KeyFile) result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data RepoCopyConfigMethodInfo+instance (signature ~ (m GLib.KeyFile.KeyFile), MonadIO m, IsRepo a) => O.MethodInfo RepoCopyConfigMethodInfo a signature where+    overloadedMethod _ = repoCopyConfig++#endif++-- method Repo::create+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "OSTree", name = "RepoMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The mode to store the repository in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_create" ostree_repo_create :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CUInt ->                                -- mode : TInterface (Name {namespace = "OSTree", name = "RepoMode"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Create the underlying structure on disk for the repository, and call+'GI.OSTree.Objects.Repo.repoOpen' on the result, preparing it for use.++Since version 2016.8, this function will succeed on an existing+repository, and finish creating any necessary files in a partially+created repository.  However, this function cannot change the mode+of an existing repository, and will silently ignore an attempt to+do so.++Since 2017.9, \"existing repository\" is defined by the existence of an+@objects@ subdirectory.++This function predates 'GI.OSTree.Objects.Repo.repoCreateAt'. It is an error to call+this function on a repository initialized via 'GI.OSTree.Objects.Repo.repoOpenAt'.+-}+repoCreate ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: An 'GI.OSTree.Objects.Repo.Repo' -}+    -> OSTree.Enums.RepoMode+    {- ^ /@mode@/: The mode to store the repository in -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoCreate self mode cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    let mode' = (fromIntegral . fromEnum) mode+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_create self' mode' maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepoCreateMethodInfo+instance (signature ~ (OSTree.Enums.RepoMode -> Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoCreateMethodInfo a signature where+    overloadedMethod _ = repoCreate++#endif++-- method Repo::delete_object+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "objtype", argType = TInterface (Name {namespace = "OSTree", name = "ObjectType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Object type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sha256", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_delete_object" ostree_repo_delete_object :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CUInt ->                                -- objtype : TInterface (Name {namespace = "OSTree", name = "ObjectType"})+    CString ->                              -- sha256 : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Remove the object of type /@objtype@/ with checksum /@sha256@/+from the repository.  An error of type 'GI.Gio.Enums.IOErrorEnumNotFound'+is thrown if the object does not exist.+-}+repoDeleteObject ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repo -}+    -> OSTree.Enums.ObjectType+    {- ^ /@objtype@/: Object type -}+    -> T.Text+    {- ^ /@sha256@/: Checksum -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoDeleteObject self objtype sha256 cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    let objtype' = (fromIntegral . fromEnum) objtype+    sha256' <- textToCString sha256+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_delete_object self' objtype' sha256' maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem sha256'+        return ()+     ) (do+        freeMem sha256'+     )++#if ENABLE_OVERLOADING+data RepoDeleteObjectMethodInfo+instance (signature ~ (OSTree.Enums.ObjectType -> T.Text -> Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoDeleteObjectMethodInfo a signature where+    overloadedMethod _ = repoDeleteObject++#endif++-- method Repo::equal+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "a", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRepo", 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 "ostree_repo_equal" ostree_repo_equal :: +    Ptr Repo ->                             -- a : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr Repo ->                             -- b : TInterface (Name {namespace = "OSTree", name = "Repo"})+    IO CInt++{- |+Check whether two opened repositories are the same on disk: if their root+directories are the same inode. If /@a@/ or /@b@/ are not open yet (due to+'GI.OSTree.Objects.Repo.repoOpen' not being called on them yet), 'False' will be returned.++/Since: 2017.12/+-}+repoEqual ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, IsRepo b) =>+    a+    {- ^ /@a@/: an 'GI.OSTree.Objects.Repo.Repo' -}+    -> b+    {- ^ /@b@/: an 'GI.OSTree.Objects.Repo.Repo' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if /@a@/ and /@b@/ are the same repository on disk, 'False' otherwise -}+repoEqual a b = liftIO $ do+    a' <- unsafeManagedPtrCastPtr a+    b' <- unsafeManagedPtrCastPtr b+    result <- ostree_repo_equal a' b'+    let result' = (/= 0) result+    touchManagedPtr a+    touchManagedPtr b+    return result'++#if ENABLE_OVERLOADING+data RepoEqualMethodInfo+instance (signature ~ (b -> m Bool), MonadIO m, IsRepo a, IsRepo b) => O.MethodInfo RepoEqualMethodInfo a signature where+    overloadedMethod _ = repoEqual++#endif++-- method Repo::find_remotes_async+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "refs", argType = TCArray True (-1) (-1) (TInterface (Name {namespace = "OSTree", name = "CollectionRef"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "non-empty array of collection\8211ref pairs to find remotes for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "options", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a GVariant `a{sv}` with an extensible set of flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "finders", argType = TCArray True (-1) (-1) (TInterface (Name {namespace = "OSTree", name = "RepoFinder"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "non-empty array of\n   #OstreeRepoFinder instances to use, or %NULL to use the system defaults", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "progress", argType = TInterface (Name {namespace = "OSTree", name = "AsyncProgress"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an #OstreeAsyncProgress to update with the operation\8217s\n   progress, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GCancellable, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "asynchronous completion callback", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 7, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to pass to @callback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_find_remotes_async" ostree_repo_find_remotes_async :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr (Ptr OSTree.CollectionRef.CollectionRef) -> -- refs : TCArray True (-1) (-1) (TInterface (Name {namespace = "OSTree", name = "CollectionRef"}))+    Ptr GVariant ->                         -- options : TVariant+    Ptr (Ptr OSTree.RepoFinder.RepoFinder) -> -- finders : TCArray True (-1) (-1) (TInterface (Name {namespace = "OSTree", name = "RepoFinder"}))+    Ptr OSTree.AsyncProgress.AsyncProgress -> -- progress : TInterface (Name {namespace = "OSTree", name = "AsyncProgress"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    FunPtr Gio.Callbacks.C_AsyncReadyCallback -> -- callback : TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"})+    Ptr () ->                               -- user_data : TBasicType TPtr+    IO ()++{- |+Find reachable remote URIs which claim to provide any of the given named+/@refs@/. This will search for configured remotes ('GI.OSTree.Objects.RepoFinderConfig.RepoFinderConfig'),+mounted volumes ('GI.OSTree.Objects.RepoFinderMount.RepoFinderMount') and (if enabled at compile time)+local network peers ('GI.OSTree.Objects.RepoFinderAvahi.RepoFinderAvahi'). In order to use a custom+configuration of 'GI.OSTree.Interfaces.RepoFinder.RepoFinder' instances, call+'GI.OSTree.Functions.repoFinderResolveAllAsync' on them individually.++Any remote which is found and which claims to support any of the given /@refs@/+will be returned in the results. It is possible that a remote claims to+support a given ref, but turns out not to — it is not possible to verify this+until 'GI.OSTree.Objects.Repo.repoPullFromRemotesAsync' is called.++The returned results will be sorted with the most useful first — this is+typically the remote which claims to provide the most of /@refs@/, at the lowest+latency.++Each result contains a list of the subset of /@refs@/ it claims to provide. It+is possible for a non-empty list of results to be returned, but for some of+/@refs@/ to not be listed in any of the results. Callers must check for this.++Pass the results to 'GI.OSTree.Objects.Repo.repoPullFromRemotesAsync' to pull the given /@refs@/+from those remotes.++The following /@options@/ are currently defined:++  * @override-commit-ids@ (@as@): Array of specific commit IDs to fetch. The nth+  commit ID applies to the nth ref, so this must be the same length as /@refs@/, if+  provided.+  * @n-network-retries@ (@u@): Number of times to retry each download on+  receiving a transient network error, such as a socket timeout; default is+  5, 0 means return errors without retrying. Since: 2018.6++/@finders@/ must be a non-empty 'Nothing'-terminated array of the 'GI.OSTree.Interfaces.RepoFinder.RepoFinder'+instances to use, or 'Nothing' to use the system default set of finders, which+will typically be all available finders using their default options (but+this is not guaranteed).++GPG verification of commits will be used unconditionally.++This will use the thread-default 'GI.GLib.Structs.MainContext.MainContext', but will not iterate it.++/Since: 2018.6/+-}+repoFindRemotesAsync ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, OSTree.AsyncProgress.IsAsyncProgress b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: an 'GI.OSTree.Objects.Repo.Repo' -}+    -> [OSTree.CollectionRef.CollectionRef]+    {- ^ /@refs@/: non-empty array of collection–ref pairs to find remotes for -}+    -> Maybe (GVariant)+    {- ^ /@options@/: a GVariant @a{sv}@ with an extensible set of flags -}+    -> [OSTree.RepoFinder.RepoFinder]+    {- ^ /@finders@/: non-empty array of+   'GI.OSTree.Interfaces.RepoFinder.RepoFinder' instances to use, or 'Nothing' to use the system defaults -}+    -> Maybe (b)+    {- ^ /@progress@/: an 'GI.OSTree.Objects.AsyncProgress.AsyncProgress' to update with the operation’s+   progress, or 'Nothing' -}+    -> Maybe (c)+    {- ^ /@cancellable@/: a 'GI.Gio.Objects.Cancellable.Cancellable', or 'Nothing' -}+    -> Maybe (Gio.Callbacks.AsyncReadyCallback)+    {- ^ /@callback@/: asynchronous completion callback -}+    -> m ()+repoFindRemotesAsync self refs options finders progress cancellable callback = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    refs' <- mapM unsafeManagedPtrGetPtr refs+    refs'' <- packZeroTerminatedPtrArray refs'+    maybeOptions <- case options of+        Nothing -> return nullPtr+        Just jOptions -> do+            jOptions' <- unsafeManagedPtrGetPtr jOptions+            return jOptions'+    finders' <- mapM unsafeManagedPtrCastPtr finders+    finders'' <- packZeroTerminatedPtrArray finders'+    maybeProgress <- case progress of+        Nothing -> return nullPtr+        Just jProgress -> do+            jProgress' <- unsafeManagedPtrCastPtr jProgress+            return jProgress'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    maybeCallback <- case callback of+        Nothing -> return (castPtrToFunPtr nullPtr)+        Just jCallback -> do+            ptrcallback <- callocMem :: IO (Ptr (FunPtr Gio.Callbacks.C_AsyncReadyCallback))+            jCallback' <- Gio.Callbacks.mk_AsyncReadyCallback (Gio.Callbacks.wrap_AsyncReadyCallback (Just ptrcallback) (Gio.Callbacks.drop_closures_AsyncReadyCallback jCallback))+            poke ptrcallback jCallback'+            return jCallback'+    let userData = nullPtr+    ostree_repo_find_remotes_async self' refs'' maybeOptions finders'' maybeProgress maybeCancellable maybeCallback userData+    touchManagedPtr self+    mapM_ touchManagedPtr refs+    whenJust options touchManagedPtr+    mapM_ touchManagedPtr finders+    whenJust progress touchManagedPtr+    whenJust cancellable touchManagedPtr+    freeMem refs''+    freeMem finders''+    return ()++#if ENABLE_OVERLOADING+data RepoFindRemotesAsyncMethodInfo+instance (signature ~ ([OSTree.CollectionRef.CollectionRef] -> Maybe (GVariant) -> [OSTree.RepoFinder.RepoFinder] -> Maybe (b) -> Maybe (c) -> Maybe (Gio.Callbacks.AsyncReadyCallback) -> m ()), MonadIO m, IsRepo a, OSTree.AsyncProgress.IsAsyncProgress b, Gio.Cancellable.IsCancellable c) => O.MethodInfo RepoFindRemotesAsyncMethodInfo a signature where+    overloadedMethod _ = repoFindRemotesAsync++#endif++-- method Repo::find_remotes_finish+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface (Name {namespace = "Gio", name = "AsyncResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the asynchronous result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TCArray True (-1) (-1) (TInterface (Name {namespace = "OSTree", name = "RepoFinderResult"})))+-- throws : True+-- Skip return : False++foreign import ccall "ostree_repo_find_remotes_finish" ostree_repo_find_remotes_finish :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr Gio.AsyncResult.AsyncResult ->      -- result : TInterface (Name {namespace = "Gio", name = "AsyncResult"})+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr (Ptr OSTree.RepoFinderResult.RepoFinderResult))++{- |+Finish an asynchronous pull operation started with+'GI.OSTree.Objects.Repo.repoFindRemotesAsync'.++/Since: 2018.6/+-}+repoFindRemotesFinish ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.AsyncResult.IsAsyncResult b) =>+    a+    {- ^ /@self@/: an 'GI.OSTree.Objects.Repo.Repo' -}+    -> b+    {- ^ /@result@/: the asynchronous result -}+    -> m [OSTree.RepoFinderResult.RepoFinderResult]+    {- ^ __Returns:__ a potentially empty array+   of @/OstreeRepoFinderResults/@, followed by a 'Nothing' terminator element; or+   'Nothing' on error /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoFindRemotesFinish self result_ = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result_' <- unsafeManagedPtrCastPtr result_+    onException (do+        result <- propagateGError $ ostree_repo_find_remotes_finish self' result_'+        checkUnexpectedReturnNULL "repoFindRemotesFinish" result+        result' <- unpackZeroTerminatedPtrArray result+        result'' <- mapM (wrapBoxed OSTree.RepoFinderResult.RepoFinderResult) result'+        freeMem result+        touchManagedPtr self+        touchManagedPtr result_+        return result''+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepoFindRemotesFinishMethodInfo+instance (signature ~ (b -> m [OSTree.RepoFinderResult.RepoFinderResult]), MonadIO m, IsRepo a, Gio.AsyncResult.IsAsyncResult b) => O.MethodInfo RepoFindRemotesFinishMethodInfo a signature where+    overloadedMethod _ = repoFindRemotesFinish++#endif++-- method Repo::fsck_object+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "objtype", argType = TInterface (Name {namespace = "OSTree", name = "ObjectType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Object type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sha256", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_fsck_object" ostree_repo_fsck_object :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CUInt ->                                -- objtype : TInterface (Name {namespace = "OSTree", name = "ObjectType"})+    CString ->                              -- sha256 : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Verify consistency of the object; this performs checks only relevant to the+immediate object itself, such as checksumming. This API call will not itself+traverse metadata objects for example.++/Since: 2017.15/+-}+repoFsckObject ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repo -}+    -> OSTree.Enums.ObjectType+    {- ^ /@objtype@/: Object type -}+    -> T.Text+    {- ^ /@sha256@/: Checksum -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoFsckObject self objtype sha256 cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    let objtype' = (fromIntegral . fromEnum) objtype+    sha256' <- textToCString sha256+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_fsck_object self' objtype' sha256' maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem sha256'+        return ()+     ) (do+        freeMem sha256'+     )++#if ENABLE_OVERLOADING+data RepoFsckObjectMethodInfo+instance (signature ~ (OSTree.Enums.ObjectType -> T.Text -> Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoFsckObjectMethodInfo a signature where+    overloadedMethod _ = repoFsckObject++#endif++-- method Repo::get_bootloader+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRepo", 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 "ostree_repo_get_bootloader" ostree_repo_get_bootloader :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    IO CString++{- |+Get the bootloader configured. See the documentation for the+\"sysroot.bootloader\" config key.++/Since: 2019.2/+-}+repoGetBootloader ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: an 'GI.OSTree.Objects.Repo.Repo' -}+    -> m T.Text+    {- ^ __Returns:__ bootloader configuration for the sysroot -}+repoGetBootloader self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_repo_get_bootloader self'+    checkUnexpectedReturnNULL "repoGetBootloader" result+    result' <- cstringToText result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data RepoGetBootloaderMethodInfo+instance (signature ~ (m T.Text), MonadIO m, IsRepo a) => O.MethodInfo RepoGetBootloaderMethodInfo a signature where+    overloadedMethod _ = repoGetBootloader++#endif++-- method Repo::get_collection_id+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRepo", 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 "ostree_repo_get_collection_id" ostree_repo_get_collection_id :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    IO CString++{- |+Get the collection ID of this repository. See [collection IDs][collection-ids].++/Since: 2018.6/+-}+repoGetCollectionId ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: an 'GI.OSTree.Objects.Repo.Repo' -}+    -> m (Maybe T.Text)+    {- ^ __Returns:__ collection ID for the repository -}+repoGetCollectionId self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_repo_get_collection_id self'+    maybeResult <- convertIfNonNull result $ \result' -> do+        result'' <- cstringToText result'+        return result''+    touchManagedPtr self+    return maybeResult++#if ENABLE_OVERLOADING+data RepoGetCollectionIdMethodInfo+instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsRepo a) => O.MethodInfo RepoGetCollectionIdMethodInfo a signature where+    overloadedMethod _ = repoGetCollectionId++#endif++-- method Repo::get_config+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), 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 = "KeyFile"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_get_config" ostree_repo_get_config :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    IO (Ptr GLib.KeyFile.KeyFile)++{- |+/No description available in the introspection data./+-}+repoGetConfig ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    -> m GLib.KeyFile.KeyFile+    {- ^ __Returns:__ The repository configuration; do not modify -}+repoGetConfig self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_repo_get_config self'+    checkUnexpectedReturnNULL "repoGetConfig" result+    result' <- (newBoxed GLib.KeyFile.KeyFile) result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data RepoGetConfigMethodInfo+instance (signature ~ (m GLib.KeyFile.KeyFile), MonadIO m, IsRepo a) => O.MethodInfo RepoGetConfigMethodInfo a signature where+    overloadedMethod _ = repoGetConfig++#endif++-- method Repo::get_default_repo_finders+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRepo", 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 "ostree_repo_get_default_repo_finders" ostree_repo_get_default_repo_finders :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    IO (Ptr CString)++{- |+Get the set of default repo finders configured. See the documentation for+the \"core.default-repo-finders\" config key.++/Since: 2018.9/+-}+repoGetDefaultRepoFinders ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: an 'GI.OSTree.Objects.Repo.Repo' -}+    -> m [T.Text]+    {- ^ __Returns:__ +   'Nothing'-terminated array of strings. -}+repoGetDefaultRepoFinders self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_repo_get_default_repo_finders self'+    checkUnexpectedReturnNULL "repoGetDefaultRepoFinders" result+    result' <- unpackZeroTerminatedUTF8CArray result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data RepoGetDefaultRepoFindersMethodInfo+instance (signature ~ (m [T.Text]), MonadIO m, IsRepo a) => O.MethodInfo RepoGetDefaultRepoFindersMethodInfo a signature where+    overloadedMethod _ = repoGetDefaultRepoFinders++#endif++-- method Repo::get_dfd+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", 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 "ostree_repo_get_dfd" ostree_repo_get_dfd :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    IO Int32++{- |+In some cases it\'s useful for applications to access the repository+directly; for example, writing content into @repo\/tmp@ ensures it\'s+on the same filesystem.  Another case is detecting the mtime on the+repository (to see whether a ref was written).+-}+repoGetDfd ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: Repo -}+    -> m Int32+    {- ^ __Returns:__ File descriptor for repository root - owned by /@self@/ -}+repoGetDfd self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_repo_get_dfd self'+    touchManagedPtr self+    return result++#if ENABLE_OVERLOADING+data RepoGetDfdMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsRepo a) => O.MethodInfo RepoGetDfdMethodInfo a signature where+    overloadedMethod _ = repoGetDfd++#endif++-- method Repo::get_disable_fsync+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #OstreeRepo", 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 "ostree_repo_get_disable_fsync" ostree_repo_get_disable_fsync :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    IO CInt++{- |+For more information see 'GI.OSTree.Objects.Repo.repoSetDisableFsync'.+-}+repoGetDisableFsync ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: An 'GI.OSTree.Objects.Repo.Repo' -}+    -> m Bool+    {- ^ __Returns:__ Whether or not @/fsync()/@ is enabled for this repo. -}+repoGetDisableFsync self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_repo_get_disable_fsync self'+    let result' = (/= 0) result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data RepoGetDisableFsyncMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsRepo a) => O.MethodInfo RepoGetDisableFsyncMethodInfo a signature where+    overloadedMethod _ = repoGetDisableFsync++#endif++-- method Repo::get_min_free_space_bytes+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_reserved_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 TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "ostree_repo_get_min_free_space_bytes" ostree_repo_get_min_free_space_bytes :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Word64 ->                               -- out_reserved_bytes : TBasicType TUInt64+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+/No description available in the introspection data./+-}+repoGetMinFreeSpaceBytes ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    -> Word64+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoGetMinFreeSpaceBytes self outReservedBytes = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    onException (do+        _ <- propagateGError $ ostree_repo_get_min_free_space_bytes self' outReservedBytes+        touchManagedPtr self+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepoGetMinFreeSpaceBytesMethodInfo+instance (signature ~ (Word64 -> m ()), MonadIO m, IsRepo a) => O.MethodInfo RepoGetMinFreeSpaceBytesMethodInfo a signature where+    overloadedMethod _ = repoGetMinFreeSpaceBytes++#endif++-- method Repo::get_mode+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), 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 = "OSTree", name = "RepoMode"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_get_mode" ostree_repo_get_mode :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    IO CUInt++{- |+/No description available in the introspection data./+-}+repoGetMode ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    -> m OSTree.Enums.RepoMode+repoGetMode self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_repo_get_mode self'+    let result' = (toEnum . fromIntegral) result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data RepoGetModeMethodInfo+instance (signature ~ (m OSTree.Enums.RepoMode), MonadIO m, IsRepo a) => O.MethodInfo RepoGetModeMethodInfo a signature where+    overloadedMethod _ = repoGetMode++#endif++-- method Repo::get_parent+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "Repo"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_get_parent" ostree_repo_get_parent :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    IO (Ptr Repo)++{- |+Before this function can be used, @/ostree_repo_init()/@ must have been+called.+-}+repoGetParent ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: Repo -}+    -> m Repo+    {- ^ __Returns:__ Parent repository, or 'Nothing' if none -}+repoGetParent self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_repo_get_parent self'+    checkUnexpectedReturnNULL "repoGetParent" result+    result' <- (newObject Repo) result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data RepoGetParentMethodInfo+instance (signature ~ (m Repo), MonadIO m, IsRepo a) => O.MethodInfo RepoGetParentMethodInfo a signature where+    overloadedMethod _ = repoGetParent++#endif++-- method Repo::get_path+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "File"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_get_path" ostree_repo_get_path :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    IO (Ptr Gio.File.File)++{- |+Note that since the introduction of 'GI.OSTree.Objects.Repo.repoOpenAt', this function may+return a process-specific path in @\/proc@ if the repository was created using+that API. In general, you should avoid use of this API.+-}+repoGetPath ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: Repo -}+    -> m Gio.File.File+    {- ^ __Returns:__ Path to repo -}+repoGetPath self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_repo_get_path self'+    checkUnexpectedReturnNULL "repoGetPath" result+    result' <- (newObject Gio.File.File) result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data RepoGetPathMethodInfo+instance (signature ~ (m Gio.File.File), MonadIO m, IsRepo a) => O.MethodInfo RepoGetPathMethodInfo a signature where+    overloadedMethod _ = repoGetPath++#endif++-- method Repo::get_remote_boolean_option+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "remote_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "option_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Option", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Value returned if @option_name is not present", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_value", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the result.", 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 "ostree_repo_get_remote_boolean_option" ostree_repo_get_remote_boolean_option :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- remote_name : TBasicType TUTF8+    CString ->                              -- option_name : TBasicType TUTF8+    CInt ->                                 -- default_value : TBasicType TBoolean+    Ptr CInt ->                             -- out_value : TBasicType TBoolean+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+OSTree remotes are represented by keyfile groups, formatted like:+@[remote \"remotename\"]@. This function returns a value named /@optionName@/+underneath that group, and returns it as a boolean.+If the option is not set, /@outValue@/ will be set to /@defaultValue@/. If an+error is returned, /@outValue@/ will be set to 'False'.+-}+repoGetRemoteBooleanOption ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: A OstreeRepo -}+    -> T.Text+    {- ^ /@remoteName@/: Name -}+    -> T.Text+    {- ^ /@optionName@/: Option -}+    -> Bool+    {- ^ /@defaultValue@/: Value returned if /@optionName@/ is not present -}+    -> m (Bool)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoGetRemoteBooleanOption self remoteName optionName defaultValue = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    remoteName' <- textToCString remoteName+    optionName' <- textToCString optionName+    let defaultValue' = (fromIntegral . fromEnum) defaultValue+    outValue <- allocMem :: IO (Ptr CInt)+    onException (do+        _ <- propagateGError $ ostree_repo_get_remote_boolean_option self' remoteName' optionName' defaultValue' outValue+        outValue' <- peek outValue+        let outValue'' = (/= 0) outValue'+        touchManagedPtr self+        freeMem remoteName'+        freeMem optionName'+        freeMem outValue+        return outValue''+     ) (do+        freeMem remoteName'+        freeMem optionName'+        freeMem outValue+     )++#if ENABLE_OVERLOADING+data RepoGetRemoteBooleanOptionMethodInfo+instance (signature ~ (T.Text -> T.Text -> Bool -> m (Bool)), MonadIO m, IsRepo a) => O.MethodInfo RepoGetRemoteBooleanOptionMethodInfo a signature where+    overloadedMethod _ = repoGetRemoteBooleanOption++#endif++-- method Repo::get_remote_list_option+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "remote_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "option_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Option", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_value", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "location to store the list\n           of strings. The list should be freed with\n           g_strfreev().", 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 "ostree_repo_get_remote_list_option" ostree_repo_get_remote_list_option :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- remote_name : TBasicType TUTF8+    CString ->                              -- option_name : TBasicType TUTF8+    Ptr (Ptr CString) ->                    -- out_value : TCArray True (-1) (-1) (TBasicType TUTF8)+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+OSTree remotes are represented by keyfile groups, formatted like:+@[remote \"remotename\"]@. This function returns a value named /@optionName@/+underneath that group, and returns it as a zero terminated array of strings.+If the option is not set, or if an error is returned, /@outValue@/ will be set+to 'Nothing'.+-}+repoGetRemoteListOption ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: A OstreeRepo -}+    -> T.Text+    {- ^ /@remoteName@/: Name -}+    -> T.Text+    {- ^ /@optionName@/: Option -}+    -> m ([T.Text])+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoGetRemoteListOption self remoteName optionName = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    remoteName' <- textToCString remoteName+    optionName' <- textToCString optionName+    outValue <- allocMem :: IO (Ptr (Ptr CString))+    onException (do+        _ <- propagateGError $ ostree_repo_get_remote_list_option self' remoteName' optionName' outValue+        outValue' <- peek outValue+        outValue'' <- unpackZeroTerminatedUTF8CArray outValue'+        mapZeroTerminatedCArray freeMem outValue'+        freeMem outValue'+        touchManagedPtr self+        freeMem remoteName'+        freeMem optionName'+        freeMem outValue+        return outValue''+     ) (do+        freeMem remoteName'+        freeMem optionName'+        freeMem outValue+     )++#if ENABLE_OVERLOADING+data RepoGetRemoteListOptionMethodInfo+instance (signature ~ (T.Text -> T.Text -> m ([T.Text])), MonadIO m, IsRepo a) => O.MethodInfo RepoGetRemoteListOptionMethodInfo a signature where+    overloadedMethod _ = repoGetRemoteListOption++#endif++-- method Repo::get_remote_option+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "remote_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "option_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Option", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "default_value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Value returned if @option_name is not present", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_value", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for value", 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 "ostree_repo_get_remote_option" ostree_repo_get_remote_option :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- remote_name : TBasicType TUTF8+    CString ->                              -- option_name : TBasicType TUTF8+    CString ->                              -- default_value : TBasicType TUTF8+    Ptr CString ->                          -- out_value : TBasicType TUTF8+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+OSTree remotes are represented by keyfile groups, formatted like:+@[remote \"remotename\"]@. This function returns a value named /@optionName@/+underneath that group, or /@defaultValue@/ if the remote exists but not the+option name.  If an error is returned, /@outValue@/ will be set to 'Nothing'.+-}+repoGetRemoteOption ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: A OstreeRepo -}+    -> T.Text+    {- ^ /@remoteName@/: Name -}+    -> T.Text+    {- ^ /@optionName@/: Option -}+    -> Maybe (T.Text)+    {- ^ /@defaultValue@/: Value returned if /@optionName@/ is not present -}+    -> m (T.Text)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoGetRemoteOption self remoteName optionName defaultValue = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    remoteName' <- textToCString remoteName+    optionName' <- textToCString optionName+    maybeDefaultValue <- case defaultValue of+        Nothing -> return nullPtr+        Just jDefaultValue -> do+            jDefaultValue' <- textToCString jDefaultValue+            return jDefaultValue'+    outValue <- allocMem :: IO (Ptr CString)+    onException (do+        _ <- propagateGError $ ostree_repo_get_remote_option self' remoteName' optionName' maybeDefaultValue outValue+        outValue' <- peek outValue+        outValue'' <- cstringToText outValue'+        freeMem outValue'+        touchManagedPtr self+        freeMem remoteName'+        freeMem optionName'+        freeMem maybeDefaultValue+        freeMem outValue+        return outValue''+     ) (do+        freeMem remoteName'+        freeMem optionName'+        freeMem maybeDefaultValue+        freeMem outValue+     )++#if ENABLE_OVERLOADING+data RepoGetRemoteOptionMethodInfo+instance (signature ~ (T.Text -> T.Text -> Maybe (T.Text) -> m (T.Text)), MonadIO m, IsRepo a) => O.MethodInfo RepoGetRemoteOptionMethodInfo a signature where+    overloadedMethod _ = repoGetRemoteOption++#endif++-- method Repo::gpg_verify_data+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "remote_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Name of remote", 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 "Data as a #GBytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signatures", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Signatures as a #GBytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keyringdir", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Path to directory GPG keyrings; overrides built-in default if given", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "extra_keyring", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Path to additional keyring file (not a directory)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "GpgVerifyResult"}))+-- throws : True+-- Skip return : False++foreign import ccall "ostree_repo_gpg_verify_data" ostree_repo_gpg_verify_data :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- remote_name : TBasicType TUTF8+    Ptr GLib.Bytes.Bytes ->                 -- data : TInterface (Name {namespace = "GLib", name = "Bytes"})+    Ptr GLib.Bytes.Bytes ->                 -- signatures : TInterface (Name {namespace = "GLib", name = "Bytes"})+    Ptr Gio.File.File ->                    -- keyringdir : TInterface (Name {namespace = "Gio", name = "File"})+    Ptr Gio.File.File ->                    -- extra_keyring : TInterface (Name {namespace = "Gio", name = "File"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr OSTree.GpgVerifyResult.GpgVerifyResult)++{- |+Verify /@signatures@/ for /@data@/ using GPG keys in the keyring for+/@remoteName@/, and return an 'GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult'.++The /@remoteName@/ parameter can be 'Nothing'. In that case it will do+the verifications using GPG keys in the keyrings of all remotes.+-}+repoGpgVerifyData ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.File.IsFile b, Gio.File.IsFile c, Gio.Cancellable.IsCancellable d) =>+    a+    {- ^ /@self@/: Repository -}+    -> Maybe (T.Text)+    {- ^ /@remoteName@/: Name of remote -}+    -> GLib.Bytes.Bytes+    {- ^ /@data@/: Data as a 'GI.GLib.Structs.Bytes.Bytes' -}+    -> GLib.Bytes.Bytes+    {- ^ /@signatures@/: Signatures as a 'GI.GLib.Structs.Bytes.Bytes' -}+    -> Maybe (b)+    {- ^ /@keyringdir@/: Path to directory GPG keyrings; overrides built-in default if given -}+    -> Maybe (c)+    {- ^ /@extraKeyring@/: Path to additional keyring file (not a directory) -}+    -> Maybe (d)+    {- ^ /@cancellable@/: Cancellable -}+    -> m OSTree.GpgVerifyResult.GpgVerifyResult+    {- ^ __Returns:__ an 'GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult', or 'Nothing' on error /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoGpgVerifyData self remoteName data_ signatures keyringdir extraKeyring cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeRemoteName <- case remoteName of+        Nothing -> return nullPtr+        Just jRemoteName -> do+            jRemoteName' <- textToCString jRemoteName+            return jRemoteName'+    data_' <- unsafeManagedPtrGetPtr data_+    signatures' <- unsafeManagedPtrGetPtr signatures+    maybeKeyringdir <- case keyringdir of+        Nothing -> return nullPtr+        Just jKeyringdir -> do+            jKeyringdir' <- unsafeManagedPtrCastPtr jKeyringdir+            return jKeyringdir'+    maybeExtraKeyring <- case extraKeyring of+        Nothing -> return nullPtr+        Just jExtraKeyring -> do+            jExtraKeyring' <- unsafeManagedPtrCastPtr jExtraKeyring+            return jExtraKeyring'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        result <- propagateGError $ ostree_repo_gpg_verify_data self' maybeRemoteName data_' signatures' maybeKeyringdir maybeExtraKeyring maybeCancellable+        checkUnexpectedReturnNULL "repoGpgVerifyData" result+        result' <- (wrapObject OSTree.GpgVerifyResult.GpgVerifyResult) result+        touchManagedPtr self+        touchManagedPtr data_+        touchManagedPtr signatures+        whenJust keyringdir touchManagedPtr+        whenJust extraKeyring touchManagedPtr+        whenJust cancellable touchManagedPtr+        freeMem maybeRemoteName+        return result'+     ) (do+        freeMem maybeRemoteName+     )++#if ENABLE_OVERLOADING+data RepoGpgVerifyDataMethodInfo+instance (signature ~ (Maybe (T.Text) -> GLib.Bytes.Bytes -> GLib.Bytes.Bytes -> Maybe (b) -> Maybe (c) -> Maybe (d) -> m OSTree.GpgVerifyResult.GpgVerifyResult), MonadIO m, IsRepo a, Gio.File.IsFile b, Gio.File.IsFile c, Gio.Cancellable.IsCancellable d) => O.MethodInfo RepoGpgVerifyDataMethodInfo a signature where+    overloadedMethod _ = repoGpgVerifyData++#endif++-- method Repo::has_object+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "objtype", argType = TInterface (Name {namespace = "OSTree", name = "ObjectType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Object type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ASCII SHA256 checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_have_object", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE if repository contains object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_has_object" ostree_repo_has_object :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CUInt ->                                -- objtype : TInterface (Name {namespace = "OSTree", name = "ObjectType"})+    CString ->                              -- checksum : TBasicType TUTF8+    Ptr CInt ->                             -- out_have_object : TBasicType TBoolean+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Set /@outHaveObject@/ to 'True' if /@self@/ contains the given object;+'False' otherwise.+-}+repoHasObject ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repo -}+    -> OSTree.Enums.ObjectType+    {- ^ /@objtype@/: Object type -}+    -> T.Text+    {- ^ /@checksum@/: ASCII SHA256 checksum -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m (Bool)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoHasObject self objtype checksum cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    let objtype' = (fromIntegral . fromEnum) objtype+    checksum' <- textToCString checksum+    outHaveObject <- allocMem :: IO (Ptr CInt)+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_has_object self' objtype' checksum' outHaveObject maybeCancellable+        outHaveObject' <- peek outHaveObject+        let outHaveObject'' = (/= 0) outHaveObject'+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem checksum'+        freeMem outHaveObject+        return outHaveObject''+     ) (do+        freeMem checksum'+        freeMem outHaveObject+     )++#if ENABLE_OVERLOADING+data RepoHasObjectMethodInfo+instance (signature ~ (OSTree.Enums.ObjectType -> T.Text -> Maybe (b) -> m (Bool)), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoHasObjectMethodInfo a signature where+    overloadedMethod _ = repoHasObject++#endif++-- method Repo::hash+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRepo", 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 "ostree_repo_hash" ostree_repo_hash :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    IO Word32++{- |+Calculate a hash value for the given open repository, suitable for use when+putting it into a hash table. It is an error to call this on an 'GI.OSTree.Objects.Repo.Repo'+which is not yet open, as a persistent hash value cannot be calculated until+the repository is open and the inode of its root directory has been loaded.++This function does no I\/O.++/Since: 2017.12/+-}+repoHash ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: an 'GI.OSTree.Objects.Repo.Repo' -}+    -> m Word32+    {- ^ __Returns:__ hash value for the 'GI.OSTree.Objects.Repo.Repo' -}+repoHash self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_repo_hash self'+    touchManagedPtr self+    return result++#if ENABLE_OVERLOADING+data RepoHashMethodInfo+instance (signature ~ (m Word32), MonadIO m, IsRepo a) => O.MethodInfo RepoHashMethodInfo a signature where+    overloadedMethod _ = repoHash++#endif++-- method Repo::import_object_from+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Destination repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "source", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Source repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "objtype", argType = TInterface (Name {namespace = "OSTree", name = "ObjectType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Object type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_import_object_from" ostree_repo_import_object_from :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr Repo ->                             -- source : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CUInt ->                                -- objtype : TInterface (Name {namespace = "OSTree", name = "ObjectType"})+    CString ->                              -- checksum : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Copy object named by /@objtype@/ and /@checksum@/ into /@self@/ from the+source repository /@source@/.  If both repositories are of the same+type and on the same filesystem, this will simply be a fast Unix+hard link operation.++Otherwise, a copy will be performed.+-}+repoImportObjectFrom ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, IsRepo b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: Destination repo -}+    -> b+    {- ^ /@source@/: Source repo -}+    -> OSTree.Enums.ObjectType+    {- ^ /@objtype@/: Object type -}+    -> T.Text+    {- ^ /@checksum@/: checksum -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoImportObjectFrom self source objtype checksum cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    source' <- unsafeManagedPtrCastPtr source+    let objtype' = (fromIntegral . fromEnum) objtype+    checksum' <- textToCString checksum+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_import_object_from self' source' objtype' checksum' maybeCancellable+        touchManagedPtr self+        touchManagedPtr source+        whenJust cancellable touchManagedPtr+        freeMem checksum'+        return ()+     ) (do+        freeMem checksum'+     )++#if ENABLE_OVERLOADING+data RepoImportObjectFromMethodInfo+instance (signature ~ (b -> OSTree.Enums.ObjectType -> T.Text -> Maybe (c) -> m ()), MonadIO m, IsRepo a, IsRepo b, Gio.Cancellable.IsCancellable c) => O.MethodInfo RepoImportObjectFromMethodInfo a signature where+    overloadedMethod _ = repoImportObjectFrom++#endif++-- method Repo::import_object_from_with_trust+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Destination repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "source", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Source repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "objtype", argType = TInterface (Name {namespace = "OSTree", name = "ObjectType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Object type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "trusted", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "If %TRUE, assume the source repo is valid and trusted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_import_object_from_with_trust" ostree_repo_import_object_from_with_trust :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr Repo ->                             -- source : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CUInt ->                                -- objtype : TInterface (Name {namespace = "OSTree", name = "ObjectType"})+    CString ->                              -- checksum : TBasicType TUTF8+    CInt ->                                 -- trusted : TBasicType TBoolean+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Copy object named by /@objtype@/ and /@checksum@/ into /@self@/ from the+source repository /@source@/. If /@trusted@/ is 'True' and both+repositories are of the same type and on the same filesystem,+this will simply be a fast Unix hard link operation.++Otherwise, a copy will be performed.+-}+repoImportObjectFromWithTrust ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, IsRepo b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: Destination repo -}+    -> b+    {- ^ /@source@/: Source repo -}+    -> OSTree.Enums.ObjectType+    {- ^ /@objtype@/: Object type -}+    -> T.Text+    {- ^ /@checksum@/: checksum -}+    -> Bool+    {- ^ /@trusted@/: If 'True', assume the source repo is valid and trusted -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoImportObjectFromWithTrust self source objtype checksum trusted cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    source' <- unsafeManagedPtrCastPtr source+    let objtype' = (fromIntegral . fromEnum) objtype+    checksum' <- textToCString checksum+    let trusted' = (fromIntegral . fromEnum) trusted+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_import_object_from_with_trust self' source' objtype' checksum' trusted' maybeCancellable+        touchManagedPtr self+        touchManagedPtr source+        whenJust cancellable touchManagedPtr+        freeMem checksum'+        return ()+     ) (do+        freeMem checksum'+     )++#if ENABLE_OVERLOADING+data RepoImportObjectFromWithTrustMethodInfo+instance (signature ~ (b -> OSTree.Enums.ObjectType -> T.Text -> Bool -> Maybe (c) -> m ()), MonadIO m, IsRepo a, IsRepo b, Gio.Cancellable.IsCancellable c) => O.MethodInfo RepoImportObjectFromWithTrustMethodInfo a signature where+    overloadedMethod _ = repoImportObjectFromWithTrust++#endif++-- method Repo::is_system+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "repo", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repository", 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 "ostree_repo_is_system" ostree_repo_is_system :: +    Ptr Repo ->                             -- repo : TInterface (Name {namespace = "OSTree", name = "Repo"})+    IO CInt++{- |+/No description available in the introspection data./+-}+repoIsSystem ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@repo@/: Repository -}+    -> m Bool+    {- ^ __Returns:__ 'True' if this repository is the root-owned system global repository -}+repoIsSystem repo = liftIO $ do+    repo' <- unsafeManagedPtrCastPtr repo+    result <- ostree_repo_is_system repo'+    let result' = (/= 0) result+    touchManagedPtr repo+    return result'++#if ENABLE_OVERLOADING+data RepoIsSystemMethodInfo+instance (signature ~ (m Bool), MonadIO m, IsRepo a) => O.MethodInfo RepoIsSystemMethodInfo a signature where+    overloadedMethod _ = repoIsSystem++#endif++-- method Repo::is_writable+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", 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 "ostree_repo_is_writable" ostree_repo_is_writable :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Returns whether the repository is writable by the current user.+If the repository is not writable, the /@error@/ indicates why.+-}+repoIsWritable ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: Repo -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoIsWritable self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    onException (do+        _ <- propagateGError $ ostree_repo_is_writable self'+        touchManagedPtr self+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepoIsWritableMethodInfo+instance (signature ~ (m ()), MonadIO m, IsRepo a) => O.MethodInfo RepoIsWritableMethodInfo a signature where+    overloadedMethod _ = repoIsWritable++#endif++-- XXX Could not generate method Repo::list_collection_refs+-- Error was : Not implemented: "GHashTable element of type TInterface (Name {namespace = \"OSTree\", name = \"CollectionRef\"}) unsupported."+#if ENABLE_OVERLOADING+-- XXX: Dummy instance, since code generation failed.+-- Please file a bug at http://github.com/haskell-gi/haskell-gi.+data RepoListCollectionRefsMethodInfo+instance (p ~ (), o ~ O.MethodResolutionFailed "listCollectionRefs" Repo) => O.MethodInfo RepoListCollectionRefsMethodInfo o p where+    overloadedMethod _ = undefined+#endif++-- XXX Could not generate method Repo::list_commit_objects_starting_with+-- Error was : Not implemented: "GHashTable element of type TVariant unsupported."+#if ENABLE_OVERLOADING+-- XXX: Dummy instance, since code generation failed.+-- Please file a bug at http://github.com/haskell-gi/haskell-gi.+data RepoListCommitObjectsStartingWithMethodInfo+instance (p ~ (), o ~ O.MethodResolutionFailed "listCommitObjectsStartingWith" Repo) => O.MethodInfo RepoListCommitObjectsStartingWithMethodInfo o p where+    overloadedMethod _ = undefined+#endif++-- XXX Could not generate method Repo::list_objects+-- Error was : Not implemented: "GHashTable element of type TVariant unsupported."+#if ENABLE_OVERLOADING+-- XXX: Dummy instance, since code generation failed.+-- Please file a bug at http://github.com/haskell-gi/haskell-gi.+data RepoListObjectsMethodInfo+instance (p ~ (), o ~ O.MethodResolutionFailed "listObjects" Repo) => O.MethodInfo RepoListObjectsMethodInfo o p where+    overloadedMethod _ = undefined+#endif++-- XXX Could not generate method Repo::list_refs+-- Error was : Not implemented: "Hash table argument with transfer = Container? outAllRefs'"+#if ENABLE_OVERLOADING+-- XXX: Dummy instance, since code generation failed.+-- Please file a bug at http://github.com/haskell-gi/haskell-gi.+data RepoListRefsMethodInfo+instance (p ~ (), o ~ O.MethodResolutionFailed "listRefs" Repo) => O.MethodInfo RepoListRefsMethodInfo o p where+    overloadedMethod _ = undefined+#endif++-- XXX Could not generate method Repo::list_refs_ext+-- Error was : Not implemented: "Hash table argument with transfer = Container? outAllRefs'"+#if ENABLE_OVERLOADING+-- XXX: Dummy instance, since code generation failed.+-- Please file a bug at http://github.com/haskell-gi/haskell-gi.+data RepoListRefsExtMethodInfo+instance (p ~ (), o ~ O.MethodResolutionFailed "listRefsExt" Repo) => O.MethodInfo RepoListRefsExtMethodInfo o p where+    overloadedMethod _ = undefined+#endif++-- method Repo::list_static_delta_names+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_deltas", argType = TPtrArray (TBasicType TUTF8), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "String name of deltas (checksum-checksum.delta)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferContainer},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_list_static_delta_names" ostree_repo_list_static_delta_names :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr (Ptr (GPtrArray CString)) ->        -- out_deltas : TPtrArray (TBasicType TUTF8)+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+This function synchronously enumerates all static deltas in the+repository, returning its result in /@outDeltas@/.+-}+repoListStaticDeltaNames ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repo -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ([T.Text])+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoListStaticDeltaNames self cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    outDeltas <- allocMem :: IO (Ptr (Ptr (GPtrArray CString)))+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_list_static_delta_names self' outDeltas maybeCancellable+        outDeltas' <- peek outDeltas+        outDeltas'' <- unpackGPtrArray outDeltas'+        outDeltas''' <- mapM cstringToText outDeltas''+        unrefPtrArray outDeltas'+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem outDeltas+        return outDeltas'''+     ) (do+        freeMem outDeltas+     )++#if ENABLE_OVERLOADING+data RepoListStaticDeltaNamesMethodInfo+instance (signature ~ (Maybe (b) -> m ([T.Text])), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoListStaticDeltaNamesMethodInfo a signature where+    overloadedMethod _ = repoListStaticDeltaNames++#endif++-- method Repo::load_commit+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Commit checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_commit", argType = TVariant, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Commit", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_state", argType = TInterface (Name {namespace = "OSTree", name = "RepoCommitState"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Commit state", 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 "ostree_repo_load_commit" ostree_repo_load_commit :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- checksum : TBasicType TUTF8+    Ptr (Ptr GVariant) ->                   -- out_commit : TVariant+    Ptr CUInt ->                            -- out_state : TInterface (Name {namespace = "OSTree", name = "RepoCommitState"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+A version of 'GI.OSTree.Objects.Repo.repoLoadVariant' specialized to commits,+capable of returning extended state information.  Currently+the only extended state is 'GI.OSTree.Flags.RepoCommitStatePartial', which+means that only a sub-path of the commit is available.+-}+repoLoadCommit ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: Repo -}+    -> T.Text+    {- ^ /@checksum@/: Commit checksum -}+    -> m ((GVariant, [OSTree.Flags.RepoCommitState]))+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoLoadCommit self checksum = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    checksum' <- textToCString checksum+    outCommit <- allocMem :: IO (Ptr (Ptr GVariant))+    outState <- allocMem :: IO (Ptr CUInt)+    onException (do+        _ <- propagateGError $ ostree_repo_load_commit self' checksum' outCommit outState+        outCommit' <- peek outCommit+        outCommit'' <- B.GVariant.wrapGVariantPtr outCommit'+        outState' <- peek outState+        let outState'' = wordToGFlags outState'+        touchManagedPtr self+        freeMem checksum'+        freeMem outCommit+        freeMem outState+        return (outCommit'', outState'')+     ) (do+        freeMem checksum'+        freeMem outCommit+        freeMem outState+     )++#if ENABLE_OVERLOADING+data RepoLoadCommitMethodInfo+instance (signature ~ (T.Text -> m ((GVariant, [OSTree.Flags.RepoCommitState]))), MonadIO m, IsRepo a) => O.MethodInfo RepoLoadCommitMethodInfo a signature where+    overloadedMethod _ = repoLoadCommit++#endif++-- method Repo::load_file+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ASCII SHA256 checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_input", argType = TInterface (Name {namespace = "Gio", name = "InputStream"}), direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "File content", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_file_info", argType = TInterface (Name {namespace = "Gio", name = "FileInfo"}), direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "File information", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_xattrs", argType = TVariant, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Extended attributes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_load_file" ostree_repo_load_file :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- checksum : TBasicType TUTF8+    Ptr (Ptr Gio.InputStream.InputStream) -> -- out_input : TInterface (Name {namespace = "Gio", name = "InputStream"})+    Ptr (Ptr Gio.FileInfo.FileInfo) ->      -- out_file_info : TInterface (Name {namespace = "Gio", name = "FileInfo"})+    Ptr (Ptr GVariant) ->                   -- out_xattrs : TVariant+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Load content object, decomposing it into three parts: the actual+content (for regular files), the metadata, and extended attributes.+-}+repoLoadFile ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repo -}+    -> T.Text+    {- ^ /@checksum@/: ASCII SHA256 checksum -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ((Maybe Gio.InputStream.InputStream, Maybe Gio.FileInfo.FileInfo, Maybe GVariant))+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoLoadFile self checksum cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    checksum' <- textToCString checksum+    outInput <- allocMem :: IO (Ptr (Ptr Gio.InputStream.InputStream))+    outFileInfo <- allocMem :: IO (Ptr (Ptr Gio.FileInfo.FileInfo))+    outXattrs <- allocMem :: IO (Ptr (Ptr GVariant))+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_load_file self' checksum' outInput outFileInfo outXattrs maybeCancellable+        outInput' <- peek outInput+        maybeOutInput' <- convertIfNonNull outInput' $ \outInput'' -> do+            outInput''' <- (wrapObject Gio.InputStream.InputStream) outInput''+            return outInput'''+        outFileInfo' <- peek outFileInfo+        maybeOutFileInfo' <- convertIfNonNull outFileInfo' $ \outFileInfo'' -> do+            outFileInfo''' <- (wrapObject Gio.FileInfo.FileInfo) outFileInfo''+            return outFileInfo'''+        outXattrs' <- peek outXattrs+        maybeOutXattrs' <- convertIfNonNull outXattrs' $ \outXattrs'' -> do+            outXattrs''' <- B.GVariant.wrapGVariantPtr outXattrs''+            return outXattrs'''+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem checksum'+        freeMem outInput+        freeMem outFileInfo+        freeMem outXattrs+        return (maybeOutInput', maybeOutFileInfo', maybeOutXattrs')+     ) (do+        freeMem checksum'+        freeMem outInput+        freeMem outFileInfo+        freeMem outXattrs+     )++#if ENABLE_OVERLOADING+data RepoLoadFileMethodInfo+instance (signature ~ (T.Text -> Maybe (b) -> m ((Maybe Gio.InputStream.InputStream, Maybe Gio.FileInfo.FileInfo, Maybe GVariant))), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoLoadFileMethodInfo a signature where+    overloadedMethod _ = repoLoadFile++#endif++-- method Repo::load_object_stream+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "objtype", argType = TInterface (Name {namespace = "OSTree", name = "ObjectType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Object type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ASCII SHA256 checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_input", argType = TInterface (Name {namespace = "Gio", name = "InputStream"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Stream for object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_size", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Length of @out_input", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_load_object_stream" ostree_repo_load_object_stream :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CUInt ->                                -- objtype : TInterface (Name {namespace = "OSTree", name = "ObjectType"})+    CString ->                              -- checksum : TBasicType TUTF8+    Ptr (Ptr Gio.InputStream.InputStream) -> -- out_input : TInterface (Name {namespace = "Gio", name = "InputStream"})+    Ptr Word64 ->                           -- out_size : TBasicType TUInt64+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Load object as a stream; useful when copying objects between+repositories.+-}+repoLoadObjectStream ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repo -}+    -> OSTree.Enums.ObjectType+    {- ^ /@objtype@/: Object type -}+    -> T.Text+    {- ^ /@checksum@/: ASCII SHA256 checksum -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ((Gio.InputStream.InputStream, Word64))+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoLoadObjectStream self objtype checksum cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    let objtype' = (fromIntegral . fromEnum) objtype+    checksum' <- textToCString checksum+    outInput <- allocMem :: IO (Ptr (Ptr Gio.InputStream.InputStream))+    outSize <- allocMem :: IO (Ptr Word64)+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_load_object_stream self' objtype' checksum' outInput outSize maybeCancellable+        outInput' <- peek outInput+        outInput'' <- (wrapObject Gio.InputStream.InputStream) outInput'+        outSize' <- peek outSize+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem checksum'+        freeMem outInput+        freeMem outSize+        return (outInput'', outSize')+     ) (do+        freeMem checksum'+        freeMem outInput+        freeMem outSize+     )++#if ENABLE_OVERLOADING+data RepoLoadObjectStreamMethodInfo+instance (signature ~ (OSTree.Enums.ObjectType -> T.Text -> Maybe (b) -> m ((Gio.InputStream.InputStream, Word64))), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoLoadObjectStreamMethodInfo a signature where+    overloadedMethod _ = repoLoadObjectStream++#endif++-- method Repo::load_variant+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "objtype", argType = TInterface (Name {namespace = "OSTree", name = "ObjectType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Expected object type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sha256", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Checksum string", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_variant", argType = TVariant, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Metadata object", 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 "ostree_repo_load_variant" ostree_repo_load_variant :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CUInt ->                                -- objtype : TInterface (Name {namespace = "OSTree", name = "ObjectType"})+    CString ->                              -- sha256 : TBasicType TUTF8+    Ptr (Ptr GVariant) ->                   -- out_variant : TVariant+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Load the metadata object /@sha256@/ of type /@objtype@/, storing the+result in /@outVariant@/.+-}+repoLoadVariant ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: Repo -}+    -> OSTree.Enums.ObjectType+    {- ^ /@objtype@/: Expected object type -}+    -> T.Text+    {- ^ /@sha256@/: Checksum string -}+    -> m (GVariant)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoLoadVariant self objtype sha256 = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    let objtype' = (fromIntegral . fromEnum) objtype+    sha256' <- textToCString sha256+    outVariant <- allocMem :: IO (Ptr (Ptr GVariant))+    onException (do+        _ <- propagateGError $ ostree_repo_load_variant self' objtype' sha256' outVariant+        outVariant' <- peek outVariant+        outVariant'' <- B.GVariant.wrapGVariantPtr outVariant'+        touchManagedPtr self+        freeMem sha256'+        freeMem outVariant+        return outVariant''+     ) (do+        freeMem sha256'+        freeMem outVariant+     )++#if ENABLE_OVERLOADING+data RepoLoadVariantMethodInfo+instance (signature ~ (OSTree.Enums.ObjectType -> T.Text -> m (GVariant)), MonadIO m, IsRepo a) => O.MethodInfo RepoLoadVariantMethodInfo a signature where+    overloadedMethod _ = repoLoadVariant++#endif++-- method Repo::load_variant_if_exists+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "objtype", argType = TInterface (Name {namespace = "OSTree", name = "ObjectType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Object type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sha256", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ASCII checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_variant", argType = TVariant, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Metadata", 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 "ostree_repo_load_variant_if_exists" ostree_repo_load_variant_if_exists :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CUInt ->                                -- objtype : TInterface (Name {namespace = "OSTree", name = "ObjectType"})+    CString ->                              -- sha256 : TBasicType TUTF8+    Ptr (Ptr GVariant) ->                   -- out_variant : TVariant+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Attempt to load the metadata object /@sha256@/ of type /@objtype@/ if it+exists, storing the result in /@outVariant@/.  If it doesn\'t exist,+'Nothing' is returned.+-}+repoLoadVariantIfExists ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: Repo -}+    -> OSTree.Enums.ObjectType+    {- ^ /@objtype@/: Object type -}+    -> T.Text+    {- ^ /@sha256@/: ASCII checksum -}+    -> m (GVariant)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoLoadVariantIfExists self objtype sha256 = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    let objtype' = (fromIntegral . fromEnum) objtype+    sha256' <- textToCString sha256+    outVariant <- allocMem :: IO (Ptr (Ptr GVariant))+    onException (do+        _ <- propagateGError $ ostree_repo_load_variant_if_exists self' objtype' sha256' outVariant+        outVariant' <- peek outVariant+        outVariant'' <- B.GVariant.wrapGVariantPtr outVariant'+        touchManagedPtr self+        freeMem sha256'+        freeMem outVariant+        return outVariant''+     ) (do+        freeMem sha256'+        freeMem outVariant+     )++#if ENABLE_OVERLOADING+data RepoLoadVariantIfExistsMethodInfo+instance (signature ~ (OSTree.Enums.ObjectType -> T.Text -> m (GVariant)), MonadIO m, IsRepo a) => O.MethodInfo RepoLoadVariantIfExistsMethodInfo a signature where+    overloadedMethod _ = repoLoadVariantIfExists++#endif++-- method Repo::mark_commit_partial+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Commit SHA-256", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_partial", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether or not this commit is partial", 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 "ostree_repo_mark_commit_partial" ostree_repo_mark_commit_partial :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- checksum : TBasicType TUTF8+    CInt ->                                 -- is_partial : TBasicType TBoolean+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Commits in \"partial\" state do not have all their child objects written. This+occurs in various situations, such as during a pull, but also if a \"subpath\"+pull is used, as well as \"commit only\" pulls.++This function is used by 'GI.OSTree.Objects.Repo.repoPullWithOptions'; you+should use this if you are implementing a different type of transport.++/Since: 2017.15/+-}+repoMarkCommitPartial ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: Repo -}+    -> T.Text+    {- ^ /@checksum@/: Commit SHA-256 -}+    -> Bool+    {- ^ /@isPartial@/: Whether or not this commit is partial -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoMarkCommitPartial self checksum isPartial = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    checksum' <- textToCString checksum+    let isPartial' = (fromIntegral . fromEnum) isPartial+    onException (do+        _ <- propagateGError $ ostree_repo_mark_commit_partial self' checksum' isPartial'+        touchManagedPtr self+        freeMem checksum'+        return ()+     ) (do+        freeMem checksum'+     )++#if ENABLE_OVERLOADING+data RepoMarkCommitPartialMethodInfo+instance (signature ~ (T.Text -> Bool -> m ()), MonadIO m, IsRepo a) => O.MethodInfo RepoMarkCommitPartialMethodInfo a signature where+    overloadedMethod _ = repoMarkCommitPartial++#endif++-- method Repo::open+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "ostree_repo_open" ostree_repo_open :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+/No description available in the introspection data./+-}+repoOpen ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    -> Maybe (b)+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoOpen self cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_open self' maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepoOpenMethodInfo+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoOpenMethodInfo a signature where+    overloadedMethod _ = repoOpen++#endif++-- method Repo::prepare_transaction+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_transaction_resume", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether this transaction\nis resuming from a previous one.  This is a legacy state, now OSTree\npulls use per-commit `state/.commitpartial` files.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_prepare_transaction" ostree_repo_prepare_transaction :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr CInt ->                             -- out_transaction_resume : TBasicType TBoolean+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Starts or resumes a transaction. In order to write to a repo, you+need to start a transaction. You can complete the transaction with+'GI.OSTree.Objects.Repo.repoCommitTransaction', or abort the transaction with+'GI.OSTree.Objects.Repo.repoAbortTransaction'.++Currently, transactions may result in partial commits or data in the target+repository if interrupted during 'GI.OSTree.Objects.Repo.repoCommitTransaction', and+further writing refs is also not currently atomic.++There can be at most one transaction active on a repo at a time per instance+of @OstreeRepo@; however, it is safe to have multiple threads writing objects+on a single @OstreeRepo@ instance as long as their lifetime is bounded by the+transaction.++Locking: Acquires a @shared@ lock; release via commit or abort+Multithreading: This function is *not* MT safe; only one transaction can be+active at a time.+-}+repoPrepareTransaction ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: An 'GI.OSTree.Objects.Repo.Repo' -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m (Bool)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoPrepareTransaction self cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    outTransactionResume <- allocMem :: IO (Ptr CInt)+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_prepare_transaction self' outTransactionResume maybeCancellable+        outTransactionResume' <- peek outTransactionResume+        let outTransactionResume'' = (/= 0) outTransactionResume'+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem outTransactionResume+        return outTransactionResume''+     ) (do+        freeMem outTransactionResume+     )++#if ENABLE_OVERLOADING+data RepoPrepareTransactionMethodInfo+instance (signature ~ (Maybe (b) -> m (Bool)), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoPrepareTransactionMethodInfo a signature where+    overloadedMethod _ = repoPrepareTransaction++#endif++-- method Repo::prune+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "OSTree", name = "RepoPruneFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Options controlling prune process", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "depth", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Stop traversal after this many iterations (-1 for unlimited)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_objects_total", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of objects found", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_objects_pruned", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of objects deleted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_pruned_object_size_total", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Storage size in bytes of objects deleted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_prune" ostree_repo_prune :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CUInt ->                                -- flags : TInterface (Name {namespace = "OSTree", name = "RepoPruneFlags"})+    Int32 ->                                -- depth : TBasicType TInt+    Ptr Int32 ->                            -- out_objects_total : TBasicType TInt+    Ptr Int32 ->                            -- out_objects_pruned : TBasicType TInt+    Ptr Word64 ->                           -- out_pruned_object_size_total : TBasicType TUInt64+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Delete content from the repository.  By default, this function will+only delete \"orphaned\" objects not referred to by any commit.  This+can happen during a local commit operation, when we have written+content objects but not saved the commit referencing them.++However, if 'GI.OSTree.Enums.RepoPruneFlagsRefsOnly' is provided, instead+of traversing all commits, only refs will be used.  Particularly+when combined with /@depth@/, this is a convenient way to delete+history from the repository.++Use the 'GI.OSTree.Enums.RepoPruneFlagsNoPrune' to just determine+statistics on objects that would be deleted, without actually+deleting them.++Locking: exclusive+-}+repoPrune ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repo -}+    -> OSTree.Enums.RepoPruneFlags+    {- ^ /@flags@/: Options controlling prune process -}+    -> Int32+    {- ^ /@depth@/: Stop traversal after this many iterations (-1 for unlimited) -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ((Int32, Int32, Word64))+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoPrune self flags depth cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    let flags' = (fromIntegral . fromEnum) flags+    outObjectsTotal <- allocMem :: IO (Ptr Int32)+    outObjectsPruned <- allocMem :: IO (Ptr Int32)+    outPrunedObjectSizeTotal <- allocMem :: IO (Ptr Word64)+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_prune self' flags' depth outObjectsTotal outObjectsPruned outPrunedObjectSizeTotal maybeCancellable+        outObjectsTotal' <- peek outObjectsTotal+        outObjectsPruned' <- peek outObjectsPruned+        outPrunedObjectSizeTotal' <- peek outPrunedObjectSizeTotal+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem outObjectsTotal+        freeMem outObjectsPruned+        freeMem outPrunedObjectSizeTotal+        return (outObjectsTotal', outObjectsPruned', outPrunedObjectSizeTotal')+     ) (do+        freeMem outObjectsTotal+        freeMem outObjectsPruned+        freeMem outPrunedObjectSizeTotal+     )++#if ENABLE_OVERLOADING+data RepoPruneMethodInfo+instance (signature ~ (OSTree.Enums.RepoPruneFlags -> Int32 -> Maybe (b) -> m ((Int32, Int32, Word64))), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoPruneMethodInfo a signature where+    overloadedMethod _ = repoPrune++#endif++-- method Repo::prune_from_reachable+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "options", argType = TInterface (Name {namespace = "OSTree", name = "RepoPruneOptions"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Options controlling prune process", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_objects_total", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of objects found", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_objects_pruned", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of objects deleted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_pruned_object_size_total", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Storage size in bytes of objects deleted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_prune_from_reachable" ostree_repo_prune_from_reachable :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr OSTree.RepoPruneOptions.RepoPruneOptions -> -- options : TInterface (Name {namespace = "OSTree", name = "RepoPruneOptions"})+    Ptr Int32 ->                            -- out_objects_total : TBasicType TInt+    Ptr Int32 ->                            -- out_objects_pruned : TBasicType TInt+    Ptr Word64 ->                           -- out_pruned_object_size_total : TBasicType TUInt64+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Delete content from the repository.  This function is the \"backend\"+half of the higher level 'GI.OSTree.Objects.Repo.repoPrune'.  To use this function,+you determine the root set yourself, and this function finds all other+unreferenced objects and deletes them.++Use this API when you want to perform more selective pruning - for example,+retain all commits from a production branch, but just GC some history from+your dev branch.++The 'GI.OSTree.Enums.RepoPruneFlagsNoPrune' flag may be specified to just determine+statistics on objects that would be deleted, without actually deleting them.++Locking: exclusive+-}+repoPruneFromReachable ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repo -}+    -> OSTree.RepoPruneOptions.RepoPruneOptions+    {- ^ /@options@/: Options controlling prune process -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ((Int32, Int32, Word64))+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoPruneFromReachable self options cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    options' <- unsafeManagedPtrGetPtr options+    outObjectsTotal <- allocMem :: IO (Ptr Int32)+    outObjectsPruned <- allocMem :: IO (Ptr Int32)+    outPrunedObjectSizeTotal <- allocMem :: IO (Ptr Word64)+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_prune_from_reachable self' options' outObjectsTotal outObjectsPruned outPrunedObjectSizeTotal maybeCancellable+        outObjectsTotal' <- peek outObjectsTotal+        outObjectsPruned' <- peek outObjectsPruned+        outPrunedObjectSizeTotal' <- peek outPrunedObjectSizeTotal+        touchManagedPtr self+        touchManagedPtr options+        whenJust cancellable touchManagedPtr+        freeMem outObjectsTotal+        freeMem outObjectsPruned+        freeMem outPrunedObjectSizeTotal+        return (outObjectsTotal', outObjectsPruned', outPrunedObjectSizeTotal')+     ) (do+        freeMem outObjectsTotal+        freeMem outObjectsPruned+        freeMem outPrunedObjectSizeTotal+     )++#if ENABLE_OVERLOADING+data RepoPruneFromReachableMethodInfo+instance (signature ~ (OSTree.RepoPruneOptions.RepoPruneOptions -> Maybe (b) -> m ((Int32, Int32, Word64))), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoPruneFromReachableMethodInfo a signature where+    overloadedMethod _ = repoPruneFromReachable++#endif++-- method Repo::prune_static_deltas+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "commit", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "ASCII SHA256 checksum for commit, or %NULL for each\nnon existing commit", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_prune_static_deltas" ostree_repo_prune_static_deltas :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- commit : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Prune static deltas, if COMMIT is specified then delete static delta files only+targeting that commit; otherwise any static delta of non existing commits are+deleted.++Locking: exclusive+-}+repoPruneStaticDeltas ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repo -}+    -> Maybe (T.Text)+    {- ^ /@commit@/: ASCII SHA256 checksum for commit, or 'Nothing' for each+non existing commit -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoPruneStaticDeltas self commit cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeCommit <- case commit of+        Nothing -> return nullPtr+        Just jCommit -> do+            jCommit' <- textToCString jCommit+            return jCommit'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_prune_static_deltas self' maybeCommit maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem maybeCommit+        return ()+     ) (do+        freeMem maybeCommit+     )++#if ENABLE_OVERLOADING+data RepoPruneStaticDeltasMethodInfo+instance (signature ~ (Maybe (T.Text) -> Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoPruneStaticDeltasMethodInfo a signature where+    overloadedMethod _ = repoPruneStaticDeltas++#endif++-- method Repo::pull+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "remote_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Name of remote", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "refs_to_fetch", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Optional list of refs; if %NULL, fetch all configured refs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "OSTree", name = "RepoPullFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Options controlling fetch behavior", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "progress", argType = TInterface (Name {namespace = "OSTree", name = "AsyncProgress"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Progress", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_pull" ostree_repo_pull :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- remote_name : TBasicType TUTF8+    Ptr CString ->                          -- refs_to_fetch : TCArray True (-1) (-1) (TBasicType TUTF8)+    CUInt ->                                -- flags : TInterface (Name {namespace = "OSTree", name = "RepoPullFlags"})+    Ptr OSTree.AsyncProgress.AsyncProgress -> -- progress : TInterface (Name {namespace = "OSTree", name = "AsyncProgress"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Connect to the remote repository, fetching the specified set of+refs /@refsToFetch@/.  For each ref that is changed, download the+commit, all metadata, and all content objects, storing them safely+on disk in /@self@/.++If /@flags@/ contains 'GI.OSTree.Flags.RepoPullFlagsMirror', and+the /@refsToFetch@/ is 'Nothing', and the remote repository contains a+summary file, then all refs will be fetched.++If /@flags@/ contains 'GI.OSTree.Flags.RepoPullFlagsCommitOnly', then only the+metadata for the commits in /@refsToFetch@/ is pulled.++Warning: This API will iterate the thread default main context,+which is a bug, but kept for compatibility reasons.  If you want to+avoid this, use 'GI.GLib.Structs.MainContext.mainContextPushThreadDefault' to push a new+one around this call.+-}+repoPull ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, OSTree.AsyncProgress.IsAsyncProgress b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: Repo -}+    -> T.Text+    {- ^ /@remoteName@/: Name of remote -}+    -> Maybe ([T.Text])+    {- ^ /@refsToFetch@/: Optional list of refs; if 'Nothing', fetch all configured refs -}+    -> [OSTree.Flags.RepoPullFlags]+    {- ^ /@flags@/: Options controlling fetch behavior -}+    -> Maybe (b)+    {- ^ /@progress@/: Progress -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoPull self remoteName refsToFetch flags progress cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    remoteName' <- textToCString remoteName+    maybeRefsToFetch <- case refsToFetch of+        Nothing -> return nullPtr+        Just jRefsToFetch -> do+            jRefsToFetch' <- packZeroTerminatedUTF8CArray jRefsToFetch+            return jRefsToFetch'+    let flags' = gflagsToWord flags+    maybeProgress <- case progress of+        Nothing -> return nullPtr+        Just jProgress -> do+            jProgress' <- unsafeManagedPtrCastPtr jProgress+            return jProgress'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_pull self' remoteName' maybeRefsToFetch flags' maybeProgress maybeCancellable+        touchManagedPtr self+        whenJust progress touchManagedPtr+        whenJust cancellable touchManagedPtr+        freeMem remoteName'+        mapZeroTerminatedCArray freeMem maybeRefsToFetch+        freeMem maybeRefsToFetch+        return ()+     ) (do+        freeMem remoteName'+        mapZeroTerminatedCArray freeMem maybeRefsToFetch+        freeMem maybeRefsToFetch+     )++#if ENABLE_OVERLOADING+data RepoPullMethodInfo+instance (signature ~ (T.Text -> Maybe ([T.Text]) -> [OSTree.Flags.RepoPullFlags] -> Maybe (b) -> Maybe (c) -> m ()), MonadIO m, IsRepo a, OSTree.AsyncProgress.IsAsyncProgress b, Gio.Cancellable.IsCancellable c) => O.MethodInfo RepoPullMethodInfo a signature where+    overloadedMethod _ = repoPull++#endif++-- method Repo::pull_from_remotes_async+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "results", argType = TCArray True (-1) (-1) (TInterface (Name {namespace = "OSTree", name = "RepoFinderResult"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%NULL-terminated array of remotes to\n   pull from, including the refs to pull from each", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "options", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A GVariant `a{sv}` with an extensible set of flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "progress", argType = TInterface (Name {namespace = "OSTree", name = "AsyncProgress"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an #OstreeAsyncProgress to update with the operation\8217s\n   progress, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GCancellable, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "asynchronous completion callback", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 6, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "data to pass to @callback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_pull_from_remotes_async" ostree_repo_pull_from_remotes_async :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr (Ptr OSTree.RepoFinderResult.RepoFinderResult) -> -- results : TCArray True (-1) (-1) (TInterface (Name {namespace = "OSTree", name = "RepoFinderResult"}))+    Ptr GVariant ->                         -- options : TVariant+    Ptr OSTree.AsyncProgress.AsyncProgress -> -- progress : TInterface (Name {namespace = "OSTree", name = "AsyncProgress"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    FunPtr Gio.Callbacks.C_AsyncReadyCallback -> -- callback : TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"})+    Ptr () ->                               -- user_data : TBasicType TPtr+    IO ()++{- |+Pull refs from multiple remotes which have been found using+'GI.OSTree.Objects.Repo.repoFindRemotesAsync'.++/@results@/ are expected to be in priority order, with the best remotes to pull+from listed first. 'GI.OSTree.Objects.Repo.repoPullFromRemotesAsync' will generally pull+from the remotes in order, but may parallelise its downloads.++If an error is encountered when pulling from a given remote, that remote will+be ignored and another will be tried instead. If any refs have not been+downloaded successfully after all remotes have been tried, 'GI.Gio.Enums.IOErrorEnumFailed'+will be returned. The results of any successful downloads will remain cached+in the local repository.++If /@cancellable@/ is cancelled, 'GI.Gio.Enums.IOErrorEnumCancelled' will be returned+immediately. The results of any successfully completed downloads at that+point will remain cached in the local repository.++GPG verification of commits will be used unconditionally.++The following /@options@/ are currently defined:++  * @flags@ (@i@): 'GI.OSTree.Flags.RepoPullFlags' to apply to the pull operation+  * @inherit-transaction@ (@b@): 'True' to inherit an ongoing transaction on+    the 'GI.OSTree.Objects.Repo.Repo', rather than encapsulating the pull in a new one+  * @depth@ (@i@): How far in the history to traverse; default is 0, -1 means infinite+  * @disable-static-deltas@ (@b@): Do not use static deltas+  * @http-headers@ (@a(ss)@): Additional headers to add to all HTTP requests+  * @subdirs@ (@as@): Pull just these subdirectories+  * @update-frequency@ (@u@): Frequency to call the async progress callback in+    milliseconds, if any; only values higher than 0 are valid+  * @append-user-agent@ (@s@): Additional string to append to the user agent+  * @n-network-retries@ (@u@): Number of times to retry each download on receiving+    a transient network error, such as a socket timeout; default is 5, 0+    means return errors without retrying. Since: 2018.6+  * @ref-keyring-map@ (@a(sss)@): Array of (collection ID, ref name, keyring+    remote name) tuples specifying which remote\'s keyring should be used when+    doing GPG verification of each collection-ref. This is useful to prevent a+    remote from serving malicious updates to refs which did not originate from+    it. This can be a subset or superset of the refs being pulled; any ref+    not being pulled will be ignored and any ref without a keyring remote+    will be verified with the keyring of the remote being pulled from.+    Since: 2019.2++/Since: 2018.6/+-}+repoPullFromRemotesAsync ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, OSTree.AsyncProgress.IsAsyncProgress b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: an 'GI.OSTree.Objects.Repo.Repo' -}+    -> [OSTree.RepoFinderResult.RepoFinderResult]+    {- ^ /@results@/: 'Nothing'-terminated array of remotes to+   pull from, including the refs to pull from each -}+    -> Maybe (GVariant)+    {- ^ /@options@/: A GVariant @a{sv}@ with an extensible set of flags -}+    -> Maybe (b)+    {- ^ /@progress@/: an 'GI.OSTree.Objects.AsyncProgress.AsyncProgress' to update with the operation’s+   progress, or 'Nothing' -}+    -> Maybe (c)+    {- ^ /@cancellable@/: a 'GI.Gio.Objects.Cancellable.Cancellable', or 'Nothing' -}+    -> Maybe (Gio.Callbacks.AsyncReadyCallback)+    {- ^ /@callback@/: asynchronous completion callback -}+    -> m ()+repoPullFromRemotesAsync self results options progress cancellable callback = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    results' <- mapM unsafeManagedPtrGetPtr results+    results'' <- packZeroTerminatedPtrArray results'+    maybeOptions <- case options of+        Nothing -> return nullPtr+        Just jOptions -> do+            jOptions' <- unsafeManagedPtrGetPtr jOptions+            return jOptions'+    maybeProgress <- case progress of+        Nothing -> return nullPtr+        Just jProgress -> do+            jProgress' <- unsafeManagedPtrCastPtr jProgress+            return jProgress'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    maybeCallback <- case callback of+        Nothing -> return (castPtrToFunPtr nullPtr)+        Just jCallback -> do+            ptrcallback <- callocMem :: IO (Ptr (FunPtr Gio.Callbacks.C_AsyncReadyCallback))+            jCallback' <- Gio.Callbacks.mk_AsyncReadyCallback (Gio.Callbacks.wrap_AsyncReadyCallback (Just ptrcallback) (Gio.Callbacks.drop_closures_AsyncReadyCallback jCallback))+            poke ptrcallback jCallback'+            return jCallback'+    let userData = nullPtr+    ostree_repo_pull_from_remotes_async self' results'' maybeOptions maybeProgress maybeCancellable maybeCallback userData+    touchManagedPtr self+    mapM_ touchManagedPtr results+    whenJust options touchManagedPtr+    whenJust progress touchManagedPtr+    whenJust cancellable touchManagedPtr+    freeMem results''+    return ()++#if ENABLE_OVERLOADING+data RepoPullFromRemotesAsyncMethodInfo+instance (signature ~ ([OSTree.RepoFinderResult.RepoFinderResult] -> Maybe (GVariant) -> Maybe (b) -> Maybe (c) -> Maybe (Gio.Callbacks.AsyncReadyCallback) -> m ()), MonadIO m, IsRepo a, OSTree.AsyncProgress.IsAsyncProgress b, Gio.Cancellable.IsCancellable c) => O.MethodInfo RepoPullFromRemotesAsyncMethodInfo a signature where+    overloadedMethod _ = repoPullFromRemotesAsync++#endif++-- method Repo::pull_from_remotes_finish+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface (Name {namespace = "Gio", name = "AsyncResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the asynchronous result", 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 "ostree_repo_pull_from_remotes_finish" ostree_repo_pull_from_remotes_finish :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr Gio.AsyncResult.AsyncResult ->      -- result : TInterface (Name {namespace = "Gio", name = "AsyncResult"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Finish an asynchronous pull operation started with+'GI.OSTree.Objects.Repo.repoPullFromRemotesAsync'.++/Since: 2018.6/+-}+repoPullFromRemotesFinish ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.AsyncResult.IsAsyncResult b) =>+    a+    {- ^ /@self@/: an 'GI.OSTree.Objects.Repo.Repo' -}+    -> b+    {- ^ /@result@/: the asynchronous result -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoPullFromRemotesFinish self result_ = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result_' <- unsafeManagedPtrCastPtr result_+    onException (do+        _ <- propagateGError $ ostree_repo_pull_from_remotes_finish self' result_'+        touchManagedPtr self+        touchManagedPtr result_+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepoPullFromRemotesFinishMethodInfo+instance (signature ~ (b -> m ()), MonadIO m, IsRepo a, Gio.AsyncResult.IsAsyncResult b) => O.MethodInfo RepoPullFromRemotesFinishMethodInfo a signature where+    overloadedMethod _ = repoPullFromRemotesFinish++#endif++-- method Repo::pull_one_dir+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "remote_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Name of remote", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dir_to_pull", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Subdirectory path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "refs_to_fetch", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Optional list of refs; if %NULL, fetch all configured refs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "OSTree", name = "RepoPullFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Options controlling fetch behavior", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "progress", argType = TInterface (Name {namespace = "OSTree", name = "AsyncProgress"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Progress", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_pull_one_dir" ostree_repo_pull_one_dir :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- remote_name : TBasicType TUTF8+    CString ->                              -- dir_to_pull : TBasicType TUTF8+    Ptr CString ->                          -- refs_to_fetch : TCArray True (-1) (-1) (TBasicType TUTF8)+    CUInt ->                                -- flags : TInterface (Name {namespace = "OSTree", name = "RepoPullFlags"})+    Ptr OSTree.AsyncProgress.AsyncProgress -> -- progress : TInterface (Name {namespace = "OSTree", name = "AsyncProgress"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+This is similar to 'GI.OSTree.Objects.Repo.repoPull', but only fetches a single+subpath.+-}+repoPullOneDir ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, OSTree.AsyncProgress.IsAsyncProgress b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: Repo -}+    -> T.Text+    {- ^ /@remoteName@/: Name of remote -}+    -> T.Text+    {- ^ /@dirToPull@/: Subdirectory path -}+    -> Maybe ([T.Text])+    {- ^ /@refsToFetch@/: Optional list of refs; if 'Nothing', fetch all configured refs -}+    -> [OSTree.Flags.RepoPullFlags]+    {- ^ /@flags@/: Options controlling fetch behavior -}+    -> Maybe (b)+    {- ^ /@progress@/: Progress -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoPullOneDir self remoteName dirToPull refsToFetch flags progress cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    remoteName' <- textToCString remoteName+    dirToPull' <- textToCString dirToPull+    maybeRefsToFetch <- case refsToFetch of+        Nothing -> return nullPtr+        Just jRefsToFetch -> do+            jRefsToFetch' <- packZeroTerminatedUTF8CArray jRefsToFetch+            return jRefsToFetch'+    let flags' = gflagsToWord flags+    maybeProgress <- case progress of+        Nothing -> return nullPtr+        Just jProgress -> do+            jProgress' <- unsafeManagedPtrCastPtr jProgress+            return jProgress'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_pull_one_dir self' remoteName' dirToPull' maybeRefsToFetch flags' maybeProgress maybeCancellable+        touchManagedPtr self+        whenJust progress touchManagedPtr+        whenJust cancellable touchManagedPtr+        freeMem remoteName'+        freeMem dirToPull'+        mapZeroTerminatedCArray freeMem maybeRefsToFetch+        freeMem maybeRefsToFetch+        return ()+     ) (do+        freeMem remoteName'+        freeMem dirToPull'+        mapZeroTerminatedCArray freeMem maybeRefsToFetch+        freeMem maybeRefsToFetch+     )++#if ENABLE_OVERLOADING+data RepoPullOneDirMethodInfo+instance (signature ~ (T.Text -> T.Text -> Maybe ([T.Text]) -> [OSTree.Flags.RepoPullFlags] -> Maybe (b) -> Maybe (c) -> m ()), MonadIO m, IsRepo a, OSTree.AsyncProgress.IsAsyncProgress b, Gio.Cancellable.IsCancellable c) => O.MethodInfo RepoPullOneDirMethodInfo a signature where+    overloadedMethod _ = repoPullOneDir++#endif++-- method Repo::pull_with_options+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "remote_name_or_baseurl", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Name of remote or file:// url", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "options", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A GVariant a{sv} with an extensible set of flags.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "progress", argType = TInterface (Name {namespace = "OSTree", name = "AsyncProgress"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Progress", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_pull_with_options" ostree_repo_pull_with_options :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- remote_name_or_baseurl : TBasicType TUTF8+    Ptr GVariant ->                         -- options : TVariant+    Ptr OSTree.AsyncProgress.AsyncProgress -> -- progress : TInterface (Name {namespace = "OSTree", name = "AsyncProgress"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Like 'GI.OSTree.Objects.Repo.repoPull', but supports an extensible set of flags.+The following are currently defined:++  * refs (as): Array of string refs+  * collection-refs (a(sss)): Array of (collection ID, ref name, checksum) tuples to pull;+    mutually exclusive with @refs@ and @override-commit-ids@. Checksums may be the empty+    string to pull the latest commit for that ref+  * flags (i): An instance of 'GI.OSTree.Flags.RepoPullFlags'+  * subdir (s): Pull just this subdirectory+  * subdirs (as): Pull just these subdirectories+  * override-remote-name (s): If local, add this remote to refspec+  * gpg-verify (b): GPG verify commits+  * gpg-verify-summary (b): GPG verify summary+  * depth (i): How far in the history to traverse; default is 0, -1 means infinite+  * disable-static-deltas (b): Do not use static deltas+  * require-static-deltas (b): Require static deltas+  * override-commit-ids (as): Array of specific commit IDs to fetch for refs+  * timestamp-check (b): Verify commit timestamps are newer than current (when pulling via ref); Since: 2017.11+  * metadata-size-restriction (t): Restrict metadata objects to a maximum number of bytes; 0 to disable.  Since: 2018.9+  * dry-run (b): Only print information on what will be downloaded (requires static deltas)+  * override-url (s): Fetch objects from this URL if remote specifies no metalink in options+  * inherit-transaction (b): Don\'t initiate, finish or abort a transaction, useful to do multiple pulls in one transaction.+  * http-headers (a(ss)): Additional headers to add to all HTTP requests+  * update-frequency (u): Frequency to call the async progress callback in milliseconds, if any; only values higher than 0 are valid+  * localcache-repos (as): File paths for local repos to use as caches when doing remote fetches+  * append-user-agent (s): Additional string to append to the user agent+  * n-network-retries (u): Number of times to retry each download on receiving+    a transient network error, such as a socket timeout; default is 5, 0+    means return errors without retrying. Since: 2018.6+  * ref-keyring-map (a(sss)): Array of (collection ID, ref name, keyring+    remote name) tuples specifying which remote\'s keyring should be used when+    doing GPG verification of each collection-ref. This is useful to prevent a+    remote from serving malicious updates to refs which did not originate from+    it. This can be a subset or superset of the refs being pulled; any ref+    not being pulled will be ignored and any ref without a keyring remote+    will be verified with the keyring of the remote being pulled from.+    Since: 2019.2+-}+repoPullWithOptions ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, OSTree.AsyncProgress.IsAsyncProgress b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: Repo -}+    -> T.Text+    {- ^ /@remoteNameOrBaseurl@/: Name of remote or file:\/\/ url -}+    -> GVariant+    {- ^ /@options@/: A GVariant a{sv} with an extensible set of flags. -}+    -> Maybe (b)+    {- ^ /@progress@/: Progress -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoPullWithOptions self remoteNameOrBaseurl options progress cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    remoteNameOrBaseurl' <- textToCString remoteNameOrBaseurl+    options' <- unsafeManagedPtrGetPtr options+    maybeProgress <- case progress of+        Nothing -> return nullPtr+        Just jProgress -> do+            jProgress' <- unsafeManagedPtrCastPtr jProgress+            return jProgress'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_pull_with_options self' remoteNameOrBaseurl' options' maybeProgress maybeCancellable+        touchManagedPtr self+        touchManagedPtr options+        whenJust progress touchManagedPtr+        whenJust cancellable touchManagedPtr+        freeMem remoteNameOrBaseurl'+        return ()+     ) (do+        freeMem remoteNameOrBaseurl'+     )++#if ENABLE_OVERLOADING+data RepoPullWithOptionsMethodInfo+instance (signature ~ (T.Text -> GVariant -> Maybe (b) -> Maybe (c) -> m ()), MonadIO m, IsRepo a, OSTree.AsyncProgress.IsAsyncProgress b, Gio.Cancellable.IsCancellable c) => O.MethodInfo RepoPullWithOptionsMethodInfo a signature where+    overloadedMethod _ = repoPullWithOptions++#endif++-- method Repo::query_object_storage_size+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "objtype", argType = TInterface (Name {namespace = "OSTree", name = "ObjectType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Object type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sha256", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_size", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Size in bytes object occupies physically", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_query_object_storage_size" ostree_repo_query_object_storage_size :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CUInt ->                                -- objtype : TInterface (Name {namespace = "OSTree", name = "ObjectType"})+    CString ->                              -- sha256 : TBasicType TUTF8+    Ptr Word64 ->                           -- out_size : TBasicType TUInt64+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Return the size in bytes of object with checksum /@sha256@/, after any+compression has been applied.+-}+repoQueryObjectStorageSize ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repo -}+    -> OSTree.Enums.ObjectType+    {- ^ /@objtype@/: Object type -}+    -> T.Text+    {- ^ /@sha256@/: Checksum -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m (Word64)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoQueryObjectStorageSize self objtype sha256 cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    let objtype' = (fromIntegral . fromEnum) objtype+    sha256' <- textToCString sha256+    outSize <- allocMem :: IO (Ptr Word64)+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_query_object_storage_size self' objtype' sha256' outSize maybeCancellable+        outSize' <- peek outSize+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem sha256'+        freeMem outSize+        return outSize'+     ) (do+        freeMem sha256'+        freeMem outSize+     )++#if ENABLE_OVERLOADING+data RepoQueryObjectStorageSizeMethodInfo+instance (signature ~ (OSTree.Enums.ObjectType -> T.Text -> Maybe (b) -> m (Word64)), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoQueryObjectStorageSizeMethodInfo a signature where+    overloadedMethod _ = repoQueryObjectStorageSize++#endif++-- method Repo::read_commit+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ref", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Ref or ASCII checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_root", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #OstreeRepoFile corresponding to the root", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_commit", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The resolved commit checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_read_commit" ostree_repo_read_commit :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- ref : TBasicType TUTF8+    Ptr (Ptr Gio.File.File) ->              -- out_root : TInterface (Name {namespace = "Gio", name = "File"})+    Ptr CString ->                          -- out_commit : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Load the content for /@rev@/ into /@outRoot@/.+-}+repoReadCommit ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repo -}+    -> T.Text+    {- ^ /@ref@/: Ref or ASCII checksum -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ((Gio.File.File, T.Text))+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoReadCommit self ref cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    ref' <- textToCString ref+    outRoot <- allocMem :: IO (Ptr (Ptr Gio.File.File))+    outCommit <- allocMem :: IO (Ptr CString)+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_read_commit self' ref' outRoot outCommit maybeCancellable+        outRoot' <- peek outRoot+        outRoot'' <- (wrapObject Gio.File.File) outRoot'+        outCommit' <- peek outCommit+        outCommit'' <- cstringToText outCommit'+        freeMem outCommit'+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem ref'+        freeMem outRoot+        freeMem outCommit+        return (outRoot'', outCommit'')+     ) (do+        freeMem ref'+        freeMem outRoot+        freeMem outCommit+     )++#if ENABLE_OVERLOADING+data RepoReadCommitMethodInfo+instance (signature ~ (T.Text -> Maybe (b) -> m ((Gio.File.File, T.Text))), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoReadCommitMethodInfo a signature where+    overloadedMethod _ = repoReadCommit++#endif++-- method Repo::read_commit_detached_metadata+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ASCII SHA256 commit checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_metadata", argType = TVariant, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Metadata associated with commit in with format \"a{sv}\", or %NULL if none exists", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_read_commit_detached_metadata" ostree_repo_read_commit_detached_metadata :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- checksum : TBasicType TUTF8+    Ptr (Ptr GVariant) ->                   -- out_metadata : TVariant+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+OSTree commits can have arbitrary metadata associated; this+function retrieves them.  If none exists, /@outMetadata@/ will be set+to 'Nothing'.+-}+repoReadCommitDetachedMetadata ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repo -}+    -> T.Text+    {- ^ /@checksum@/: ASCII SHA256 commit checksum -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m (GVariant)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoReadCommitDetachedMetadata self checksum cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    checksum' <- textToCString checksum+    outMetadata <- allocMem :: IO (Ptr (Ptr GVariant))+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_read_commit_detached_metadata self' checksum' outMetadata maybeCancellable+        outMetadata' <- peek outMetadata+        outMetadata'' <- B.GVariant.wrapGVariantPtr outMetadata'+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem checksum'+        freeMem outMetadata+        return outMetadata''+     ) (do+        freeMem checksum'+        freeMem outMetadata+     )++#if ENABLE_OVERLOADING+data RepoReadCommitDetachedMetadataMethodInfo+instance (signature ~ (T.Text -> Maybe (b) -> m (GVariant)), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoReadCommitDetachedMetadataMethodInfo a signature where+    overloadedMethod _ = repoReadCommitDetachedMetadata++#endif++-- method Repo::regenerate_summary+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "additional_metadata", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A GVariant of type a{sv}, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_regenerate_summary" ostree_repo_regenerate_summary :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr GVariant ->                         -- additional_metadata : TVariant+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+An OSTree repository can contain a high level \"summary\" file that+describes the available branches and other metadata.++If the timetable for making commits and updating the summary file is fairly+regular, setting the @ostree.summary.expires@ key in /@additionalMetadata@/+will aid clients in working out when to check for updates.++It is regenerated automatically after any ref is+added, removed, or updated if @core\/auto-update-summary@ is set.++If the @core\/collection-id@ key is set in the configuration, it will be+included as @/OSTREE_SUMMARY_COLLECTION_ID/@ in the summary file. Refs that+have associated collection IDs will be included in the generated summary+file, listed under the @/OSTREE_SUMMARY_COLLECTION_MAP/@ key. Collection IDs+and refs in @/OSTREE_SUMMARY_COLLECTION_MAP/@ are guaranteed to be in+lexicographic order.++Locking: exclusive+-}+repoRegenerateSummary ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repo -}+    -> Maybe (GVariant)+    {- ^ /@additionalMetadata@/: A GVariant of type a{sv}, or 'Nothing' -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoRegenerateSummary self additionalMetadata cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeAdditionalMetadata <- case additionalMetadata of+        Nothing -> return nullPtr+        Just jAdditionalMetadata -> do+            jAdditionalMetadata' <- unsafeManagedPtrGetPtr jAdditionalMetadata+            return jAdditionalMetadata'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_regenerate_summary self' maybeAdditionalMetadata maybeCancellable+        touchManagedPtr self+        whenJust additionalMetadata touchManagedPtr+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepoRegenerateSummaryMethodInfo+instance (signature ~ (Maybe (GVariant) -> Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoRegenerateSummaryMethodInfo a signature where+    overloadedMethod _ = repoRegenerateSummary++#endif++-- method Repo::reload_config+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "cancellable", 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 "ostree_repo_reload_config" ostree_repo_reload_config :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+By default, an 'GI.OSTree.Objects.Repo.Repo' will cache the remote configuration and its+own repo\/config data.  This API can be used to reload it.+-}+repoReloadConfig ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: repo -}+    -> Maybe (b)+    {- ^ /@cancellable@/: cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoReloadConfig self cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_reload_config self' maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepoReloadConfigMethodInfo+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoReloadConfigMethodInfo a signature where+    overloadedMethod _ = repoReloadConfig++#endif++-- method Repo::remote_add+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", 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 remote", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "url", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "URL for remote (if URL begins with metalink=, it will be used as such)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "options", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "GVariant of type a{sv}", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_remote_add" ostree_repo_remote_add :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- url : TBasicType TUTF8+    Ptr GVariant ->                         -- options : TVariant+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Create a new remote named /@name@/ pointing to /@url@/.  If /@options@/ is+provided, then it will be mapped to 'GI.GLib.Structs.KeyFile.KeyFile' entries, where the+GVariant dictionary key is an option string, and the value is+mapped as follows:+  * s: 'GI.GLib.Structs.KeyFile.keyFileSetString'+  * b: 'GI.GLib.Structs.KeyFile.keyFileSetBoolean'+  * as: 'GI.GLib.Structs.KeyFile.keyFileSetStringList'+-}+repoRemoteAdd ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repo -}+    -> T.Text+    {- ^ /@name@/: Name of remote -}+    -> T.Text+    {- ^ /@url@/: URL for remote (if URL begins with metalink=, it will be used as such) -}+    -> Maybe (GVariant)+    {- ^ /@options@/: GVariant of type a{sv} -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoRemoteAdd self name url options cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    name' <- textToCString name+    url' <- textToCString url+    maybeOptions <- case options of+        Nothing -> return nullPtr+        Just jOptions -> do+            jOptions' <- unsafeManagedPtrGetPtr jOptions+            return jOptions'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_remote_add self' name' url' maybeOptions maybeCancellable+        touchManagedPtr self+        whenJust options touchManagedPtr+        whenJust cancellable touchManagedPtr+        freeMem name'+        freeMem url'+        return ()+     ) (do+        freeMem name'+        freeMem url'+     )++#if ENABLE_OVERLOADING+data RepoRemoteAddMethodInfo+instance (signature ~ (T.Text -> T.Text -> Maybe (GVariant) -> Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoRemoteAddMethodInfo a signature where+    overloadedMethod _ = repoRemoteAdd++#endif++-- method Repo::remote_change+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sysroot", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "System root", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "changeop", argType = TInterface (Name {namespace = "OSTree", name = "RepoRemoteChange"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Operation to perform", 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 remote", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "url", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "URL for remote (if URL begins with metalink=, it will be used as such)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "options", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "GVariant of type a{sv}", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_remote_change" ostree_repo_remote_change :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr Gio.File.File ->                    -- sysroot : TInterface (Name {namespace = "Gio", name = "File"})+    CUInt ->                                -- changeop : TInterface (Name {namespace = "OSTree", name = "RepoRemoteChange"})+    CString ->                              -- name : TBasicType TUTF8+    CString ->                              -- url : TBasicType TUTF8+    Ptr GVariant ->                         -- options : TVariant+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+A combined function handling the equivalent of+'GI.OSTree.Objects.Repo.repoRemoteAdd', 'GI.OSTree.Objects.Repo.repoRemoteDelete', with more+options.+-}+repoRemoteChange ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.File.IsFile b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: Repo -}+    -> Maybe (b)+    {- ^ /@sysroot@/: System root -}+    -> OSTree.Enums.RepoRemoteChange+    {- ^ /@changeop@/: Operation to perform -}+    -> T.Text+    {- ^ /@name@/: Name of remote -}+    -> T.Text+    {- ^ /@url@/: URL for remote (if URL begins with metalink=, it will be used as such) -}+    -> Maybe (GVariant)+    {- ^ /@options@/: GVariant of type a{sv} -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoRemoteChange self sysroot changeop name url options cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeSysroot <- case sysroot of+        Nothing -> return nullPtr+        Just jSysroot -> do+            jSysroot' <- unsafeManagedPtrCastPtr jSysroot+            return jSysroot'+    let changeop' = (fromIntegral . fromEnum) changeop+    name' <- textToCString name+    url' <- textToCString url+    maybeOptions <- case options of+        Nothing -> return nullPtr+        Just jOptions -> do+            jOptions' <- unsafeManagedPtrGetPtr jOptions+            return jOptions'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_remote_change self' maybeSysroot changeop' name' url' maybeOptions maybeCancellable+        touchManagedPtr self+        whenJust sysroot touchManagedPtr+        whenJust options touchManagedPtr+        whenJust cancellable touchManagedPtr+        freeMem name'+        freeMem url'+        return ()+     ) (do+        freeMem name'+        freeMem url'+     )++#if ENABLE_OVERLOADING+data RepoRemoteChangeMethodInfo+instance (signature ~ (Maybe (b) -> OSTree.Enums.RepoRemoteChange -> T.Text -> T.Text -> Maybe (GVariant) -> Maybe (c) -> m ()), MonadIO m, IsRepo a, Gio.File.IsFile b, Gio.Cancellable.IsCancellable c) => O.MethodInfo RepoRemoteChangeMethodInfo a signature where+    overloadedMethod _ = repoRemoteChange++#endif++-- method Repo::remote_delete+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", 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 remote", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_remote_delete" ostree_repo_remote_delete :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- name : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Delete the remote named /@name@/.  It is an error if the provided+remote does not exist.+-}+repoRemoteDelete ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repo -}+    -> T.Text+    {- ^ /@name@/: Name of remote -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoRemoteDelete self name cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    name' <- textToCString name+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_remote_delete self' name' maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem name'+        return ()+     ) (do+        freeMem name'+     )++#if ENABLE_OVERLOADING+data RepoRemoteDeleteMethodInfo+instance (signature ~ (T.Text -> Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoRemoteDeleteMethodInfo a signature where+    overloadedMethod _ = repoRemoteDelete++#endif++-- method Repo::remote_fetch_summary+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Self", 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 a remote", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_summary", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for raw summary data, or\n              %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_signatures", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for raw summary\n                 signature data, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GCancellable", 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 "ostree_repo_remote_fetch_summary" ostree_repo_remote_fetch_summary :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- name : TBasicType TUTF8+    Ptr (Ptr GLib.Bytes.Bytes) ->           -- out_summary : TInterface (Name {namespace = "GLib", name = "Bytes"})+    Ptr (Ptr GLib.Bytes.Bytes) ->           -- out_signatures : TInterface (Name {namespace = "GLib", name = "Bytes"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Tries to fetch the summary file and any GPG signatures on the summary file+over HTTP, and returns the binary data in /@outSummary@/ and /@outSignatures@/+respectively.++If no summary file exists on the remote server, /@outSummary@/ is set to+/@nULL@/.  Likewise if the summary file is not signed, /@outSignatures@/ is+set to /@nULL@/.  In either case the function still returns 'True'.++This method does not verify the signature of the downloaded summary file.+Use 'GI.OSTree.Objects.Repo.repoVerifySummary' for that.++Parse the summary data into a 'GVariant' using 'GI.GLib.Structs.Variant.variantNewFromBytes'+with @/OSTREE_SUMMARY_GVARIANT_FORMAT/@ as the format string.+-}+repoRemoteFetchSummary ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Self -}+    -> T.Text+    {- ^ /@name@/: name of a remote -}+    -> Maybe (b)+    {- ^ /@cancellable@/: a 'GI.Gio.Objects.Cancellable.Cancellable' -}+    -> m ((GLib.Bytes.Bytes, GLib.Bytes.Bytes))+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoRemoteFetchSummary self name cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    name' <- textToCString name+    outSummary <- allocMem :: IO (Ptr (Ptr GLib.Bytes.Bytes))+    outSignatures <- allocMem :: IO (Ptr (Ptr GLib.Bytes.Bytes))+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_remote_fetch_summary self' name' outSummary outSignatures maybeCancellable+        outSummary' <- peek outSummary+        outSummary'' <- (wrapBoxed GLib.Bytes.Bytes) outSummary'+        outSignatures' <- peek outSignatures+        outSignatures'' <- (wrapBoxed GLib.Bytes.Bytes) outSignatures'+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem name'+        freeMem outSummary+        freeMem outSignatures+        return (outSummary'', outSignatures'')+     ) (do+        freeMem name'+        freeMem outSummary+        freeMem outSignatures+     )++#if ENABLE_OVERLOADING+data RepoRemoteFetchSummaryMethodInfo+instance (signature ~ (T.Text -> Maybe (b) -> m ((GLib.Bytes.Bytes, GLib.Bytes.Bytes))), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoRemoteFetchSummaryMethodInfo a signature where+    overloadedMethod _ = repoRemoteFetchSummary++#endif++-- method Repo::remote_fetch_summary_with_options+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Self", 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 a remote", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "options", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A GVariant a{sv} with an extensible set of flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_summary", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for raw summary data, or\n              %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_signatures", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "return location for raw summary\n                 signature data, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GCancellable", 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 "ostree_repo_remote_fetch_summary_with_options" ostree_repo_remote_fetch_summary_with_options :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- name : TBasicType TUTF8+    Ptr GVariant ->                         -- options : TVariant+    Ptr (Ptr GLib.Bytes.Bytes) ->           -- out_summary : TInterface (Name {namespace = "GLib", name = "Bytes"})+    Ptr (Ptr GLib.Bytes.Bytes) ->           -- out_signatures : TInterface (Name {namespace = "GLib", name = "Bytes"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Like 'GI.OSTree.Objects.Repo.repoRemoteFetchSummary', but supports an extensible set of flags.+The following are currently defined:++* override-url (s): Fetch summary from this URL if remote specifies no metalink in options+* http-headers (a(ss)): Additional headers to add to all HTTP requests+* append-user-agent (s): Additional string to append to the user agent+* n-network-retries (u): Number of times to retry each download on receiving+a transient network error, such as a socket timeout; default is 5, 0+means return errors without retrying+-}+repoRemoteFetchSummaryWithOptions ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Self -}+    -> T.Text+    {- ^ /@name@/: name of a remote -}+    -> Maybe (GVariant)+    {- ^ /@options@/: A GVariant a{sv} with an extensible set of flags -}+    -> Maybe (b)+    {- ^ /@cancellable@/: a 'GI.Gio.Objects.Cancellable.Cancellable' -}+    -> m ((GLib.Bytes.Bytes, GLib.Bytes.Bytes))+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoRemoteFetchSummaryWithOptions self name options cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    name' <- textToCString name+    maybeOptions <- case options of+        Nothing -> return nullPtr+        Just jOptions -> do+            jOptions' <- unsafeManagedPtrGetPtr jOptions+            return jOptions'+    outSummary <- allocMem :: IO (Ptr (Ptr GLib.Bytes.Bytes))+    outSignatures <- allocMem :: IO (Ptr (Ptr GLib.Bytes.Bytes))+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_remote_fetch_summary_with_options self' name' maybeOptions outSummary outSignatures maybeCancellable+        outSummary' <- peek outSummary+        outSummary'' <- (wrapBoxed GLib.Bytes.Bytes) outSummary'+        outSignatures' <- peek outSignatures+        outSignatures'' <- (wrapBoxed GLib.Bytes.Bytes) outSignatures'+        touchManagedPtr self+        whenJust options touchManagedPtr+        whenJust cancellable touchManagedPtr+        freeMem name'+        freeMem outSummary+        freeMem outSignatures+        return (outSummary'', outSignatures'')+     ) (do+        freeMem name'+        freeMem outSummary+        freeMem outSignatures+     )++#if ENABLE_OVERLOADING+data RepoRemoteFetchSummaryWithOptionsMethodInfo+instance (signature ~ (T.Text -> Maybe (GVariant) -> Maybe (b) -> m ((GLib.Bytes.Bytes, GLib.Bytes.Bytes))), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoRemoteFetchSummaryWithOptionsMethodInfo a signature where+    overloadedMethod _ = repoRemoteFetchSummaryWithOptions++#endif++-- method Repo::remote_get_gpg_verify+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", 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 remote", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_gpg_verify", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Remote's GPG option", 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 "ostree_repo_remote_get_gpg_verify" ostree_repo_remote_get_gpg_verify :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- name : TBasicType TUTF8+    Ptr CInt ->                             -- out_gpg_verify : TBasicType TBoolean+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Return whether GPG verification is enabled for the remote named /@name@/+through /@outGpgVerify@/.  It is an error if the provided remote does+not exist.+-}+repoRemoteGetGpgVerify ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: Repo -}+    -> T.Text+    {- ^ /@name@/: Name of remote -}+    -> m (Bool)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoRemoteGetGpgVerify self name = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    name' <- textToCString name+    outGpgVerify <- allocMem :: IO (Ptr CInt)+    onException (do+        _ <- propagateGError $ ostree_repo_remote_get_gpg_verify self' name' outGpgVerify+        outGpgVerify' <- peek outGpgVerify+        let outGpgVerify'' = (/= 0) outGpgVerify'+        touchManagedPtr self+        freeMem name'+        freeMem outGpgVerify+        return outGpgVerify''+     ) (do+        freeMem name'+        freeMem outGpgVerify+     )++#if ENABLE_OVERLOADING+data RepoRemoteGetGpgVerifyMethodInfo+instance (signature ~ (T.Text -> m (Bool)), MonadIO m, IsRepo a) => O.MethodInfo RepoRemoteGetGpgVerifyMethodInfo a signature where+    overloadedMethod _ = repoRemoteGetGpgVerify++#endif++-- method Repo::remote_get_gpg_verify_summary+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", 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 remote", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_gpg_verify_summary", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Remote's GPG option", 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 "ostree_repo_remote_get_gpg_verify_summary" ostree_repo_remote_get_gpg_verify_summary :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- name : TBasicType TUTF8+    Ptr CInt ->                             -- out_gpg_verify_summary : TBasicType TBoolean+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Return whether GPG verification of the summary is enabled for the remote+named /@name@/ through /@outGpgVerifySummary@/.  It is an error if the provided+remote does not exist.+-}+repoRemoteGetGpgVerifySummary ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: Repo -}+    -> T.Text+    {- ^ /@name@/: Name of remote -}+    -> m (Bool)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoRemoteGetGpgVerifySummary self name = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    name' <- textToCString name+    outGpgVerifySummary <- allocMem :: IO (Ptr CInt)+    onException (do+        _ <- propagateGError $ ostree_repo_remote_get_gpg_verify_summary self' name' outGpgVerifySummary+        outGpgVerifySummary' <- peek outGpgVerifySummary+        let outGpgVerifySummary'' = (/= 0) outGpgVerifySummary'+        touchManagedPtr self+        freeMem name'+        freeMem outGpgVerifySummary+        return outGpgVerifySummary''+     ) (do+        freeMem name'+        freeMem outGpgVerifySummary+     )++#if ENABLE_OVERLOADING+data RepoRemoteGetGpgVerifySummaryMethodInfo+instance (signature ~ (T.Text -> m (Bool)), MonadIO m, IsRepo a) => O.MethodInfo RepoRemoteGetGpgVerifySummaryMethodInfo a signature where+    overloadedMethod _ = repoRemoteGetGpgVerifySummary++#endif++-- method Repo::remote_get_url+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", 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 remote", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_url", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Remote's URL", 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 "ostree_repo_remote_get_url" ostree_repo_remote_get_url :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- name : TBasicType TUTF8+    Ptr CString ->                          -- out_url : TBasicType TUTF8+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Return the URL of the remote named /@name@/ through /@outUrl@/.  It is an+error if the provided remote does not exist.+-}+repoRemoteGetUrl ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: Repo -}+    -> T.Text+    {- ^ /@name@/: Name of remote -}+    -> m (T.Text)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoRemoteGetUrl self name = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    name' <- textToCString name+    outUrl <- allocMem :: IO (Ptr CString)+    onException (do+        _ <- propagateGError $ ostree_repo_remote_get_url self' name' outUrl+        outUrl' <- peek outUrl+        outUrl'' <- cstringToText outUrl'+        freeMem outUrl'+        touchManagedPtr self+        freeMem name'+        freeMem outUrl+        return outUrl''+     ) (do+        freeMem name'+        freeMem outUrl+     )++#if ENABLE_OVERLOADING+data RepoRemoteGetUrlMethodInfo+instance (signature ~ (T.Text -> m (T.Text)), MonadIO m, IsRepo a) => O.MethodInfo RepoRemoteGetUrlMethodInfo a signature where+    overloadedMethod _ = repoRemoteGetUrl++#endif++-- method Repo::remote_gpg_import+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Self", 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 a remote", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "source_stream", argType = TInterface (Name {namespace = "Gio", name = "InputStream"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GInputStream, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key_ids", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a %NULL-terminated array of GPG key IDs, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_imported", argType = TBasicType TUInt, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "return location for the number of imported\n                             keys, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GCancellable", 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 "ostree_repo_remote_gpg_import" ostree_repo_remote_gpg_import :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- name : TBasicType TUTF8+    Ptr Gio.InputStream.InputStream ->      -- source_stream : TInterface (Name {namespace = "Gio", name = "InputStream"})+    Ptr CString ->                          -- key_ids : TCArray True (-1) (-1) (TBasicType TUTF8)+    Word32 ->                               -- out_imported : TBasicType TUInt+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Imports one or more GPG keys from the open /@sourceStream@/, or from the+user\'s personal keyring if /@sourceStream@/ is 'Nothing'.  The /@keyIds@/ array+can optionally restrict which keys are imported.  If /@keyIds@/ is 'Nothing',+then all keys are imported.++The imported keys will be used to conduct GPG verification when pulling+from the remote named /@name@/.+-}+repoRemoteGpgImport ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.InputStream.IsInputStream b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: Self -}+    -> T.Text+    {- ^ /@name@/: name of a remote -}+    -> Maybe (b)+    {- ^ /@sourceStream@/: a 'GI.Gio.Objects.InputStream.InputStream', or 'Nothing' -}+    -> Maybe ([T.Text])+    {- ^ /@keyIds@/: a 'Nothing'-terminated array of GPG key IDs, or 'Nothing' -}+    -> Word32+    {- ^ /@outImported@/: return location for the number of imported+                             keys, or 'Nothing' -}+    -> Maybe (c)+    {- ^ /@cancellable@/: a 'GI.Gio.Objects.Cancellable.Cancellable' -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoRemoteGpgImport self name sourceStream keyIds outImported cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    name' <- textToCString name+    maybeSourceStream <- case sourceStream of+        Nothing -> return nullPtr+        Just jSourceStream -> do+            jSourceStream' <- unsafeManagedPtrCastPtr jSourceStream+            return jSourceStream'+    maybeKeyIds <- case keyIds of+        Nothing -> return nullPtr+        Just jKeyIds -> do+            jKeyIds' <- packZeroTerminatedUTF8CArray jKeyIds+            return jKeyIds'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_remote_gpg_import self' name' maybeSourceStream maybeKeyIds outImported maybeCancellable+        touchManagedPtr self+        whenJust sourceStream touchManagedPtr+        whenJust cancellable touchManagedPtr+        freeMem name'+        mapZeroTerminatedCArray freeMem maybeKeyIds+        freeMem maybeKeyIds+        return ()+     ) (do+        freeMem name'+        mapZeroTerminatedCArray freeMem maybeKeyIds+        freeMem maybeKeyIds+     )++#if ENABLE_OVERLOADING+data RepoRemoteGpgImportMethodInfo+instance (signature ~ (T.Text -> Maybe (b) -> Maybe ([T.Text]) -> Word32 -> Maybe (c) -> m ()), MonadIO m, IsRepo a, Gio.InputStream.IsInputStream b, Gio.Cancellable.IsCancellable c) => O.MethodInfo RepoRemoteGpgImportMethodInfo a signature where+    overloadedMethod _ = repoRemoteGpgImport++#endif++-- method Repo::remote_list+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_n_remotes", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of remotes available", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : [Arg {argCName = "out_n_remotes", argType = TBasicType TUInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of remotes available", 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 "ostree_repo_remote_list" ostree_repo_remote_list :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr Word32 ->                           -- out_n_remotes : TBasicType TUInt+    IO (Ptr CString)++{- |+List available remote names in an 'GI.OSTree.Objects.Repo.Repo'.  Remote names are sorted+alphabetically.  If no remotes are available the function returns 'Nothing'.+-}+repoRemoteList ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: Repo -}+    -> m [T.Text]+    {- ^ __Returns:__ a 'Nothing'-terminated+         array of remote names -}+repoRemoteList self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    outNRemotes <- allocMem :: IO (Ptr Word32)+    result <- ostree_repo_remote_list self' outNRemotes+    outNRemotes' <- peek outNRemotes+    checkUnexpectedReturnNULL "repoRemoteList" result+    result' <- (unpackUTF8CArrayWithLength outNRemotes') result+    (mapCArrayWithLength outNRemotes') freeMem result+    freeMem result+    touchManagedPtr self+    freeMem outNRemotes+    return result'++#if ENABLE_OVERLOADING+data RepoRemoteListMethodInfo+instance (signature ~ (m [T.Text]), MonadIO m, IsRepo a) => O.MethodInfo RepoRemoteListMethodInfo a signature where+    overloadedMethod _ = repoRemoteList++#endif++-- XXX Could not generate method Repo::remote_list_collection_refs+-- Error was : Not implemented: "GHashTable element of type TInterface (Name {namespace = \"OSTree\", name = \"CollectionRef\"}) unsupported."+#if ENABLE_OVERLOADING+-- XXX: Dummy instance, since code generation failed.+-- Please file a bug at http://github.com/haskell-gi/haskell-gi.+data RepoRemoteListCollectionRefsMethodInfo+instance (p ~ (), o ~ O.MethodResolutionFailed "remoteListCollectionRefs" Repo) => O.MethodInfo RepoRemoteListCollectionRefsMethodInfo o p where+    overloadedMethod _ = undefined+#endif++-- XXX Could not generate method Repo::remote_list_refs+-- Error was : Not implemented: "Hash table argument with transfer = Container? outAllRefs'"+#if ENABLE_OVERLOADING+-- XXX: Dummy instance, since code generation failed.+-- Please file a bug at http://github.com/haskell-gi/haskell-gi.+data RepoRemoteListRefsMethodInfo+instance (p ~ (), o ~ O.MethodResolutionFailed "remoteListRefs" Repo) => O.MethodInfo RepoRemoteListRefsMethodInfo o p where+    overloadedMethod _ = undefined+#endif++-- method Repo::resolve_collection_ref+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ref", argType = TInterface (Name {namespace = "OSTree", name = "CollectionRef"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a collection\8211ref to resolve", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allow_noent", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%TRUE to not throw an error if @ref doesn\8217t exist", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "OSTree", name = "RepoResolveRevExtFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "options controlling behaviour", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_rev", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = True, argDoc = Documentation {rawDocText = Just "return location for\n   the checksum corresponding to @ref, or %NULL if @allow_noent is %TRUE and\n   the @ref could not be found", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GCancellable, 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 "ostree_repo_resolve_collection_ref" ostree_repo_resolve_collection_ref :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr OSTree.CollectionRef.CollectionRef -> -- ref : TInterface (Name {namespace = "OSTree", name = "CollectionRef"})+    CInt ->                                 -- allow_noent : TBasicType TBoolean+    CUInt ->                                -- flags : TInterface (Name {namespace = "OSTree", name = "RepoResolveRevExtFlags"})+    Ptr CString ->                          -- out_rev : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Look up the checksum for the given collection–ref, returning it in /@outRev@/.+This will search through the mirrors and remote refs.++If /@allowNoent@/ is 'True' and the given /@ref@/ cannot be found, 'True' will be+returned and /@outRev@/ will be set to 'Nothing'. If /@allowNoent@/ is 'False' and+the given /@ref@/ cannot be found, a 'GI.Gio.Enums.IOErrorEnumNotFound' error will be+returned.++If you want to check only local refs, not remote or mirrored ones, use the+flag 'GI.OSTree.Flags.RepoResolveRevExtFlagsLocalOnly'. This is analogous to using+'GI.OSTree.Objects.Repo.repoResolveRevExt' but for collection-refs.++/Since: 2018.6/+-}+repoResolveCollectionRef ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: an 'GI.OSTree.Objects.Repo.Repo' -}+    -> OSTree.CollectionRef.CollectionRef+    {- ^ /@ref@/: a collection–ref to resolve -}+    -> Bool+    {- ^ /@allowNoent@/: 'True' to not throw an error if /@ref@/ doesn’t exist -}+    -> [OSTree.Flags.RepoResolveRevExtFlags]+    {- ^ /@flags@/: options controlling behaviour -}+    -> Maybe (b)+    {- ^ /@cancellable@/: a 'GI.Gio.Objects.Cancellable.Cancellable', or 'Nothing' -}+    -> m ((Maybe T.Text))+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoResolveCollectionRef self ref allowNoent flags cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    ref' <- unsafeManagedPtrGetPtr ref+    let allowNoent' = (fromIntegral . fromEnum) allowNoent+    let flags' = gflagsToWord flags+    outRev <- allocMem :: IO (Ptr CString)+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_resolve_collection_ref self' ref' allowNoent' flags' outRev maybeCancellable+        outRev' <- peek outRev+        maybeOutRev' <- convertIfNonNull outRev' $ \outRev'' -> do+            outRev''' <- cstringToText outRev''+            return outRev'''+        freeMem outRev'+        touchManagedPtr self+        touchManagedPtr ref+        whenJust cancellable touchManagedPtr+        freeMem outRev+        return maybeOutRev'+     ) (do+        freeMem outRev+     )++#if ENABLE_OVERLOADING+data RepoResolveCollectionRefMethodInfo+instance (signature ~ (OSTree.CollectionRef.CollectionRef -> Bool -> [OSTree.Flags.RepoResolveRevExtFlags] -> Maybe (b) -> m ((Maybe T.Text))), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoResolveCollectionRefMethodInfo a signature where+    overloadedMethod _ = repoResolveCollectionRef++#endif++-- method Repo::resolve_keyring_for_collection+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "collection_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the collection ID to look up a keyring for", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GCancellable, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "Remote"}))+-- throws : True+-- Skip return : False++foreign import ccall "ostree_repo_resolve_keyring_for_collection" ostree_repo_resolve_keyring_for_collection :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- collection_id : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr OSTree.Remote.Remote)++{- |+Find the GPG keyring for the given /@collectionId@/, using the local+configuration from the given 'GI.OSTree.Objects.Repo.Repo'. This will search the configured+remotes for ones whose @collection-id@ key matches /@collectionId@/, and will+return the first matching remote.++If multiple remotes match and have different keyrings, a debug message will+be emitted, and the first result will be returned. It is expected that the+keyrings should match.++If no match can be found, a 'GI.Gio.Enums.IOErrorEnumNotFound' error will be returned.++/Since: 2018.6/+-}+repoResolveKeyringForCollection ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: an 'GI.OSTree.Objects.Repo.Repo' -}+    -> T.Text+    {- ^ /@collectionId@/: the collection ID to look up a keyring for -}+    -> Maybe (b)+    {- ^ /@cancellable@/: a 'GI.Gio.Objects.Cancellable.Cancellable', or 'Nothing' -}+    -> m OSTree.Remote.Remote+    {- ^ __Returns:__ 'GI.OSTree.Structs.Remote.Remote' containing the GPG keyring for+   /@collectionId@/ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoResolveKeyringForCollection self collectionId cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    collectionId' <- textToCString collectionId+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        result <- propagateGError $ ostree_repo_resolve_keyring_for_collection self' collectionId' maybeCancellable+        checkUnexpectedReturnNULL "repoResolveKeyringForCollection" result+        result' <- (wrapBoxed OSTree.Remote.Remote) result+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem collectionId'+        return result'+     ) (do+        freeMem collectionId'+     )++#if ENABLE_OVERLOADING+data RepoResolveKeyringForCollectionMethodInfo+instance (signature ~ (T.Text -> Maybe (b) -> m OSTree.Remote.Remote), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoResolveKeyringForCollectionMethodInfo a signature where+    overloadedMethod _ = repoResolveKeyringForCollection++#endif++-- method Repo::resolve_rev+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "refspec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A refspec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allow_noent", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Do not throw an error if refspec does not exist", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_rev", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A checksum,or %NULL if @allow_noent is true and it does not exist", 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 "ostree_repo_resolve_rev" ostree_repo_resolve_rev :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- refspec : TBasicType TUTF8+    CInt ->                                 -- allow_noent : TBasicType TBoolean+    Ptr CString ->                          -- out_rev : TBasicType TUTF8+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Look up the given refspec, returning the checksum it references in+the parameter /@outRev@/. Will fall back on remote directory if cannot+find the given refspec in local.+-}+repoResolveRev ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: Repo -}+    -> T.Text+    {- ^ /@refspec@/: A refspec -}+    -> Bool+    {- ^ /@allowNoent@/: Do not throw an error if refspec does not exist -}+    -> m (T.Text)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoResolveRev self refspec allowNoent = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    refspec' <- textToCString refspec+    let allowNoent' = (fromIntegral . fromEnum) allowNoent+    outRev <- allocMem :: IO (Ptr CString)+    onException (do+        _ <- propagateGError $ ostree_repo_resolve_rev self' refspec' allowNoent' outRev+        outRev' <- peek outRev+        outRev'' <- cstringToText outRev'+        freeMem outRev'+        touchManagedPtr self+        freeMem refspec'+        freeMem outRev+        return outRev''+     ) (do+        freeMem refspec'+        freeMem outRev+     )++#if ENABLE_OVERLOADING+data RepoResolveRevMethodInfo+instance (signature ~ (T.Text -> Bool -> m (T.Text)), MonadIO m, IsRepo a) => O.MethodInfo RepoResolveRevMethodInfo a signature where+    overloadedMethod _ = repoResolveRev++#endif++-- method Repo::resolve_rev_ext+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "refspec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A refspec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "allow_noent", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Do not throw an error if refspec does not exist", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "OSTree", name = "RepoResolveRevExtFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Options controlling behavior", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_rev", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A checksum,or %NULL if @allow_noent is true and it does not exist", 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 "ostree_repo_resolve_rev_ext" ostree_repo_resolve_rev_ext :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- refspec : TBasicType TUTF8+    CInt ->                                 -- allow_noent : TBasicType TBoolean+    CUInt ->                                -- flags : TInterface (Name {namespace = "OSTree", name = "RepoResolveRevExtFlags"})+    Ptr CString ->                          -- out_rev : TBasicType TUTF8+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Look up the given refspec, returning the checksum it references in+the parameter /@outRev@/. Differently from 'GI.OSTree.Objects.Repo.repoResolveRev',+this will not fall back to searching through remote repos if a+local ref is specified but not found.++The flag 'GI.OSTree.Flags.RepoResolveRevExtFlagsLocalOnly' is implied so+using it has no effect.+-}+repoResolveRevExt ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: Repo -}+    -> T.Text+    {- ^ /@refspec@/: A refspec -}+    -> Bool+    {- ^ /@allowNoent@/: Do not throw an error if refspec does not exist -}+    -> [OSTree.Flags.RepoResolveRevExtFlags]+    {- ^ /@flags@/: Options controlling behavior -}+    -> m (T.Text)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoResolveRevExt self refspec allowNoent flags = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    refspec' <- textToCString refspec+    let allowNoent' = (fromIntegral . fromEnum) allowNoent+    let flags' = gflagsToWord flags+    outRev <- allocMem :: IO (Ptr CString)+    onException (do+        _ <- propagateGError $ ostree_repo_resolve_rev_ext self' refspec' allowNoent' flags' outRev+        outRev' <- peek outRev+        outRev'' <- cstringToText outRev'+        freeMem outRev'+        touchManagedPtr self+        freeMem refspec'+        freeMem outRev+        return outRev''+     ) (do+        freeMem refspec'+        freeMem outRev+     )++#if ENABLE_OVERLOADING+data RepoResolveRevExtMethodInfo+instance (signature ~ (T.Text -> Bool -> [OSTree.Flags.RepoResolveRevExtFlags] -> m (T.Text)), MonadIO m, IsRepo a) => O.MethodInfo RepoResolveRevExtMethodInfo a signature where+    overloadedMethod _ = repoResolveRevExt++#endif++-- method Repo::scan_hardlinks+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_scan_hardlinks" ostree_repo_scan_hardlinks :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+This function is deprecated in favor of using 'GI.OSTree.Structs.RepoDevInoCache.repoDevInoCacheNew',+which allows a precise mapping to be built up between hardlink checkout files+and their checksums between @ostree_repo_checkout_at()@ and+@ostree_repo_write_directory_to_mtree()@.++When invoking 'GI.OSTree.Objects.Repo.repoWriteDirectoryToMtree', it has to compute the+checksum of all files. If your commit contains hardlinks from a checkout,+this functions builds a mapping of device numbers and inodes to their+checksum.++There is an upfront cost to creating this mapping, as this will scan the+entire objects directory. If your commit is composed of mostly hardlinks to+existing ostree objects, then this will speed up considerably, so call it+before you call 'GI.OSTree.Objects.Repo.repoWriteDirectoryToMtree' or similar.  However,+'GI.OSTree.Structs.RepoDevInoCache.repoDevInoCacheNew' is better as it avoids scanning all objects.++Multithreading: This function is *not* MT safe.+-}+repoScanHardlinks ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: An 'GI.OSTree.Objects.Repo.Repo' -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoScanHardlinks self cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_scan_hardlinks self' maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepoScanHardlinksMethodInfo+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoScanHardlinksMethodInfo a signature where+    overloadedMethod _ = repoScanHardlinks++#endif++-- method Repo::set_alias_ref_immediate+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "remote", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A remote for the ref", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ref", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The ref to write", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The ref target to point it to, or %NULL to unset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "GCancellable", 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 "ostree_repo_set_alias_ref_immediate" ostree_repo_set_alias_ref_immediate :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- remote : TBasicType TUTF8+    CString ->                              -- ref : TBasicType TUTF8+    CString ->                              -- target : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Like 'GI.OSTree.Objects.Repo.repoSetRefImmediate', but creates an alias.+-}+repoSetAliasRefImmediate ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: An 'GI.OSTree.Objects.Repo.Repo' -}+    -> Maybe (T.Text)+    {- ^ /@remote@/: A remote for the ref -}+    -> T.Text+    {- ^ /@ref@/: The ref to write -}+    -> Maybe (T.Text)+    {- ^ /@target@/: The ref target to point it to, or 'Nothing' to unset -}+    -> Maybe (b)+    {- ^ /@cancellable@/: GCancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoSetAliasRefImmediate self remote ref target cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeRemote <- case remote of+        Nothing -> return nullPtr+        Just jRemote -> do+            jRemote' <- textToCString jRemote+            return jRemote'+    ref' <- textToCString ref+    maybeTarget <- case target of+        Nothing -> return nullPtr+        Just jTarget -> do+            jTarget' <- textToCString jTarget+            return jTarget'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_set_alias_ref_immediate self' maybeRemote ref' maybeTarget maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem maybeRemote+        freeMem ref'+        freeMem maybeTarget+        return ()+     ) (do+        freeMem maybeRemote+        freeMem ref'+        freeMem maybeTarget+     )++#if ENABLE_OVERLOADING+data RepoSetAliasRefImmediateMethodInfo+instance (signature ~ (Maybe (T.Text) -> T.Text -> Maybe (T.Text) -> Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoSetAliasRefImmediateMethodInfo a signature where+    overloadedMethod _ = repoSetAliasRefImmediate++#endif++-- method Repo::set_cache_dir+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dfd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "directory fd", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "subpath in @dfd", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a #GCancellable", 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 "ostree_repo_set_cache_dir" ostree_repo_set_cache_dir :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Int32 ->                                -- dfd : TBasicType TInt+    CString ->                              -- path : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Set a custom location for the cache directory used for e.g.+per-remote summary caches. Setting this manually is useful when+doing operations on a system repo as a user because you don\'t have+write permissions in the repo, where the cache is normally stored.+-}+repoSetCacheDir ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: An 'GI.OSTree.Objects.Repo.Repo' -}+    -> Int32+    {- ^ /@dfd@/: directory fd -}+    -> T.Text+    {- ^ /@path@/: subpath in /@dfd@/ -}+    -> Maybe (b)+    {- ^ /@cancellable@/: a 'GI.Gio.Objects.Cancellable.Cancellable' -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoSetCacheDir self dfd path cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    path' <- textToCString path+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_set_cache_dir self' dfd path' maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem path'+        return ()+     ) (do+        freeMem path'+     )++#if ENABLE_OVERLOADING+data RepoSetCacheDirMethodInfo+instance (signature ~ (Int32 -> T.Text -> Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoSetCacheDirMethodInfo a signature where+    overloadedMethod _ = repoSetCacheDir++#endif++-- method Repo::set_collection_id+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "collection_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "new collection ID, or %NULL to unset it", 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 "ostree_repo_set_collection_id" ostree_repo_set_collection_id :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- collection_id : TBasicType TUTF8+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Set or clear the collection ID of this repository. See [collection IDs][collection-ids].+The update will be made in memory, but must be written out to the repository+configuration on disk using 'GI.OSTree.Objects.Repo.repoWriteConfig'.++/Since: 2018.6/+-}+repoSetCollectionId ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: an 'GI.OSTree.Objects.Repo.Repo' -}+    -> Maybe (T.Text)+    {- ^ /@collectionId@/: new collection ID, or 'Nothing' to unset it -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoSetCollectionId self collectionId = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeCollectionId <- case collectionId of+        Nothing -> return nullPtr+        Just jCollectionId -> do+            jCollectionId' <- textToCString jCollectionId+            return jCollectionId'+    onException (do+        _ <- propagateGError $ ostree_repo_set_collection_id self' maybeCollectionId+        touchManagedPtr self+        freeMem maybeCollectionId+        return ()+     ) (do+        freeMem maybeCollectionId+     )++#if ENABLE_OVERLOADING+data RepoSetCollectionIdMethodInfo+instance (signature ~ (Maybe (T.Text) -> m ()), MonadIO m, IsRepo a) => O.MethodInfo RepoSetCollectionIdMethodInfo a signature where+    overloadedMethod _ = repoSetCollectionId++#endif++-- method Repo::set_collection_ref_immediate+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ref", argType = TInterface (Name {namespace = "OSTree", name = "CollectionRef"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The collection\8211ref to write", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The checksum to point it to, or %NULL to unset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "GCancellable", 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 "ostree_repo_set_collection_ref_immediate" ostree_repo_set_collection_ref_immediate :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr OSTree.CollectionRef.CollectionRef -> -- ref : TInterface (Name {namespace = "OSTree", name = "CollectionRef"})+    CString ->                              -- checksum : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+This is like 'GI.OSTree.Objects.Repo.repoTransactionSetCollectionRef', except it may be+invoked outside of a transaction.  This is presently safe for the+case where we\'re creating or overwriting an existing ref.++/Since: 2018.6/+-}+repoSetCollectionRefImmediate ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: An 'GI.OSTree.Objects.Repo.Repo' -}+    -> OSTree.CollectionRef.CollectionRef+    {- ^ /@ref@/: The collection–ref to write -}+    -> Maybe (T.Text)+    {- ^ /@checksum@/: The checksum to point it to, or 'Nothing' to unset -}+    -> Maybe (b)+    {- ^ /@cancellable@/: GCancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoSetCollectionRefImmediate self ref checksum cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    ref' <- unsafeManagedPtrGetPtr ref+    maybeChecksum <- case checksum of+        Nothing -> return nullPtr+        Just jChecksum -> do+            jChecksum' <- textToCString jChecksum+            return jChecksum'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_set_collection_ref_immediate self' ref' maybeChecksum maybeCancellable+        touchManagedPtr self+        touchManagedPtr ref+        whenJust cancellable touchManagedPtr+        freeMem maybeChecksum+        return ()+     ) (do+        freeMem maybeChecksum+     )++#if ENABLE_OVERLOADING+data RepoSetCollectionRefImmediateMethodInfo+instance (signature ~ (OSTree.CollectionRef.CollectionRef -> Maybe (T.Text) -> Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoSetCollectionRefImmediateMethodInfo a signature where+    overloadedMethod _ = repoSetCollectionRefImmediate++#endif++-- method Repo::set_disable_fsync+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "disable_fsync", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "If %TRUE, do not fsync", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_set_disable_fsync" ostree_repo_set_disable_fsync :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CInt ->                                 -- disable_fsync : TBasicType TBoolean+    IO ()++{- |+Disable requests to @/fsync()/@ to stable storage during commits.  This+option should only be used by build system tools which are creating+disposable virtual machines, or have higher level mechanisms for+ensuring data consistency.+-}+repoSetDisableFsync ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: An 'GI.OSTree.Objects.Repo.Repo' -}+    -> Bool+    {- ^ /@disableFsync@/: If 'True', do not fsync -}+    -> m ()+repoSetDisableFsync self disableFsync = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    let disableFsync' = (fromIntegral . fromEnum) disableFsync+    ostree_repo_set_disable_fsync self' disableFsync'+    touchManagedPtr self+    return ()++#if ENABLE_OVERLOADING+data RepoSetDisableFsyncMethodInfo+instance (signature ~ (Bool -> m ()), MonadIO m, IsRepo a) => O.MethodInfo RepoSetDisableFsyncMethodInfo a signature where+    overloadedMethod _ = repoSetDisableFsync++#endif++-- method Repo::set_ref_immediate+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "remote", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A remote for the ref", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ref", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The ref to write", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The checksum to point it to, or %NULL to unset", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "GCancellable", 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 "ostree_repo_set_ref_immediate" ostree_repo_set_ref_immediate :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- remote : TBasicType TUTF8+    CString ->                              -- ref : TBasicType TUTF8+    CString ->                              -- checksum : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+This is like 'GI.OSTree.Objects.Repo.repoTransactionSetRef', except it may be+invoked outside of a transaction.  This is presently safe for the+case where we\'re creating or overwriting an existing ref.++Multithreading: This function is MT safe.+-}+repoSetRefImmediate ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: An 'GI.OSTree.Objects.Repo.Repo' -}+    -> Maybe (T.Text)+    {- ^ /@remote@/: A remote for the ref -}+    -> T.Text+    {- ^ /@ref@/: The ref to write -}+    -> Maybe (T.Text)+    {- ^ /@checksum@/: The checksum to point it to, or 'Nothing' to unset -}+    -> Maybe (b)+    {- ^ /@cancellable@/: GCancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoSetRefImmediate self remote ref checksum cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeRemote <- case remote of+        Nothing -> return nullPtr+        Just jRemote -> do+            jRemote' <- textToCString jRemote+            return jRemote'+    ref' <- textToCString ref+    maybeChecksum <- case checksum of+        Nothing -> return nullPtr+        Just jChecksum -> do+            jChecksum' <- textToCString jChecksum+            return jChecksum'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_set_ref_immediate self' maybeRemote ref' maybeChecksum maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem maybeRemote+        freeMem ref'+        freeMem maybeChecksum+        return ()+     ) (do+        freeMem maybeRemote+        freeMem ref'+        freeMem maybeChecksum+     )++#if ENABLE_OVERLOADING+data RepoSetRefImmediateMethodInfo+instance (signature ~ (Maybe (T.Text) -> T.Text -> Maybe (T.Text) -> Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoSetRefImmediateMethodInfo a signature where+    overloadedMethod _ = repoSetRefImmediate++#endif++-- method Repo::sign_commit+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Self", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "commit_checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "SHA256 of given commit to sign", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Use this GPG key id", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "homedir", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "GPG home directory, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GCancellable", 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 "ostree_repo_sign_commit" ostree_repo_sign_commit :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- commit_checksum : TBasicType TUTF8+    CString ->                              -- key_id : TBasicType TUTF8+    CString ->                              -- homedir : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Add a GPG signature to a commit.+-}+repoSignCommit ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Self -}+    -> T.Text+    {- ^ /@commitChecksum@/: SHA256 of given commit to sign -}+    -> T.Text+    {- ^ /@keyId@/: Use this GPG key id -}+    -> Maybe (T.Text)+    {- ^ /@homedir@/: GPG home directory, or 'Nothing' -}+    -> Maybe (b)+    {- ^ /@cancellable@/: A 'GI.Gio.Objects.Cancellable.Cancellable' -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoSignCommit self commitChecksum keyId homedir cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    commitChecksum' <- textToCString commitChecksum+    keyId' <- textToCString keyId+    maybeHomedir <- case homedir of+        Nothing -> return nullPtr+        Just jHomedir -> do+            jHomedir' <- textToCString jHomedir+            return jHomedir'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_sign_commit self' commitChecksum' keyId' maybeHomedir maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem commitChecksum'+        freeMem keyId'+        freeMem maybeHomedir+        return ()+     ) (do+        freeMem commitChecksum'+        freeMem keyId'+        freeMem maybeHomedir+     )++#if ENABLE_OVERLOADING+data RepoSignCommitMethodInfo+instance (signature ~ (T.Text -> T.Text -> Maybe (T.Text) -> Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoSignCommitMethodInfo a signature where+    overloadedMethod _ = repoSignCommit++#endif++-- method Repo::sign_delta+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Self", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "from_commit", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "From commit", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "to_commit", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "To commit", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "key_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "key id", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "homedir", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "homedir", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "cancellable", 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 "ostree_repo_sign_delta" ostree_repo_sign_delta :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- from_commit : TBasicType TUTF8+    CString ->                              -- to_commit : TBasicType TUTF8+    CString ->                              -- key_id : TBasicType TUTF8+    CString ->                              -- homedir : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+This function is deprecated, sign the summary file instead.+Add a GPG signature to a static delta.+-}+repoSignDelta ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Self -}+    -> T.Text+    {- ^ /@fromCommit@/: From commit -}+    -> T.Text+    {- ^ /@toCommit@/: To commit -}+    -> T.Text+    {- ^ /@keyId@/: key id -}+    -> T.Text+    {- ^ /@homedir@/: homedir -}+    -> Maybe (b)+    {- ^ /@cancellable@/: cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoSignDelta self fromCommit toCommit keyId homedir cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    fromCommit' <- textToCString fromCommit+    toCommit' <- textToCString toCommit+    keyId' <- textToCString keyId+    homedir' <- textToCString homedir+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_sign_delta self' fromCommit' toCommit' keyId' homedir' maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem fromCommit'+        freeMem toCommit'+        freeMem keyId'+        freeMem homedir'+        return ()+     ) (do+        freeMem fromCommit'+        freeMem toCommit'+        freeMem keyId'+        freeMem homedir'+     )++#if ENABLE_OVERLOADING+data RepoSignDeltaMethodInfo+instance (signature ~ (T.Text -> T.Text -> T.Text -> T.Text -> Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoSignDeltaMethodInfo a signature where+    overloadedMethod _ = repoSignDelta++#endif++-- method Repo::static_delta_execute_offline+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dir_or_file", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Path to a directory containing static delta data, or directly to the superblock", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "skip_validation", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "If %TRUE, assume data integrity", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_static_delta_execute_offline" ostree_repo_static_delta_execute_offline :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr Gio.File.File ->                    -- dir_or_file : TInterface (Name {namespace = "Gio", name = "File"})+    CInt ->                                 -- skip_validation : TBasicType TBoolean+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Given a directory representing an already-downloaded static delta+on disk, apply it, generating a new commit.  The directory must be+named with the form \"FROM-TO\", where both are checksums, and it+must contain a file named \"superblock\", along with at least one part.+-}+repoStaticDeltaExecuteOffline ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.File.IsFile b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: Repo -}+    -> b+    {- ^ /@dirOrFile@/: Path to a directory containing static delta data, or directly to the superblock -}+    -> Bool+    {- ^ /@skipValidation@/: If 'True', assume data integrity -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoStaticDeltaExecuteOffline self dirOrFile skipValidation cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    dirOrFile' <- unsafeManagedPtrCastPtr dirOrFile+    let skipValidation' = (fromIntegral . fromEnum) skipValidation+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_static_delta_execute_offline self' dirOrFile' skipValidation' maybeCancellable+        touchManagedPtr self+        touchManagedPtr dirOrFile+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepoStaticDeltaExecuteOfflineMethodInfo+instance (signature ~ (b -> Bool -> Maybe (c) -> m ()), MonadIO m, IsRepo a, Gio.File.IsFile b, Gio.Cancellable.IsCancellable c) => O.MethodInfo RepoStaticDeltaExecuteOfflineMethodInfo a signature where+    overloadedMethod _ = repoStaticDeltaExecuteOffline++#endif++-- method Repo::static_delta_generate+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "opt", argType = TInterface (Name {namespace = "OSTree", name = "StaticDeltaGenerateOpt"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "High level optimization choice", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "from", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ASCII SHA256 checksum of origin, or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "to", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ASCII SHA256 checksum of target", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "metadata", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Optional metadata", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "params", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Parameters, see below", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_static_delta_generate" ostree_repo_static_delta_generate :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CUInt ->                                -- opt : TInterface (Name {namespace = "OSTree", name = "StaticDeltaGenerateOpt"})+    CString ->                              -- from : TBasicType TUTF8+    CString ->                              -- to : TBasicType TUTF8+    Ptr GVariant ->                         -- metadata : TVariant+    Ptr GVariant ->                         -- params : TVariant+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Generate a lookaside \"static delta\" from /@from@/ ('Nothing' means+from-empty) which can generate the objects in /@to@/.  This delta is+an optimization over fetching individual objects, and can be+conveniently stored and applied offline.++The /@params@/ argument should be an a{sv}.  The following attributes+are known:+  - min-fallback-size: u: Minimum uncompressed size in megabytes to use fallback, 0 to disable fallbacks+  - max-chunk-size: u: Maximum size in megabytes of a delta part+  - max-bsdiff-size: u: Maximum size in megabytes to consider bsdiff compression+  for input files+  - compression: y: Compression type: 0=none, x=lzma, g=gzip+  - bsdiff-enabled: b: Enable bsdiff compression.  Default TRUE.+  - inline-parts: b: Put part data in header, to get a single file delta.  Default FALSE.+  - verbose: b: Print diagnostic messages.  Default FALSE.+  - endianness: b: Deltas use host byte order by default; this option allows choosing (G_BIG_ENDIAN or G_LITTLE_ENDIAN)+  - filename: ay: Save delta superblock to this filename, and parts in the same directory.  Default saves to repository.+-}+repoStaticDeltaGenerate ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repo -}+    -> OSTree.Enums.StaticDeltaGenerateOpt+    {- ^ /@opt@/: High level optimization choice -}+    -> T.Text+    {- ^ /@from@/: ASCII SHA256 checksum of origin, or 'Nothing' -}+    -> T.Text+    {- ^ /@to@/: ASCII SHA256 checksum of target -}+    -> Maybe (GVariant)+    {- ^ /@metadata@/: Optional metadata -}+    -> Maybe (GVariant)+    {- ^ /@params@/: Parameters, see below -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoStaticDeltaGenerate self opt from to metadata params cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    let opt' = (fromIntegral . fromEnum) opt+    from' <- textToCString from+    to' <- textToCString to+    maybeMetadata <- case metadata of+        Nothing -> return nullPtr+        Just jMetadata -> do+            jMetadata' <- unsafeManagedPtrGetPtr jMetadata+            return jMetadata'+    maybeParams <- case params of+        Nothing -> return nullPtr+        Just jParams -> do+            jParams' <- unsafeManagedPtrGetPtr jParams+            return jParams'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_static_delta_generate self' opt' from' to' maybeMetadata maybeParams maybeCancellable+        touchManagedPtr self+        whenJust metadata touchManagedPtr+        whenJust params touchManagedPtr+        whenJust cancellable touchManagedPtr+        freeMem from'+        freeMem to'+        return ()+     ) (do+        freeMem from'+        freeMem to'+     )++#if ENABLE_OVERLOADING+data RepoStaticDeltaGenerateMethodInfo+instance (signature ~ (OSTree.Enums.StaticDeltaGenerateOpt -> T.Text -> T.Text -> Maybe (GVariant) -> Maybe (GVariant) -> Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoStaticDeltaGenerateMethodInfo a signature where+    overloadedMethod _ = repoStaticDeltaGenerate++#endif++-- method Repo::transaction_set_collection_ref+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ref", argType = TInterface (Name {namespace = "OSTree", name = "CollectionRef"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The collection\8211ref to write", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The checksum to point it to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_transaction_set_collection_ref" ostree_repo_transaction_set_collection_ref :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr OSTree.CollectionRef.CollectionRef -> -- ref : TInterface (Name {namespace = "OSTree", name = "CollectionRef"})+    CString ->                              -- checksum : TBasicType TUTF8+    IO ()++{- |+If /@checksum@/ is not 'Nothing', then record it as the target of local ref named+/@ref@/.++Otherwise, if /@checksum@/ is 'Nothing', then record that the ref should+be deleted.++The change will not be written out immediately, but when the transaction+is completed with 'GI.OSTree.Objects.Repo.repoCommitTransaction'. If the transaction+is instead aborted with 'GI.OSTree.Objects.Repo.repoAbortTransaction', no changes will+be made to the repository.++Multithreading: Since v2017.15 this function is MT safe.++/Since: 2018.6/+-}+repoTransactionSetCollectionRef ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: An 'GI.OSTree.Objects.Repo.Repo' -}+    -> OSTree.CollectionRef.CollectionRef+    {- ^ /@ref@/: The collection–ref to write -}+    -> Maybe (T.Text)+    {- ^ /@checksum@/: The checksum to point it to -}+    -> m ()+repoTransactionSetCollectionRef self ref checksum = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    ref' <- unsafeManagedPtrGetPtr ref+    maybeChecksum <- case checksum of+        Nothing -> return nullPtr+        Just jChecksum -> do+            jChecksum' <- textToCString jChecksum+            return jChecksum'+    ostree_repo_transaction_set_collection_ref self' ref' maybeChecksum+    touchManagedPtr self+    touchManagedPtr ref+    freeMem maybeChecksum+    return ()++#if ENABLE_OVERLOADING+data RepoTransactionSetCollectionRefMethodInfo+instance (signature ~ (OSTree.CollectionRef.CollectionRef -> Maybe (T.Text) -> m ()), MonadIO m, IsRepo a) => O.MethodInfo RepoTransactionSetCollectionRefMethodInfo a signature where+    overloadedMethod _ = repoTransactionSetCollectionRef++#endif++-- method Repo::transaction_set_ref+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "remote", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A remote for the ref", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ref", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The ref to write", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The checksum to point it to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_transaction_set_ref" ostree_repo_transaction_set_ref :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- remote : TBasicType TUTF8+    CString ->                              -- ref : TBasicType TUTF8+    CString ->                              -- checksum : TBasicType TUTF8+    IO ()++{- |+If /@checksum@/ is not 'Nothing', then record it as the target of ref named+/@ref@/; if /@remote@/ is provided, the ref will appear to originate from that+remote.++Otherwise, if /@checksum@/ is 'Nothing', then record that the ref should+be deleted.++The change will be written when the transaction is completed with+'GI.OSTree.Objects.Repo.repoCommitTransaction'; that function takes care of writing all of+the objects (such as the commit referred to by /@checksum@/) before updating the+refs. If the transaction is instead aborted with+'GI.OSTree.Objects.Repo.repoAbortTransaction', no changes to the ref will be made to the+repository.++Note however that currently writing *multiple* refs is not truly atomic; if+the process or system is terminated during+'GI.OSTree.Objects.Repo.repoCommitTransaction', it is possible that just some of the refs+will have been updated. Your application should take care to handle this+case.++Multithreading: Since v2017.15 this function is MT safe.+-}+repoTransactionSetRef ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: An 'GI.OSTree.Objects.Repo.Repo' -}+    -> Maybe (T.Text)+    {- ^ /@remote@/: A remote for the ref -}+    -> T.Text+    {- ^ /@ref@/: The ref to write -}+    -> Maybe (T.Text)+    {- ^ /@checksum@/: The checksum to point it to -}+    -> m ()+repoTransactionSetRef self remote ref checksum = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeRemote <- case remote of+        Nothing -> return nullPtr+        Just jRemote -> do+            jRemote' <- textToCString jRemote+            return jRemote'+    ref' <- textToCString ref+    maybeChecksum <- case checksum of+        Nothing -> return nullPtr+        Just jChecksum -> do+            jChecksum' <- textToCString jChecksum+            return jChecksum'+    ostree_repo_transaction_set_ref self' maybeRemote ref' maybeChecksum+    touchManagedPtr self+    freeMem maybeRemote+    freeMem ref'+    freeMem maybeChecksum+    return ()++#if ENABLE_OVERLOADING+data RepoTransactionSetRefMethodInfo+instance (signature ~ (Maybe (T.Text) -> T.Text -> Maybe (T.Text) -> m ()), MonadIO m, IsRepo a) => O.MethodInfo RepoTransactionSetRefMethodInfo a signature where+    overloadedMethod _ = repoTransactionSetRef++#endif++-- method Repo::transaction_set_refspec+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "refspec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The refspec to write", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The checksum to point it to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_transaction_set_refspec" ostree_repo_transaction_set_refspec :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- refspec : TBasicType TUTF8+    CString ->                              -- checksum : TBasicType TUTF8+    IO ()++{- |+Like 'GI.OSTree.Objects.Repo.repoTransactionSetRef', but takes concatenated+/@refspec@/ format as input instead of separate remote and name+arguments.++Multithreading: Since v2017.15 this function is MT safe.+-}+repoTransactionSetRefspec ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: An 'GI.OSTree.Objects.Repo.Repo' -}+    -> T.Text+    {- ^ /@refspec@/: The refspec to write -}+    -> Maybe (T.Text)+    {- ^ /@checksum@/: The checksum to point it to -}+    -> m ()+repoTransactionSetRefspec self refspec checksum = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    refspec' <- textToCString refspec+    maybeChecksum <- case checksum of+        Nothing -> return nullPtr+        Just jChecksum -> do+            jChecksum' <- textToCString jChecksum+            return jChecksum'+    ostree_repo_transaction_set_refspec self' refspec' maybeChecksum+    touchManagedPtr self+    freeMem refspec'+    freeMem maybeChecksum+    return ()++#if ENABLE_OVERLOADING+data RepoTransactionSetRefspecMethodInfo+instance (signature ~ (T.Text -> Maybe (T.Text) -> m ()), MonadIO m, IsRepo a) => O.MethodInfo RepoTransactionSetRefspecMethodInfo a signature where+    overloadedMethod _ = repoTransactionSetRefspec++#endif++-- XXX Could not generate method Repo::traverse_commit+-- Error was : Not implemented: "GHashTable element of type TVariant unsupported."+#if ENABLE_OVERLOADING+-- XXX: Dummy instance, since code generation failed.+-- Please file a bug at http://github.com/haskell-gi/haskell-gi.+data RepoTraverseCommitMethodInfo+instance (p ~ (), o ~ O.MethodResolutionFailed "traverseCommit" Repo) => O.MethodInfo RepoTraverseCommitMethodInfo o p where+    overloadedMethod _ = undefined+#endif++-- XXX Could not generate method Repo::traverse_reachable_refs+-- Error was : Not implemented: "GHashTable key of type TVariant unsupported."+#if ENABLE_OVERLOADING+-- XXX: Dummy instance, since code generation failed.+-- Please file a bug at http://github.com/haskell-gi/haskell-gi.+data RepoTraverseReachableRefsMethodInfo+instance (p ~ (), o ~ O.MethodResolutionFailed "traverseReachableRefs" Repo) => O.MethodInfo RepoTraverseReachableRefsMethodInfo o p where+    overloadedMethod _ = undefined+#endif++-- method Repo::verify_commit+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "commit_checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ASCII SHA256 checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keyringdir", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Path to directory GPG keyrings; overrides built-in default if given", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "extra_keyring", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Path to additional keyring file (not a directory)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_verify_commit" ostree_repo_verify_commit :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- commit_checksum : TBasicType TUTF8+    Ptr Gio.File.File ->                    -- keyringdir : TInterface (Name {namespace = "Gio", name = "File"})+    Ptr Gio.File.File ->                    -- extra_keyring : TInterface (Name {namespace = "Gio", name = "File"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Check for a valid GPG signature on commit named by the ASCII+checksum /@commitChecksum@/.+-}+repoVerifyCommit ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.File.IsFile b, Gio.File.IsFile c, Gio.Cancellable.IsCancellable d) =>+    a+    {- ^ /@self@/: Repository -}+    -> T.Text+    {- ^ /@commitChecksum@/: ASCII SHA256 checksum -}+    -> Maybe (b)+    {- ^ /@keyringdir@/: Path to directory GPG keyrings; overrides built-in default if given -}+    -> Maybe (c)+    {- ^ /@extraKeyring@/: Path to additional keyring file (not a directory) -}+    -> Maybe (d)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoVerifyCommit self commitChecksum keyringdir extraKeyring cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    commitChecksum' <- textToCString commitChecksum+    maybeKeyringdir <- case keyringdir of+        Nothing -> return nullPtr+        Just jKeyringdir -> do+            jKeyringdir' <- unsafeManagedPtrCastPtr jKeyringdir+            return jKeyringdir'+    maybeExtraKeyring <- case extraKeyring of+        Nothing -> return nullPtr+        Just jExtraKeyring -> do+            jExtraKeyring' <- unsafeManagedPtrCastPtr jExtraKeyring+            return jExtraKeyring'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_verify_commit self' commitChecksum' maybeKeyringdir maybeExtraKeyring maybeCancellable+        touchManagedPtr self+        whenJust keyringdir touchManagedPtr+        whenJust extraKeyring touchManagedPtr+        whenJust cancellable touchManagedPtr+        freeMem commitChecksum'+        return ()+     ) (do+        freeMem commitChecksum'+     )++#if ENABLE_OVERLOADING+data RepoVerifyCommitMethodInfo+instance (signature ~ (T.Text -> Maybe (b) -> Maybe (c) -> Maybe (d) -> m ()), MonadIO m, IsRepo a, Gio.File.IsFile b, Gio.File.IsFile c, Gio.Cancellable.IsCancellable d) => O.MethodInfo RepoVerifyCommitMethodInfo a signature where+    overloadedMethod _ = repoVerifyCommit++#endif++-- method Repo::verify_commit_ext+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "commit_checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ASCII SHA256 checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "keyringdir", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Path to directory GPG keyrings; overrides built-in default if given", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "extra_keyring", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Path to additional keyring file (not a directory)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "GpgVerifyResult"}))+-- throws : True+-- Skip return : False++foreign import ccall "ostree_repo_verify_commit_ext" ostree_repo_verify_commit_ext :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- commit_checksum : TBasicType TUTF8+    Ptr Gio.File.File ->                    -- keyringdir : TInterface (Name {namespace = "Gio", name = "File"})+    Ptr Gio.File.File ->                    -- extra_keyring : TInterface (Name {namespace = "Gio", name = "File"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr OSTree.GpgVerifyResult.GpgVerifyResult)++{- |+Read GPG signature(s) on the commit named by the ASCII checksum+/@commitChecksum@/ and return detailed results.+-}+repoVerifyCommitExt ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.File.IsFile b, Gio.File.IsFile c, Gio.Cancellable.IsCancellable d) =>+    a+    {- ^ /@self@/: Repository -}+    -> T.Text+    {- ^ /@commitChecksum@/: ASCII SHA256 checksum -}+    -> Maybe (b)+    {- ^ /@keyringdir@/: Path to directory GPG keyrings; overrides built-in default if given -}+    -> Maybe (c)+    {- ^ /@extraKeyring@/: Path to additional keyring file (not a directory) -}+    -> Maybe (d)+    {- ^ /@cancellable@/: Cancellable -}+    -> m OSTree.GpgVerifyResult.GpgVerifyResult+    {- ^ __Returns:__ an 'GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult', or 'Nothing' on error /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoVerifyCommitExt self commitChecksum keyringdir extraKeyring cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    commitChecksum' <- textToCString commitChecksum+    maybeKeyringdir <- case keyringdir of+        Nothing -> return nullPtr+        Just jKeyringdir -> do+            jKeyringdir' <- unsafeManagedPtrCastPtr jKeyringdir+            return jKeyringdir'+    maybeExtraKeyring <- case extraKeyring of+        Nothing -> return nullPtr+        Just jExtraKeyring -> do+            jExtraKeyring' <- unsafeManagedPtrCastPtr jExtraKeyring+            return jExtraKeyring'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        result <- propagateGError $ ostree_repo_verify_commit_ext self' commitChecksum' maybeKeyringdir maybeExtraKeyring maybeCancellable+        checkUnexpectedReturnNULL "repoVerifyCommitExt" result+        result' <- (wrapObject OSTree.GpgVerifyResult.GpgVerifyResult) result+        touchManagedPtr self+        whenJust keyringdir touchManagedPtr+        whenJust extraKeyring touchManagedPtr+        whenJust cancellable touchManagedPtr+        freeMem commitChecksum'+        return result'+     ) (do+        freeMem commitChecksum'+     )++#if ENABLE_OVERLOADING+data RepoVerifyCommitExtMethodInfo+instance (signature ~ (T.Text -> Maybe (b) -> Maybe (c) -> Maybe (d) -> m OSTree.GpgVerifyResult.GpgVerifyResult), MonadIO m, IsRepo a, Gio.File.IsFile b, Gio.File.IsFile c, Gio.Cancellable.IsCancellable d) => O.MethodInfo RepoVerifyCommitExtMethodInfo a signature where+    overloadedMethod _ = repoVerifyCommitExt++#endif++-- method Repo::verify_commit_for_remote+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repository", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "commit_checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ASCII SHA256 checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "remote_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "OSTree remote to use for configuration", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "GpgVerifyResult"}))+-- throws : True+-- Skip return : False++foreign import ccall "ostree_repo_verify_commit_for_remote" ostree_repo_verify_commit_for_remote :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- commit_checksum : TBasicType TUTF8+    CString ->                              -- remote_name : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr OSTree.GpgVerifyResult.GpgVerifyResult)++{- |+Read GPG signature(s) on the commit named by the ASCII checksum+/@commitChecksum@/ and return detailed results, based on the keyring+configured for /@remote@/.+-}+repoVerifyCommitForRemote ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repository -}+    -> T.Text+    {- ^ /@commitChecksum@/: ASCII SHA256 checksum -}+    -> T.Text+    {- ^ /@remoteName@/: OSTree remote to use for configuration -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m OSTree.GpgVerifyResult.GpgVerifyResult+    {- ^ __Returns:__ an 'GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult', or 'Nothing' on error /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoVerifyCommitForRemote self commitChecksum remoteName cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    commitChecksum' <- textToCString commitChecksum+    remoteName' <- textToCString remoteName+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        result <- propagateGError $ ostree_repo_verify_commit_for_remote self' commitChecksum' remoteName' maybeCancellable+        checkUnexpectedReturnNULL "repoVerifyCommitForRemote" result+        result' <- (wrapObject OSTree.GpgVerifyResult.GpgVerifyResult) result+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem commitChecksum'+        freeMem remoteName'+        return result'+     ) (do+        freeMem commitChecksum'+        freeMem remoteName'+     )++#if ENABLE_OVERLOADING+data RepoVerifyCommitForRemoteMethodInfo+instance (signature ~ (T.Text -> T.Text -> Maybe (b) -> m OSTree.GpgVerifyResult.GpgVerifyResult), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoVerifyCommitForRemoteMethodInfo a signature where+    overloadedMethod _ = repoVerifyCommitForRemote++#endif++-- method Repo::verify_summary+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "remote_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Name of remote", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "summary", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Summary data as a #GBytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "signatures", argType = TInterface (Name {namespace = "GLib", name = "Bytes"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Summary signatures as a #GBytes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "GpgVerifyResult"}))+-- throws : True+-- Skip return : False++foreign import ccall "ostree_repo_verify_summary" ostree_repo_verify_summary :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- remote_name : TBasicType TUTF8+    Ptr GLib.Bytes.Bytes ->                 -- summary : TInterface (Name {namespace = "GLib", name = "Bytes"})+    Ptr GLib.Bytes.Bytes ->                 -- signatures : TInterface (Name {namespace = "GLib", name = "Bytes"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr OSTree.GpgVerifyResult.GpgVerifyResult)++{- |+Verify /@signatures@/ for /@summary@/ data using GPG keys in the keyring for+/@remoteName@/, and return an 'GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult'.+-}+repoVerifySummary ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repo -}+    -> T.Text+    {- ^ /@remoteName@/: Name of remote -}+    -> GLib.Bytes.Bytes+    {- ^ /@summary@/: Summary data as a 'GI.GLib.Structs.Bytes.Bytes' -}+    -> GLib.Bytes.Bytes+    {- ^ /@signatures@/: Summary signatures as a 'GI.GLib.Structs.Bytes.Bytes' -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m OSTree.GpgVerifyResult.GpgVerifyResult+    {- ^ __Returns:__ an 'GI.OSTree.Objects.GpgVerifyResult.GpgVerifyResult', or 'Nothing' on error /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoVerifySummary self remoteName summary signatures cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    remoteName' <- textToCString remoteName+    summary' <- unsafeManagedPtrGetPtr summary+    signatures' <- unsafeManagedPtrGetPtr signatures+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        result <- propagateGError $ ostree_repo_verify_summary self' remoteName' summary' signatures' maybeCancellable+        checkUnexpectedReturnNULL "repoVerifySummary" result+        result' <- (wrapObject OSTree.GpgVerifyResult.GpgVerifyResult) result+        touchManagedPtr self+        touchManagedPtr summary+        touchManagedPtr signatures+        whenJust cancellable touchManagedPtr+        freeMem remoteName'+        return result'+     ) (do+        freeMem remoteName'+     )++#if ENABLE_OVERLOADING+data RepoVerifySummaryMethodInfo+instance (signature ~ (T.Text -> GLib.Bytes.Bytes -> GLib.Bytes.Bytes -> Maybe (b) -> m OSTree.GpgVerifyResult.GpgVerifyResult), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoVerifySummaryMethodInfo a signature where+    overloadedMethod _ = repoVerifySummary++#endif++-- method Repo::write_archive_to_mtree+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "archive", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A path to an archive file", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mtree", argType = TInterface (Name {namespace = "OSTree", name = "MutableTree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The #OstreeMutableTree to write to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modifier", argType = TInterface (Name {namespace = "OSTree", name = "RepoCommitModifier"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Optional commit modifier", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "autocreate_parents", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Autocreate parent directories", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_write_archive_to_mtree" ostree_repo_write_archive_to_mtree :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr Gio.File.File ->                    -- archive : TInterface (Name {namespace = "Gio", name = "File"})+    Ptr OSTree.MutableTree.MutableTree ->   -- mtree : TInterface (Name {namespace = "OSTree", name = "MutableTree"})+    Ptr OSTree.RepoCommitModifier.RepoCommitModifier -> -- modifier : TInterface (Name {namespace = "OSTree", name = "RepoCommitModifier"})+    CInt ->                                 -- autocreate_parents : TBasicType TBoolean+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Import an archive file /@archive@/ into the repository, and write its+file structure to /@mtree@/.+-}+repoWriteArchiveToMtree ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.File.IsFile b, OSTree.MutableTree.IsMutableTree c, Gio.Cancellable.IsCancellable d) =>+    a+    {- ^ /@self@/: An 'GI.OSTree.Objects.Repo.Repo' -}+    -> b+    {- ^ /@archive@/: A path to an archive file -}+    -> c+    {- ^ /@mtree@/: The 'GI.OSTree.Objects.MutableTree.MutableTree' to write to -}+    -> Maybe (OSTree.RepoCommitModifier.RepoCommitModifier)+    {- ^ /@modifier@/: Optional commit modifier -}+    -> Bool+    {- ^ /@autocreateParents@/: Autocreate parent directories -}+    -> Maybe (d)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoWriteArchiveToMtree self archive mtree modifier autocreateParents cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    archive' <- unsafeManagedPtrCastPtr archive+    mtree' <- unsafeManagedPtrCastPtr mtree+    maybeModifier <- case modifier of+        Nothing -> return nullPtr+        Just jModifier -> do+            jModifier' <- unsafeManagedPtrGetPtr jModifier+            return jModifier'+    let autocreateParents' = (fromIntegral . fromEnum) autocreateParents+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_write_archive_to_mtree self' archive' mtree' maybeModifier autocreateParents' maybeCancellable+        touchManagedPtr self+        touchManagedPtr archive+        touchManagedPtr mtree+        whenJust modifier touchManagedPtr+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepoWriteArchiveToMtreeMethodInfo+instance (signature ~ (b -> c -> Maybe (OSTree.RepoCommitModifier.RepoCommitModifier) -> Bool -> Maybe (d) -> m ()), MonadIO m, IsRepo a, Gio.File.IsFile b, OSTree.MutableTree.IsMutableTree c, Gio.Cancellable.IsCancellable d) => O.MethodInfo RepoWriteArchiveToMtreeMethodInfo a signature where+    overloadedMethod _ = repoWriteArchiveToMtree++#endif++-- method Repo::write_commit+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "ASCII SHA256 checksum for parent, or %NULL for none", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "subject", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Subject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "body", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Body", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "metadata", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "GVariant of type a{sv}, or %NULL for none", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "root", argType = TInterface (Name {namespace = "OSTree", name = "RepoFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The tree to point the commit to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_commit", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Resulting ASCII SHA256 checksum for commit", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_write_commit" ostree_repo_write_commit :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- parent : TBasicType TUTF8+    CString ->                              -- subject : TBasicType TUTF8+    CString ->                              -- body : TBasicType TUTF8+    Ptr GVariant ->                         -- metadata : TVariant+    Ptr OSTree.RepoFile.RepoFile ->         -- root : TInterface (Name {namespace = "OSTree", name = "RepoFile"})+    Ptr CString ->                          -- out_commit : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Write a commit metadata object, referencing /@rootContentsChecksum@/+and /@rootMetadataChecksum@/.+-}+repoWriteCommit ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, OSTree.RepoFile.IsRepoFile b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: Repo -}+    -> Maybe (T.Text)+    {- ^ /@parent@/: ASCII SHA256 checksum for parent, or 'Nothing' for none -}+    -> Maybe (T.Text)+    {- ^ /@subject@/: Subject -}+    -> Maybe (T.Text)+    {- ^ /@body@/: Body -}+    -> Maybe (GVariant)+    {- ^ /@metadata@/: GVariant of type a{sv}, or 'Nothing' for none -}+    -> b+    {- ^ /@root@/: The tree to point the commit to -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m (T.Text)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoWriteCommit self parent subject body metadata root cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeParent <- case parent of+        Nothing -> return nullPtr+        Just jParent -> do+            jParent' <- textToCString jParent+            return jParent'+    maybeSubject <- case subject of+        Nothing -> return nullPtr+        Just jSubject -> do+            jSubject' <- textToCString jSubject+            return jSubject'+    maybeBody <- case body of+        Nothing -> return nullPtr+        Just jBody -> do+            jBody' <- textToCString jBody+            return jBody'+    maybeMetadata <- case metadata of+        Nothing -> return nullPtr+        Just jMetadata -> do+            jMetadata' <- unsafeManagedPtrGetPtr jMetadata+            return jMetadata'+    root' <- unsafeManagedPtrCastPtr root+    outCommit <- allocMem :: IO (Ptr CString)+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_write_commit self' maybeParent maybeSubject maybeBody maybeMetadata root' outCommit maybeCancellable+        outCommit' <- peek outCommit+        outCommit'' <- cstringToText outCommit'+        freeMem outCommit'+        touchManagedPtr self+        whenJust metadata touchManagedPtr+        touchManagedPtr root+        whenJust cancellable touchManagedPtr+        freeMem maybeParent+        freeMem maybeSubject+        freeMem maybeBody+        freeMem outCommit+        return outCommit''+     ) (do+        freeMem maybeParent+        freeMem maybeSubject+        freeMem maybeBody+        freeMem outCommit+     )++#if ENABLE_OVERLOADING+data RepoWriteCommitMethodInfo+instance (signature ~ (Maybe (T.Text) -> Maybe (T.Text) -> Maybe (T.Text) -> Maybe (GVariant) -> b -> Maybe (c) -> m (T.Text)), MonadIO m, IsRepo a, OSTree.RepoFile.IsRepoFile b, Gio.Cancellable.IsCancellable c) => O.MethodInfo RepoWriteCommitMethodInfo a signature where+    overloadedMethod _ = repoWriteCommit++#endif++-- method Repo::write_commit_detached_metadata+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "ASCII SHA256 commit checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "metadata", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Metadata to associate with commit in with format \"a{sv}\", or %NULL to delete", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_write_commit_detached_metadata" ostree_repo_write_commit_detached_metadata :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- checksum : TBasicType TUTF8+    Ptr GVariant ->                         -- metadata : TVariant+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Replace any existing metadata associated with commit referred to by+/@checksum@/ with /@metadata@/.  If /@metadata@/ is 'Nothing', then existing+data will be deleted.+-}+repoWriteCommitDetachedMetadata ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repo -}+    -> T.Text+    {- ^ /@checksum@/: ASCII SHA256 commit checksum -}+    -> Maybe (GVariant)+    {- ^ /@metadata@/: Metadata to associate with commit in with format \"a{sv}\", or 'Nothing' to delete -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoWriteCommitDetachedMetadata self checksum metadata cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    checksum' <- textToCString checksum+    maybeMetadata <- case metadata of+        Nothing -> return nullPtr+        Just jMetadata -> do+            jMetadata' <- unsafeManagedPtrGetPtr jMetadata+            return jMetadata'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_write_commit_detached_metadata self' checksum' maybeMetadata maybeCancellable+        touchManagedPtr self+        whenJust metadata touchManagedPtr+        whenJust cancellable touchManagedPtr+        freeMem checksum'+        return ()+     ) (do+        freeMem checksum'+     )++#if ENABLE_OVERLOADING+data RepoWriteCommitDetachedMetadataMethodInfo+instance (signature ~ (T.Text -> Maybe (GVariant) -> Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoWriteCommitDetachedMetadataMethodInfo a signature where+    overloadedMethod _ = repoWriteCommitDetachedMetadata++#endif++-- method Repo::write_commit_with_time+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "parent", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "ASCII SHA256 checksum for parent, or %NULL for none", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "subject", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Subject", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "body", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Body", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "metadata", argType = TVariant, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "GVariant of type a{sv}, or %NULL for none", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "root", argType = TInterface (Name {namespace = "OSTree", name = "RepoFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The tree to point the commit to", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "time", argType = TBasicType TUInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The time to use to stamp the commit", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_commit", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Resulting ASCII SHA256 checksum for commit", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_write_commit_with_time" ostree_repo_write_commit_with_time :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- parent : TBasicType TUTF8+    CString ->                              -- subject : TBasicType TUTF8+    CString ->                              -- body : TBasicType TUTF8+    Ptr GVariant ->                         -- metadata : TVariant+    Ptr OSTree.RepoFile.RepoFile ->         -- root : TInterface (Name {namespace = "OSTree", name = "RepoFile"})+    Word64 ->                               -- time : TBasicType TUInt64+    Ptr CString ->                          -- out_commit : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Write a commit metadata object, referencing /@rootContentsChecksum@/+and /@rootMetadataChecksum@/.+-}+repoWriteCommitWithTime ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, OSTree.RepoFile.IsRepoFile b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: Repo -}+    -> Maybe (T.Text)+    {- ^ /@parent@/: ASCII SHA256 checksum for parent, or 'Nothing' for none -}+    -> Maybe (T.Text)+    {- ^ /@subject@/: Subject -}+    -> Maybe (T.Text)+    {- ^ /@body@/: Body -}+    -> Maybe (GVariant)+    {- ^ /@metadata@/: GVariant of type a{sv}, or 'Nothing' for none -}+    -> b+    {- ^ /@root@/: The tree to point the commit to -}+    -> Word64+    {- ^ /@time@/: The time to use to stamp the commit -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m (T.Text)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoWriteCommitWithTime self parent subject body metadata root time cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeParent <- case parent of+        Nothing -> return nullPtr+        Just jParent -> do+            jParent' <- textToCString jParent+            return jParent'+    maybeSubject <- case subject of+        Nothing -> return nullPtr+        Just jSubject -> do+            jSubject' <- textToCString jSubject+            return jSubject'+    maybeBody <- case body of+        Nothing -> return nullPtr+        Just jBody -> do+            jBody' <- textToCString jBody+            return jBody'+    maybeMetadata <- case metadata of+        Nothing -> return nullPtr+        Just jMetadata -> do+            jMetadata' <- unsafeManagedPtrGetPtr jMetadata+            return jMetadata'+    root' <- unsafeManagedPtrCastPtr root+    outCommit <- allocMem :: IO (Ptr CString)+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_write_commit_with_time self' maybeParent maybeSubject maybeBody maybeMetadata root' time outCommit maybeCancellable+        outCommit' <- peek outCommit+        outCommit'' <- cstringToText outCommit'+        freeMem outCommit'+        touchManagedPtr self+        whenJust metadata touchManagedPtr+        touchManagedPtr root+        whenJust cancellable touchManagedPtr+        freeMem maybeParent+        freeMem maybeSubject+        freeMem maybeBody+        freeMem outCommit+        return outCommit''+     ) (do+        freeMem maybeParent+        freeMem maybeSubject+        freeMem maybeBody+        freeMem outCommit+     )++#if ENABLE_OVERLOADING+data RepoWriteCommitWithTimeMethodInfo+instance (signature ~ (Maybe (T.Text) -> Maybe (T.Text) -> Maybe (T.Text) -> Maybe (GVariant) -> b -> Word64 -> Maybe (c) -> m (T.Text)), MonadIO m, IsRepo a, OSTree.RepoFile.IsRepoFile b, Gio.Cancellable.IsCancellable c) => O.MethodInfo RepoWriteCommitWithTimeMethodInfo a signature where+    overloadedMethod _ = repoWriteCommitWithTime++#endif++-- method Repo::write_config+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_config", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Overwrite the config file with this data", 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 "ostree_repo_write_config" ostree_repo_write_config :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr GLib.KeyFile.KeyFile ->             -- new_config : TInterface (Name {namespace = "GLib", name = "KeyFile"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Save /@newConfig@/ in place of this repository\'s config file.+-}+repoWriteConfig ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a) =>+    a+    {- ^ /@self@/: Repo -}+    -> GLib.KeyFile.KeyFile+    {- ^ /@newConfig@/: Overwrite the config file with this data -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoWriteConfig self newConfig = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    newConfig' <- unsafeManagedPtrGetPtr newConfig+    onException (do+        _ <- propagateGError $ ostree_repo_write_config self' newConfig'+        touchManagedPtr self+        touchManagedPtr newConfig+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepoWriteConfigMethodInfo+instance (signature ~ (GLib.KeyFile.KeyFile -> m ()), MonadIO m, IsRepo a) => O.MethodInfo RepoWriteConfigMethodInfo a signature where+    overloadedMethod _ = repoWriteConfig++#endif++-- method Repo::write_content+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expected_checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "If provided, validate content against this checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object_input", argType = TInterface (Name {namespace = "Gio", name = "InputStream"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Content object stream", 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 @object_input", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_csum", argType = TCArray False 32 (-1) (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Binary checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_write_content" ostree_repo_write_content :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- expected_checksum : TBasicType TUTF8+    Ptr Gio.InputStream.InputStream ->      -- object_input : TInterface (Name {namespace = "Gio", name = "InputStream"})+    Word64 ->                               -- length : TBasicType TUInt64+    Ptr (Ptr Word8) ->                      -- out_csum : TCArray False 32 (-1) (TBasicType TUInt8)+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Store the content object streamed as /@objectInput@/,+with total length /@length@/.  The actual checksum will+be returned as /@outCsum@/.+-}+repoWriteContent ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.InputStream.IsInputStream b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: Repo -}+    -> Maybe (T.Text)+    {- ^ /@expectedChecksum@/: If provided, validate content against this checksum -}+    -> b+    {- ^ /@objectInput@/: Content object stream -}+    -> Word64+    {- ^ /@length@/: Length of /@objectInput@/ -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m (ByteString)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoWriteContent self expectedChecksum objectInput length_ cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeExpectedChecksum <- case expectedChecksum of+        Nothing -> return nullPtr+        Just jExpectedChecksum -> do+            jExpectedChecksum' <- textToCString jExpectedChecksum+            return jExpectedChecksum'+    objectInput' <- unsafeManagedPtrCastPtr objectInput+    outCsum <- allocMem :: IO (Ptr (Ptr Word8))+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_write_content self' maybeExpectedChecksum objectInput' length_ outCsum maybeCancellable+        outCsum' <- peek outCsum+        outCsum'' <- (unpackByteStringWithLength 32) outCsum'+        freeMem outCsum'+        touchManagedPtr self+        touchManagedPtr objectInput+        whenJust cancellable touchManagedPtr+        freeMem maybeExpectedChecksum+        freeMem outCsum+        return outCsum''+     ) (do+        freeMem maybeExpectedChecksum+        freeMem outCsum+     )++#if ENABLE_OVERLOADING+data RepoWriteContentMethodInfo+instance (signature ~ (Maybe (T.Text) -> b -> Word64 -> Maybe (c) -> m (ByteString)), MonadIO m, IsRepo a, Gio.InputStream.IsInputStream b, Gio.Cancellable.IsCancellable c) => O.MethodInfo RepoWriteContentMethodInfo a signature where+    overloadedMethod _ = repoWriteContent++#endif++-- method Repo::write_content_async+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expected_checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "If provided, validate content against this checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object", argType = TInterface (Name {namespace = "Gio", name = "InputStream"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Input", 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 @object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Invoked when content is writed", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 6, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "User data for @callback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_write_content_async" ostree_repo_write_content_async :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- expected_checksum : TBasicType TUTF8+    Ptr Gio.InputStream.InputStream ->      -- object : TInterface (Name {namespace = "Gio", name = "InputStream"})+    Word64 ->                               -- length : TBasicType TUInt64+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    FunPtr Gio.Callbacks.C_AsyncReadyCallback -> -- callback : TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"})+    Ptr () ->                               -- user_data : TBasicType TPtr+    IO ()++{- |+Asynchronously store the content object /@object@/.  If provided, the+checksum /@expectedChecksum@/ will be verified.+-}+repoWriteContentAsync ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.InputStream.IsInputStream b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: Repo -}+    -> Maybe (T.Text)+    {- ^ /@expectedChecksum@/: If provided, validate content against this checksum -}+    -> b+    {- ^ /@object@/: Input -}+    -> Word64+    {- ^ /@length@/: Length of /@object@/ -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> Maybe (Gio.Callbacks.AsyncReadyCallback)+    {- ^ /@callback@/: Invoked when content is writed -}+    -> m ()+repoWriteContentAsync self expectedChecksum object length_ cancellable callback = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeExpectedChecksum <- case expectedChecksum of+        Nothing -> return nullPtr+        Just jExpectedChecksum -> do+            jExpectedChecksum' <- textToCString jExpectedChecksum+            return jExpectedChecksum'+    object' <- unsafeManagedPtrCastPtr object+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    maybeCallback <- case callback of+        Nothing -> return (castPtrToFunPtr nullPtr)+        Just jCallback -> do+            ptrcallback <- callocMem :: IO (Ptr (FunPtr Gio.Callbacks.C_AsyncReadyCallback))+            jCallback' <- Gio.Callbacks.mk_AsyncReadyCallback (Gio.Callbacks.wrap_AsyncReadyCallback (Just ptrcallback) (Gio.Callbacks.drop_closures_AsyncReadyCallback jCallback))+            poke ptrcallback jCallback'+            return jCallback'+    let userData = nullPtr+    ostree_repo_write_content_async self' maybeExpectedChecksum object' length_ maybeCancellable maybeCallback userData+    touchManagedPtr self+    touchManagedPtr object+    whenJust cancellable touchManagedPtr+    freeMem maybeExpectedChecksum+    return ()++#if ENABLE_OVERLOADING+data RepoWriteContentAsyncMethodInfo+instance (signature ~ (Maybe (T.Text) -> b -> Word64 -> Maybe (c) -> Maybe (Gio.Callbacks.AsyncReadyCallback) -> m ()), MonadIO m, IsRepo a, Gio.InputStream.IsInputStream b, Gio.Cancellable.IsCancellable c) => O.MethodInfo RepoWriteContentAsyncMethodInfo a signature where+    overloadedMethod _ = repoWriteContentAsync++#endif++-- method Repo::write_content_finish+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #OstreeRepo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface (Name {namespace = "Gio", name = "AsyncResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GAsyncResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_csum", argType = TBasicType TUInt8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A binary SHA256 checksum of the content object", 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 "ostree_repo_write_content_finish" ostree_repo_write_content_finish :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr Gio.AsyncResult.AsyncResult ->      -- result : TInterface (Name {namespace = "Gio", name = "AsyncResult"})+    Ptr Word8 ->                            -- out_csum : TBasicType TUInt8+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Completes an invocation of 'GI.OSTree.Objects.Repo.repoWriteContentAsync'.+-}+repoWriteContentFinish ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.AsyncResult.IsAsyncResult b) =>+    a+    {- ^ /@self@/: a 'GI.OSTree.Objects.Repo.Repo' -}+    -> b+    {- ^ /@result@/: a 'GI.Gio.Interfaces.AsyncResult.AsyncResult' -}+    -> m (Word8)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoWriteContentFinish self result_ = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result_' <- unsafeManagedPtrCastPtr result_+    outCsum <- allocMem :: IO (Ptr Word8)+    onException (do+        _ <- propagateGError $ ostree_repo_write_content_finish self' result_' outCsum+        outCsum' <- peek outCsum+        touchManagedPtr self+        touchManagedPtr result_+        freeMem outCsum+        return outCsum'+     ) (do+        freeMem outCsum+     )++#if ENABLE_OVERLOADING+data RepoWriteContentFinishMethodInfo+instance (signature ~ (b -> m (Word8)), MonadIO m, IsRepo a, Gio.AsyncResult.IsAsyncResult b) => O.MethodInfo RepoWriteContentFinishMethodInfo a signature where+    overloadedMethod _ = repoWriteContentFinish++#endif++-- method Repo::write_content_trusted+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Store content using this ASCII SHA256 checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object_input", argType = TInterface (Name {namespace = "Gio", name = "InputStream"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Content stream", 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 @object_input", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_write_content_trusted" ostree_repo_write_content_trusted :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- checksum : TBasicType TUTF8+    Ptr Gio.InputStream.InputStream ->      -- object_input : TInterface (Name {namespace = "Gio", name = "InputStream"})+    Word64 ->                               -- length : TBasicType TUInt64+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Store the content object streamed as /@objectInput@/, with total+length /@length@/.  The given /@checksum@/ will be treated as trusted.++This function should be used when importing file objects from local+disk, for example.+-}+repoWriteContentTrusted ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.InputStream.IsInputStream b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: Repo -}+    -> T.Text+    {- ^ /@checksum@/: Store content using this ASCII SHA256 checksum -}+    -> b+    {- ^ /@objectInput@/: Content stream -}+    -> Word64+    {- ^ /@length@/: Length of /@objectInput@/ -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoWriteContentTrusted self checksum objectInput length_ cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    checksum' <- textToCString checksum+    objectInput' <- unsafeManagedPtrCastPtr objectInput+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_write_content_trusted self' checksum' objectInput' length_ maybeCancellable+        touchManagedPtr self+        touchManagedPtr objectInput+        whenJust cancellable touchManagedPtr+        freeMem checksum'+        return ()+     ) (do+        freeMem checksum'+     )++#if ENABLE_OVERLOADING+data RepoWriteContentTrustedMethodInfo+instance (signature ~ (T.Text -> b -> Word64 -> Maybe (c) -> m ()), MonadIO m, IsRepo a, Gio.InputStream.IsInputStream b, Gio.Cancellable.IsCancellable c) => O.MethodInfo RepoWriteContentTrustedMethodInfo a signature where+    overloadedMethod _ = repoWriteContentTrusted++#endif++-- method Repo::write_dfd_to_mtree+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dfd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Directory file descriptor", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mtree", argType = TInterface (Name {namespace = "OSTree", name = "MutableTree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Overlay directory contents into this tree", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modifier", argType = TInterface (Name {namespace = "OSTree", name = "RepoCommitModifier"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Optional modifier", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_write_dfd_to_mtree" ostree_repo_write_dfd_to_mtree :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Int32 ->                                -- dfd : TBasicType TInt+    CString ->                              -- path : TBasicType TUTF8+    Ptr OSTree.MutableTree.MutableTree ->   -- mtree : TInterface (Name {namespace = "OSTree", name = "MutableTree"})+    Ptr OSTree.RepoCommitModifier.RepoCommitModifier -> -- modifier : TInterface (Name {namespace = "OSTree", name = "RepoCommitModifier"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Store as objects all contents of the directory referred to by /@dfd@/+and /@path@/ all children into the repository /@self@/, overlaying the+resulting filesystem hierarchy into /@mtree@/.+-}+repoWriteDfdToMtree ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, OSTree.MutableTree.IsMutableTree b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: Repo -}+    -> Int32+    {- ^ /@dfd@/: Directory file descriptor -}+    -> T.Text+    {- ^ /@path@/: Path -}+    -> b+    {- ^ /@mtree@/: Overlay directory contents into this tree -}+    -> Maybe (OSTree.RepoCommitModifier.RepoCommitModifier)+    {- ^ /@modifier@/: Optional modifier -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoWriteDfdToMtree self dfd path mtree modifier cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    path' <- textToCString path+    mtree' <- unsafeManagedPtrCastPtr mtree+    maybeModifier <- case modifier of+        Nothing -> return nullPtr+        Just jModifier -> do+            jModifier' <- unsafeManagedPtrGetPtr jModifier+            return jModifier'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_write_dfd_to_mtree self' dfd path' mtree' maybeModifier maybeCancellable+        touchManagedPtr self+        touchManagedPtr mtree+        whenJust modifier touchManagedPtr+        whenJust cancellable touchManagedPtr+        freeMem path'+        return ()+     ) (do+        freeMem path'+     )++#if ENABLE_OVERLOADING+data RepoWriteDfdToMtreeMethodInfo+instance (signature ~ (Int32 -> T.Text -> b -> Maybe (OSTree.RepoCommitModifier.RepoCommitModifier) -> Maybe (c) -> m ()), MonadIO m, IsRepo a, OSTree.MutableTree.IsMutableTree b, Gio.Cancellable.IsCancellable c) => O.MethodInfo RepoWriteDfdToMtreeMethodInfo a signature where+    overloadedMethod _ = repoWriteDfdToMtree++#endif++-- method Repo::write_directory_to_mtree+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dir", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Path to a directory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mtree", argType = TInterface (Name {namespace = "OSTree", name = "MutableTree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Overlay directory contents into this tree", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "modifier", argType = TInterface (Name {namespace = "OSTree", name = "RepoCommitModifier"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Optional modifier", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_write_directory_to_mtree" ostree_repo_write_directory_to_mtree :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr Gio.File.File ->                    -- dir : TInterface (Name {namespace = "Gio", name = "File"})+    Ptr OSTree.MutableTree.MutableTree ->   -- mtree : TInterface (Name {namespace = "OSTree", name = "MutableTree"})+    Ptr OSTree.RepoCommitModifier.RepoCommitModifier -> -- modifier : TInterface (Name {namespace = "OSTree", name = "RepoCommitModifier"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Store objects for /@dir@/ and all children into the repository /@self@/,+overlaying the resulting filesystem hierarchy into /@mtree@/.+-}+repoWriteDirectoryToMtree ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.File.IsFile b, OSTree.MutableTree.IsMutableTree c, Gio.Cancellable.IsCancellable d) =>+    a+    {- ^ /@self@/: Repo -}+    -> b+    {- ^ /@dir@/: Path to a directory -}+    -> c+    {- ^ /@mtree@/: Overlay directory contents into this tree -}+    -> Maybe (OSTree.RepoCommitModifier.RepoCommitModifier)+    {- ^ /@modifier@/: Optional modifier -}+    -> Maybe (d)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoWriteDirectoryToMtree self dir mtree modifier cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    dir' <- unsafeManagedPtrCastPtr dir+    mtree' <- unsafeManagedPtrCastPtr mtree+    maybeModifier <- case modifier of+        Nothing -> return nullPtr+        Just jModifier -> do+            jModifier' <- unsafeManagedPtrGetPtr jModifier+            return jModifier'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_write_directory_to_mtree self' dir' mtree' maybeModifier maybeCancellable+        touchManagedPtr self+        touchManagedPtr dir+        touchManagedPtr mtree+        whenJust modifier touchManagedPtr+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepoWriteDirectoryToMtreeMethodInfo+instance (signature ~ (b -> c -> Maybe (OSTree.RepoCommitModifier.RepoCommitModifier) -> Maybe (d) -> m ()), MonadIO m, IsRepo a, Gio.File.IsFile b, OSTree.MutableTree.IsMutableTree c, Gio.Cancellable.IsCancellable d) => O.MethodInfo RepoWriteDirectoryToMtreeMethodInfo a signature where+    overloadedMethod _ = repoWriteDirectoryToMtree++#endif++-- method Repo::write_metadata+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "objtype", argType = TInterface (Name {namespace = "OSTree", name = "ObjectType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Object type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expected_checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "If provided, validate content against this checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Metadata", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_csum", argType = TCArray False 32 (-1) (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Binary checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_write_metadata" ostree_repo_write_metadata :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CUInt ->                                -- objtype : TInterface (Name {namespace = "OSTree", name = "ObjectType"})+    CString ->                              -- expected_checksum : TBasicType TUTF8+    Ptr GVariant ->                         -- object : TVariant+    Ptr (Ptr Word8) ->                      -- out_csum : TCArray False 32 (-1) (TBasicType TUInt8)+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Store the metadata object /@object@/.  Return the checksum+as /@outCsum@/.++If /@expectedChecksum@/ is not 'Nothing', verify it against the+computed checksum.+-}+repoWriteMetadata ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repo -}+    -> OSTree.Enums.ObjectType+    {- ^ /@objtype@/: Object type -}+    -> Maybe (T.Text)+    {- ^ /@expectedChecksum@/: If provided, validate content against this checksum -}+    -> GVariant+    {- ^ /@object@/: Metadata -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m (ByteString)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoWriteMetadata self objtype expectedChecksum object cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    let objtype' = (fromIntegral . fromEnum) objtype+    maybeExpectedChecksum <- case expectedChecksum of+        Nothing -> return nullPtr+        Just jExpectedChecksum -> do+            jExpectedChecksum' <- textToCString jExpectedChecksum+            return jExpectedChecksum'+    object' <- unsafeManagedPtrGetPtr object+    outCsum <- allocMem :: IO (Ptr (Ptr Word8))+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_write_metadata self' objtype' maybeExpectedChecksum object' outCsum maybeCancellable+        outCsum' <- peek outCsum+        outCsum'' <- (unpackByteStringWithLength 32) outCsum'+        freeMem outCsum'+        touchManagedPtr self+        touchManagedPtr object+        whenJust cancellable touchManagedPtr+        freeMem maybeExpectedChecksum+        freeMem outCsum+        return outCsum''+     ) (do+        freeMem maybeExpectedChecksum+        freeMem outCsum+     )++#if ENABLE_OVERLOADING+data RepoWriteMetadataMethodInfo+instance (signature ~ (OSTree.Enums.ObjectType -> Maybe (T.Text) -> GVariant -> Maybe (b) -> m (ByteString)), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoWriteMetadataMethodInfo a signature where+    overloadedMethod _ = repoWriteMetadata++#endif++-- method Repo::write_metadata_async+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "objtype", argType = TInterface (Name {namespace = "OSTree", name = "ObjectType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Object type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "expected_checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "If provided, validate content against this checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Metadata", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Invoked when metadata is writed", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 6, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Data for @callback", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_write_metadata_async" ostree_repo_write_metadata_async :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CUInt ->                                -- objtype : TInterface (Name {namespace = "OSTree", name = "ObjectType"})+    CString ->                              -- expected_checksum : TBasicType TUTF8+    Ptr GVariant ->                         -- object : TVariant+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    FunPtr Gio.Callbacks.C_AsyncReadyCallback -> -- callback : TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"})+    Ptr () ->                               -- user_data : TBasicType TPtr+    IO ()++{- |+Asynchronously store the metadata object /@variant@/.  If provided,+the checksum /@expectedChecksum@/ will be verified.+-}+repoWriteMetadataAsync ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repo -}+    -> OSTree.Enums.ObjectType+    {- ^ /@objtype@/: Object type -}+    -> Maybe (T.Text)+    {- ^ /@expectedChecksum@/: If provided, validate content against this checksum -}+    -> GVariant+    {- ^ /@object@/: Metadata -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> Maybe (Gio.Callbacks.AsyncReadyCallback)+    {- ^ /@callback@/: Invoked when metadata is writed -}+    -> m ()+repoWriteMetadataAsync self objtype expectedChecksum object cancellable callback = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    let objtype' = (fromIntegral . fromEnum) objtype+    maybeExpectedChecksum <- case expectedChecksum of+        Nothing -> return nullPtr+        Just jExpectedChecksum -> do+            jExpectedChecksum' <- textToCString jExpectedChecksum+            return jExpectedChecksum'+    object' <- unsafeManagedPtrGetPtr object+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    maybeCallback <- case callback of+        Nothing -> return (castPtrToFunPtr nullPtr)+        Just jCallback -> do+            ptrcallback <- callocMem :: IO (Ptr (FunPtr Gio.Callbacks.C_AsyncReadyCallback))+            jCallback' <- Gio.Callbacks.mk_AsyncReadyCallback (Gio.Callbacks.wrap_AsyncReadyCallback (Just ptrcallback) (Gio.Callbacks.drop_closures_AsyncReadyCallback jCallback))+            poke ptrcallback jCallback'+            return jCallback'+    let userData = nullPtr+    ostree_repo_write_metadata_async self' objtype' maybeExpectedChecksum object' maybeCancellable maybeCallback userData+    touchManagedPtr self+    touchManagedPtr object+    whenJust cancellable touchManagedPtr+    freeMem maybeExpectedChecksum+    return ()++#if ENABLE_OVERLOADING+data RepoWriteMetadataAsyncMethodInfo+instance (signature ~ (OSTree.Enums.ObjectType -> Maybe (T.Text) -> GVariant -> Maybe (b) -> Maybe (Gio.Callbacks.AsyncReadyCallback) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoWriteMetadataAsyncMethodInfo a signature where+    overloadedMethod _ = repoWriteMetadataAsync++#endif++-- method Repo::write_metadata_finish+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface (Name {namespace = "Gio", name = "AsyncResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Result", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_csum", argType = TCArray False 32 (-1) (TBasicType TUInt8), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Binary checksum value", 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 "ostree_repo_write_metadata_finish" ostree_repo_write_metadata_finish :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr Gio.AsyncResult.AsyncResult ->      -- result : TInterface (Name {namespace = "Gio", name = "AsyncResult"})+    Ptr (Ptr Word8) ->                      -- out_csum : TCArray False 32 (-1) (TBasicType TUInt8)+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Complete a call to 'GI.OSTree.Objects.Repo.repoWriteMetadataAsync'.+-}+repoWriteMetadataFinish ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.AsyncResult.IsAsyncResult b) =>+    a+    {- ^ /@self@/: Repo -}+    -> b+    {- ^ /@result@/: Result -}+    -> m (ByteString)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoWriteMetadataFinish self result_ = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result_' <- unsafeManagedPtrCastPtr result_+    outCsum <- allocMem :: IO (Ptr (Ptr Word8))+    onException (do+        _ <- propagateGError $ ostree_repo_write_metadata_finish self' result_' outCsum+        outCsum' <- peek outCsum+        outCsum'' <- (unpackByteStringWithLength 32) outCsum'+        freeMem outCsum'+        touchManagedPtr self+        touchManagedPtr result_+        freeMem outCsum+        return outCsum''+     ) (do+        freeMem outCsum+     )++#if ENABLE_OVERLOADING+data RepoWriteMetadataFinishMethodInfo+instance (signature ~ (b -> m (ByteString)), MonadIO m, IsRepo a, Gio.AsyncResult.IsAsyncResult b) => O.MethodInfo RepoWriteMetadataFinishMethodInfo a signature where+    overloadedMethod _ = repoWriteMetadataFinish++#endif++-- method Repo::write_metadata_stream_trusted+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "objtype", argType = TInterface (Name {namespace = "OSTree", name = "ObjectType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Object type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Store object with this ASCII SHA256 checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object_input", argType = TInterface (Name {namespace = "Gio", name = "InputStream"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Metadata object stream", 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, may be 0 for unknown", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_write_metadata_stream_trusted" ostree_repo_write_metadata_stream_trusted :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CUInt ->                                -- objtype : TInterface (Name {namespace = "OSTree", name = "ObjectType"})+    CString ->                              -- checksum : TBasicType TUTF8+    Ptr Gio.InputStream.InputStream ->      -- object_input : TInterface (Name {namespace = "Gio", name = "InputStream"})+    Word64 ->                               -- length : TBasicType TUInt64+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Store the metadata object /@variant@/; the provided /@checksum@/ is+trusted.+-}+repoWriteMetadataStreamTrusted ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.InputStream.IsInputStream b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: Repo -}+    -> OSTree.Enums.ObjectType+    {- ^ /@objtype@/: Object type -}+    -> T.Text+    {- ^ /@checksum@/: Store object with this ASCII SHA256 checksum -}+    -> b+    {- ^ /@objectInput@/: Metadata object stream -}+    -> Word64+    {- ^ /@length@/: Length, may be 0 for unknown -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoWriteMetadataStreamTrusted self objtype checksum objectInput length_ cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    let objtype' = (fromIntegral . fromEnum) objtype+    checksum' <- textToCString checksum+    objectInput' <- unsafeManagedPtrCastPtr objectInput+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_write_metadata_stream_trusted self' objtype' checksum' objectInput' length_ maybeCancellable+        touchManagedPtr self+        touchManagedPtr objectInput+        whenJust cancellable touchManagedPtr+        freeMem checksum'+        return ()+     ) (do+        freeMem checksum'+     )++#if ENABLE_OVERLOADING+data RepoWriteMetadataStreamTrustedMethodInfo+instance (signature ~ (OSTree.Enums.ObjectType -> T.Text -> b -> Word64 -> Maybe (c) -> m ()), MonadIO m, IsRepo a, Gio.InputStream.IsInputStream b, Gio.Cancellable.IsCancellable c) => O.MethodInfo RepoWriteMetadataStreamTrustedMethodInfo a signature where+    overloadedMethod _ = repoWriteMetadataStreamTrusted++#endif++-- method Repo::write_metadata_trusted+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "objtype", argType = TInterface (Name {namespace = "OSTree", name = "ObjectType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Object type", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checksum", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Store object with this ASCII SHA256 checksum", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "variant", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Metadata object", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_write_metadata_trusted" ostree_repo_write_metadata_trusted :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CUInt ->                                -- objtype : TInterface (Name {namespace = "OSTree", name = "ObjectType"})+    CString ->                              -- checksum : TBasicType TUTF8+    Ptr GVariant ->                         -- variant : TVariant+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Store the metadata object /@variant@/; the provided /@checksum@/ is+trusted.+-}+repoWriteMetadataTrusted ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Repo -}+    -> OSTree.Enums.ObjectType+    {- ^ /@objtype@/: Object type -}+    -> T.Text+    {- ^ /@checksum@/: Store object with this ASCII SHA256 checksum -}+    -> GVariant+    {- ^ /@variant@/: Metadata object -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoWriteMetadataTrusted self objtype checksum variant cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    let objtype' = (fromIntegral . fromEnum) objtype+    checksum' <- textToCString checksum+    variant' <- unsafeManagedPtrGetPtr variant+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_write_metadata_trusted self' objtype' checksum' variant' maybeCancellable+        touchManagedPtr self+        touchManagedPtr variant+        whenJust cancellable touchManagedPtr+        freeMem checksum'+        return ()+     ) (do+        freeMem checksum'+     )++#if ENABLE_OVERLOADING+data RepoWriteMetadataTrustedMethodInfo+instance (signature ~ (OSTree.Enums.ObjectType -> T.Text -> GVariant -> Maybe (b) -> m ()), MonadIO m, IsRepo a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoWriteMetadataTrustedMethodInfo a signature where+    overloadedMethod _ = repoWriteMetadataTrusted++#endif++-- method Repo::write_mtree+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mtree", argType = TInterface (Name {namespace = "OSTree", name = "MutableTree"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Mutable tree", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_file", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #OstreeRepoFile representing @mtree's root.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_repo_write_mtree" ostree_repo_write_mtree :: +    Ptr Repo ->                             -- self : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr OSTree.MutableTree.MutableTree ->   -- mtree : TInterface (Name {namespace = "OSTree", name = "MutableTree"})+    Ptr (Ptr Gio.File.File) ->              -- out_file : TInterface (Name {namespace = "Gio", name = "File"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Write all metadata objects for /@mtree@/ to repo; the resulting+/@outFile@/ points to the 'GI.OSTree.Enums.ObjectTypeDirTree' object that+the /@mtree@/ represented.+-}+repoWriteMtree ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepo a, OSTree.MutableTree.IsMutableTree b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: Repo -}+    -> b+    {- ^ /@mtree@/: Mutable tree -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m (Gio.File.File)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoWriteMtree self mtree cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    mtree' <- unsafeManagedPtrCastPtr mtree+    outFile <- allocMem :: IO (Ptr (Ptr Gio.File.File))+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_write_mtree self' mtree' outFile maybeCancellable+        outFile' <- peek outFile+        outFile'' <- (wrapObject Gio.File.File) outFile'+        touchManagedPtr self+        touchManagedPtr mtree+        whenJust cancellable touchManagedPtr+        freeMem outFile+        return outFile''+     ) (do+        freeMem outFile+     )++#if ENABLE_OVERLOADING+data RepoWriteMtreeMethodInfo+instance (signature ~ (b -> Maybe (c) -> m (Gio.File.File)), MonadIO m, IsRepo a, OSTree.MutableTree.IsMutableTree b, Gio.Cancellable.IsCancellable c) => O.MethodInfo RepoWriteMtreeMethodInfo a signature where+    overloadedMethod _ = repoWriteMtree++#endif++-- method Repo::create_at+-- method type : MemberFunction+-- Args : [Arg {argCName = "dfd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Directory fd", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "OSTree", name = "RepoMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The mode to store the repository in", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "options", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a{sv}: See below for accepted keys", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "Repo"}))+-- throws : True+-- Skip return : False++foreign import ccall "ostree_repo_create_at" ostree_repo_create_at :: +    Int32 ->                                -- dfd : TBasicType TInt+    CString ->                              -- path : TBasicType TUTF8+    CUInt ->                                -- mode : TInterface (Name {namespace = "OSTree", name = "RepoMode"})+    Ptr GVariant ->                         -- options : TVariant+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr Repo)++{- |+This is a file-descriptor relative version of 'GI.OSTree.Objects.Repo.repoCreate'.+Create the underlying structure on disk for the repository, and call+'GI.OSTree.Objects.Repo.repoOpenAt' on the result, preparing it for use.++If a repository already exists at /@dfd@/ + /@path@/ (defined by an @objects\/@+subdirectory existing), then this function will simply call+'GI.OSTree.Objects.Repo.repoOpenAt'.  In other words, this function cannot be used to change+the mode or configuration (@repo\/config@) of an existing repo.++The /@options@/ dict may contain:++  - collection-id: s: Set as collection ID in repo\/config (Since 2017.9)+-}+repoCreateAt ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.Cancellable.IsCancellable a) =>+    Int32+    {- ^ /@dfd@/: Directory fd -}+    -> T.Text+    {- ^ /@path@/: Path -}+    -> OSTree.Enums.RepoMode+    {- ^ /@mode@/: The mode to store the repository in -}+    -> GVariant+    {- ^ /@options@/: a{sv}: See below for accepted keys -}+    -> Maybe (a)+    {- ^ /@cancellable@/: Cancellable -}+    -> m Repo+    {- ^ __Returns:__ A new OSTree repository reference /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoCreateAt dfd path mode options cancellable = liftIO $ do+    path' <- textToCString path+    let mode' = (fromIntegral . fromEnum) mode+    options' <- unsafeManagedPtrGetPtr options+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        result <- propagateGError $ ostree_repo_create_at dfd path' mode' options' maybeCancellable+        checkUnexpectedReturnNULL "repoCreateAt" result+        result' <- (wrapObject Repo) result+        touchManagedPtr options+        whenJust cancellable touchManagedPtr+        freeMem path'+        return result'+     ) (do+        freeMem path'+     )++#if ENABLE_OVERLOADING+#endif++-- method Repo::mode_from_string+-- method type : MemberFunction+-- Args : [Arg {argCName = "mode", 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 = "out_mode", argType = TInterface (Name {namespace = "OSTree", name = "RepoMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "ostree_repo_mode_from_string" ostree_repo_mode_from_string :: +    CString ->                              -- mode : TBasicType TUTF8+    CUInt ->                                -- out_mode : TInterface (Name {namespace = "OSTree", name = "RepoMode"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+/No description available in the introspection data./+-}+repoModeFromString ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    T.Text+    -> OSTree.Enums.RepoMode+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoModeFromString mode outMode = liftIO $ do+    mode' <- textToCString mode+    let outMode' = (fromIntegral . fromEnum) outMode+    onException (do+        _ <- propagateGError $ ostree_repo_mode_from_string mode' outMode'+        freeMem mode'+        return ()+     ) (do+        freeMem mode'+     )++#if ENABLE_OVERLOADING+#endif++-- method Repo::open_at+-- method type : MemberFunction+-- Args : [Arg {argCName = "dfd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Directory fd", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "Repo"}))+-- throws : True+-- Skip return : False++foreign import ccall "ostree_repo_open_at" ostree_repo_open_at :: +    Int32 ->                                -- dfd : TBasicType TInt+    CString ->                              -- path : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr Repo)++{- |+This combines 'GI.OSTree.Objects.Repo.repoNew' (but using fd-relative access) with+'GI.OSTree.Objects.Repo.repoOpen'.  Use this when you know you should be operating on an+already extant repository.  If you want to create one, use 'GI.OSTree.Objects.Repo.repoCreateAt'.+-}+repoOpenAt ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.Cancellable.IsCancellable a) =>+    Int32+    {- ^ /@dfd@/: Directory fd -}+    -> T.Text+    {- ^ /@path@/: Path -}+    -> Maybe (a)+    -> m Repo+    {- ^ __Returns:__ An accessor object for an OSTree repository located at /@dfd@/ + /@path@/ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoOpenAt dfd path cancellable = liftIO $ do+    path' <- textToCString path+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        result <- propagateGError $ ostree_repo_open_at dfd path' maybeCancellable+        checkUnexpectedReturnNULL "repoOpenAt" result+        result' <- (wrapObject Repo) result+        whenJust cancellable touchManagedPtr+        freeMem path'+        return result'+     ) (do+        freeMem path'+     )++#if ENABLE_OVERLOADING+#endif++-- method Repo::pull_default_console_progress_changed+-- method type : MemberFunction+-- Args : [Arg {argCName = "progress", argType = TInterface (Name {namespace = "OSTree", name = "AsyncProgress"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Async progress", 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 = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_pull_default_console_progress_changed" ostree_repo_pull_default_console_progress_changed :: +    Ptr OSTree.AsyncProgress.AsyncProgress -> -- progress : TInterface (Name {namespace = "OSTree", name = "AsyncProgress"})+    Ptr () ->                               -- user_data : TBasicType TPtr+    IO ()++{- |+Convenient \"changed\" callback for use with+'GI.OSTree.Objects.AsyncProgress.asyncProgressNewAndConnect' when pulling from a remote+repository.++Depending on the state of the 'GI.OSTree.Objects.AsyncProgress.AsyncProgress', either displays a+custom status message, or else outstanding fetch progress in bytes\/sec,+or else outstanding content or metadata writes to the repository in+number of objects.++Compatibility note: this function previously assumed that /@userData@/+was a pointer to a @/GSConsole/@ instance.  This is no longer the case,+and /@userData@/ is ignored.+-}+repoPullDefaultConsoleProgressChanged ::+    (B.CallStack.HasCallStack, MonadIO m, OSTree.AsyncProgress.IsAsyncProgress a) =>+    a+    {- ^ /@progress@/: Async progress -}+    -> Ptr ()+    {- ^ /@userData@/: User data -}+    -> m ()+repoPullDefaultConsoleProgressChanged progress userData = liftIO $ do+    progress' <- unsafeManagedPtrCastPtr progress+    ostree_repo_pull_default_console_progress_changed progress' userData+    touchManagedPtr progress+    return ()++#if ENABLE_OVERLOADING+#endif++-- XXX Could not generate method Repo::traverse_new_parents+-- Error was : Not implemented: "GHashTable element of type TVariant unsupported."+#if ENABLE_OVERLOADING+-- XXX: Dummy instance, since code generation failed.+-- Please file a bug at http://github.com/haskell-gi/haskell-gi.+data RepoTraverseNewParentsMethodInfo+instance (p ~ (), o ~ O.MethodResolutionFailed "traverseNewParents" Repo) => O.MethodInfo RepoTraverseNewParentsMethodInfo o p where+    overloadedMethod _ = undefined+#endif++-- XXX Could not generate method Repo::traverse_new_reachable+-- Error was : Not implemented: "GHashTable element of type TVariant unsupported."+#if ENABLE_OVERLOADING+-- XXX: Dummy instance, since code generation failed.+-- Please file a bug at http://github.com/haskell-gi/haskell-gi.+data RepoTraverseNewReachableMethodInfo+instance (p ~ (), o ~ O.MethodResolutionFailed "traverseNewReachable" Repo) => O.MethodInfo RepoTraverseNewReachableMethodInfo o p where+    overloadedMethod _ = undefined+#endif++-- method Repo::traverse_parents_get_commits+-- method type : MemberFunction+-- Args : [Arg {argCName = "parents", argType = TGHash (TBasicType TPtr) (TBasicType TPtr), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "object", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, 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 "ostree_repo_traverse_parents_get_commits" ostree_repo_traverse_parents_get_commits :: +    Ptr (GHashTable (Ptr ()) (Ptr ())) ->   -- parents : TGHash (TBasicType TPtr) (TBasicType TPtr)+    Ptr GVariant ->                         -- object : TVariant+    IO (Ptr CString)++{- |+Gets all the commits that a certain object belongs to, as recorded+by a parents table gotten from ostree_repo_traverse_commit_union_with_parents.++/Since: 2018.5/+-}+repoTraverseParentsGetCommits ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Map.Map (Ptr ()) (Ptr ())+    -> GVariant+    -> m [T.Text]+    {- ^ __Returns:__ An array of checksums for+the commits the key belongs to. -}+repoTraverseParentsGetCommits parents object = liftIO $ do+    let parents' = Map.toList parents+    let parents'' = mapFirst ptrPackPtr parents'+    let parents''' = mapSecond ptrPackPtr parents''+    parents'''' <- packGHashTable gDirectHash gDirectEqual Nothing Nothing parents'''+    object' <- unsafeManagedPtrGetPtr object+    result <- ostree_repo_traverse_parents_get_commits parents'''' object'+    checkUnexpectedReturnNULL "repoTraverseParentsGetCommits" result+    result' <- unpackZeroTerminatedUTF8CArray result+    mapZeroTerminatedCArray freeMem result+    freeMem result+    touchManagedPtr object+    unrefGHashTable parents''''+    return result'++#if ENABLE_OVERLOADING+#endif++
+ GI/OSTree/Objects/Repo.hs-boot view
@@ -0,0 +1,389 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Objects.Repo 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 Repo = Repo (ManagedPtr Repo)+instance GObject Repo where+class (GObject o, O.IsDescendantOf Repo o) => IsRepo o+instance (GObject o, O.IsDescendantOf Repo o) => IsRepo o+instance O.HasParentTypes Repo+#if ENABLE_OVERLOADING+data RepoPathPropertyInfo+#endif+#if ENABLE_OVERLOADING+data RepoRemotesConfigDirPropertyInfo+#endif+#if ENABLE_OVERLOADING+data RepoSysrootPathPropertyInfo+#endif+#if ENABLE_OVERLOADING+data RepoGpgVerifyResultSignalInfo+#endif+#if ENABLE_OVERLOADING+data RepoAbortTransactionMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoAddGpgSignatureSummaryMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoAppendGpgSignatureMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoCheckoutAtMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoCheckoutGcMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoCheckoutTreeMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoCommitTransactionMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoCopyConfigMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoCreateMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoDeleteObjectMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoEqualMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoFindRemotesAsyncMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoFindRemotesFinishMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoFsckObjectMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoGetBootloaderMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoGetCollectionIdMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoGetConfigMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoGetDefaultRepoFindersMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoGetDfdMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoGetDisableFsyncMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoGetMinFreeSpaceBytesMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoGetModeMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoGetParentMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoGetPathMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoGetRemoteBooleanOptionMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoGetRemoteListOptionMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoGetRemoteOptionMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoGpgVerifyDataMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoHasObjectMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoHashMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoImportObjectFromMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoImportObjectFromWithTrustMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoIsSystemMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoIsWritableMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoListCollectionRefsMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoListCommitObjectsStartingWithMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoListObjectsMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoListRefsMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoListRefsExtMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoListStaticDeltaNamesMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoLoadCommitMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoLoadFileMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoLoadObjectStreamMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoLoadVariantMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoLoadVariantIfExistsMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoMarkCommitPartialMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoOpenMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoPrepareTransactionMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoPruneMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoPruneFromReachableMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoPruneStaticDeltasMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoPullMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoPullFromRemotesAsyncMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoPullFromRemotesFinishMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoPullOneDirMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoPullWithOptionsMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoQueryObjectStorageSizeMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoReadCommitMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoReadCommitDetachedMetadataMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoRegenerateSummaryMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoReloadConfigMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoRemoteAddMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoRemoteChangeMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoRemoteDeleteMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoRemoteFetchSummaryMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoRemoteFetchSummaryWithOptionsMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoRemoteGetGpgVerifyMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoRemoteGetGpgVerifySummaryMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoRemoteGetUrlMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoRemoteGpgImportMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoRemoteListMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoRemoteListCollectionRefsMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoRemoteListRefsMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoResolveCollectionRefMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoResolveKeyringForCollectionMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoResolveRevMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoResolveRevExtMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoScanHardlinksMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoSetAliasRefImmediateMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoSetCacheDirMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoSetCollectionIdMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoSetCollectionRefImmediateMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoSetDisableFsyncMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoSetRefImmediateMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoSignCommitMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoSignDeltaMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoStaticDeltaExecuteOfflineMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoStaticDeltaGenerateMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoTransactionSetCollectionRefMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoTransactionSetRefMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoTransactionSetRefspecMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoTraverseCommitMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoTraverseReachableRefsMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoVerifyCommitMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoVerifyCommitExtMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoVerifyCommitForRemoteMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoVerifySummaryMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoWriteArchiveToMtreeMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoWriteCommitMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoWriteCommitDetachedMetadataMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoWriteCommitWithTimeMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoWriteConfigMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoWriteContentMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoWriteContentAsyncMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoWriteContentFinishMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoWriteContentTrustedMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoWriteDfdToMtreeMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoWriteDirectoryToMtreeMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoWriteMetadataMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoWriteMetadataAsyncMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoWriteMetadataFinishMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoWriteMetadataStreamTrustedMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoWriteMetadataTrustedMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoWriteMtreeMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoTraverseNewParentsMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoTraverseNewReachableMethodInfo+#endif
+ GI/OSTree/Objects/RepoFile.hs view
@@ -0,0 +1,828 @@+++{- |+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.OSTree.Objects.RepoFile+    ( ++-- * Exported types+    RepoFile(..)                            ,+    IsRepoFile                              ,+    toRepoFile                              ,+    noRepoFile                              ,+++ -- * Methods+-- ** ensureResolved #method:ensureResolved#++#if ENABLE_OVERLOADING+    RepoFileEnsureResolvedMethodInfo        ,+#endif+    repoFileEnsureResolved                  ,+++-- ** getChecksum #method:getChecksum#++#if ENABLE_OVERLOADING+    RepoFileGetChecksumMethodInfo           ,+#endif+    repoFileGetChecksum                     ,+++-- ** getRepo #method:getRepo#++#if ENABLE_OVERLOADING+    RepoFileGetRepoMethodInfo               ,+#endif+    repoFileGetRepo                         ,+++-- ** getRoot #method:getRoot#++#if ENABLE_OVERLOADING+    RepoFileGetRootMethodInfo               ,+#endif+    repoFileGetRoot                         ,+++-- ** getXattrs #method:getXattrs#++#if ENABLE_OVERLOADING+    RepoFileGetXattrsMethodInfo             ,+#endif+    repoFileGetXattrs                       ,+++-- ** treeFindChild #method:treeFindChild#++#if ENABLE_OVERLOADING+    RepoFileTreeFindChildMethodInfo         ,+#endif+    repoFileTreeFindChild                   ,+++-- ** treeGetContents #method:treeGetContents#++#if ENABLE_OVERLOADING+    RepoFileTreeGetContentsMethodInfo       ,+#endif+    repoFileTreeGetContents                 ,+++-- ** treeGetContentsChecksum #method:treeGetContentsChecksum#++#if ENABLE_OVERLOADING+    RepoFileTreeGetContentsChecksumMethodInfo,+#endif+    repoFileTreeGetContentsChecksum         ,+++-- ** treeGetMetadata #method:treeGetMetadata#++#if ENABLE_OVERLOADING+    RepoFileTreeGetMetadataMethodInfo       ,+#endif+    repoFileTreeGetMetadata                 ,+++-- ** treeGetMetadataChecksum #method:treeGetMetadataChecksum#++#if ENABLE_OVERLOADING+    RepoFileTreeGetMetadataChecksumMethodInfo,+#endif+    repoFileTreeGetMetadataChecksum         ,+++-- ** treeQueryChild #method:treeQueryChild#++#if ENABLE_OVERLOADING+    RepoFileTreeQueryChildMethodInfo        ,+#endif+    repoFileTreeQueryChild                  ,+++-- ** treeSetMetadata #method:treeSetMetadata#++#if ENABLE_OVERLOADING+    RepoFileTreeSetMetadataMethodInfo       ,+#endif+    repoFileTreeSetMetadata                 ,+++++    ) 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.GObject.Objects.Object as GObject.Object+import qualified GI.Gio.Flags as Gio.Flags+import qualified GI.Gio.Interfaces.File as Gio.File+import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable+import qualified GI.Gio.Objects.FileInfo as Gio.FileInfo+import {-# SOURCE #-} qualified GI.OSTree.Objects.Repo as OSTree.Repo++-- | Memory-managed wrapper type.+newtype RepoFile = RepoFile (ManagedPtr RepoFile)+foreign import ccall "ostree_repo_file_get_type"+    c_ostree_repo_file_get_type :: IO GType++instance GObject RepoFile where+    gobjectType = c_ostree_repo_file_get_type+    ++-- | Type class for types which can be safely cast to `RepoFile`, for instance with `toRepoFile`.+class (GObject o, O.IsDescendantOf RepoFile o) => IsRepoFile o+instance (GObject o, O.IsDescendantOf RepoFile o) => IsRepoFile o++instance O.HasParentTypes RepoFile+type instance O.ParentTypes RepoFile = '[GObject.Object.Object, Gio.File.File]++-- | Cast to `RepoFile`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toRepoFile :: (MonadIO m, IsRepoFile o) => o -> m RepoFile+toRepoFile = liftIO . unsafeCastTo RepoFile++-- | A convenience alias for `Nothing` :: `Maybe` `RepoFile`.+noRepoFile :: Maybe RepoFile+noRepoFile = Nothing++#if ENABLE_OVERLOADING+type family ResolveRepoFileMethod (t :: Symbol) (o :: *) :: * where+    ResolveRepoFileMethod "appendTo" o = Gio.File.FileAppendToMethodInfo+    ResolveRepoFileMethod "appendToAsync" o = Gio.File.FileAppendToAsyncMethodInfo+    ResolveRepoFileMethod "appendToFinish" o = Gio.File.FileAppendToFinishMethodInfo+    ResolveRepoFileMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveRepoFileMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveRepoFileMethod "copy" o = Gio.File.FileCopyMethodInfo+    ResolveRepoFileMethod "copyAsync" o = Gio.File.FileCopyAsyncMethodInfo+    ResolveRepoFileMethod "copyAttributes" o = Gio.File.FileCopyAttributesMethodInfo+    ResolveRepoFileMethod "copyFinish" o = Gio.File.FileCopyFinishMethodInfo+    ResolveRepoFileMethod "create" o = Gio.File.FileCreateMethodInfo+    ResolveRepoFileMethod "createAsync" o = Gio.File.FileCreateAsyncMethodInfo+    ResolveRepoFileMethod "createFinish" o = Gio.File.FileCreateFinishMethodInfo+    ResolveRepoFileMethod "createReadwrite" o = Gio.File.FileCreateReadwriteMethodInfo+    ResolveRepoFileMethod "createReadwriteAsync" o = Gio.File.FileCreateReadwriteAsyncMethodInfo+    ResolveRepoFileMethod "createReadwriteFinish" o = Gio.File.FileCreateReadwriteFinishMethodInfo+    ResolveRepoFileMethod "delete" o = Gio.File.FileDeleteMethodInfo+    ResolveRepoFileMethod "deleteAsync" o = Gio.File.FileDeleteAsyncMethodInfo+    ResolveRepoFileMethod "deleteFinish" o = Gio.File.FileDeleteFinishMethodInfo+    ResolveRepoFileMethod "dup" o = Gio.File.FileDupMethodInfo+    ResolveRepoFileMethod "ejectMountable" o = Gio.File.FileEjectMountableMethodInfo+    ResolveRepoFileMethod "ejectMountableFinish" o = Gio.File.FileEjectMountableFinishMethodInfo+    ResolveRepoFileMethod "ejectMountableWithOperation" o = Gio.File.FileEjectMountableWithOperationMethodInfo+    ResolveRepoFileMethod "ejectMountableWithOperationFinish" o = Gio.File.FileEjectMountableWithOperationFinishMethodInfo+    ResolveRepoFileMethod "ensureResolved" o = RepoFileEnsureResolvedMethodInfo+    ResolveRepoFileMethod "enumerateChildren" o = Gio.File.FileEnumerateChildrenMethodInfo+    ResolveRepoFileMethod "enumerateChildrenAsync" o = Gio.File.FileEnumerateChildrenAsyncMethodInfo+    ResolveRepoFileMethod "enumerateChildrenFinish" o = Gio.File.FileEnumerateChildrenFinishMethodInfo+    ResolveRepoFileMethod "equal" o = Gio.File.FileEqualMethodInfo+    ResolveRepoFileMethod "findEnclosingMount" o = Gio.File.FileFindEnclosingMountMethodInfo+    ResolveRepoFileMethod "findEnclosingMountAsync" o = Gio.File.FileFindEnclosingMountAsyncMethodInfo+    ResolveRepoFileMethod "findEnclosingMountFinish" o = Gio.File.FileFindEnclosingMountFinishMethodInfo+    ResolveRepoFileMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveRepoFileMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveRepoFileMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveRepoFileMethod "hasParent" o = Gio.File.FileHasParentMethodInfo+    ResolveRepoFileMethod "hasPrefix" o = Gio.File.FileHasPrefixMethodInfo+    ResolveRepoFileMethod "hasUriScheme" o = Gio.File.FileHasUriSchemeMethodInfo+    ResolveRepoFileMethod "hash" o = Gio.File.FileHashMethodInfo+    ResolveRepoFileMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveRepoFileMethod "isNative" o = Gio.File.FileIsNativeMethodInfo+    ResolveRepoFileMethod "loadBytes" o = Gio.File.FileLoadBytesMethodInfo+    ResolveRepoFileMethod "loadBytesAsync" o = Gio.File.FileLoadBytesAsyncMethodInfo+    ResolveRepoFileMethod "loadBytesFinish" o = Gio.File.FileLoadBytesFinishMethodInfo+    ResolveRepoFileMethod "loadContents" o = Gio.File.FileLoadContentsMethodInfo+    ResolveRepoFileMethod "loadContentsAsync" o = Gio.File.FileLoadContentsAsyncMethodInfo+    ResolveRepoFileMethod "loadContentsFinish" o = Gio.File.FileLoadContentsFinishMethodInfo+    ResolveRepoFileMethod "loadPartialContentsFinish" o = Gio.File.FileLoadPartialContentsFinishMethodInfo+    ResolveRepoFileMethod "makeDirectory" o = Gio.File.FileMakeDirectoryMethodInfo+    ResolveRepoFileMethod "makeDirectoryAsync" o = Gio.File.FileMakeDirectoryAsyncMethodInfo+    ResolveRepoFileMethod "makeDirectoryFinish" o = Gio.File.FileMakeDirectoryFinishMethodInfo+    ResolveRepoFileMethod "makeDirectoryWithParents" o = Gio.File.FileMakeDirectoryWithParentsMethodInfo+    ResolveRepoFileMethod "makeSymbolicLink" o = Gio.File.FileMakeSymbolicLinkMethodInfo+    ResolveRepoFileMethod "measureDiskUsageFinish" o = Gio.File.FileMeasureDiskUsageFinishMethodInfo+    ResolveRepoFileMethod "monitor" o = Gio.File.FileMonitorMethodInfo+    ResolveRepoFileMethod "monitorDirectory" o = Gio.File.FileMonitorDirectoryMethodInfo+    ResolveRepoFileMethod "monitorFile" o = Gio.File.FileMonitorFileMethodInfo+    ResolveRepoFileMethod "mountEnclosingVolume" o = Gio.File.FileMountEnclosingVolumeMethodInfo+    ResolveRepoFileMethod "mountEnclosingVolumeFinish" o = Gio.File.FileMountEnclosingVolumeFinishMethodInfo+    ResolveRepoFileMethod "mountMountable" o = Gio.File.FileMountMountableMethodInfo+    ResolveRepoFileMethod "mountMountableFinish" o = Gio.File.FileMountMountableFinishMethodInfo+    ResolveRepoFileMethod "move" o = Gio.File.FileMoveMethodInfo+    ResolveRepoFileMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveRepoFileMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveRepoFileMethod "openReadwrite" o = Gio.File.FileOpenReadwriteMethodInfo+    ResolveRepoFileMethod "openReadwriteAsync" o = Gio.File.FileOpenReadwriteAsyncMethodInfo+    ResolveRepoFileMethod "openReadwriteFinish" o = Gio.File.FileOpenReadwriteFinishMethodInfo+    ResolveRepoFileMethod "peekPath" o = Gio.File.FilePeekPathMethodInfo+    ResolveRepoFileMethod "pollMountable" o = Gio.File.FilePollMountableMethodInfo+    ResolveRepoFileMethod "pollMountableFinish" o = Gio.File.FilePollMountableFinishMethodInfo+    ResolveRepoFileMethod "queryDefaultHandler" o = Gio.File.FileQueryDefaultHandlerMethodInfo+    ResolveRepoFileMethod "queryDefaultHandlerAsync" o = Gio.File.FileQueryDefaultHandlerAsyncMethodInfo+    ResolveRepoFileMethod "queryDefaultHandlerFinish" o = Gio.File.FileQueryDefaultHandlerFinishMethodInfo+    ResolveRepoFileMethod "queryExists" o = Gio.File.FileQueryExistsMethodInfo+    ResolveRepoFileMethod "queryFileType" o = Gio.File.FileQueryFileTypeMethodInfo+    ResolveRepoFileMethod "queryFilesystemInfo" o = Gio.File.FileQueryFilesystemInfoMethodInfo+    ResolveRepoFileMethod "queryFilesystemInfoAsync" o = Gio.File.FileQueryFilesystemInfoAsyncMethodInfo+    ResolveRepoFileMethod "queryFilesystemInfoFinish" o = Gio.File.FileQueryFilesystemInfoFinishMethodInfo+    ResolveRepoFileMethod "queryInfo" o = Gio.File.FileQueryInfoMethodInfo+    ResolveRepoFileMethod "queryInfoAsync" o = Gio.File.FileQueryInfoAsyncMethodInfo+    ResolveRepoFileMethod "queryInfoFinish" o = Gio.File.FileQueryInfoFinishMethodInfo+    ResolveRepoFileMethod "querySettableAttributes" o = Gio.File.FileQuerySettableAttributesMethodInfo+    ResolveRepoFileMethod "queryWritableNamespaces" o = Gio.File.FileQueryWritableNamespacesMethodInfo+    ResolveRepoFileMethod "read" o = Gio.File.FileReadMethodInfo+    ResolveRepoFileMethod "readAsync" o = Gio.File.FileReadAsyncMethodInfo+    ResolveRepoFileMethod "readFinish" o = Gio.File.FileReadFinishMethodInfo+    ResolveRepoFileMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveRepoFileMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveRepoFileMethod "replace" o = Gio.File.FileReplaceMethodInfo+    ResolveRepoFileMethod "replaceAsync" o = Gio.File.FileReplaceAsyncMethodInfo+    ResolveRepoFileMethod "replaceContents" o = Gio.File.FileReplaceContentsMethodInfo+    ResolveRepoFileMethod "replaceContentsAsync" o = Gio.File.FileReplaceContentsAsyncMethodInfo+    ResolveRepoFileMethod "replaceContentsBytesAsync" o = Gio.File.FileReplaceContentsBytesAsyncMethodInfo+    ResolveRepoFileMethod "replaceContentsFinish" o = Gio.File.FileReplaceContentsFinishMethodInfo+    ResolveRepoFileMethod "replaceFinish" o = Gio.File.FileReplaceFinishMethodInfo+    ResolveRepoFileMethod "replaceReadwrite" o = Gio.File.FileReplaceReadwriteMethodInfo+    ResolveRepoFileMethod "replaceReadwriteAsync" o = Gio.File.FileReplaceReadwriteAsyncMethodInfo+    ResolveRepoFileMethod "replaceReadwriteFinish" o = Gio.File.FileReplaceReadwriteFinishMethodInfo+    ResolveRepoFileMethod "resolveRelativePath" o = Gio.File.FileResolveRelativePathMethodInfo+    ResolveRepoFileMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveRepoFileMethod "startMountable" o = Gio.File.FileStartMountableMethodInfo+    ResolveRepoFileMethod "startMountableFinish" o = Gio.File.FileStartMountableFinishMethodInfo+    ResolveRepoFileMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveRepoFileMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveRepoFileMethod "stopMountable" o = Gio.File.FileStopMountableMethodInfo+    ResolveRepoFileMethod "stopMountableFinish" o = Gio.File.FileStopMountableFinishMethodInfo+    ResolveRepoFileMethod "supportsThreadContexts" o = Gio.File.FileSupportsThreadContextsMethodInfo+    ResolveRepoFileMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveRepoFileMethod "trash" o = Gio.File.FileTrashMethodInfo+    ResolveRepoFileMethod "trashAsync" o = Gio.File.FileTrashAsyncMethodInfo+    ResolveRepoFileMethod "trashFinish" o = Gio.File.FileTrashFinishMethodInfo+    ResolveRepoFileMethod "treeFindChild" o = RepoFileTreeFindChildMethodInfo+    ResolveRepoFileMethod "treeGetContents" o = RepoFileTreeGetContentsMethodInfo+    ResolveRepoFileMethod "treeGetContentsChecksum" o = RepoFileTreeGetContentsChecksumMethodInfo+    ResolveRepoFileMethod "treeGetMetadata" o = RepoFileTreeGetMetadataMethodInfo+    ResolveRepoFileMethod "treeGetMetadataChecksum" o = RepoFileTreeGetMetadataChecksumMethodInfo+    ResolveRepoFileMethod "treeQueryChild" o = RepoFileTreeQueryChildMethodInfo+    ResolveRepoFileMethod "treeSetMetadata" o = RepoFileTreeSetMetadataMethodInfo+    ResolveRepoFileMethod "unmountMountable" o = Gio.File.FileUnmountMountableMethodInfo+    ResolveRepoFileMethod "unmountMountableFinish" o = Gio.File.FileUnmountMountableFinishMethodInfo+    ResolveRepoFileMethod "unmountMountableWithOperation" o = Gio.File.FileUnmountMountableWithOperationMethodInfo+    ResolveRepoFileMethod "unmountMountableWithOperationFinish" o = Gio.File.FileUnmountMountableWithOperationFinishMethodInfo+    ResolveRepoFileMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveRepoFileMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveRepoFileMethod "getBasename" o = Gio.File.FileGetBasenameMethodInfo+    ResolveRepoFileMethod "getChecksum" o = RepoFileGetChecksumMethodInfo+    ResolveRepoFileMethod "getChild" o = Gio.File.FileGetChildMethodInfo+    ResolveRepoFileMethod "getChildForDisplayName" o = Gio.File.FileGetChildForDisplayNameMethodInfo+    ResolveRepoFileMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveRepoFileMethod "getParent" o = Gio.File.FileGetParentMethodInfo+    ResolveRepoFileMethod "getParseName" o = Gio.File.FileGetParseNameMethodInfo+    ResolveRepoFileMethod "getPath" o = Gio.File.FileGetPathMethodInfo+    ResolveRepoFileMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveRepoFileMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveRepoFileMethod "getRelativePath" o = Gio.File.FileGetRelativePathMethodInfo+    ResolveRepoFileMethod "getRepo" o = RepoFileGetRepoMethodInfo+    ResolveRepoFileMethod "getRoot" o = RepoFileGetRootMethodInfo+    ResolveRepoFileMethod "getUri" o = Gio.File.FileGetUriMethodInfo+    ResolveRepoFileMethod "getUriScheme" o = Gio.File.FileGetUriSchemeMethodInfo+    ResolveRepoFileMethod "getXattrs" o = RepoFileGetXattrsMethodInfo+    ResolveRepoFileMethod "setAttribute" o = Gio.File.FileSetAttributeMethodInfo+    ResolveRepoFileMethod "setAttributeByteString" o = Gio.File.FileSetAttributeByteStringMethodInfo+    ResolveRepoFileMethod "setAttributeInt32" o = Gio.File.FileSetAttributeInt32MethodInfo+    ResolveRepoFileMethod "setAttributeInt64" o = Gio.File.FileSetAttributeInt64MethodInfo+    ResolveRepoFileMethod "setAttributeString" o = Gio.File.FileSetAttributeStringMethodInfo+    ResolveRepoFileMethod "setAttributeUint32" o = Gio.File.FileSetAttributeUint32MethodInfo+    ResolveRepoFileMethod "setAttributeUint64" o = Gio.File.FileSetAttributeUint64MethodInfo+    ResolveRepoFileMethod "setAttributesAsync" o = Gio.File.FileSetAttributesAsyncMethodInfo+    ResolveRepoFileMethod "setAttributesFinish" o = Gio.File.FileSetAttributesFinishMethodInfo+    ResolveRepoFileMethod "setAttributesFromInfo" o = Gio.File.FileSetAttributesFromInfoMethodInfo+    ResolveRepoFileMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveRepoFileMethod "setDisplayName" o = Gio.File.FileSetDisplayNameMethodInfo+    ResolveRepoFileMethod "setDisplayNameAsync" o = Gio.File.FileSetDisplayNameAsyncMethodInfo+    ResolveRepoFileMethod "setDisplayNameFinish" o = Gio.File.FileSetDisplayNameFinishMethodInfo+    ResolveRepoFileMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveRepoFileMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRepoFileMethod t RepoFile, O.MethodInfo info RepoFile p) => OL.IsLabel t (RepoFile -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList RepoFile+type instance O.AttributeList RepoFile = RepoFileAttributeList+type RepoFileAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type instance O.SignalList RepoFile = RepoFileSignalList+type RepoFileSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method RepoFile::ensure_resolved+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "RepoFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "ostree_repo_file_ensure_resolved" ostree_repo_file_ensure_resolved :: +    Ptr RepoFile ->                         -- self : TInterface (Name {namespace = "OSTree", name = "RepoFile"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+/No description available in the introspection data./+-}+repoFileEnsureResolved ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepoFile a) =>+    a+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoFileEnsureResolved self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    onException (do+        _ <- propagateGError $ ostree_repo_file_ensure_resolved self'+        touchManagedPtr self+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepoFileEnsureResolvedMethodInfo+instance (signature ~ (m ()), MonadIO m, IsRepoFile a) => O.MethodInfo RepoFileEnsureResolvedMethodInfo a signature where+    overloadedMethod _ = repoFileEnsureResolved++#endif++-- method RepoFile::get_checksum+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "RepoFile"}), 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 "ostree_repo_file_get_checksum" ostree_repo_file_get_checksum :: +    Ptr RepoFile ->                         -- self : TInterface (Name {namespace = "OSTree", name = "RepoFile"})+    IO CString++{- |+/No description available in the introspection data./+-}+repoFileGetChecksum ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepoFile a) =>+    a+    -> m T.Text+repoFileGetChecksum self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_repo_file_get_checksum self'+    checkUnexpectedReturnNULL "repoFileGetChecksum" result+    result' <- cstringToText result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data RepoFileGetChecksumMethodInfo+instance (signature ~ (m T.Text), MonadIO m, IsRepoFile a) => O.MethodInfo RepoFileGetChecksumMethodInfo a signature where+    overloadedMethod _ = repoFileGetChecksum++#endif++-- method RepoFile::get_repo+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "RepoFile"}), 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 = "OSTree", name = "Repo"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_file_get_repo" ostree_repo_file_get_repo :: +    Ptr RepoFile ->                         -- self : TInterface (Name {namespace = "OSTree", name = "RepoFile"})+    IO (Ptr OSTree.Repo.Repo)++{- |+/No description available in the introspection data./+-}+repoFileGetRepo ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepoFile a) =>+    a+    -> m OSTree.Repo.Repo+    {- ^ __Returns:__ Repository -}+repoFileGetRepo self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_repo_file_get_repo self'+    checkUnexpectedReturnNULL "repoFileGetRepo" result+    result' <- (newObject OSTree.Repo.Repo) result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data RepoFileGetRepoMethodInfo+instance (signature ~ (m OSTree.Repo.Repo), MonadIO m, IsRepoFile a) => O.MethodInfo RepoFileGetRepoMethodInfo a signature where+    overloadedMethod _ = repoFileGetRepo++#endif++-- method RepoFile::get_root+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "RepoFile"}), 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 = "OSTree", name = "RepoFile"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_file_get_root" ostree_repo_file_get_root :: +    Ptr RepoFile ->                         -- self : TInterface (Name {namespace = "OSTree", name = "RepoFile"})+    IO (Ptr RepoFile)++{- |+/No description available in the introspection data./+-}+repoFileGetRoot ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepoFile a) =>+    a+    -> m RepoFile+    {- ^ __Returns:__ The root directory for the commit referenced by this file -}+repoFileGetRoot self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_repo_file_get_root self'+    checkUnexpectedReturnNULL "repoFileGetRoot" result+    result' <- (newObject RepoFile) result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data RepoFileGetRootMethodInfo+instance (signature ~ (m RepoFile), MonadIO m, IsRepoFile a) => O.MethodInfo RepoFileGetRootMethodInfo a signature where+    overloadedMethod _ = repoFileGetRoot++#endif++-- method RepoFile::get_xattrs+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "RepoFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_xattrs", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "ostree_repo_file_get_xattrs" ostree_repo_file_get_xattrs :: +    Ptr RepoFile ->                         -- self : TInterface (Name {namespace = "OSTree", name = "RepoFile"})+    Ptr GVariant ->                         -- out_xattrs : TVariant+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+/No description available in the introspection data./+-}+repoFileGetXattrs ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepoFile a, Gio.Cancellable.IsCancellable b) =>+    a+    -> GVariant+    -> Maybe (b)+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoFileGetXattrs self outXattrs cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    outXattrs' <- unsafeManagedPtrGetPtr outXattrs+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_file_get_xattrs self' outXattrs' maybeCancellable+        touchManagedPtr self+        touchManagedPtr outXattrs+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepoFileGetXattrsMethodInfo+instance (signature ~ (GVariant -> Maybe (b) -> m ()), MonadIO m, IsRepoFile a, Gio.Cancellable.IsCancellable b) => O.MethodInfo RepoFileGetXattrsMethodInfo a signature where+    overloadedMethod _ = repoFileGetXattrs++#endif++-- method RepoFile::tree_find_child+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "RepoFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, 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 = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_dir", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_container", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, 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 "ostree_repo_file_tree_find_child" ostree_repo_file_tree_find_child :: +    Ptr RepoFile ->                         -- self : TInterface (Name {namespace = "OSTree", name = "RepoFile"})+    CString ->                              -- name : TBasicType TUTF8+    CInt ->                                 -- is_dir : TBasicType TBoolean+    Ptr GVariant ->                         -- out_container : TVariant+    IO Int32++{- |+/No description available in the introspection data./+-}+repoFileTreeFindChild ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepoFile a) =>+    a+    -> T.Text+    -> Bool+    -> GVariant+    -> m Int32+repoFileTreeFindChild self name isDir outContainer = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    name' <- textToCString name+    let isDir' = (fromIntegral . fromEnum) isDir+    outContainer' <- unsafeManagedPtrGetPtr outContainer+    result <- ostree_repo_file_tree_find_child self' name' isDir' outContainer'+    touchManagedPtr self+    touchManagedPtr outContainer+    freeMem name'+    return result++#if ENABLE_OVERLOADING+data RepoFileTreeFindChildMethodInfo+instance (signature ~ (T.Text -> Bool -> GVariant -> m Int32), MonadIO m, IsRepoFile a) => O.MethodInfo RepoFileTreeFindChildMethodInfo a signature where+    overloadedMethod _ = repoFileTreeFindChild++#endif++-- method RepoFile::tree_get_contents+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "RepoFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just TVariant+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_file_tree_get_contents" ostree_repo_file_tree_get_contents :: +    Ptr RepoFile ->                         -- self : TInterface (Name {namespace = "OSTree", name = "RepoFile"})+    IO (Ptr GVariant)++{- |+/No description available in the introspection data./+-}+repoFileTreeGetContents ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepoFile a) =>+    a+    -> m GVariant+repoFileTreeGetContents self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_repo_file_tree_get_contents self'+    checkUnexpectedReturnNULL "repoFileTreeGetContents" result+    result' <- B.GVariant.wrapGVariantPtr result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data RepoFileTreeGetContentsMethodInfo+instance (signature ~ (m GVariant), MonadIO m, IsRepoFile a) => O.MethodInfo RepoFileTreeGetContentsMethodInfo a signature where+    overloadedMethod _ = repoFileTreeGetContents++#endif++-- method RepoFile::tree_get_contents_checksum+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "RepoFile"}), 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 "ostree_repo_file_tree_get_contents_checksum" ostree_repo_file_tree_get_contents_checksum :: +    Ptr RepoFile ->                         -- self : TInterface (Name {namespace = "OSTree", name = "RepoFile"})+    IO CString++{- |+/No description available in the introspection data./+-}+repoFileTreeGetContentsChecksum ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepoFile a) =>+    a+    -> m T.Text+repoFileTreeGetContentsChecksum self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_repo_file_tree_get_contents_checksum self'+    checkUnexpectedReturnNULL "repoFileTreeGetContentsChecksum" result+    result' <- cstringToText result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data RepoFileTreeGetContentsChecksumMethodInfo+instance (signature ~ (m T.Text), MonadIO m, IsRepoFile a) => O.MethodInfo RepoFileTreeGetContentsChecksumMethodInfo a signature where+    overloadedMethod _ = repoFileTreeGetContentsChecksum++#endif++-- method RepoFile::tree_get_metadata+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "RepoFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just TVariant+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_file_tree_get_metadata" ostree_repo_file_tree_get_metadata :: +    Ptr RepoFile ->                         -- self : TInterface (Name {namespace = "OSTree", name = "RepoFile"})+    IO (Ptr GVariant)++{- |+/No description available in the introspection data./+-}+repoFileTreeGetMetadata ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepoFile a) =>+    a+    -> m GVariant+repoFileTreeGetMetadata self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_repo_file_tree_get_metadata self'+    checkUnexpectedReturnNULL "repoFileTreeGetMetadata" result+    result' <- B.GVariant.wrapGVariantPtr result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data RepoFileTreeGetMetadataMethodInfo+instance (signature ~ (m GVariant), MonadIO m, IsRepoFile a) => O.MethodInfo RepoFileTreeGetMetadataMethodInfo a signature where+    overloadedMethod _ = repoFileTreeGetMetadata++#endif++-- method RepoFile::tree_get_metadata_checksum+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "RepoFile"}), 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 "ostree_repo_file_tree_get_metadata_checksum" ostree_repo_file_tree_get_metadata_checksum :: +    Ptr RepoFile ->                         -- self : TInterface (Name {namespace = "OSTree", name = "RepoFile"})+    IO CString++{- |+/No description available in the introspection data./+-}+repoFileTreeGetMetadataChecksum ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepoFile a) =>+    a+    -> m T.Text+repoFileTreeGetMetadataChecksum self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_repo_file_tree_get_metadata_checksum self'+    checkUnexpectedReturnNULL "repoFileTreeGetMetadataChecksum" result+    result' <- cstringToText result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data RepoFileTreeGetMetadataChecksumMethodInfo+instance (signature ~ (m T.Text), MonadIO m, IsRepoFile a) => O.MethodInfo RepoFileTreeGetMetadataChecksumMethodInfo a signature where+    overloadedMethod _ = repoFileTreeGetMetadataChecksum++#endif++-- method RepoFile::tree_query_child+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "RepoFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, 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 = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "attributes", 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 = "flags", argType = TInterface (Name {namespace = "Gio", name = "FileQueryInfoFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_info", argType = TInterface (Name {namespace = "Gio", name = "FileInfo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "ostree_repo_file_tree_query_child" ostree_repo_file_tree_query_child :: +    Ptr RepoFile ->                         -- self : TInterface (Name {namespace = "OSTree", name = "RepoFile"})+    Int32 ->                                -- n : TBasicType TInt+    CString ->                              -- attributes : TBasicType TUTF8+    CUInt ->                                -- flags : TInterface (Name {namespace = "Gio", name = "FileQueryInfoFlags"})+    Ptr Gio.FileInfo.FileInfo ->            -- out_info : TInterface (Name {namespace = "Gio", name = "FileInfo"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+/No description available in the introspection data./+-}+repoFileTreeQueryChild ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepoFile a, Gio.FileInfo.IsFileInfo b, Gio.Cancellable.IsCancellable c) =>+    a+    -> Int32+    -> T.Text+    -> [Gio.Flags.FileQueryInfoFlags]+    -> b+    -> Maybe (c)+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoFileTreeQueryChild self n attributes flags outInfo cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    attributes' <- textToCString attributes+    let flags' = gflagsToWord flags+    outInfo' <- unsafeManagedPtrCastPtr outInfo+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_repo_file_tree_query_child self' n attributes' flags' outInfo' maybeCancellable+        touchManagedPtr self+        touchManagedPtr outInfo+        whenJust cancellable touchManagedPtr+        freeMem attributes'+        return ()+     ) (do+        freeMem attributes'+     )++#if ENABLE_OVERLOADING+data RepoFileTreeQueryChildMethodInfo+instance (signature ~ (Int32 -> T.Text -> [Gio.Flags.FileQueryInfoFlags] -> b -> Maybe (c) -> m ()), MonadIO m, IsRepoFile a, Gio.FileInfo.IsFileInfo b, Gio.Cancellable.IsCancellable c) => O.MethodInfo RepoFileTreeQueryChildMethodInfo a signature where+    overloadedMethod _ = repoFileTreeQueryChild++#endif++-- method RepoFile::tree_set_metadata+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "RepoFile"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "checksum", 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 = "metadata", argType = TVariant, 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 "ostree_repo_file_tree_set_metadata" ostree_repo_file_tree_set_metadata :: +    Ptr RepoFile ->                         -- self : TInterface (Name {namespace = "OSTree", name = "RepoFile"})+    CString ->                              -- checksum : TBasicType TUTF8+    Ptr GVariant ->                         -- metadata : TVariant+    IO ()++{- |+/No description available in the introspection data./+-}+repoFileTreeSetMetadata ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepoFile a) =>+    a+    -> T.Text+    -> GVariant+    -> m ()+repoFileTreeSetMetadata self checksum metadata = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    checksum' <- textToCString checksum+    metadata' <- unsafeManagedPtrGetPtr metadata+    ostree_repo_file_tree_set_metadata self' checksum' metadata'+    touchManagedPtr self+    touchManagedPtr metadata+    freeMem checksum'+    return ()++#if ENABLE_OVERLOADING+data RepoFileTreeSetMetadataMethodInfo+instance (signature ~ (T.Text -> GVariant -> m ()), MonadIO m, IsRepoFile a) => O.MethodInfo RepoFileTreeSetMetadataMethodInfo a signature where+    overloadedMethod _ = repoFileTreeSetMetadata++#endif++
+ GI/OSTree/Objects/RepoFile.hs-boot view
@@ -0,0 +1,65 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Objects.RepoFile 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 RepoFile = RepoFile (ManagedPtr RepoFile)+instance GObject RepoFile where+class (GObject o, O.IsDescendantOf RepoFile o) => IsRepoFile o+instance (GObject o, O.IsDescendantOf RepoFile o) => IsRepoFile o+instance O.HasParentTypes RepoFile+#if ENABLE_OVERLOADING+data RepoFileEnsureResolvedMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoFileGetChecksumMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoFileGetRepoMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoFileGetRootMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoFileGetXattrsMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoFileTreeFindChildMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoFileTreeGetContentsMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoFileTreeGetContentsChecksumMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoFileTreeGetMetadataMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoFileTreeGetMetadataChecksumMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoFileTreeQueryChildMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoFileTreeSetMetadataMethodInfo+#endif
+ GI/OSTree/Objects/RepoFinderAvahi.hs view
@@ -0,0 +1,280 @@+++{- |+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.OSTree.Objects.RepoFinderAvahi+    ( ++-- * Exported types+    RepoFinderAvahi(..)                     ,+    IsRepoFinderAvahi                       ,+    toRepoFinderAvahi                       ,+    noRepoFinderAvahi                       ,+++ -- * Methods+-- ** new #method:new#++    repoFinderAvahiNew                      ,+++-- ** start #method:start#++#if ENABLE_OVERLOADING+    RepoFinderAvahiStartMethodInfo          ,+#endif+    repoFinderAvahiStart                    ,+++-- ** stop #method:stop#++#if ENABLE_OVERLOADING+    RepoFinderAvahiStopMethodInfo           ,+#endif+    repoFinderAvahiStop                     ,+++++    ) 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.Structs.MainContext as GLib.MainContext+import qualified GI.GObject.Objects.Object as GObject.Object+import {-# SOURCE #-} qualified GI.OSTree.Interfaces.RepoFinder as OSTree.RepoFinder++-- | Memory-managed wrapper type.+newtype RepoFinderAvahi = RepoFinderAvahi (ManagedPtr RepoFinderAvahi)+foreign import ccall "ostree_repo_finder_avahi_get_type"+    c_ostree_repo_finder_avahi_get_type :: IO GType++instance GObject RepoFinderAvahi where+    gobjectType = c_ostree_repo_finder_avahi_get_type+    ++-- | Type class for types which can be safely cast to `RepoFinderAvahi`, for instance with `toRepoFinderAvahi`.+class (GObject o, O.IsDescendantOf RepoFinderAvahi o) => IsRepoFinderAvahi o+instance (GObject o, O.IsDescendantOf RepoFinderAvahi o) => IsRepoFinderAvahi o++instance O.HasParentTypes RepoFinderAvahi+type instance O.ParentTypes RepoFinderAvahi = '[GObject.Object.Object, OSTree.RepoFinder.RepoFinder]++-- | Cast to `RepoFinderAvahi`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toRepoFinderAvahi :: (MonadIO m, IsRepoFinderAvahi o) => o -> m RepoFinderAvahi+toRepoFinderAvahi = liftIO . unsafeCastTo RepoFinderAvahi++-- | A convenience alias for `Nothing` :: `Maybe` `RepoFinderAvahi`.+noRepoFinderAvahi :: Maybe RepoFinderAvahi+noRepoFinderAvahi = Nothing++#if ENABLE_OVERLOADING+type family ResolveRepoFinderAvahiMethod (t :: Symbol) (o :: *) :: * where+    ResolveRepoFinderAvahiMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveRepoFinderAvahiMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveRepoFinderAvahiMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveRepoFinderAvahiMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveRepoFinderAvahiMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveRepoFinderAvahiMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveRepoFinderAvahiMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveRepoFinderAvahiMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveRepoFinderAvahiMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveRepoFinderAvahiMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveRepoFinderAvahiMethod "resolveAsync" o = OSTree.RepoFinder.RepoFinderResolveAsyncMethodInfo+    ResolveRepoFinderAvahiMethod "resolveFinish" o = OSTree.RepoFinder.RepoFinderResolveFinishMethodInfo+    ResolveRepoFinderAvahiMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveRepoFinderAvahiMethod "start" o = RepoFinderAvahiStartMethodInfo+    ResolveRepoFinderAvahiMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveRepoFinderAvahiMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveRepoFinderAvahiMethod "stop" o = RepoFinderAvahiStopMethodInfo+    ResolveRepoFinderAvahiMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveRepoFinderAvahiMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveRepoFinderAvahiMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveRepoFinderAvahiMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveRepoFinderAvahiMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveRepoFinderAvahiMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveRepoFinderAvahiMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveRepoFinderAvahiMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveRepoFinderAvahiMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRepoFinderAvahiMethod t RepoFinderAvahi, O.MethodInfo info RepoFinderAvahi p) => OL.IsLabel t (RepoFinderAvahi -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList RepoFinderAvahi+type instance O.AttributeList RepoFinderAvahi = RepoFinderAvahiAttributeList+type RepoFinderAvahiAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type instance O.SignalList RepoFinderAvahi = RepoFinderAvahiSignalList+type RepoFinderAvahiSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method RepoFinderAvahi::new+-- method type : Constructor+-- Args : [Arg {argCName = "context", argType = TInterface (Name {namespace = "GLib", name = "MainContext"}), 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 = "OSTree", name = "RepoFinderAvahi"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_finder_avahi_new" ostree_repo_finder_avahi_new :: +    Ptr GLib.MainContext.MainContext ->     -- context : TInterface (Name {namespace = "GLib", name = "MainContext"})+    IO (Ptr RepoFinderAvahi)++{- |+/No description available in the introspection data./+-}+repoFinderAvahiNew ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    GLib.MainContext.MainContext+    -> m RepoFinderAvahi+repoFinderAvahiNew context = liftIO $ do+    context' <- unsafeManagedPtrGetPtr context+    result <- ostree_repo_finder_avahi_new context'+    checkUnexpectedReturnNULL "repoFinderAvahiNew" result+    result' <- (wrapObject RepoFinderAvahi) result+    touchManagedPtr context+    return result'++#if ENABLE_OVERLOADING+#endif++-- method RepoFinderAvahi::start+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "RepoFinderAvahi"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRepoFinderAvahi", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : True+-- Skip return : False++foreign import ccall "ostree_repo_finder_avahi_start" ostree_repo_finder_avahi_start :: +    Ptr RepoFinderAvahi ->                  -- self : TInterface (Name {namespace = "OSTree", name = "RepoFinderAvahi"})+    Ptr (Ptr GError) ->                     -- error+    IO ()++{- |+Start monitoring the local network for peers who are advertising OSTree+repositories, using Avahi. In order for this to work, the 'GI.GLib.Structs.MainContext.MainContext'+passed to /@self@/ at construction time must be iterated (so it will typically+be the global 'GI.GLib.Structs.MainContext.MainContext', or be a separate 'GI.GLib.Structs.MainContext.MainContext' in a worker+thread).++This will return an error ('GI.Gio.Enums.IOErrorEnumFailed') if initialisation fails, or if+Avahi support is not available ('GI.Gio.Enums.IOErrorEnumNotSupported'). In either case,+the 'GI.OSTree.Objects.RepoFinderAvahi.RepoFinderAvahi' instance is useless afterwards and should be+destroyed.++Call 'GI.OSTree.Objects.RepoFinderAvahi.repoFinderAvahiStop' to stop the repo finder.++It is an error to call this function multiple times on the same+'GI.OSTree.Objects.RepoFinderAvahi.RepoFinderAvahi' instance, or to call it after+'GI.OSTree.Objects.RepoFinderAvahi.repoFinderAvahiStop'.++/Since: 2018.6/+-}+repoFinderAvahiStart ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepoFinderAvahi a) =>+    a+    {- ^ /@self@/: an 'GI.OSTree.Objects.RepoFinderAvahi.RepoFinderAvahi' -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoFinderAvahiStart self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    onException (do+        propagateGError $ ostree_repo_finder_avahi_start self'+        touchManagedPtr self+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepoFinderAvahiStartMethodInfo+instance (signature ~ (m ()), MonadIO m, IsRepoFinderAvahi a) => O.MethodInfo RepoFinderAvahiStartMethodInfo a signature where+    overloadedMethod _ = repoFinderAvahiStart++#endif++-- method RepoFinderAvahi::stop+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "RepoFinderAvahi"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRepoFinderAvahi", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_finder_avahi_stop" ostree_repo_finder_avahi_stop :: +    Ptr RepoFinderAvahi ->                  -- self : TInterface (Name {namespace = "OSTree", name = "RepoFinderAvahi"})+    IO ()++{- |+Stop monitoring the local network for peers who are advertising OSTree+repositories. If any resolve tasks (from 'GI.OSTree.Interfaces.RepoFinder.repoFinderResolveAsync')+are in progress, they will be cancelled and will return 'GI.Gio.Enums.IOErrorEnumCancelled'.++Call 'GI.OSTree.Objects.RepoFinderAvahi.repoFinderAvahiStart' to start the repo finder.++It is an error to call this function multiple times on the same+'GI.OSTree.Objects.RepoFinderAvahi.RepoFinderAvahi' instance, or to call it before+'GI.OSTree.Objects.RepoFinderAvahi.repoFinderAvahiStart'.++/Since: 2018.6/+-}+repoFinderAvahiStop ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepoFinderAvahi a) =>+    a+    {- ^ /@self@/: an 'GI.OSTree.Objects.RepoFinderAvahi.RepoFinderAvahi' -}+    -> m ()+repoFinderAvahiStop self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    ostree_repo_finder_avahi_stop self'+    touchManagedPtr self+    return ()++#if ENABLE_OVERLOADING+data RepoFinderAvahiStopMethodInfo+instance (signature ~ (m ()), MonadIO m, IsRepoFinderAvahi a) => O.MethodInfo RepoFinderAvahiStopMethodInfo a signature where+    overloadedMethod _ = repoFinderAvahiStop++#endif++
+ GI/OSTree/Objects/RepoFinderAvahi.hs-boot view
@@ -0,0 +1,35 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Objects.RepoFinderAvahi 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 RepoFinderAvahi = RepoFinderAvahi (ManagedPtr RepoFinderAvahi)+instance GObject RepoFinderAvahi where+class (GObject o, O.IsDescendantOf RepoFinderAvahi o) => IsRepoFinderAvahi o+instance (GObject o, O.IsDescendantOf RepoFinderAvahi o) => IsRepoFinderAvahi o+instance O.HasParentTypes RepoFinderAvahi+#if ENABLE_OVERLOADING+data RepoFinderAvahiStartMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoFinderAvahiStopMethodInfo+#endif
+ GI/OSTree/Objects/RepoFinderConfig.hs view
@@ -0,0 +1,161 @@+++{- |+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.OSTree.Objects.RepoFinderConfig+    ( ++-- * Exported types+    RepoFinderConfig(..)                    ,+    IsRepoFinderConfig                      ,+    toRepoFinderConfig                      ,+    noRepoFinderConfig                      ,+++ -- * Methods+-- ** new #method:new#++    repoFinderConfigNew                     ,+++++    ) 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.GObject.Objects.Object as GObject.Object+import {-# SOURCE #-} qualified GI.OSTree.Interfaces.RepoFinder as OSTree.RepoFinder++-- | Memory-managed wrapper type.+newtype RepoFinderConfig = RepoFinderConfig (ManagedPtr RepoFinderConfig)+foreign import ccall "ostree_repo_finder_config_get_type"+    c_ostree_repo_finder_config_get_type :: IO GType++instance GObject RepoFinderConfig where+    gobjectType = c_ostree_repo_finder_config_get_type+    ++-- | Type class for types which can be safely cast to `RepoFinderConfig`, for instance with `toRepoFinderConfig`.+class (GObject o, O.IsDescendantOf RepoFinderConfig o) => IsRepoFinderConfig o+instance (GObject o, O.IsDescendantOf RepoFinderConfig o) => IsRepoFinderConfig o++instance O.HasParentTypes RepoFinderConfig+type instance O.ParentTypes RepoFinderConfig = '[GObject.Object.Object, OSTree.RepoFinder.RepoFinder]++-- | Cast to `RepoFinderConfig`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toRepoFinderConfig :: (MonadIO m, IsRepoFinderConfig o) => o -> m RepoFinderConfig+toRepoFinderConfig = liftIO . unsafeCastTo RepoFinderConfig++-- | A convenience alias for `Nothing` :: `Maybe` `RepoFinderConfig`.+noRepoFinderConfig :: Maybe RepoFinderConfig+noRepoFinderConfig = Nothing++#if ENABLE_OVERLOADING+type family ResolveRepoFinderConfigMethod (t :: Symbol) (o :: *) :: * where+    ResolveRepoFinderConfigMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveRepoFinderConfigMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveRepoFinderConfigMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveRepoFinderConfigMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveRepoFinderConfigMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveRepoFinderConfigMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveRepoFinderConfigMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveRepoFinderConfigMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveRepoFinderConfigMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveRepoFinderConfigMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveRepoFinderConfigMethod "resolveAsync" o = OSTree.RepoFinder.RepoFinderResolveAsyncMethodInfo+    ResolveRepoFinderConfigMethod "resolveFinish" o = OSTree.RepoFinder.RepoFinderResolveFinishMethodInfo+    ResolveRepoFinderConfigMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveRepoFinderConfigMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveRepoFinderConfigMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveRepoFinderConfigMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveRepoFinderConfigMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveRepoFinderConfigMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveRepoFinderConfigMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveRepoFinderConfigMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveRepoFinderConfigMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveRepoFinderConfigMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveRepoFinderConfigMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveRepoFinderConfigMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRepoFinderConfigMethod t RepoFinderConfig, O.MethodInfo info RepoFinderConfig p) => OL.IsLabel t (RepoFinderConfig -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList RepoFinderConfig+type instance O.AttributeList RepoFinderConfig = RepoFinderConfigAttributeList+type RepoFinderConfigAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type instance O.SignalList RepoFinderConfig = RepoFinderConfigSignalList+type RepoFinderConfigSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method RepoFinderConfig::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "RepoFinderConfig"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_finder_config_new" ostree_repo_finder_config_new :: +    IO (Ptr RepoFinderConfig)++{- |+Create a new 'GI.OSTree.Objects.RepoFinderConfig.RepoFinderConfig'.++/Since: 2018.6/+-}+repoFinderConfigNew ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m RepoFinderConfig+    {- ^ __Returns:__ a new 'GI.OSTree.Objects.RepoFinderConfig.RepoFinderConfig' -}+repoFinderConfigNew  = liftIO $ do+    result <- ostree_repo_finder_config_new+    checkUnexpectedReturnNULL "repoFinderConfigNew" result+    result' <- (wrapObject RepoFinderConfig) result+    return result'++#if ENABLE_OVERLOADING+#endif++
+ GI/OSTree/Objects/RepoFinderConfig.hs-boot view
@@ -0,0 +1,29 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Objects.RepoFinderConfig 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 RepoFinderConfig = RepoFinderConfig (ManagedPtr RepoFinderConfig)+instance GObject RepoFinderConfig where+class (GObject o, O.IsDescendantOf RepoFinderConfig o) => IsRepoFinderConfig o+instance (GObject o, O.IsDescendantOf RepoFinderConfig o) => IsRepoFinderConfig o+instance O.HasParentTypes RepoFinderConfig
+ GI/OSTree/Objects/RepoFinderMount.hs view
@@ -0,0 +1,232 @@+++{- |+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.OSTree.Objects.RepoFinderMount+    ( ++-- * Exported types+    RepoFinderMount(..)                     ,+    IsRepoFinderMount                       ,+    toRepoFinderMount                       ,+    noRepoFinderMount                       ,+++ -- * Methods+-- ** new #method:new#++    repoFinderMountNew                      ,+++++ -- * Properties+-- ** monitor #attr:monitor#+{- | Volume monitor to use to look up mounted volumes when queried.++/Since: 2018.6/+-}+#if ENABLE_OVERLOADING+    RepoFinderMountMonitorPropertyInfo      ,+#endif+    constructRepoFinderMountMonitor         ,+    getRepoFinderMountMonitor               ,+#if ENABLE_OVERLOADING+    repoFinderMountMonitor                  ,+#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.GObject.Objects.Object as GObject.Object+import qualified GI.Gio.Objects.VolumeMonitor as Gio.VolumeMonitor+import {-# SOURCE #-} qualified GI.OSTree.Interfaces.RepoFinder as OSTree.RepoFinder++-- | Memory-managed wrapper type.+newtype RepoFinderMount = RepoFinderMount (ManagedPtr RepoFinderMount)+foreign import ccall "ostree_repo_finder_mount_get_type"+    c_ostree_repo_finder_mount_get_type :: IO GType++instance GObject RepoFinderMount where+    gobjectType = c_ostree_repo_finder_mount_get_type+    ++-- | Type class for types which can be safely cast to `RepoFinderMount`, for instance with `toRepoFinderMount`.+class (GObject o, O.IsDescendantOf RepoFinderMount o) => IsRepoFinderMount o+instance (GObject o, O.IsDescendantOf RepoFinderMount o) => IsRepoFinderMount o++instance O.HasParentTypes RepoFinderMount+type instance O.ParentTypes RepoFinderMount = '[GObject.Object.Object, OSTree.RepoFinder.RepoFinder]++-- | Cast to `RepoFinderMount`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toRepoFinderMount :: (MonadIO m, IsRepoFinderMount o) => o -> m RepoFinderMount+toRepoFinderMount = liftIO . unsafeCastTo RepoFinderMount++-- | A convenience alias for `Nothing` :: `Maybe` `RepoFinderMount`.+noRepoFinderMount :: Maybe RepoFinderMount+noRepoFinderMount = Nothing++#if ENABLE_OVERLOADING+type family ResolveRepoFinderMountMethod (t :: Symbol) (o :: *) :: * where+    ResolveRepoFinderMountMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveRepoFinderMountMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveRepoFinderMountMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveRepoFinderMountMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveRepoFinderMountMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveRepoFinderMountMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveRepoFinderMountMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveRepoFinderMountMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveRepoFinderMountMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveRepoFinderMountMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveRepoFinderMountMethod "resolveAsync" o = OSTree.RepoFinder.RepoFinderResolveAsyncMethodInfo+    ResolveRepoFinderMountMethod "resolveFinish" o = OSTree.RepoFinder.RepoFinderResolveFinishMethodInfo+    ResolveRepoFinderMountMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveRepoFinderMountMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveRepoFinderMountMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveRepoFinderMountMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveRepoFinderMountMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveRepoFinderMountMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveRepoFinderMountMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveRepoFinderMountMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveRepoFinderMountMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveRepoFinderMountMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveRepoFinderMountMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveRepoFinderMountMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRepoFinderMountMethod t RepoFinderMount, O.MethodInfo info RepoFinderMount p) => OL.IsLabel t (RepoFinderMount -> 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++-- VVV Prop "monitor"+   -- Type: TInterface (Name {namespace = "Gio", name = "VolumeMonitor"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@monitor@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoFinderMount #monitor+@+-}+getRepoFinderMountMonitor :: (MonadIO m, IsRepoFinderMount o) => o -> m (Maybe Gio.VolumeMonitor.VolumeMonitor)+getRepoFinderMountMonitor obj = liftIO $ B.Properties.getObjectPropertyObject obj "monitor" Gio.VolumeMonitor.VolumeMonitor++{- |+Construct a `GValueConstruct` with valid value for the “@monitor@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructRepoFinderMountMonitor :: (IsRepoFinderMount o, Gio.VolumeMonitor.IsVolumeMonitor a) => a -> IO (GValueConstruct o)+constructRepoFinderMountMonitor val = B.Properties.constructObjectPropertyObject "monitor" (Just val)++#if ENABLE_OVERLOADING+data RepoFinderMountMonitorPropertyInfo+instance AttrInfo RepoFinderMountMonitorPropertyInfo where+    type AttrAllowedOps RepoFinderMountMonitorPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint RepoFinderMountMonitorPropertyInfo = Gio.VolumeMonitor.IsVolumeMonitor+    type AttrBaseTypeConstraint RepoFinderMountMonitorPropertyInfo = IsRepoFinderMount+    type AttrGetType RepoFinderMountMonitorPropertyInfo = (Maybe Gio.VolumeMonitor.VolumeMonitor)+    type AttrLabel RepoFinderMountMonitorPropertyInfo = "monitor"+    type AttrOrigin RepoFinderMountMonitorPropertyInfo = RepoFinderMount+    attrGet _ = getRepoFinderMountMonitor+    attrSet _ = undefined+    attrConstruct _ = constructRepoFinderMountMonitor+    attrClear _ = undefined+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList RepoFinderMount+type instance O.AttributeList RepoFinderMount = RepoFinderMountAttributeList+type RepoFinderMountAttributeList = ('[ '("monitor", RepoFinderMountMonitorPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+repoFinderMountMonitor :: AttrLabelProxy "monitor"+repoFinderMountMonitor = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+type instance O.SignalList RepoFinderMount = RepoFinderMountSignalList+type RepoFinderMountSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method RepoFinderMount::new+-- method type : Constructor+-- Args : [Arg {argCName = "monitor", argType = TInterface (Name {namespace = "Gio", name = "VolumeMonitor"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "volume monitor to use, or %NULL to use\n   the system default", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "RepoFinderMount"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_finder_mount_new" ostree_repo_finder_mount_new :: +    Ptr Gio.VolumeMonitor.VolumeMonitor ->  -- monitor : TInterface (Name {namespace = "Gio", name = "VolumeMonitor"})+    IO (Ptr RepoFinderMount)++{- |+Create a new 'GI.OSTree.Objects.RepoFinderMount.RepoFinderMount', using the given /@monitor@/ to look up+volumes. If /@monitor@/ is 'Nothing', the monitor from 'GI.Gio.Objects.VolumeMonitor.volumeMonitorGet' will+be used.++/Since: 2018.6/+-}+repoFinderMountNew ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.VolumeMonitor.IsVolumeMonitor a) =>+    Maybe (a)+    {- ^ /@monitor@/: volume monitor to use, or 'Nothing' to use+   the system default -}+    -> m RepoFinderMount+    {- ^ __Returns:__ a new 'GI.OSTree.Objects.RepoFinderMount.RepoFinderMount' -}+repoFinderMountNew monitor = liftIO $ do+    maybeMonitor <- case monitor of+        Nothing -> return nullPtr+        Just jMonitor -> do+            jMonitor' <- unsafeManagedPtrCastPtr jMonitor+            return jMonitor'+    result <- ostree_repo_finder_mount_new maybeMonitor+    checkUnexpectedReturnNULL "repoFinderMountNew" result+    result' <- (wrapObject RepoFinderMount) result+    whenJust monitor touchManagedPtr+    return result'++#if ENABLE_OVERLOADING+#endif++
+ GI/OSTree/Objects/RepoFinderMount.hs-boot view
@@ -0,0 +1,32 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Objects.RepoFinderMount 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 RepoFinderMount = RepoFinderMount (ManagedPtr RepoFinderMount)+instance GObject RepoFinderMount where+class (GObject o, O.IsDescendantOf RepoFinderMount o) => IsRepoFinderMount o+instance (GObject o, O.IsDescendantOf RepoFinderMount o) => IsRepoFinderMount o+instance O.HasParentTypes RepoFinderMount+#if ENABLE_OVERLOADING+data RepoFinderMountMonitorPropertyInfo+#endif
+ GI/OSTree/Objects/RepoFinderOverride.hs view
@@ -0,0 +1,210 @@+++{- |+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.OSTree.Objects.RepoFinderOverride+    ( ++-- * Exported types+    RepoFinderOverride(..)                  ,+    IsRepoFinderOverride                    ,+    toRepoFinderOverride                    ,+    noRepoFinderOverride                    ,+++ -- * Methods+-- ** addUri #method:addUri#++#if ENABLE_OVERLOADING+    RepoFinderOverrideAddUriMethodInfo      ,+#endif+    repoFinderOverrideAddUri                ,+++-- ** new #method:new#++    repoFinderOverrideNew                   ,+++++    ) 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.GObject.Objects.Object as GObject.Object+import {-# SOURCE #-} qualified GI.OSTree.Interfaces.RepoFinder as OSTree.RepoFinder++-- | Memory-managed wrapper type.+newtype RepoFinderOverride = RepoFinderOverride (ManagedPtr RepoFinderOverride)+foreign import ccall "ostree_repo_finder_override_get_type"+    c_ostree_repo_finder_override_get_type :: IO GType++instance GObject RepoFinderOverride where+    gobjectType = c_ostree_repo_finder_override_get_type+    ++-- | Type class for types which can be safely cast to `RepoFinderOverride`, for instance with `toRepoFinderOverride`.+class (GObject o, O.IsDescendantOf RepoFinderOverride o) => IsRepoFinderOverride o+instance (GObject o, O.IsDescendantOf RepoFinderOverride o) => IsRepoFinderOverride o++instance O.HasParentTypes RepoFinderOverride+type instance O.ParentTypes RepoFinderOverride = '[GObject.Object.Object, OSTree.RepoFinder.RepoFinder]++-- | Cast to `RepoFinderOverride`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toRepoFinderOverride :: (MonadIO m, IsRepoFinderOverride o) => o -> m RepoFinderOverride+toRepoFinderOverride = liftIO . unsafeCastTo RepoFinderOverride++-- | A convenience alias for `Nothing` :: `Maybe` `RepoFinderOverride`.+noRepoFinderOverride :: Maybe RepoFinderOverride+noRepoFinderOverride = Nothing++#if ENABLE_OVERLOADING+type family ResolveRepoFinderOverrideMethod (t :: Symbol) (o :: *) :: * where+    ResolveRepoFinderOverrideMethod "addUri" o = RepoFinderOverrideAddUriMethodInfo+    ResolveRepoFinderOverrideMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveRepoFinderOverrideMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveRepoFinderOverrideMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveRepoFinderOverrideMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveRepoFinderOverrideMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveRepoFinderOverrideMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveRepoFinderOverrideMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveRepoFinderOverrideMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveRepoFinderOverrideMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveRepoFinderOverrideMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveRepoFinderOverrideMethod "resolveAsync" o = OSTree.RepoFinder.RepoFinderResolveAsyncMethodInfo+    ResolveRepoFinderOverrideMethod "resolveFinish" o = OSTree.RepoFinder.RepoFinderResolveFinishMethodInfo+    ResolveRepoFinderOverrideMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveRepoFinderOverrideMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveRepoFinderOverrideMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveRepoFinderOverrideMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveRepoFinderOverrideMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveRepoFinderOverrideMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveRepoFinderOverrideMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveRepoFinderOverrideMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveRepoFinderOverrideMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveRepoFinderOverrideMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveRepoFinderOverrideMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveRepoFinderOverrideMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRepoFinderOverrideMethod t RepoFinderOverride, O.MethodInfo info RepoFinderOverride p) => OL.IsLabel t (RepoFinderOverride -> p) where+#if MIN_VERSION_base(4,10,0)+    fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#else+    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)+#endif++#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList RepoFinderOverride+type instance O.AttributeList RepoFinderOverride = RepoFinderOverrideAttributeList+type RepoFinderOverrideAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type instance O.SignalList RepoFinderOverride = RepoFinderOverrideSignalList+type RepoFinderOverrideSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method RepoFinderOverride::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "RepoFinderOverride"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_finder_override_new" ostree_repo_finder_override_new :: +    IO (Ptr RepoFinderOverride)++{- |+Create a new 'GI.OSTree.Objects.RepoFinderOverride.RepoFinderOverride'.++/Since: 2018.6/+-}+repoFinderOverrideNew ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m RepoFinderOverride+    {- ^ __Returns:__ a new 'GI.OSTree.Objects.RepoFinderOverride.RepoFinderOverride' -}+repoFinderOverrideNew  = liftIO $ do+    result <- ostree_repo_finder_override_new+    checkUnexpectedReturnNULL "repoFinderOverrideNew" result+    result' <- (wrapObject RepoFinderOverride) result+    return result'++#if ENABLE_OVERLOADING+#endif++-- method RepoFinderOverride::add_uri+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "RepoFinderOverride"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, 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 "URI to add to the repo finder", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_finder_override_add_uri" ostree_repo_finder_override_add_uri :: +    Ptr RepoFinderOverride ->               -- self : TInterface (Name {namespace = "OSTree", name = "RepoFinderOverride"})+    CString ->                              -- uri : TBasicType TUTF8+    IO ()++{- |+Add the given /@uri@/ to the set of URIs which the repo finder will search for+matching refs when 'GI.OSTree.Interfaces.RepoFinder.repoFinderResolveAsync' is called on it.++/Since: 2018.6/+-}+repoFinderOverrideAddUri ::+    (B.CallStack.HasCallStack, MonadIO m, IsRepoFinderOverride a) =>+    a+    -> T.Text+    {- ^ /@uri@/: URI to add to the repo finder -}+    -> m ()+repoFinderOverrideAddUri self uri = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    uri' <- textToCString uri+    ostree_repo_finder_override_add_uri self' uri'+    touchManagedPtr self+    freeMem uri'+    return ()++#if ENABLE_OVERLOADING+data RepoFinderOverrideAddUriMethodInfo+instance (signature ~ (T.Text -> m ()), MonadIO m, IsRepoFinderOverride a) => O.MethodInfo RepoFinderOverrideAddUriMethodInfo a signature where+    overloadedMethod _ = repoFinderOverrideAddUri++#endif++
+ GI/OSTree/Objects/RepoFinderOverride.hs-boot view
@@ -0,0 +1,32 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Objects.RepoFinderOverride 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 RepoFinderOverride = RepoFinderOverride (ManagedPtr RepoFinderOverride)+instance GObject RepoFinderOverride where+class (GObject o, O.IsDescendantOf RepoFinderOverride o) => IsRepoFinderOverride o+instance (GObject o, O.IsDescendantOf RepoFinderOverride o) => IsRepoFinderOverride o+instance O.HasParentTypes RepoFinderOverride+#if ENABLE_OVERLOADING+data RepoFinderOverrideAddUriMethodInfo+#endif
+ GI/OSTree/Objects/SePolicy.hs view
@@ -0,0 +1,720 @@+++{- |+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.OSTree.Objects.SePolicy+    ( ++-- * Exported types+    SePolicy(..)                            ,+    IsSePolicy                              ,+    toSePolicy                              ,+    noSePolicy                              ,+++ -- * Methods+-- ** fscreateconCleanup #method:fscreateconCleanup#++    sePolicyFscreateconCleanup              ,+++-- ** getCsum #method:getCsum#++#if ENABLE_OVERLOADING+    SePolicyGetCsumMethodInfo               ,+#endif+    sePolicyGetCsum                         ,+++-- ** getLabel #method:getLabel#++#if ENABLE_OVERLOADING+    SePolicyGetLabelMethodInfo              ,+#endif+    sePolicyGetLabel                        ,+++-- ** getName #method:getName#++#if ENABLE_OVERLOADING+    SePolicyGetNameMethodInfo               ,+#endif+    sePolicyGetName                         ,+++-- ** getPath #method:getPath#++#if ENABLE_OVERLOADING+    SePolicyGetPathMethodInfo               ,+#endif+    sePolicyGetPath                         ,+++-- ** new #method:new#++    sePolicyNew                             ,+++-- ** newAt #method:newAt#++    sePolicyNewAt                           ,+++-- ** restorecon #method:restorecon#++#if ENABLE_OVERLOADING+    SePolicyRestoreconMethodInfo            ,+#endif+    sePolicyRestorecon                      ,+++-- ** setfscreatecon #method:setfscreatecon#++#if ENABLE_OVERLOADING+    SePolicySetfscreateconMethodInfo        ,+#endif+    sePolicySetfscreatecon                  ,+++++ -- * Properties+-- ** path #attr:path#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    SePolicyPathPropertyInfo                ,+#endif+    constructSePolicyPath                   ,+    getSePolicyPath                         ,+#if ENABLE_OVERLOADING+    sePolicyPath                            ,+#endif+++-- ** rootfsDfd #attr:rootfsDfd#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    SePolicyRootfsDfdPropertyInfo           ,+#endif+    constructSePolicyRootfsDfd              ,+    getSePolicyRootfsDfd                    ,+#if ENABLE_OVERLOADING+    sePolicyRootfsDfd                       ,+#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.GObject.Objects.Object as GObject.Object+import qualified GI.Gio.Interfaces.File as Gio.File+import qualified GI.Gio.Interfaces.Initable as Gio.Initable+import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable+import qualified GI.Gio.Objects.FileInfo as Gio.FileInfo+import {-# SOURCE #-} qualified GI.OSTree.Flags as OSTree.Flags++-- | Memory-managed wrapper type.+newtype SePolicy = SePolicy (ManagedPtr SePolicy)+foreign import ccall "ostree_sepolicy_get_type"+    c_ostree_sepolicy_get_type :: IO GType++instance GObject SePolicy where+    gobjectType = c_ostree_sepolicy_get_type+    ++-- | Type class for types which can be safely cast to `SePolicy`, for instance with `toSePolicy`.+class (GObject o, O.IsDescendantOf SePolicy o) => IsSePolicy o+instance (GObject o, O.IsDescendantOf SePolicy o) => IsSePolicy o++instance O.HasParentTypes SePolicy+type instance O.ParentTypes SePolicy = '[GObject.Object.Object, Gio.Initable.Initable]++-- | Cast to `SePolicy`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toSePolicy :: (MonadIO m, IsSePolicy o) => o -> m SePolicy+toSePolicy = liftIO . unsafeCastTo SePolicy++-- | A convenience alias for `Nothing` :: `Maybe` `SePolicy`.+noSePolicy :: Maybe SePolicy+noSePolicy = Nothing++#if ENABLE_OVERLOADING+type family ResolveSePolicyMethod (t :: Symbol) (o :: *) :: * where+    ResolveSePolicyMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveSePolicyMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveSePolicyMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveSePolicyMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveSePolicyMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveSePolicyMethod "init" o = Gio.Initable.InitableInitMethodInfo+    ResolveSePolicyMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveSePolicyMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveSePolicyMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveSePolicyMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveSePolicyMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveSePolicyMethod "restorecon" o = SePolicyRestoreconMethodInfo+    ResolveSePolicyMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveSePolicyMethod "setfscreatecon" o = SePolicySetfscreateconMethodInfo+    ResolveSePolicyMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveSePolicyMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveSePolicyMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveSePolicyMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveSePolicyMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveSePolicyMethod "getCsum" o = SePolicyGetCsumMethodInfo+    ResolveSePolicyMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveSePolicyMethod "getLabel" o = SePolicyGetLabelMethodInfo+    ResolveSePolicyMethod "getName" o = SePolicyGetNameMethodInfo+    ResolveSePolicyMethod "getPath" o = SePolicyGetPathMethodInfo+    ResolveSePolicyMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveSePolicyMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveSePolicyMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveSePolicyMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveSePolicyMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveSePolicyMethod t SePolicy, O.MethodInfo info SePolicy p) => OL.IsLabel t (SePolicy -> 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++-- VVV Prop "path"+   -- Type: TInterface (Name {namespace = "Gio", name = "File"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@path@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' sePolicy #path+@+-}+getSePolicyPath :: (MonadIO m, IsSePolicy o) => o -> m Gio.File.File+getSePolicyPath obj = liftIO $ checkUnexpectedNothing "getSePolicyPath" $ B.Properties.getObjectPropertyObject obj "path" Gio.File.File++{- |+Construct a `GValueConstruct` with valid value for the “@path@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructSePolicyPath :: (IsSePolicy o, Gio.File.IsFile a) => a -> IO (GValueConstruct o)+constructSePolicyPath val = B.Properties.constructObjectPropertyObject "path" (Just val)++#if ENABLE_OVERLOADING+data SePolicyPathPropertyInfo+instance AttrInfo SePolicyPathPropertyInfo where+    type AttrAllowedOps SePolicyPathPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint SePolicyPathPropertyInfo = Gio.File.IsFile+    type AttrBaseTypeConstraint SePolicyPathPropertyInfo = IsSePolicy+    type AttrGetType SePolicyPathPropertyInfo = Gio.File.File+    type AttrLabel SePolicyPathPropertyInfo = "path"+    type AttrOrigin SePolicyPathPropertyInfo = SePolicy+    attrGet _ = getSePolicyPath+    attrSet _ = undefined+    attrConstruct _ = constructSePolicyPath+    attrClear _ = undefined+#endif++-- VVV Prop "rootfs-dfd"+   -- Type: TBasicType TInt+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@rootfs-dfd@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' sePolicy #rootfsDfd+@+-}+getSePolicyRootfsDfd :: (MonadIO m, IsSePolicy o) => o -> m Int32+getSePolicyRootfsDfd obj = liftIO $ B.Properties.getObjectPropertyInt32 obj "rootfs-dfd"++{- |+Construct a `GValueConstruct` with valid value for the “@rootfs-dfd@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructSePolicyRootfsDfd :: (IsSePolicy o) => Int32 -> IO (GValueConstruct o)+constructSePolicyRootfsDfd val = B.Properties.constructObjectPropertyInt32 "rootfs-dfd" val++#if ENABLE_OVERLOADING+data SePolicyRootfsDfdPropertyInfo+instance AttrInfo SePolicyRootfsDfdPropertyInfo where+    type AttrAllowedOps SePolicyRootfsDfdPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SePolicyRootfsDfdPropertyInfo = (~) Int32+    type AttrBaseTypeConstraint SePolicyRootfsDfdPropertyInfo = IsSePolicy+    type AttrGetType SePolicyRootfsDfdPropertyInfo = Int32+    type AttrLabel SePolicyRootfsDfdPropertyInfo = "rootfs-dfd"+    type AttrOrigin SePolicyRootfsDfdPropertyInfo = SePolicy+    attrGet _ = getSePolicyRootfsDfd+    attrSet _ = undefined+    attrConstruct _ = constructSePolicyRootfsDfd+    attrClear _ = undefined+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList SePolicy+type instance O.AttributeList SePolicy = SePolicyAttributeList+type SePolicyAttributeList = ('[ '("path", SePolicyPathPropertyInfo), '("rootfsDfd", SePolicyRootfsDfdPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+sePolicyPath :: AttrLabelProxy "path"+sePolicyPath = AttrLabelProxy++sePolicyRootfsDfd :: AttrLabelProxy "rootfsDfd"+sePolicyRootfsDfd = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+type instance O.SignalList SePolicy = SePolicySignalList+type SePolicySignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method SePolicy::new+-- method type : Constructor+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Path to a root directory", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "SePolicy"}))+-- throws : True+-- Skip return : False++foreign import ccall "ostree_sepolicy_new" ostree_sepolicy_new :: +    Ptr Gio.File.File ->                    -- path : TInterface (Name {namespace = "Gio", name = "File"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr SePolicy)++{- |+/No description available in the introspection data./+-}+sePolicyNew ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.File.IsFile a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@path@/: Path to a root directory -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m SePolicy+    {- ^ __Returns:__ An accessor object for SELinux policy in root located at /@path@/ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sePolicyNew path cancellable = liftIO $ do+    path' <- unsafeManagedPtrCastPtr path+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        result <- propagateGError $ ostree_sepolicy_new path' maybeCancellable+        checkUnexpectedReturnNULL "sePolicyNew" result+        result' <- (wrapObject SePolicy) result+        touchManagedPtr path+        whenJust cancellable touchManagedPtr+        return result'+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+#endif++-- method SePolicy::new_at+-- method type : Constructor+-- Args : [Arg {argCName = "rootfs_dfd", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Directory fd for rootfs (will not be cloned)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "SePolicy"}))+-- throws : True+-- Skip return : False++foreign import ccall "ostree_sepolicy_new_at" ostree_sepolicy_new_at :: +    Int32 ->                                -- rootfs_dfd : TBasicType TInt+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr SePolicy)++{- |+/No description available in the introspection data./+-}+sePolicyNewAt ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.Cancellable.IsCancellable a) =>+    Int32+    {- ^ /@rootfsDfd@/: Directory fd for rootfs (will not be cloned) -}+    -> Maybe (a)+    {- ^ /@cancellable@/: Cancellable -}+    -> m SePolicy+    {- ^ __Returns:__ An accessor object for SELinux policy in root located at /@rootfsDfd@/ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sePolicyNewAt rootfsDfd cancellable = liftIO $ do+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        result <- propagateGError $ ostree_sepolicy_new_at rootfsDfd maybeCancellable+        checkUnexpectedReturnNULL "sePolicyNewAt" result+        result' <- (wrapObject SePolicy) result+        whenJust cancellable touchManagedPtr+        return result'+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+#endif++-- method SePolicy::get_csum+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "SePolicy"}), 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 "ostree_sepolicy_get_csum" ostree_sepolicy_get_csum :: +    Ptr SePolicy ->                         -- self : TInterface (Name {namespace = "OSTree", name = "SePolicy"})+    IO CString++{- |+/No description available in the introspection data./+-}+sePolicyGetCsum ::+    (B.CallStack.HasCallStack, MonadIO m, IsSePolicy a) =>+    a+    -> m T.Text+    {- ^ __Returns:__ Checksum of current policy -}+sePolicyGetCsum self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_sepolicy_get_csum self'+    checkUnexpectedReturnNULL "sePolicyGetCsum" result+    result' <- cstringToText result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data SePolicyGetCsumMethodInfo+instance (signature ~ (m T.Text), MonadIO m, IsSePolicy a) => O.MethodInfo SePolicyGetCsumMethodInfo a signature where+    overloadedMethod _ = sePolicyGetCsum++#endif++-- method SePolicy::get_label+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "SePolicy"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Self", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "relpath", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unix_mode", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Unix mode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_label", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Return location for security context", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_sepolicy_get_label" ostree_sepolicy_get_label :: +    Ptr SePolicy ->                         -- self : TInterface (Name {namespace = "OSTree", name = "SePolicy"})+    CString ->                              -- relpath : TBasicType TUTF8+    Word32 ->                               -- unix_mode : TBasicType TUInt32+    Ptr CString ->                          -- out_label : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Store in /@outLabel@/ the security context for the given /@relpath@/ and+mode /@unixMode@/.  If the policy does not specify a label, 'Nothing'+will be returned.+-}+sePolicyGetLabel ::+    (B.CallStack.HasCallStack, MonadIO m, IsSePolicy a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Self -}+    -> T.Text+    {- ^ /@relpath@/: Path -}+    -> Word32+    {- ^ /@unixMode@/: Unix mode -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m (T.Text)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sePolicyGetLabel self relpath unixMode cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    relpath' <- textToCString relpath+    outLabel <- allocMem :: IO (Ptr CString)+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_sepolicy_get_label self' relpath' unixMode outLabel maybeCancellable+        outLabel' <- peek outLabel+        outLabel'' <- cstringToText outLabel'+        freeMem outLabel'+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem relpath'+        freeMem outLabel+        return outLabel''+     ) (do+        freeMem relpath'+        freeMem outLabel+     )++#if ENABLE_OVERLOADING+data SePolicyGetLabelMethodInfo+instance (signature ~ (T.Text -> Word32 -> Maybe (b) -> m (T.Text)), MonadIO m, IsSePolicy a, Gio.Cancellable.IsCancellable b) => O.MethodInfo SePolicyGetLabelMethodInfo a signature where+    overloadedMethod _ = sePolicyGetLabel++#endif++-- method SePolicy::get_name+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "SePolicy"}), 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 "ostree_sepolicy_get_name" ostree_sepolicy_get_name :: +    Ptr SePolicy ->                         -- self : TInterface (Name {namespace = "OSTree", name = "SePolicy"})+    IO CString++{- |+/No description available in the introspection data./+-}+sePolicyGetName ::+    (B.CallStack.HasCallStack, MonadIO m, IsSePolicy a) =>+    a+    -> m T.Text+    {- ^ __Returns:__ Type of current policy -}+sePolicyGetName self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_sepolicy_get_name self'+    checkUnexpectedReturnNULL "sePolicyGetName" result+    result' <- cstringToText result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data SePolicyGetNameMethodInfo+instance (signature ~ (m T.Text), MonadIO m, IsSePolicy a) => O.MethodInfo SePolicyGetNameMethodInfo a signature where+    overloadedMethod _ = sePolicyGetName++#endif++-- method SePolicy::get_path+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "SePolicy"}), 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 = "Gio", name = "File"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_sepolicy_get_path" ostree_sepolicy_get_path :: +    Ptr SePolicy ->                         -- self : TInterface (Name {namespace = "OSTree", name = "SePolicy"})+    IO (Ptr Gio.File.File)++{- |+/No description available in the introspection data./+-}+sePolicyGetPath ::+    (B.CallStack.HasCallStack, MonadIO m, IsSePolicy a) =>+    a+    -> m Gio.File.File+    {- ^ __Returns:__ Path to rootfs -}+sePolicyGetPath self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_sepolicy_get_path self'+    checkUnexpectedReturnNULL "sePolicyGetPath" result+    result' <- (newObject Gio.File.File) result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data SePolicyGetPathMethodInfo+instance (signature ~ (m Gio.File.File), MonadIO m, IsSePolicy a) => O.MethodInfo SePolicyGetPathMethodInfo a signature where+    overloadedMethod _ = sePolicyGetPath++#endif++-- method SePolicy::restorecon+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "SePolicy"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Self", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Path string to use for policy lookup", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "info", argType = TInterface (Name {namespace = "Gio", name = "FileInfo"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "File attributes", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "target", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Physical path to target file", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "OSTree", name = "SePolicyRestoreconFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Flags controlling behavior", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_new_label", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "New label, or %NULL if unchanged", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_sepolicy_restorecon" ostree_sepolicy_restorecon :: +    Ptr SePolicy ->                         -- self : TInterface (Name {namespace = "OSTree", name = "SePolicy"})+    CString ->                              -- path : TBasicType TUTF8+    Ptr Gio.FileInfo.FileInfo ->            -- info : TInterface (Name {namespace = "Gio", name = "FileInfo"})+    Ptr Gio.File.File ->                    -- target : TInterface (Name {namespace = "Gio", name = "File"})+    CUInt ->                                -- flags : TInterface (Name {namespace = "OSTree", name = "SePolicyRestoreconFlags"})+    Ptr CString ->                          -- out_new_label : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Reset the security context of /@target@/ based on the SELinux policy.+-}+sePolicyRestorecon ::+    (B.CallStack.HasCallStack, MonadIO m, IsSePolicy a, Gio.FileInfo.IsFileInfo b, Gio.File.IsFile c, Gio.Cancellable.IsCancellable d) =>+    a+    {- ^ /@self@/: Self -}+    -> T.Text+    {- ^ /@path@/: Path string to use for policy lookup -}+    -> Maybe (b)+    {- ^ /@info@/: File attributes -}+    -> c+    {- ^ /@target@/: Physical path to target file -}+    -> [OSTree.Flags.SePolicyRestoreconFlags]+    {- ^ /@flags@/: Flags controlling behavior -}+    -> Maybe (d)+    {- ^ /@cancellable@/: Cancellable -}+    -> m (T.Text)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sePolicyRestorecon self path info target flags cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    path' <- textToCString path+    maybeInfo <- case info of+        Nothing -> return nullPtr+        Just jInfo -> do+            jInfo' <- unsafeManagedPtrCastPtr jInfo+            return jInfo'+    target' <- unsafeManagedPtrCastPtr target+    let flags' = gflagsToWord flags+    outNewLabel <- allocMem :: IO (Ptr CString)+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_sepolicy_restorecon self' path' maybeInfo target' flags' outNewLabel maybeCancellable+        outNewLabel' <- peek outNewLabel+        outNewLabel'' <- cstringToText outNewLabel'+        freeMem outNewLabel'+        touchManagedPtr self+        whenJust info touchManagedPtr+        touchManagedPtr target+        whenJust cancellable touchManagedPtr+        freeMem path'+        freeMem outNewLabel+        return outNewLabel''+     ) (do+        freeMem path'+        freeMem outNewLabel+     )++#if ENABLE_OVERLOADING+data SePolicyRestoreconMethodInfo+instance (signature ~ (T.Text -> Maybe (b) -> c -> [OSTree.Flags.SePolicyRestoreconFlags] -> Maybe (d) -> m (T.Text)), MonadIO m, IsSePolicy a, Gio.FileInfo.IsFileInfo b, Gio.File.IsFile c, Gio.Cancellable.IsCancellable d) => O.MethodInfo SePolicyRestoreconMethodInfo a signature where+    overloadedMethod _ = sePolicyRestorecon++#endif++-- method SePolicy::setfscreatecon+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "SePolicy"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Policy", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "path", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Use this path to determine a label", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Used along with @path", 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 "ostree_sepolicy_setfscreatecon" ostree_sepolicy_setfscreatecon :: +    Ptr SePolicy ->                         -- self : TInterface (Name {namespace = "OSTree", name = "SePolicy"})+    CString ->                              -- path : TBasicType TUTF8+    Word32 ->                               -- mode : TBasicType TUInt32+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+/No description available in the introspection data./+-}+sePolicySetfscreatecon ::+    (B.CallStack.HasCallStack, MonadIO m, IsSePolicy a) =>+    a+    {- ^ /@self@/: Policy -}+    -> T.Text+    {- ^ /@path@/: Use this path to determine a label -}+    -> Word32+    {- ^ /@mode@/: Used along with /@path@/ -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sePolicySetfscreatecon self path mode = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    path' <- textToCString path+    onException (do+        _ <- propagateGError $ ostree_sepolicy_setfscreatecon self' path' mode+        touchManagedPtr self+        freeMem path'+        return ()+     ) (do+        freeMem path'+     )++#if ENABLE_OVERLOADING+data SePolicySetfscreateconMethodInfo+instance (signature ~ (T.Text -> Word32 -> m ()), MonadIO m, IsSePolicy a) => O.MethodInfo SePolicySetfscreateconMethodInfo a signature where+    overloadedMethod _ = sePolicySetfscreatecon++#endif++-- method SePolicy::fscreatecon_cleanup+-- method type : MemberFunction+-- Args : [Arg {argCName = "unused", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Not used, just in case you didn't infer that from the parameter name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_sepolicy_fscreatecon_cleanup" ostree_sepolicy_fscreatecon_cleanup :: +    Ptr () ->                               -- unused : TBasicType TPtr+    IO ()++{- |+Cleanup function for 'GI.OSTree.Objects.SePolicy.sePolicySetfscreatecon'.+-}+sePolicyFscreateconCleanup ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Ptr ()+    {- ^ /@unused@/: Not used, just in case you didn\'t infer that from the parameter name -}+    -> m ()+sePolicyFscreateconCleanup unused = liftIO $ do+    ostree_sepolicy_fscreatecon_cleanup unused+    return ()++#if ENABLE_OVERLOADING+#endif++
+ GI/OSTree/Objects/SePolicy.hs-boot view
@@ -0,0 +1,53 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Objects.SePolicy 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 SePolicy = SePolicy (ManagedPtr SePolicy)+instance GObject SePolicy where+class (GObject o, O.IsDescendantOf SePolicy o) => IsSePolicy o+instance (GObject o, O.IsDescendantOf SePolicy o) => IsSePolicy o+instance O.HasParentTypes SePolicy+#if ENABLE_OVERLOADING+data SePolicyPathPropertyInfo+#endif+#if ENABLE_OVERLOADING+data SePolicyRootfsDfdPropertyInfo+#endif+#if ENABLE_OVERLOADING+data SePolicyGetCsumMethodInfo+#endif+#if ENABLE_OVERLOADING+data SePolicyGetLabelMethodInfo+#endif+#if ENABLE_OVERLOADING+data SePolicyGetNameMethodInfo+#endif+#if ENABLE_OVERLOADING+data SePolicyGetPathMethodInfo+#endif+#if ENABLE_OVERLOADING+data SePolicyRestoreconMethodInfo+#endif+#if ENABLE_OVERLOADING+data SePolicySetfscreateconMethodInfo+#endif
+ GI/OSTree/Objects/Sysroot.hs view
@@ -0,0 +1,2672 @@+++{- |+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.OSTree.Objects.Sysroot+    ( ++-- * Exported types+    Sysroot(..)                             ,+    IsSysroot                               ,+    toSysroot                               ,+    noSysroot                               ,+++ -- * Methods+-- ** cleanup #method:cleanup#++#if ENABLE_OVERLOADING+    SysrootCleanupMethodInfo                ,+#endif+    sysrootCleanup                          ,+++-- ** cleanupPruneRepo #method:cleanupPruneRepo#++#if ENABLE_OVERLOADING+    SysrootCleanupPruneRepoMethodInfo       ,+#endif+    sysrootCleanupPruneRepo                 ,+++-- ** deployTree #method:deployTree#++#if ENABLE_OVERLOADING+    SysrootDeployTreeMethodInfo             ,+#endif+    sysrootDeployTree                       ,+++-- ** deploymentSetKargs #method:deploymentSetKargs#++#if ENABLE_OVERLOADING+    SysrootDeploymentSetKargsMethodInfo     ,+#endif+    sysrootDeploymentSetKargs               ,+++-- ** deploymentSetMutable #method:deploymentSetMutable#++#if ENABLE_OVERLOADING+    SysrootDeploymentSetMutableMethodInfo   ,+#endif+    sysrootDeploymentSetMutable             ,+++-- ** deploymentSetPinned #method:deploymentSetPinned#++#if ENABLE_OVERLOADING+    SysrootDeploymentSetPinnedMethodInfo    ,+#endif+    sysrootDeploymentSetPinned              ,+++-- ** deploymentUnlock #method:deploymentUnlock#++#if ENABLE_OVERLOADING+    SysrootDeploymentUnlockMethodInfo       ,+#endif+    sysrootDeploymentUnlock                 ,+++-- ** ensureInitialized #method:ensureInitialized#++#if ENABLE_OVERLOADING+    SysrootEnsureInitializedMethodInfo      ,+#endif+    sysrootEnsureInitialized                ,+++-- ** getBootedDeployment #method:getBootedDeployment#++#if ENABLE_OVERLOADING+    SysrootGetBootedDeploymentMethodInfo    ,+#endif+    sysrootGetBootedDeployment              ,+++-- ** getBootversion #method:getBootversion#++#if ENABLE_OVERLOADING+    SysrootGetBootversionMethodInfo         ,+#endif+    sysrootGetBootversion                   ,+++-- ** getDeploymentDirectory #method:getDeploymentDirectory#++#if ENABLE_OVERLOADING+    SysrootGetDeploymentDirectoryMethodInfo ,+#endif+    sysrootGetDeploymentDirectory           ,+++-- ** getDeploymentDirpath #method:getDeploymentDirpath#++#if ENABLE_OVERLOADING+    SysrootGetDeploymentDirpathMethodInfo   ,+#endif+    sysrootGetDeploymentDirpath             ,+++-- ** getDeploymentOriginPath #method:getDeploymentOriginPath#++    sysrootGetDeploymentOriginPath          ,+++-- ** getDeployments #method:getDeployments#++#if ENABLE_OVERLOADING+    SysrootGetDeploymentsMethodInfo         ,+#endif+    sysrootGetDeployments                   ,+++-- ** getFd #method:getFd#++#if ENABLE_OVERLOADING+    SysrootGetFdMethodInfo                  ,+#endif+    sysrootGetFd                            ,+++-- ** getMergeDeployment #method:getMergeDeployment#++#if ENABLE_OVERLOADING+    SysrootGetMergeDeploymentMethodInfo     ,+#endif+    sysrootGetMergeDeployment               ,+++-- ** getPath #method:getPath#++#if ENABLE_OVERLOADING+    SysrootGetPathMethodInfo                ,+#endif+    sysrootGetPath                          ,+++-- ** getRepo #method:getRepo#++#if ENABLE_OVERLOADING+    SysrootGetRepoMethodInfo                ,+#endif+    sysrootGetRepo                          ,+++-- ** getStagedDeployment #method:getStagedDeployment#++#if ENABLE_OVERLOADING+    SysrootGetStagedDeploymentMethodInfo    ,+#endif+    sysrootGetStagedDeployment              ,+++-- ** getSubbootversion #method:getSubbootversion#++#if ENABLE_OVERLOADING+    SysrootGetSubbootversionMethodInfo      ,+#endif+    sysrootGetSubbootversion                ,+++-- ** initOsname #method:initOsname#++#if ENABLE_OVERLOADING+    SysrootInitOsnameMethodInfo             ,+#endif+    sysrootInitOsname                       ,+++-- ** load #method:load#++#if ENABLE_OVERLOADING+    SysrootLoadMethodInfo                   ,+#endif+    sysrootLoad                             ,+++-- ** loadIfChanged #method:loadIfChanged#++#if ENABLE_OVERLOADING+    SysrootLoadIfChangedMethodInfo          ,+#endif+    sysrootLoadIfChanged                    ,+++-- ** lock #method:lock#++#if ENABLE_OVERLOADING+    SysrootLockMethodInfo                   ,+#endif+    sysrootLock                             ,+++-- ** lockAsync #method:lockAsync#++#if ENABLE_OVERLOADING+    SysrootLockAsyncMethodInfo              ,+#endif+    sysrootLockAsync                        ,+++-- ** lockFinish #method:lockFinish#++#if ENABLE_OVERLOADING+    SysrootLockFinishMethodInfo             ,+#endif+    sysrootLockFinish                       ,+++-- ** new #method:new#++    sysrootNew                              ,+++-- ** newDefault #method:newDefault#++    sysrootNewDefault                       ,+++-- ** originNewFromRefspec #method:originNewFromRefspec#++#if ENABLE_OVERLOADING+    SysrootOriginNewFromRefspecMethodInfo   ,+#endif+    sysrootOriginNewFromRefspec             ,+++-- ** prepareCleanup #method:prepareCleanup#++#if ENABLE_OVERLOADING+    SysrootPrepareCleanupMethodInfo         ,+#endif+    sysrootPrepareCleanup                   ,+++-- ** queryDeploymentsFor #method:queryDeploymentsFor#++#if ENABLE_OVERLOADING+    SysrootQueryDeploymentsForMethodInfo    ,+#endif+    sysrootQueryDeploymentsFor              ,+++-- ** repo #method:repo#++#if ENABLE_OVERLOADING+    SysrootRepoMethodInfo                   ,+#endif+    sysrootRepo                             ,+++-- ** simpleWriteDeployment #method:simpleWriteDeployment#++#if ENABLE_OVERLOADING+    SysrootSimpleWriteDeploymentMethodInfo  ,+#endif+    sysrootSimpleWriteDeployment            ,+++-- ** stageTree #method:stageTree#++#if ENABLE_OVERLOADING+    SysrootStageTreeMethodInfo              ,+#endif+    sysrootStageTree                        ,+++-- ** tryLock #method:tryLock#++#if ENABLE_OVERLOADING+    SysrootTryLockMethodInfo                ,+#endif+    sysrootTryLock                          ,+++-- ** unload #method:unload#++#if ENABLE_OVERLOADING+    SysrootUnloadMethodInfo                 ,+#endif+    sysrootUnload                           ,+++-- ** unlock #method:unlock#++#if ENABLE_OVERLOADING+    SysrootUnlockMethodInfo                 ,+#endif+    sysrootUnlock                           ,+++-- ** writeDeployments #method:writeDeployments#++#if ENABLE_OVERLOADING+    SysrootWriteDeploymentsMethodInfo       ,+#endif+    sysrootWriteDeployments                 ,+++-- ** writeDeploymentsWithOptions #method:writeDeploymentsWithOptions#++#if ENABLE_OVERLOADING+    SysrootWriteDeploymentsWithOptionsMethodInfo,+#endif+    sysrootWriteDeploymentsWithOptions      ,+++-- ** writeOriginFile #method:writeOriginFile#++#if ENABLE_OVERLOADING+    SysrootWriteOriginFileMethodInfo        ,+#endif+    sysrootWriteOriginFile                  ,+++++ -- * Properties+-- ** path #attr:path#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    SysrootPathPropertyInfo                 ,+#endif+    constructSysrootPath                    ,+    getSysrootPath                          ,+#if ENABLE_OVERLOADING+    sysrootPath                             ,+#endif+++++ -- * Signals+-- ** journalMsg #signal:journalMsg#++    C_SysrootJournalMsgCallback             ,+    SysrootJournalMsgCallback               ,+#if ENABLE_OVERLOADING+    SysrootJournalMsgSignalInfo             ,+#endif+    afterSysrootJournalMsg                  ,+    genClosure_SysrootJournalMsg            ,+    mk_SysrootJournalMsgCallback            ,+    noSysrootJournalMsgCallback             ,+    onSysrootJournalMsg                     ,+    wrap_SysrootJournalMsgCallback          ,+++++    ) 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.Structs.KeyFile as GLib.KeyFile+import qualified GI.GObject.Objects.Object as GObject.Object+import qualified GI.Gio.Callbacks as Gio.Callbacks+import qualified GI.Gio.Interfaces.AsyncResult as Gio.AsyncResult+import qualified GI.Gio.Interfaces.File as Gio.File+import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable+import {-# SOURCE #-} qualified GI.OSTree.Enums as OSTree.Enums+import {-# SOURCE #-} qualified GI.OSTree.Flags as OSTree.Flags+import {-# SOURCE #-} qualified GI.OSTree.Objects.Deployment as OSTree.Deployment+import {-# SOURCE #-} qualified GI.OSTree.Objects.Repo as OSTree.Repo+import {-# SOURCE #-} qualified GI.OSTree.Structs.RepoPruneOptions as OSTree.RepoPruneOptions+import {-# SOURCE #-} qualified GI.OSTree.Structs.SysrootWriteDeploymentsOpts as OSTree.SysrootWriteDeploymentsOpts++-- | Memory-managed wrapper type.+newtype Sysroot = Sysroot (ManagedPtr Sysroot)+foreign import ccall "ostree_sysroot_get_type"+    c_ostree_sysroot_get_type :: IO GType++instance GObject Sysroot where+    gobjectType = c_ostree_sysroot_get_type+    ++-- | Type class for types which can be safely cast to `Sysroot`, for instance with `toSysroot`.+class (GObject o, O.IsDescendantOf Sysroot o) => IsSysroot o+instance (GObject o, O.IsDescendantOf Sysroot o) => IsSysroot o++instance O.HasParentTypes Sysroot+type instance O.ParentTypes Sysroot = '[GObject.Object.Object]++-- | Cast to `Sysroot`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toSysroot :: (MonadIO m, IsSysroot o) => o -> m Sysroot+toSysroot = liftIO . unsafeCastTo Sysroot++-- | A convenience alias for `Nothing` :: `Maybe` `Sysroot`.+noSysroot :: Maybe Sysroot+noSysroot = Nothing++#if ENABLE_OVERLOADING+type family ResolveSysrootMethod (t :: Symbol) (o :: *) :: * where+    ResolveSysrootMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveSysrootMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveSysrootMethod "cleanup" o = SysrootCleanupMethodInfo+    ResolveSysrootMethod "cleanupPruneRepo" o = SysrootCleanupPruneRepoMethodInfo+    ResolveSysrootMethod "deployTree" o = SysrootDeployTreeMethodInfo+    ResolveSysrootMethod "deploymentSetKargs" o = SysrootDeploymentSetKargsMethodInfo+    ResolveSysrootMethod "deploymentSetMutable" o = SysrootDeploymentSetMutableMethodInfo+    ResolveSysrootMethod "deploymentSetPinned" o = SysrootDeploymentSetPinnedMethodInfo+    ResolveSysrootMethod "deploymentUnlock" o = SysrootDeploymentUnlockMethodInfo+    ResolveSysrootMethod "ensureInitialized" o = SysrootEnsureInitializedMethodInfo+    ResolveSysrootMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveSysrootMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveSysrootMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveSysrootMethod "initOsname" o = SysrootInitOsnameMethodInfo+    ResolveSysrootMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveSysrootMethod "load" o = SysrootLoadMethodInfo+    ResolveSysrootMethod "loadIfChanged" o = SysrootLoadIfChangedMethodInfo+    ResolveSysrootMethod "lock" o = SysrootLockMethodInfo+    ResolveSysrootMethod "lockAsync" o = SysrootLockAsyncMethodInfo+    ResolveSysrootMethod "lockFinish" o = SysrootLockFinishMethodInfo+    ResolveSysrootMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveSysrootMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveSysrootMethod "originNewFromRefspec" o = SysrootOriginNewFromRefspecMethodInfo+    ResolveSysrootMethod "prepareCleanup" o = SysrootPrepareCleanupMethodInfo+    ResolveSysrootMethod "queryDeploymentsFor" o = SysrootQueryDeploymentsForMethodInfo+    ResolveSysrootMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveSysrootMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveSysrootMethod "repo" o = SysrootRepoMethodInfo+    ResolveSysrootMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveSysrootMethod "simpleWriteDeployment" o = SysrootSimpleWriteDeploymentMethodInfo+    ResolveSysrootMethod "stageTree" o = SysrootStageTreeMethodInfo+    ResolveSysrootMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveSysrootMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveSysrootMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveSysrootMethod "tryLock" o = SysrootTryLockMethodInfo+    ResolveSysrootMethod "unload" o = SysrootUnloadMethodInfo+    ResolveSysrootMethod "unlock" o = SysrootUnlockMethodInfo+    ResolveSysrootMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveSysrootMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveSysrootMethod "writeDeployments" o = SysrootWriteDeploymentsMethodInfo+    ResolveSysrootMethod "writeDeploymentsWithOptions" o = SysrootWriteDeploymentsWithOptionsMethodInfo+    ResolveSysrootMethod "writeOriginFile" o = SysrootWriteOriginFileMethodInfo+    ResolveSysrootMethod "getBootedDeployment" o = SysrootGetBootedDeploymentMethodInfo+    ResolveSysrootMethod "getBootversion" o = SysrootGetBootversionMethodInfo+    ResolveSysrootMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveSysrootMethod "getDeploymentDirectory" o = SysrootGetDeploymentDirectoryMethodInfo+    ResolveSysrootMethod "getDeploymentDirpath" o = SysrootGetDeploymentDirpathMethodInfo+    ResolveSysrootMethod "getDeployments" o = SysrootGetDeploymentsMethodInfo+    ResolveSysrootMethod "getFd" o = SysrootGetFdMethodInfo+    ResolveSysrootMethod "getMergeDeployment" o = SysrootGetMergeDeploymentMethodInfo+    ResolveSysrootMethod "getPath" o = SysrootGetPathMethodInfo+    ResolveSysrootMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveSysrootMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveSysrootMethod "getRepo" o = SysrootGetRepoMethodInfo+    ResolveSysrootMethod "getStagedDeployment" o = SysrootGetStagedDeploymentMethodInfo+    ResolveSysrootMethod "getSubbootversion" o = SysrootGetSubbootversionMethodInfo+    ResolveSysrootMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveSysrootMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveSysrootMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveSysrootMethod t Sysroot, O.MethodInfo info Sysroot p) => OL.IsLabel t (Sysroot -> 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++-- signal Sysroot::journal-msg+{- |+libostree will log to the journal various events, such as the \/etc merge+status, and transaction completion. Connect to this signal to also+synchronously receive the text for those messages. This is intended to be+used by command line tools which link to libostree as a library.++Currently, the structured data is only available via the systemd journal.++/Since: 2017.10/+-}+type SysrootJournalMsgCallback =+    T.Text+    {- ^ /@msg@/: Human-readable string (should not contain newlines) -}+    -> IO ()++-- | A convenience synonym for @`Nothing` :: `Maybe` `SysrootJournalMsgCallback`@.+noSysrootJournalMsgCallback :: Maybe SysrootJournalMsgCallback+noSysrootJournalMsgCallback = Nothing++-- | Type for the callback on the (unwrapped) C side.+type C_SysrootJournalMsgCallback =+    Ptr () ->                               -- object+    CString ->+    Ptr () ->                               -- user_data+    IO ()++-- | Generate a function pointer callable from C code, from a `C_SysrootJournalMsgCallback`.+foreign import ccall "wrapper"+    mk_SysrootJournalMsgCallback :: C_SysrootJournalMsgCallback -> IO (FunPtr C_SysrootJournalMsgCallback)++-- | Wrap the callback into a `GClosure`.+genClosure_SysrootJournalMsg :: MonadIO m => SysrootJournalMsgCallback -> m (GClosure C_SysrootJournalMsgCallback)+genClosure_SysrootJournalMsg cb = liftIO $ do+    let cb' = wrap_SysrootJournalMsgCallback cb+    mk_SysrootJournalMsgCallback cb' >>= B.GClosure.newGClosure+++-- | Wrap a `SysrootJournalMsgCallback` into a `C_SysrootJournalMsgCallback`.+wrap_SysrootJournalMsgCallback ::+    SysrootJournalMsgCallback ->+    C_SysrootJournalMsgCallback+wrap_SysrootJournalMsgCallback _cb _ msg _ = do+    msg' <- cstringToText msg+    _cb  msg'+++{- |+Connect a signal handler for the “@journal-msg@” signal, to be run before the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.on' sysroot #journalMsg callback+@+-}+onSysrootJournalMsg :: (IsSysroot a, MonadIO m) => a -> SysrootJournalMsgCallback -> m SignalHandlerId+onSysrootJournalMsg obj cb = liftIO $ do+    let cb' = wrap_SysrootJournalMsgCallback cb+    cb'' <- mk_SysrootJournalMsgCallback cb'+    connectSignalFunPtr obj "journal-msg" cb'' SignalConnectBefore++{- |+Connect a signal handler for the “@journal-msg@” signal, to be run after the default handler.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Signals.after' sysroot #journalMsg callback+@+-}+afterSysrootJournalMsg :: (IsSysroot a, MonadIO m) => a -> SysrootJournalMsgCallback -> m SignalHandlerId+afterSysrootJournalMsg obj cb = liftIO $ do+    let cb' = wrap_SysrootJournalMsgCallback cb+    cb'' <- mk_SysrootJournalMsgCallback cb'+    connectSignalFunPtr obj "journal-msg" cb'' SignalConnectAfter+++-- VVV Prop "path"+   -- Type: TInterface (Name {namespace = "Gio", name = "File"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Just False,Nothing)++{- |+Get the value of the “@path@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' sysroot #path+@+-}+getSysrootPath :: (MonadIO m, IsSysroot o) => o -> m Gio.File.File+getSysrootPath obj = liftIO $ checkUnexpectedNothing "getSysrootPath" $ B.Properties.getObjectPropertyObject obj "path" Gio.File.File++{- |+Construct a `GValueConstruct` with valid value for the “@path@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructSysrootPath :: (IsSysroot o, Gio.File.IsFile a) => a -> IO (GValueConstruct o)+constructSysrootPath val = B.Properties.constructObjectPropertyObject "path" (Just val)++#if ENABLE_OVERLOADING+data SysrootPathPropertyInfo+instance AttrInfo SysrootPathPropertyInfo where+    type AttrAllowedOps SysrootPathPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint SysrootPathPropertyInfo = Gio.File.IsFile+    type AttrBaseTypeConstraint SysrootPathPropertyInfo = IsSysroot+    type AttrGetType SysrootPathPropertyInfo = Gio.File.File+    type AttrLabel SysrootPathPropertyInfo = "path"+    type AttrOrigin SysrootPathPropertyInfo = Sysroot+    attrGet _ = getSysrootPath+    attrSet _ = undefined+    attrConstruct _ = constructSysrootPath+    attrClear _ = undefined+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList Sysroot+type instance O.AttributeList Sysroot = SysrootAttributeList+type SysrootAttributeList = ('[ '("path", SysrootPathPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+sysrootPath :: AttrLabelProxy "path"+sysrootPath = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+data SysrootJournalMsgSignalInfo+instance SignalInfo SysrootJournalMsgSignalInfo where+    type HaskellCallbackType SysrootJournalMsgSignalInfo = SysrootJournalMsgCallback+    connectSignal _ obj cb connectMode = do+        let cb' = wrap_SysrootJournalMsgCallback cb+        cb'' <- mk_SysrootJournalMsgCallback cb'+        connectSignalFunPtr obj "journal-msg" cb'' connectMode++type instance O.SignalList Sysroot = SysrootSignalList+type SysrootSignalList = ('[ '("journalMsg", SysrootJournalMsgSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method Sysroot::new+-- method type : Constructor+-- Args : [Arg {argCName = "path", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Path to a system root directory, or %NULL to use the\n  current visible root file system", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "Sysroot"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_sysroot_new" ostree_sysroot_new :: +    Ptr Gio.File.File ->                    -- path : TInterface (Name {namespace = "Gio", name = "File"})+    IO (Ptr Sysroot)++{- |+Create a new 'GI.OSTree.Objects.Sysroot.Sysroot' object for the sysroot at /@path@/. If /@path@/ is 'Nothing',+the current visible root file system is used, equivalent to+'GI.OSTree.Objects.Sysroot.sysrootNewDefault'.+-}+sysrootNew ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.File.IsFile a) =>+    Maybe (a)+    {- ^ /@path@/: Path to a system root directory, or 'Nothing' to use the+  current visible root file system -}+    -> m Sysroot+    {- ^ __Returns:__ An accessor object for an system root located at /@path@/ -}+sysrootNew path = liftIO $ do+    maybePath <- case path of+        Nothing -> return nullPtr+        Just jPath -> do+            jPath' <- unsafeManagedPtrCastPtr jPath+            return jPath'+    result <- ostree_sysroot_new maybePath+    checkUnexpectedReturnNULL "sysrootNew" result+    result' <- (wrapObject Sysroot) result+    whenJust path touchManagedPtr+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Sysroot::new_default+-- method type : Constructor+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "Sysroot"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_sysroot_new_default" ostree_sysroot_new_default :: +    IO (Ptr Sysroot)++{- |+/No description available in the introspection data./+-}+sysrootNewDefault ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m Sysroot+    {- ^ __Returns:__ An accessor for the current visible root \/ filesystem -}+sysrootNewDefault  = liftIO $ do+    result <- ostree_sysroot_new_default+    checkUnexpectedReturnNULL "sysrootNewDefault" result+    result' <- (wrapObject Sysroot) result+    return result'++#if ENABLE_OVERLOADING+#endif++-- method Sysroot::cleanup+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_sysroot_cleanup" ostree_sysroot_cleanup :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Delete any state that resulted from a partially completed+transaction, such as incomplete deployments.+-}+sysrootCleanup ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootCleanup self cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_sysroot_cleanup self' maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data SysrootCleanupMethodInfo+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsSysroot a, Gio.Cancellable.IsCancellable b) => O.MethodInfo SysrootCleanupMethodInfo a signature where+    overloadedMethod _ = sysrootCleanup++#endif++-- method Sysroot::cleanup_prune_repo+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "sysroot", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "options", argType = TInterface (Name {namespace = "OSTree", name = "RepoPruneOptions"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Flags controlling pruning", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_objects_total", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of objects found", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_objects_pruned", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Number of objects deleted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_pruned_object_size_total", argType = TBasicType TUInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Storage size in bytes of objects deleted", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_sysroot_cleanup_prune_repo" ostree_sysroot_cleanup_prune_repo :: +    Ptr Sysroot ->                          -- sysroot : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    Ptr OSTree.RepoPruneOptions.RepoPruneOptions -> -- options : TInterface (Name {namespace = "OSTree", name = "RepoPruneOptions"})+    Ptr Int32 ->                            -- out_objects_total : TBasicType TInt+    Ptr Int32 ->                            -- out_objects_pruned : TBasicType TInt+    Ptr Word64 ->                           -- out_pruned_object_size_total : TBasicType TUInt64+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Prune the system repository.  This is a thin wrapper+around 'GI.OSTree.Objects.Repo.repoPruneFromReachable'; the primary+addition is that this function automatically gathers+all deployed commits into the reachable set.++You generally want to at least set the @OSTREE_REPO_PRUNE_FLAGS_REFS_ONLY@+flag in /@options@/.  A commit traversal depth of @0@ is assumed.++Locking: exclusive++/Since: 2018.6/+-}+sysrootCleanupPruneRepo ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@sysroot@/: Sysroot -}+    -> OSTree.RepoPruneOptions.RepoPruneOptions+    {- ^ /@options@/: Flags controlling pruning -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ((Int32, Int32, Word64))+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootCleanupPruneRepo sysroot options cancellable = liftIO $ do+    sysroot' <- unsafeManagedPtrCastPtr sysroot+    options' <- unsafeManagedPtrGetPtr options+    outObjectsTotal <- allocMem :: IO (Ptr Int32)+    outObjectsPruned <- allocMem :: IO (Ptr Int32)+    outPrunedObjectSizeTotal <- allocMem :: IO (Ptr Word64)+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_sysroot_cleanup_prune_repo sysroot' options' outObjectsTotal outObjectsPruned outPrunedObjectSizeTotal maybeCancellable+        outObjectsTotal' <- peek outObjectsTotal+        outObjectsPruned' <- peek outObjectsPruned+        outPrunedObjectSizeTotal' <- peek outPrunedObjectSizeTotal+        touchManagedPtr sysroot+        touchManagedPtr options+        whenJust cancellable touchManagedPtr+        freeMem outObjectsTotal+        freeMem outObjectsPruned+        freeMem outPrunedObjectSizeTotal+        return (outObjectsTotal', outObjectsPruned', outPrunedObjectSizeTotal')+     ) (do+        freeMem outObjectsTotal+        freeMem outObjectsPruned+        freeMem outPrunedObjectSizeTotal+     )++#if ENABLE_OVERLOADING+data SysrootCleanupPruneRepoMethodInfo+instance (signature ~ (OSTree.RepoPruneOptions.RepoPruneOptions -> Maybe (b) -> m ((Int32, Int32, Word64))), MonadIO m, IsSysroot a, Gio.Cancellable.IsCancellable b) => O.MethodInfo SysrootCleanupPruneRepoMethodInfo a signature where+    overloadedMethod _ = sysrootCleanupPruneRepo++#endif++-- method Sysroot::deploy_tree+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "osname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "osname to use for merge deployment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "revision", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Checksum to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "origin", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Origin to use for upgrades", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "provided_merge_deployment", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Use this deployment for merge path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "override_kernel_argv", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Use these as kernel arguments; if %NULL, inherit options from provided_merge_deployment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_new_deployment", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The new deployment path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_sysroot_deploy_tree" ostree_sysroot_deploy_tree :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    CString ->                              -- osname : TBasicType TUTF8+    CString ->                              -- revision : TBasicType TUTF8+    Ptr GLib.KeyFile.KeyFile ->             -- origin : TInterface (Name {namespace = "GLib", name = "KeyFile"})+    Ptr OSTree.Deployment.Deployment ->     -- provided_merge_deployment : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    Ptr CString ->                          -- override_kernel_argv : TCArray True (-1) (-1) (TBasicType TUTF8)+    Ptr (Ptr OSTree.Deployment.Deployment) -> -- out_new_deployment : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Check out deployment tree with revision /@revision@/, performing a 3+way merge with /@providedMergeDeployment@/ for configuration.++While this API is not deprecated, you most likely want to use the+'GI.OSTree.Objects.Sysroot.sysrootStageTree' API.+-}+sysrootDeployTree ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a, OSTree.Deployment.IsDeployment b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> Maybe (T.Text)+    {- ^ /@osname@/: osname to use for merge deployment -}+    -> T.Text+    {- ^ /@revision@/: Checksum to add -}+    -> Maybe (GLib.KeyFile.KeyFile)+    {- ^ /@origin@/: Origin to use for upgrades -}+    -> Maybe (b)+    {- ^ /@providedMergeDeployment@/: Use this deployment for merge path -}+    -> Maybe ([T.Text])+    {- ^ /@overrideKernelArgv@/: Use these as kernel arguments; if 'Nothing', inherit options from provided_merge_deployment -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m (OSTree.Deployment.Deployment)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootDeployTree self osname revision origin providedMergeDeployment overrideKernelArgv cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeOsname <- case osname of+        Nothing -> return nullPtr+        Just jOsname -> do+            jOsname' <- textToCString jOsname+            return jOsname'+    revision' <- textToCString revision+    maybeOrigin <- case origin of+        Nothing -> return nullPtr+        Just jOrigin -> do+            jOrigin' <- unsafeManagedPtrGetPtr jOrigin+            return jOrigin'+    maybeProvidedMergeDeployment <- case providedMergeDeployment of+        Nothing -> return nullPtr+        Just jProvidedMergeDeployment -> do+            jProvidedMergeDeployment' <- unsafeManagedPtrCastPtr jProvidedMergeDeployment+            return jProvidedMergeDeployment'+    maybeOverrideKernelArgv <- case overrideKernelArgv of+        Nothing -> return nullPtr+        Just jOverrideKernelArgv -> do+            jOverrideKernelArgv' <- packZeroTerminatedUTF8CArray jOverrideKernelArgv+            return jOverrideKernelArgv'+    outNewDeployment <- allocMem :: IO (Ptr (Ptr OSTree.Deployment.Deployment))+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_sysroot_deploy_tree self' maybeOsname revision' maybeOrigin maybeProvidedMergeDeployment maybeOverrideKernelArgv outNewDeployment maybeCancellable+        outNewDeployment' <- peek outNewDeployment+        outNewDeployment'' <- (wrapObject OSTree.Deployment.Deployment) outNewDeployment'+        touchManagedPtr self+        whenJust origin touchManagedPtr+        whenJust providedMergeDeployment touchManagedPtr+        whenJust cancellable touchManagedPtr+        freeMem maybeOsname+        freeMem revision'+        mapZeroTerminatedCArray freeMem maybeOverrideKernelArgv+        freeMem maybeOverrideKernelArgv+        freeMem outNewDeployment+        return outNewDeployment''+     ) (do+        freeMem maybeOsname+        freeMem revision'+        mapZeroTerminatedCArray freeMem maybeOverrideKernelArgv+        freeMem maybeOverrideKernelArgv+        freeMem outNewDeployment+     )++#if ENABLE_OVERLOADING+data SysrootDeployTreeMethodInfo+instance (signature ~ (Maybe (T.Text) -> T.Text -> Maybe (GLib.KeyFile.KeyFile) -> Maybe (b) -> Maybe ([T.Text]) -> Maybe (c) -> m (OSTree.Deployment.Deployment)), MonadIO m, IsSysroot a, OSTree.Deployment.IsDeployment b, Gio.Cancellable.IsCancellable c) => O.MethodInfo SysrootDeployTreeMethodInfo a signature where+    overloadedMethod _ = sysrootDeployTree++#endif++-- method Sysroot::deployment_set_kargs+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "deployment", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A deployment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_kargs", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Replace deployment's kernel arguments", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_sysroot_deployment_set_kargs" ostree_sysroot_deployment_set_kargs :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    Ptr OSTree.Deployment.Deployment ->     -- deployment : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    Ptr CString ->                          -- new_kargs : TCArray True (-1) (-1) (TBasicType TUTF8)+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Entirely replace the kernel arguments of /@deployment@/ with the+values in /@newKargs@/.+-}+sysrootDeploymentSetKargs ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a, OSTree.Deployment.IsDeployment b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> b+    {- ^ /@deployment@/: A deployment -}+    -> [T.Text]+    {- ^ /@newKargs@/: Replace deployment\'s kernel arguments -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootDeploymentSetKargs self deployment newKargs cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    deployment' <- unsafeManagedPtrCastPtr deployment+    newKargs' <- packZeroTerminatedUTF8CArray newKargs+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_sysroot_deployment_set_kargs self' deployment' newKargs' maybeCancellable+        touchManagedPtr self+        touchManagedPtr deployment+        whenJust cancellable touchManagedPtr+        mapZeroTerminatedCArray freeMem newKargs'+        freeMem newKargs'+        return ()+     ) (do+        mapZeroTerminatedCArray freeMem newKargs'+        freeMem newKargs'+     )++#if ENABLE_OVERLOADING+data SysrootDeploymentSetKargsMethodInfo+instance (signature ~ (b -> [T.Text] -> Maybe (c) -> m ()), MonadIO m, IsSysroot a, OSTree.Deployment.IsDeployment b, Gio.Cancellable.IsCancellable c) => O.MethodInfo SysrootDeploymentSetKargsMethodInfo a signature where+    overloadedMethod _ = sysrootDeploymentSetKargs++#endif++-- method Sysroot::deployment_set_mutable+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "deployment", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A deployment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_mutable", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether or not deployment's files can be changed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_sysroot_deployment_set_mutable" ostree_sysroot_deployment_set_mutable :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    Ptr OSTree.Deployment.Deployment ->     -- deployment : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    CInt ->                                 -- is_mutable : TBasicType TBoolean+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+By default, deployment directories are not mutable.  This function+will allow making them temporarily mutable, for example to allow+layering additional non-OSTree content.+-}+sysrootDeploymentSetMutable ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a, OSTree.Deployment.IsDeployment b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> b+    {- ^ /@deployment@/: A deployment -}+    -> Bool+    {- ^ /@isMutable@/: Whether or not deployment\'s files can be changed -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootDeploymentSetMutable self deployment isMutable cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    deployment' <- unsafeManagedPtrCastPtr deployment+    let isMutable' = (fromIntegral . fromEnum) isMutable+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_sysroot_deployment_set_mutable self' deployment' isMutable' maybeCancellable+        touchManagedPtr self+        touchManagedPtr deployment+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data SysrootDeploymentSetMutableMethodInfo+instance (signature ~ (b -> Bool -> Maybe (c) -> m ()), MonadIO m, IsSysroot a, OSTree.Deployment.IsDeployment b, Gio.Cancellable.IsCancellable c) => O.MethodInfo SysrootDeploymentSetMutableMethodInfo a signature where+    overloadedMethod _ = sysrootDeploymentSetMutable++#endif++-- method Sysroot::deployment_set_pinned+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "deployment", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A deployment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "is_pinned", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether or not deployment will be automatically GC'd", 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 "ostree_sysroot_deployment_set_pinned" ostree_sysroot_deployment_set_pinned :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    Ptr OSTree.Deployment.Deployment ->     -- deployment : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    CInt ->                                 -- is_pinned : TBasicType TBoolean+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+By default, deployments may be subject to garbage collection. Typical uses of+libostree only retain at most 2 deployments. If /@isPinned@/ is @TRUE@, a+metadata bit will be set causing libostree to avoid automatic GC of the+deployment. However, this is really an \"advisory\" note; it\'s still possible+for e.g. older versions of libostree unaware of pinning to GC the deployment.++This function does nothing and returns successfully if the deployment+is already in the desired pinning state.  It is an error to try to pin+the staged deployment (as it\'s not in the bootloader entries).++/Since: 2018.3/+-}+sysrootDeploymentSetPinned ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a, OSTree.Deployment.IsDeployment b) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> b+    {- ^ /@deployment@/: A deployment -}+    -> Bool+    {- ^ /@isPinned@/: Whether or not deployment will be automatically GC\'d -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootDeploymentSetPinned self deployment isPinned = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    deployment' <- unsafeManagedPtrCastPtr deployment+    let isPinned' = (fromIntegral . fromEnum) isPinned+    onException (do+        _ <- propagateGError $ ostree_sysroot_deployment_set_pinned self' deployment' isPinned'+        touchManagedPtr self+        touchManagedPtr deployment+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data SysrootDeploymentSetPinnedMethodInfo+instance (signature ~ (b -> Bool -> m ()), MonadIO m, IsSysroot a, OSTree.Deployment.IsDeployment b) => O.MethodInfo SysrootDeploymentSetPinnedMethodInfo a signature where+    overloadedMethod _ = sysrootDeploymentSetPinned++#endif++-- method Sysroot::deployment_unlock+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "deployment", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Deployment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "unlocked_state", argType = TInterface (Name {namespace = "OSTree", name = "DeploymentUnlockedState"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Transition to this unlocked state", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_sysroot_deployment_unlock" ostree_sysroot_deployment_unlock :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    Ptr OSTree.Deployment.Deployment ->     -- deployment : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    CUInt ->                                -- unlocked_state : TInterface (Name {namespace = "OSTree", name = "DeploymentUnlockedState"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Configure the target deployment /@deployment@/ such that it+is writable.  There are multiple modes, essentially differing+in whether or not any changes persist across reboot.++The @OSTREE_DEPLOYMENT_UNLOCKED_HOTFIX@ state is persistent+across reboots.+-}+sysrootDeploymentUnlock ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a, OSTree.Deployment.IsDeployment b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> b+    {- ^ /@deployment@/: Deployment -}+    -> OSTree.Enums.DeploymentUnlockedState+    {- ^ /@unlockedState@/: Transition to this unlocked state -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootDeploymentUnlock self deployment unlockedState cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    deployment' <- unsafeManagedPtrCastPtr deployment+    let unlockedState' = (fromIntegral . fromEnum) unlockedState+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_sysroot_deployment_unlock self' deployment' unlockedState' maybeCancellable+        touchManagedPtr self+        touchManagedPtr deployment+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data SysrootDeploymentUnlockMethodInfo+instance (signature ~ (b -> OSTree.Enums.DeploymentUnlockedState -> Maybe (c) -> m ()), MonadIO m, IsSysroot a, OSTree.Deployment.IsDeployment b, Gio.Cancellable.IsCancellable c) => O.MethodInfo SysrootDeploymentUnlockMethodInfo a signature where+    overloadedMethod _ = sysrootDeploymentUnlock++#endif++-- method Sysroot::ensure_initialized+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_sysroot_ensure_initialized" ostree_sysroot_ensure_initialized :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Ensure that /@self@/ is set up as a valid rootfs, by creating+\/ostree\/repo, among other things.+-}+sysrootEnsureInitialized ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootEnsureInitialized self cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_sysroot_ensure_initialized self' maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data SysrootEnsureInitializedMethodInfo+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsSysroot a, Gio.Cancellable.IsCancellable b) => O.MethodInfo SysrootEnsureInitializedMethodInfo a signature where+    overloadedMethod _ = sysrootEnsureInitialized++#endif++-- method Sysroot::get_booted_deployment+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "Deployment"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_sysroot_get_booted_deployment" ostree_sysroot_get_booted_deployment :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    IO (Ptr OSTree.Deployment.Deployment)++{- |+/No description available in the introspection data./+-}+sysrootGetBootedDeployment ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> m OSTree.Deployment.Deployment+    {- ^ __Returns:__ The currently booted deployment, or 'Nothing' if none -}+sysrootGetBootedDeployment self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_sysroot_get_booted_deployment self'+    checkUnexpectedReturnNULL "sysrootGetBootedDeployment" result+    result' <- (newObject OSTree.Deployment.Deployment) result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data SysrootGetBootedDeploymentMethodInfo+instance (signature ~ (m OSTree.Deployment.Deployment), MonadIO m, IsSysroot a) => O.MethodInfo SysrootGetBootedDeploymentMethodInfo a signature where+    overloadedMethod _ = sysrootGetBootedDeployment++#endif++-- method Sysroot::get_bootversion+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, 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 "ostree_sysroot_get_bootversion" ostree_sysroot_get_bootversion :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    IO Int32++{- |+/No description available in the introspection data./+-}+sysrootGetBootversion ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a) =>+    a+    -> m Int32+sysrootGetBootversion self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_sysroot_get_bootversion self'+    touchManagedPtr self+    return result++#if ENABLE_OVERLOADING+data SysrootGetBootversionMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsSysroot a) => O.MethodInfo SysrootGetBootversionMethodInfo a signature where+    overloadedMethod _ = sysrootGetBootversion++#endif++-- method Sysroot::get_deployment_directory+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "deployment", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A deployment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "File"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_sysroot_get_deployment_directory" ostree_sysroot_get_deployment_directory :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    Ptr OSTree.Deployment.Deployment ->     -- deployment : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    IO (Ptr Gio.File.File)++{- |+/No description available in the introspection data./+-}+sysrootGetDeploymentDirectory ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a, OSTree.Deployment.IsDeployment b) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> b+    {- ^ /@deployment@/: A deployment -}+    -> m Gio.File.File+    {- ^ __Returns:__ Path to deployment root directory -}+sysrootGetDeploymentDirectory self deployment = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    deployment' <- unsafeManagedPtrCastPtr deployment+    result <- ostree_sysroot_get_deployment_directory self' deployment'+    checkUnexpectedReturnNULL "sysrootGetDeploymentDirectory" result+    result' <- (wrapObject Gio.File.File) result+    touchManagedPtr self+    touchManagedPtr deployment+    return result'++#if ENABLE_OVERLOADING+data SysrootGetDeploymentDirectoryMethodInfo+instance (signature ~ (b -> m Gio.File.File), MonadIO m, IsSysroot a, OSTree.Deployment.IsDeployment b) => O.MethodInfo SysrootGetDeploymentDirectoryMethodInfo a signature where+    overloadedMethod _ = sysrootGetDeploymentDirectory++#endif++-- method Sysroot::get_deployment_dirpath+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "deployment", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A deployment", 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 "ostree_sysroot_get_deployment_dirpath" ostree_sysroot_get_deployment_dirpath :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    Ptr OSTree.Deployment.Deployment ->     -- deployment : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    IO CString++{- |+Note this function only returns a *relative* path - if you want+to access, it, you must either use fd-relative api such as @/openat()/@,+or concatenate it with the full 'GI.OSTree.Objects.Sysroot.sysrootGetPath'.+-}+sysrootGetDeploymentDirpath ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a, OSTree.Deployment.IsDeployment b) =>+    a+    {- ^ /@self@/: Repo -}+    -> b+    {- ^ /@deployment@/: A deployment -}+    -> m T.Text+    {- ^ __Returns:__ Path to deployment root directory, relative to sysroot -}+sysrootGetDeploymentDirpath self deployment = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    deployment' <- unsafeManagedPtrCastPtr deployment+    result <- ostree_sysroot_get_deployment_dirpath self' deployment'+    checkUnexpectedReturnNULL "sysrootGetDeploymentDirpath" result+    result' <- cstringToText result+    freeMem result+    touchManagedPtr self+    touchManagedPtr deployment+    return result'++#if ENABLE_OVERLOADING+data SysrootGetDeploymentDirpathMethodInfo+instance (signature ~ (b -> m T.Text), MonadIO m, IsSysroot a, OSTree.Deployment.IsDeployment b) => O.MethodInfo SysrootGetDeploymentDirpathMethodInfo a signature where+    overloadedMethod _ = sysrootGetDeploymentDirpath++#endif++-- method Sysroot::get_deployments+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TPtrArray (TInterface (Name {namespace = "OSTree", name = "Deployment"})))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_sysroot_get_deployments" ostree_sysroot_get_deployments :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    IO (Ptr (GPtrArray (Ptr OSTree.Deployment.Deployment)))++{- |+/No description available in the introspection data./+-}+sysrootGetDeployments ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> m [OSTree.Deployment.Deployment]+    {- ^ __Returns:__ Ordered list of deployments -}+sysrootGetDeployments self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_sysroot_get_deployments self'+    checkUnexpectedReturnNULL "sysrootGetDeployments" result+    result' <- unpackGPtrArray result+    result'' <- mapM (newObject OSTree.Deployment.Deployment) result'+    unrefPtrArray result+    touchManagedPtr self+    return result''++#if ENABLE_OVERLOADING+data SysrootGetDeploymentsMethodInfo+instance (signature ~ (m [OSTree.Deployment.Deployment]), MonadIO m, IsSysroot a) => O.MethodInfo SysrootGetDeploymentsMethodInfo a signature where+    overloadedMethod _ = sysrootGetDeployments++#endif++-- method Sysroot::get_fd+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", 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 "ostree_sysroot_get_fd" ostree_sysroot_get_fd :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    IO Int32++{- |+Access a file descriptor that refers to the root directory of this+sysroot.  'GI.OSTree.Objects.Sysroot.sysrootLoad' must have been invoked prior to+calling this function.+-}+sysrootGetFd ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> m Int32+    {- ^ __Returns:__ A file descriptor valid for the lifetime of /@self@/ -}+sysrootGetFd self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_sysroot_get_fd self'+    touchManagedPtr self+    return result++#if ENABLE_OVERLOADING+data SysrootGetFdMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsSysroot a) => O.MethodInfo SysrootGetFdMethodInfo a signature where+    overloadedMethod _ = sysrootGetFd++#endif++-- method Sysroot::get_merge_deployment+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "osname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Operating system group", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "Deployment"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_sysroot_get_merge_deployment" ostree_sysroot_get_merge_deployment :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    CString ->                              -- osname : TBasicType TUTF8+    IO (Ptr OSTree.Deployment.Deployment)++{- |+Find the deployment to use as a configuration merge source; this is+the first one in the current deployment list which matches osname.+-}+sysrootGetMergeDeployment ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> Maybe (T.Text)+    {- ^ /@osname@/: Operating system group -}+    -> m OSTree.Deployment.Deployment+    {- ^ __Returns:__ Configuration merge deployment -}+sysrootGetMergeDeployment self osname = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeOsname <- case osname of+        Nothing -> return nullPtr+        Just jOsname -> do+            jOsname' <- textToCString jOsname+            return jOsname'+    result <- ostree_sysroot_get_merge_deployment self' maybeOsname+    checkUnexpectedReturnNULL "sysrootGetMergeDeployment" result+    result' <- (wrapObject OSTree.Deployment.Deployment) result+    touchManagedPtr self+    freeMem maybeOsname+    return result'++#if ENABLE_OVERLOADING+data SysrootGetMergeDeploymentMethodInfo+instance (signature ~ (Maybe (T.Text) -> m OSTree.Deployment.Deployment), MonadIO m, IsSysroot a) => O.MethodInfo SysrootGetMergeDeploymentMethodInfo a signature where+    overloadedMethod _ = sysrootGetMergeDeployment++#endif++-- method Sysroot::get_path+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), 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 = "Gio", name = "File"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_sysroot_get_path" ostree_sysroot_get_path :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    IO (Ptr Gio.File.File)++{- |+/No description available in the introspection data./+-}+sysrootGetPath ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a) =>+    a+    -> m Gio.File.File+    {- ^ __Returns:__ Path to rootfs -}+sysrootGetPath self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_sysroot_get_path self'+    checkUnexpectedReturnNULL "sysrootGetPath" result+    result' <- (newObject Gio.File.File) result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data SysrootGetPathMethodInfo+instance (signature ~ (m Gio.File.File), MonadIO m, IsSysroot a) => O.MethodInfo SysrootGetPathMethodInfo a signature where+    overloadedMethod _ = sysrootGetPath++#endif++-- method Sysroot::get_repo+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_repo", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repository in sysroot @self", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_sysroot_get_repo" ostree_sysroot_get_repo :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    Ptr (Ptr OSTree.Repo.Repo) ->           -- out_repo : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Retrieve the OSTree repository in sysroot /@self@/. The repo is guaranteed to be open+(see 'GI.OSTree.Objects.Repo.repoOpen').+-}+sysrootGetRepo ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m (OSTree.Repo.Repo)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootGetRepo self cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    outRepo <- allocMem :: IO (Ptr (Ptr OSTree.Repo.Repo))+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_sysroot_get_repo self' outRepo maybeCancellable+        outRepo' <- peek outRepo+        outRepo'' <- (wrapObject OSTree.Repo.Repo) outRepo'+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem outRepo+        return outRepo''+     ) (do+        freeMem outRepo+     )++#if ENABLE_OVERLOADING+data SysrootGetRepoMethodInfo+instance (signature ~ (Maybe (b) -> m (OSTree.Repo.Repo)), MonadIO m, IsSysroot a, Gio.Cancellable.IsCancellable b) => O.MethodInfo SysrootGetRepoMethodInfo a signature where+    overloadedMethod _ = sysrootGetRepo++#endif++-- method Sysroot::get_staged_deployment+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "Deployment"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_sysroot_get_staged_deployment" ostree_sysroot_get_staged_deployment :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    IO (Ptr OSTree.Deployment.Deployment)++{- |+/No description available in the introspection data./+-}+sysrootGetStagedDeployment ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> m OSTree.Deployment.Deployment+    {- ^ __Returns:__ The currently staged deployment, or 'Nothing' if none -}+sysrootGetStagedDeployment self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_sysroot_get_staged_deployment self'+    checkUnexpectedReturnNULL "sysrootGetStagedDeployment" result+    result' <- (newObject OSTree.Deployment.Deployment) result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data SysrootGetStagedDeploymentMethodInfo+instance (signature ~ (m OSTree.Deployment.Deployment), MonadIO m, IsSysroot a) => O.MethodInfo SysrootGetStagedDeploymentMethodInfo a signature where+    overloadedMethod _ = sysrootGetStagedDeployment++#endif++-- method Sysroot::get_subbootversion+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, 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 "ostree_sysroot_get_subbootversion" ostree_sysroot_get_subbootversion :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    IO Int32++{- |+/No description available in the introspection data./+-}+sysrootGetSubbootversion ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a) =>+    a+    -> m Int32+sysrootGetSubbootversion self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_sysroot_get_subbootversion self'+    touchManagedPtr self+    return result++#if ENABLE_OVERLOADING+data SysrootGetSubbootversionMethodInfo+instance (signature ~ (m Int32), MonadIO m, IsSysroot a) => O.MethodInfo SysrootGetSubbootversionMethodInfo a signature where+    overloadedMethod _ = sysrootGetSubbootversion++#endif++-- method Sysroot::init_osname+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "osname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Name group of operating system checkouts", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_sysroot_init_osname" ostree_sysroot_init_osname :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    CString ->                              -- osname : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Initialize the directory structure for an \"osname\", which is a+group of operating system deployments, with a shared @\/var@.  One+is required for generating a deployment.+-}+sysrootInitOsname ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> T.Text+    {- ^ /@osname@/: Name group of operating system checkouts -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootInitOsname self osname cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    osname' <- textToCString osname+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_sysroot_init_osname self' osname' maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        freeMem osname'+        return ()+     ) (do+        freeMem osname'+     )++#if ENABLE_OVERLOADING+data SysrootInitOsnameMethodInfo+instance (signature ~ (T.Text -> Maybe (b) -> m ()), MonadIO m, IsSysroot a, Gio.Cancellable.IsCancellable b) => O.MethodInfo SysrootInitOsnameMethodInfo a signature where+    overloadedMethod _ = sysrootInitOsname++#endif++-- method Sysroot::load+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_sysroot_load" ostree_sysroot_load :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Load deployment list, bootversion, and subbootversion from the+rootfs /@self@/.+-}+sysrootLoad ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootLoad self cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_sysroot_load self' maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data SysrootLoadMethodInfo+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsSysroot a, Gio.Cancellable.IsCancellable b) => O.MethodInfo SysrootLoadMethodInfo a signature where+    overloadedMethod _ = sysrootLoad++#endif++-- method Sysroot::load_if_changed+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_changed", argType = TBasicType TBoolean, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TBasicType TBoolean)+-- throws : True+-- Skip return : False++foreign import ccall "ostree_sysroot_load_if_changed" ostree_sysroot_load_if_changed :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    CInt ->                                 -- out_changed : TBasicType TBoolean+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+/No description available in the introspection data./+-}+sysrootLoadIfChanged ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a, Gio.Cancellable.IsCancellable b) =>+    a+    -> Bool+    -> Maybe (b)+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootLoadIfChanged self outChanged cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    let outChanged' = (fromIntegral . fromEnum) outChanged+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_sysroot_load_if_changed self' outChanged' maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data SysrootLoadIfChangedMethodInfo+instance (signature ~ (Bool -> Maybe (b) -> m ()), MonadIO m, IsSysroot a, Gio.Cancellable.IsCancellable b) => O.MethodInfo SysrootLoadIfChangedMethodInfo a signature where+    overloadedMethod _ = sysrootLoadIfChanged++#endif++-- method Sysroot::lock+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Self", 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 "ostree_sysroot_lock" ostree_sysroot_lock :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Acquire an exclusive multi-process write lock for /@self@/.  This call+blocks until the lock has been acquired.  The lock is not+reentrant.++Release the lock with 'GI.OSTree.Objects.Sysroot.sysrootUnlock'.  The lock will also+be released if /@self@/ is deallocated.+-}+sysrootLock ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a) =>+    a+    {- ^ /@self@/: Self -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootLock self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    onException (do+        _ <- propagateGError $ ostree_sysroot_lock self'+        touchManagedPtr self+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data SysrootLockMethodInfo+instance (signature ~ (m ()), MonadIO m, IsSysroot a) => O.MethodInfo SysrootLockMethodInfo a signature where+    overloadedMethod _ = sysrootLock++#endif++-- method Sysroot::lock_async+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Self", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Callback", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = 3, 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 = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_sysroot_lock_async" ostree_sysroot_lock_async :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    FunPtr Gio.Callbacks.C_AsyncReadyCallback -> -- callback : TInterface (Name {namespace = "Gio", name = "AsyncReadyCallback"})+    Ptr () ->                               -- user_data : TBasicType TPtr+    IO ()++{- |+An asynchronous version of 'GI.OSTree.Objects.Sysroot.sysrootLock'.+-}+sysrootLockAsync ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Self -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> Maybe (Gio.Callbacks.AsyncReadyCallback)+    {- ^ /@callback@/: Callback -}+    -> m ()+sysrootLockAsync self cancellable callback = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    maybeCallback <- case callback of+        Nothing -> return (castPtrToFunPtr nullPtr)+        Just jCallback -> do+            ptrcallback <- callocMem :: IO (Ptr (FunPtr Gio.Callbacks.C_AsyncReadyCallback))+            jCallback' <- Gio.Callbacks.mk_AsyncReadyCallback (Gio.Callbacks.wrap_AsyncReadyCallback (Just ptrcallback) (Gio.Callbacks.drop_closures_AsyncReadyCallback jCallback))+            poke ptrcallback jCallback'+            return jCallback'+    let userData = nullPtr+    ostree_sysroot_lock_async self' maybeCancellable maybeCallback userData+    touchManagedPtr self+    whenJust cancellable touchManagedPtr+    return ()++#if ENABLE_OVERLOADING+data SysrootLockAsyncMethodInfo+instance (signature ~ (Maybe (b) -> Maybe (Gio.Callbacks.AsyncReadyCallback) -> m ()), MonadIO m, IsSysroot a, Gio.Cancellable.IsCancellable b) => O.MethodInfo SysrootLockAsyncMethodInfo a signature where+    overloadedMethod _ = sysrootLockAsync++#endif++-- method Sysroot::lock_finish+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Self", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "result", argType = TInterface (Name {namespace = "Gio", name = "AsyncResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Result", 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 "ostree_sysroot_lock_finish" ostree_sysroot_lock_finish :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    Ptr Gio.AsyncResult.AsyncResult ->      -- result : TInterface (Name {namespace = "Gio", name = "AsyncResult"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Call when 'GI.OSTree.Objects.Sysroot.sysrootLockAsync' is ready.+-}+sysrootLockFinish ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a, Gio.AsyncResult.IsAsyncResult b) =>+    a+    {- ^ /@self@/: Self -}+    -> b+    {- ^ /@result@/: Result -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootLockFinish self result_ = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result_' <- unsafeManagedPtrCastPtr result_+    onException (do+        _ <- propagateGError $ ostree_sysroot_lock_finish self' result_'+        touchManagedPtr self+        touchManagedPtr result_+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data SysrootLockFinishMethodInfo+instance (signature ~ (b -> m ()), MonadIO m, IsSysroot a, Gio.AsyncResult.IsAsyncResult b) => O.MethodInfo SysrootLockFinishMethodInfo a signature where+    overloadedMethod _ = sysrootLockFinish++#endif++-- method Sysroot::origin_new_from_refspec+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "refspec", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A refspec", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GLib", name = "KeyFile"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_sysroot_origin_new_from_refspec" ostree_sysroot_origin_new_from_refspec :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    CString ->                              -- refspec : TBasicType TUTF8+    IO (Ptr GLib.KeyFile.KeyFile)++{- |+/No description available in the introspection data./+-}+sysrootOriginNewFromRefspec ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> T.Text+    {- ^ /@refspec@/: A refspec -}+    -> m GLib.KeyFile.KeyFile+    {- ^ __Returns:__ A new config file which sets /@refspec@/ as an origin -}+sysrootOriginNewFromRefspec self refspec = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    refspec' <- textToCString refspec+    result <- ostree_sysroot_origin_new_from_refspec self' refspec'+    checkUnexpectedReturnNULL "sysrootOriginNewFromRefspec" result+    result' <- (wrapBoxed GLib.KeyFile.KeyFile) result+    touchManagedPtr self+    freeMem refspec'+    return result'++#if ENABLE_OVERLOADING+data SysrootOriginNewFromRefspecMethodInfo+instance (signature ~ (T.Text -> m GLib.KeyFile.KeyFile), MonadIO m, IsSysroot a) => O.MethodInfo SysrootOriginNewFromRefspecMethodInfo a signature where+    overloadedMethod _ = sysrootOriginNewFromRefspec++#endif++-- method Sysroot::prepare_cleanup+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_sysroot_prepare_cleanup" ostree_sysroot_prepare_cleanup :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Like 'GI.OSTree.Objects.Sysroot.sysrootCleanup' in that it cleans up incomplete deployments+and old boot versions, but does NOT prune the repository.+-}+sysrootPrepareCleanup ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootPrepareCleanup self cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_sysroot_prepare_cleanup self' maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data SysrootPrepareCleanupMethodInfo+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsSysroot a, Gio.Cancellable.IsCancellable b) => O.MethodInfo SysrootPrepareCleanupMethodInfo a signature where+    overloadedMethod _ = sysrootPrepareCleanup++#endif++-- method Sysroot::query_deployments_for+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "osname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "\"stateroot\" name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_pending", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The pending deployment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "out_rollback", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The rollback deployment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_sysroot_query_deployments_for" ostree_sysroot_query_deployments_for :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    CString ->                              -- osname : TBasicType TUTF8+    Ptr (Ptr OSTree.Deployment.Deployment) -> -- out_pending : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    Ptr (Ptr OSTree.Deployment.Deployment) -> -- out_rollback : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    IO ()++{- |+Find the pending and rollback deployments for /@osname@/. Pass 'Nothing' for /@osname@/+to use the booted deployment\'s osname. By default, pending deployment is the+first deployment in the order that matches /@osname@/, and /@rollback@/ will be the+next one after the booted deployment, or the deployment after the pending if+we\'re not looking at the booted deployment.++/Since: 2017.7/+-}+sysrootQueryDeploymentsFor ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> Maybe (T.Text)+    {- ^ /@osname@/: \"stateroot\" name -}+    -> m ((OSTree.Deployment.Deployment, OSTree.Deployment.Deployment))+sysrootQueryDeploymentsFor self osname = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeOsname <- case osname of+        Nothing -> return nullPtr+        Just jOsname -> do+            jOsname' <- textToCString jOsname+            return jOsname'+    outPending <- allocMem :: IO (Ptr (Ptr OSTree.Deployment.Deployment))+    outRollback <- allocMem :: IO (Ptr (Ptr OSTree.Deployment.Deployment))+    ostree_sysroot_query_deployments_for self' maybeOsname outPending outRollback+    outPending' <- peek outPending+    outPending'' <- (wrapObject OSTree.Deployment.Deployment) outPending'+    outRollback' <- peek outRollback+    outRollback'' <- (wrapObject OSTree.Deployment.Deployment) outRollback'+    touchManagedPtr self+    freeMem maybeOsname+    freeMem outPending+    freeMem outRollback+    return (outPending'', outRollback'')++#if ENABLE_OVERLOADING+data SysrootQueryDeploymentsForMethodInfo+instance (signature ~ (Maybe (T.Text) -> m ((OSTree.Deployment.Deployment, OSTree.Deployment.Deployment))), MonadIO m, IsSysroot a) => O.MethodInfo SysrootQueryDeploymentsForMethodInfo a signature where+    overloadedMethod _ = sysrootQueryDeploymentsFor++#endif++-- method Sysroot::repo+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "Repo"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_sysroot_repo" ostree_sysroot_repo :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    IO (Ptr OSTree.Repo.Repo)++{- |+This function is a variant of 'GI.OSTree.Objects.Sysroot.sysrootGetRepo' that cannot fail, and+returns a cached repository. Can only be called after 'GI.OSTree.Objects.Sysroot.sysrootLoad'+has been invoked successfully.+-}+sysrootRepo ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> m OSTree.Repo.Repo+    {- ^ __Returns:__ The OSTree repository in sysroot /@self@/. -}+sysrootRepo self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_sysroot_repo self'+    checkUnexpectedReturnNULL "sysrootRepo" result+    result' <- (newObject OSTree.Repo.Repo) result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data SysrootRepoMethodInfo+instance (signature ~ (m OSTree.Repo.Repo), MonadIO m, IsSysroot a) => O.MethodInfo SysrootRepoMethodInfo a signature where+    overloadedMethod _ = sysrootRepo++#endif++-- method Sysroot::simple_write_deployment+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "sysroot", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "osname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "OS name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_deployment", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Prepend this deployment to the list", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "merge_deployment", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Use this deployment for configuration merge", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "OSTree", name = "SysrootSimpleWriteDeploymentFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Flags controlling behavior", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_sysroot_simple_write_deployment" ostree_sysroot_simple_write_deployment :: +    Ptr Sysroot ->                          -- sysroot : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    CString ->                              -- osname : TBasicType TUTF8+    Ptr OSTree.Deployment.Deployment ->     -- new_deployment : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    Ptr OSTree.Deployment.Deployment ->     -- merge_deployment : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    CUInt ->                                -- flags : TInterface (Name {namespace = "OSTree", name = "SysrootSimpleWriteDeploymentFlags"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Prepend /@newDeployment@/ to the list of deployments, commit, and+cleanup.  By default, all other deployments for the given /@osname@/+except the merge deployment and the booted deployment will be+garbage collected.++If 'GI.OSTree.Flags.SysrootSimpleWriteDeploymentFlagsRetain' is+specified, then all current deployments will be kept.++If 'GI.OSTree.Flags.SysrootSimpleWriteDeploymentFlagsRetainPending' is+specified, then pending deployments will be kept.++If 'GI.OSTree.Flags.SysrootSimpleWriteDeploymentFlagsRetainRollback' is+specified, then rollback deployments will be kept.++If 'GI.OSTree.Flags.SysrootSimpleWriteDeploymentFlagsNotDefault' is+specified, then instead of prepending, the new deployment will be+added right after the booted or merge deployment, instead of first.++If 'GI.OSTree.Flags.SysrootSimpleWriteDeploymentFlagsNoClean' is+specified, then no cleanup will be performed after adding the+deployment. Make sure to call 'GI.OSTree.Objects.Sysroot.sysrootCleanup' sometime+later, instead.+-}+sysrootSimpleWriteDeployment ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a, OSTree.Deployment.IsDeployment b, OSTree.Deployment.IsDeployment c, Gio.Cancellable.IsCancellable d) =>+    a+    {- ^ /@sysroot@/: Sysroot -}+    -> Maybe (T.Text)+    {- ^ /@osname@/: OS name -}+    -> b+    {- ^ /@newDeployment@/: Prepend this deployment to the list -}+    -> Maybe (c)+    {- ^ /@mergeDeployment@/: Use this deployment for configuration merge -}+    -> [OSTree.Flags.SysrootSimpleWriteDeploymentFlags]+    {- ^ /@flags@/: Flags controlling behavior -}+    -> Maybe (d)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootSimpleWriteDeployment sysroot osname newDeployment mergeDeployment flags cancellable = liftIO $ do+    sysroot' <- unsafeManagedPtrCastPtr sysroot+    maybeOsname <- case osname of+        Nothing -> return nullPtr+        Just jOsname -> do+            jOsname' <- textToCString jOsname+            return jOsname'+    newDeployment' <- unsafeManagedPtrCastPtr newDeployment+    maybeMergeDeployment <- case mergeDeployment of+        Nothing -> return nullPtr+        Just jMergeDeployment -> do+            jMergeDeployment' <- unsafeManagedPtrCastPtr jMergeDeployment+            return jMergeDeployment'+    let flags' = gflagsToWord flags+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_sysroot_simple_write_deployment sysroot' maybeOsname newDeployment' maybeMergeDeployment flags' maybeCancellable+        touchManagedPtr sysroot+        touchManagedPtr newDeployment+        whenJust mergeDeployment touchManagedPtr+        whenJust cancellable touchManagedPtr+        freeMem maybeOsname+        return ()+     ) (do+        freeMem maybeOsname+     )++#if ENABLE_OVERLOADING+data SysrootSimpleWriteDeploymentMethodInfo+instance (signature ~ (Maybe (T.Text) -> b -> Maybe (c) -> [OSTree.Flags.SysrootSimpleWriteDeploymentFlags] -> Maybe (d) -> m ()), MonadIO m, IsSysroot a, OSTree.Deployment.IsDeployment b, OSTree.Deployment.IsDeployment c, Gio.Cancellable.IsCancellable d) => O.MethodInfo SysrootSimpleWriteDeploymentMethodInfo a signature where+    overloadedMethod _ = sysrootSimpleWriteDeployment++#endif++-- method Sysroot::stage_tree+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "osname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "osname to use for merge deployment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "revision", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Checksum to add", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "origin", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Origin to use for upgrades", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "merge_deployment", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Use this deployment for merge path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "override_kernel_argv", argType = TCArray True (-1) (-1) (TBasicType TUTF8), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Use these as kernel arguments; if %NULL, inherit options from provided_merge_deployment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_new_deployment", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "The new deployment path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_sysroot_stage_tree" ostree_sysroot_stage_tree :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    CString ->                              -- osname : TBasicType TUTF8+    CString ->                              -- revision : TBasicType TUTF8+    Ptr GLib.KeyFile.KeyFile ->             -- origin : TInterface (Name {namespace = "GLib", name = "KeyFile"})+    Ptr OSTree.Deployment.Deployment ->     -- merge_deployment : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    Ptr CString ->                          -- override_kernel_argv : TCArray True (-1) (-1) (TBasicType TUTF8)+    Ptr (Ptr OSTree.Deployment.Deployment) -> -- out_new_deployment : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Like 'GI.OSTree.Objects.Sysroot.sysrootDeployTree', but \"finalization\" only occurs at OS+shutdown time.+-}+sysrootStageTree ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a, OSTree.Deployment.IsDeployment b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> Maybe (T.Text)+    {- ^ /@osname@/: osname to use for merge deployment -}+    -> T.Text+    {- ^ /@revision@/: Checksum to add -}+    -> Maybe (GLib.KeyFile.KeyFile)+    {- ^ /@origin@/: Origin to use for upgrades -}+    -> Maybe (b)+    {- ^ /@mergeDeployment@/: Use this deployment for merge path -}+    -> Maybe ([T.Text])+    {- ^ /@overrideKernelArgv@/: Use these as kernel arguments; if 'Nothing', inherit options from provided_merge_deployment -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m (OSTree.Deployment.Deployment)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootStageTree self osname revision origin mergeDeployment overrideKernelArgv cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeOsname <- case osname of+        Nothing -> return nullPtr+        Just jOsname -> do+            jOsname' <- textToCString jOsname+            return jOsname'+    revision' <- textToCString revision+    maybeOrigin <- case origin of+        Nothing -> return nullPtr+        Just jOrigin -> do+            jOrigin' <- unsafeManagedPtrGetPtr jOrigin+            return jOrigin'+    maybeMergeDeployment <- case mergeDeployment of+        Nothing -> return nullPtr+        Just jMergeDeployment -> do+            jMergeDeployment' <- unsafeManagedPtrCastPtr jMergeDeployment+            return jMergeDeployment'+    maybeOverrideKernelArgv <- case overrideKernelArgv of+        Nothing -> return nullPtr+        Just jOverrideKernelArgv -> do+            jOverrideKernelArgv' <- packZeroTerminatedUTF8CArray jOverrideKernelArgv+            return jOverrideKernelArgv'+    outNewDeployment <- allocMem :: IO (Ptr (Ptr OSTree.Deployment.Deployment))+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_sysroot_stage_tree self' maybeOsname revision' maybeOrigin maybeMergeDeployment maybeOverrideKernelArgv outNewDeployment maybeCancellable+        outNewDeployment' <- peek outNewDeployment+        outNewDeployment'' <- (wrapObject OSTree.Deployment.Deployment) outNewDeployment'+        touchManagedPtr self+        whenJust origin touchManagedPtr+        whenJust mergeDeployment touchManagedPtr+        whenJust cancellable touchManagedPtr+        freeMem maybeOsname+        freeMem revision'+        mapZeroTerminatedCArray freeMem maybeOverrideKernelArgv+        freeMem maybeOverrideKernelArgv+        freeMem outNewDeployment+        return outNewDeployment''+     ) (do+        freeMem maybeOsname+        freeMem revision'+        mapZeroTerminatedCArray freeMem maybeOverrideKernelArgv+        freeMem maybeOverrideKernelArgv+        freeMem outNewDeployment+     )++#if ENABLE_OVERLOADING+data SysrootStageTreeMethodInfo+instance (signature ~ (Maybe (T.Text) -> T.Text -> Maybe (GLib.KeyFile.KeyFile) -> Maybe (b) -> Maybe ([T.Text]) -> Maybe (c) -> m (OSTree.Deployment.Deployment)), MonadIO m, IsSysroot a, OSTree.Deployment.IsDeployment b, Gio.Cancellable.IsCancellable c) => O.MethodInfo SysrootStageTreeMethodInfo a signature where+    overloadedMethod _ = sysrootStageTree++#endif++-- method Sysroot::try_lock+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Self", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_acquired", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether or not the lock has been acquired", 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 "ostree_sysroot_try_lock" ostree_sysroot_try_lock :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    Ptr CInt ->                             -- out_acquired : TBasicType TBoolean+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Try to acquire an exclusive multi-process write lock for /@self@/.  If+another process holds the lock, this function will return+immediately, setting /@outAcquired@/ to 'False', and returning 'True'+(and no error).++Release the lock with 'GI.OSTree.Objects.Sysroot.sysrootUnlock'.  The lock will also+be released if /@self@/ is deallocated.+-}+sysrootTryLock ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a) =>+    a+    {- ^ /@self@/: Self -}+    -> m (Bool)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootTryLock self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    outAcquired <- allocMem :: IO (Ptr CInt)+    onException (do+        _ <- propagateGError $ ostree_sysroot_try_lock self' outAcquired+        outAcquired' <- peek outAcquired+        let outAcquired'' = (/= 0) outAcquired'+        touchManagedPtr self+        freeMem outAcquired+        return outAcquired''+     ) (do+        freeMem outAcquired+     )++#if ENABLE_OVERLOADING+data SysrootTryLockMethodInfo+instance (signature ~ (m (Bool)), MonadIO m, IsSysroot a) => O.MethodInfo SysrootTryLockMethodInfo a signature where+    overloadedMethod _ = sysrootTryLock++#endif++-- method Sysroot::unload+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_sysroot_unload" ostree_sysroot_unload :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    IO ()++{- |+Release any resources such as file descriptors referring to the+root directory of this sysroot.  Normally, those resources are+cleared by finalization, but in garbage collected languages that+may not be predictable.++This undoes the effect of @ostree_sysroot_load()@.+-}+sysrootUnload ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> m ()+sysrootUnload self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    ostree_sysroot_unload self'+    touchManagedPtr self+    return ()++#if ENABLE_OVERLOADING+data SysrootUnloadMethodInfo+instance (signature ~ (m ()), MonadIO m, IsSysroot a) => O.MethodInfo SysrootUnloadMethodInfo a signature where+    overloadedMethod _ = sysrootUnload++#endif++-- method Sysroot::unlock+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Self", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_sysroot_unlock" ostree_sysroot_unlock :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    IO ()++{- |+Clear the lock previously acquired with 'GI.OSTree.Objects.Sysroot.sysrootLock'.  It+is safe to call this function if the lock has not been previously+acquired.+-}+sysrootUnlock ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a) =>+    a+    {- ^ /@self@/: Self -}+    -> m ()+sysrootUnlock self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    ostree_sysroot_unlock self'+    touchManagedPtr self+    return ()++#if ENABLE_OVERLOADING+data SysrootUnlockMethodInfo+instance (signature ~ (m ()), MonadIO m, IsSysroot a) => O.MethodInfo SysrootUnlockMethodInfo a signature where+    overloadedMethod _ = sysrootUnlock++#endif++-- method Sysroot::write_deployments+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_deployments", argType = TPtrArray (TInterface (Name {namespace = "OSTree", name = "Deployment"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "List of new deployments", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_sysroot_write_deployments" ostree_sysroot_write_deployments :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    Ptr (GPtrArray (Ptr OSTree.Deployment.Deployment)) -> -- new_deployments : TPtrArray (TInterface (Name {namespace = "OSTree", name = "Deployment"}))+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Older version of 'GI.OSTree.Objects.Sysroot.sysrootWriteDeploymentsWithOptions'. This+version will perform post-deployment cleanup by default.+-}+sysrootWriteDeployments ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> [OSTree.Deployment.Deployment]+    {- ^ /@newDeployments@/: List of new deployments -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootWriteDeployments self newDeployments cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    newDeployments' <- mapM unsafeManagedPtrCastPtr newDeployments+    newDeployments'' <- packGPtrArray newDeployments'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_sysroot_write_deployments self' newDeployments'' maybeCancellable+        touchManagedPtr self+        mapM_ touchManagedPtr newDeployments+        whenJust cancellable touchManagedPtr+        unrefPtrArray newDeployments''+        return ()+     ) (do+        unrefPtrArray newDeployments''+     )++#if ENABLE_OVERLOADING+data SysrootWriteDeploymentsMethodInfo+instance (signature ~ ([OSTree.Deployment.Deployment] -> Maybe (b) -> m ()), MonadIO m, IsSysroot a, Gio.Cancellable.IsCancellable b) => O.MethodInfo SysrootWriteDeploymentsMethodInfo a signature where+    overloadedMethod _ = sysrootWriteDeployments++#endif++-- method Sysroot::write_deployments_with_options+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_deployments", argType = TPtrArray (TInterface (Name {namespace = "OSTree", name = "Deployment"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "List of new deployments", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "opts", argType = TInterface (Name {namespace = "OSTree", name = "SysrootWriteDeploymentsOpts"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Options", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_sysroot_write_deployments_with_options" ostree_sysroot_write_deployments_with_options :: +    Ptr Sysroot ->                          -- self : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    Ptr (GPtrArray (Ptr OSTree.Deployment.Deployment)) -> -- new_deployments : TPtrArray (TInterface (Name {namespace = "OSTree", name = "Deployment"}))+    Ptr OSTree.SysrootWriteDeploymentsOpts.SysrootWriteDeploymentsOpts -> -- opts : TInterface (Name {namespace = "OSTree", name = "SysrootWriteDeploymentsOpts"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Assuming /@newDeployments@/ have already been deployed in place on disk via+'GI.OSTree.Objects.Sysroot.sysrootDeployTree', atomically update bootloader configuration. By+default, no post-transaction cleanup will be performed. You should invoke+'GI.OSTree.Objects.Sysroot.sysrootCleanup' at some point after the transaction, or specify+@do_postclean@ in /@opts@/.  Skipping the post-transaction cleanup is useful+if for example you want to control pruning of the repository.+-}+sysrootWriteDeploymentsWithOptions ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> [OSTree.Deployment.Deployment]+    {- ^ /@newDeployments@/: List of new deployments -}+    -> OSTree.SysrootWriteDeploymentsOpts.SysrootWriteDeploymentsOpts+    {- ^ /@opts@/: Options -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootWriteDeploymentsWithOptions self newDeployments opts cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    newDeployments' <- mapM unsafeManagedPtrCastPtr newDeployments+    newDeployments'' <- packGPtrArray newDeployments'+    opts' <- unsafeManagedPtrGetPtr opts+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_sysroot_write_deployments_with_options self' newDeployments'' opts' maybeCancellable+        touchManagedPtr self+        mapM_ touchManagedPtr newDeployments+        touchManagedPtr opts+        whenJust cancellable touchManagedPtr+        unrefPtrArray newDeployments''+        return ()+     ) (do+        unrefPtrArray newDeployments''+     )++#if ENABLE_OVERLOADING+data SysrootWriteDeploymentsWithOptionsMethodInfo+instance (signature ~ ([OSTree.Deployment.Deployment] -> OSTree.SysrootWriteDeploymentsOpts.SysrootWriteDeploymentsOpts -> Maybe (b) -> m ()), MonadIO m, IsSysroot a, Gio.Cancellable.IsCancellable b) => O.MethodInfo SysrootWriteDeploymentsWithOptionsMethodInfo a signature where+    overloadedMethod _ = sysrootWriteDeploymentsWithOptions++#endif++-- method Sysroot::write_origin_file+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "sysroot", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "System root", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "deployment", argType = TInterface (Name {namespace = "OSTree", name = "Deployment"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Deployment", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "new_origin", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Origin content", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_sysroot_write_origin_file" ostree_sysroot_write_origin_file :: +    Ptr Sysroot ->                          -- sysroot : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    Ptr OSTree.Deployment.Deployment ->     -- deployment : TInterface (Name {namespace = "OSTree", name = "Deployment"})+    Ptr GLib.KeyFile.KeyFile ->             -- new_origin : TInterface (Name {namespace = "GLib", name = "KeyFile"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Immediately replace the origin file of the referenced /@deployment@/+with the contents of /@newOrigin@/.  If /@newOrigin@/ is 'Nothing',+this function will write the current origin of /@deployment@/.+-}+sysrootWriteOriginFile ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysroot a, OSTree.Deployment.IsDeployment b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@sysroot@/: System root -}+    -> b+    {- ^ /@deployment@/: Deployment -}+    -> Maybe (GLib.KeyFile.KeyFile)+    {- ^ /@newOrigin@/: Origin content -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootWriteOriginFile sysroot deployment newOrigin cancellable = liftIO $ do+    sysroot' <- unsafeManagedPtrCastPtr sysroot+    deployment' <- unsafeManagedPtrCastPtr deployment+    maybeNewOrigin <- case newOrigin of+        Nothing -> return nullPtr+        Just jNewOrigin -> do+            jNewOrigin' <- unsafeManagedPtrGetPtr jNewOrigin+            return jNewOrigin'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_sysroot_write_origin_file sysroot' deployment' maybeNewOrigin maybeCancellable+        touchManagedPtr sysroot+        touchManagedPtr deployment+        whenJust newOrigin touchManagedPtr+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data SysrootWriteOriginFileMethodInfo+instance (signature ~ (b -> Maybe (GLib.KeyFile.KeyFile) -> Maybe (c) -> m ()), MonadIO m, IsSysroot a, OSTree.Deployment.IsDeployment b, Gio.Cancellable.IsCancellable c) => O.MethodInfo SysrootWriteOriginFileMethodInfo a signature where+    overloadedMethod _ = sysrootWriteOriginFile++#endif++-- method Sysroot::get_deployment_origin_path+-- method type : MemberFunction+-- Args : [Arg {argCName = "deployment_path", argType = TInterface (Name {namespace = "Gio", name = "File"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A deployment path", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "Gio", name = "File"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_sysroot_get_deployment_origin_path" ostree_sysroot_get_deployment_origin_path :: +    Ptr Gio.File.File ->                    -- deployment_path : TInterface (Name {namespace = "Gio", name = "File"})+    IO (Ptr Gio.File.File)++{- |+/No description available in the introspection data./+-}+sysrootGetDeploymentOriginPath ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.File.IsFile a) =>+    a+    {- ^ /@deploymentPath@/: A deployment path -}+    -> m Gio.File.File+    {- ^ __Returns:__ Path to deployment origin file -}+sysrootGetDeploymentOriginPath deploymentPath = liftIO $ do+    deploymentPath' <- unsafeManagedPtrCastPtr deploymentPath+    result <- ostree_sysroot_get_deployment_origin_path deploymentPath'+    checkUnexpectedReturnNULL "sysrootGetDeploymentOriginPath" result+    result' <- (wrapObject Gio.File.File) result+    touchManagedPtr deploymentPath+    return result'++#if ENABLE_OVERLOADING+#endif++
+ GI/OSTree/Objects/Sysroot.hs-boot view
@@ -0,0 +1,146 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Objects.Sysroot 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 Sysroot = Sysroot (ManagedPtr Sysroot)+instance GObject Sysroot where+class (GObject o, O.IsDescendantOf Sysroot o) => IsSysroot o+instance (GObject o, O.IsDescendantOf Sysroot o) => IsSysroot o+instance O.HasParentTypes Sysroot+#if ENABLE_OVERLOADING+data SysrootPathPropertyInfo+#endif+#if ENABLE_OVERLOADING+data SysrootJournalMsgSignalInfo+#endif+#if ENABLE_OVERLOADING+data SysrootCleanupMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootCleanupPruneRepoMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootDeployTreeMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootDeploymentSetKargsMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootDeploymentSetMutableMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootDeploymentSetPinnedMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootDeploymentUnlockMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootEnsureInitializedMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootGetBootedDeploymentMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootGetBootversionMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootGetDeploymentDirectoryMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootGetDeploymentDirpathMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootGetDeploymentsMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootGetFdMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootGetMergeDeploymentMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootGetPathMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootGetRepoMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootGetStagedDeploymentMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootGetSubbootversionMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootInitOsnameMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootLoadMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootLoadIfChangedMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootLockMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootLockAsyncMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootLockFinishMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootOriginNewFromRefspecMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootPrepareCleanupMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootQueryDeploymentsForMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootRepoMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootSimpleWriteDeploymentMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootStageTreeMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootTryLockMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootUnloadMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootUnlockMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootWriteDeploymentsMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootWriteDeploymentsWithOptionsMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootWriteOriginFileMethodInfo+#endif
+ GI/OSTree/Objects/SysrootUpgrader.hs view
@@ -0,0 +1,953 @@+++{- |+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.OSTree.Objects.SysrootUpgrader+    ( ++-- * Exported types+    SysrootUpgrader(..)                     ,+    IsSysrootUpgrader                       ,+    toSysrootUpgrader                       ,+    noSysrootUpgrader                       ,+++ -- * Methods+-- ** checkTimestamps #method:checkTimestamps#++    sysrootUpgraderCheckTimestamps          ,+++-- ** deploy #method:deploy#++#if ENABLE_OVERLOADING+    SysrootUpgraderDeployMethodInfo         ,+#endif+    sysrootUpgraderDeploy                   ,+++-- ** dupOrigin #method:dupOrigin#++#if ENABLE_OVERLOADING+    SysrootUpgraderDupOriginMethodInfo      ,+#endif+    sysrootUpgraderDupOrigin                ,+++-- ** getOrigin #method:getOrigin#++#if ENABLE_OVERLOADING+    SysrootUpgraderGetOriginMethodInfo      ,+#endif+    sysrootUpgraderGetOrigin                ,+++-- ** getOriginDescription #method:getOriginDescription#++#if ENABLE_OVERLOADING+    SysrootUpgraderGetOriginDescriptionMethodInfo,+#endif+    sysrootUpgraderGetOriginDescription     ,+++-- ** new #method:new#++    sysrootUpgraderNew                      ,+++-- ** newForOs #method:newForOs#++    sysrootUpgraderNewForOs                 ,+++-- ** newForOsWithFlags #method:newForOsWithFlags#++    sysrootUpgraderNewForOsWithFlags        ,+++-- ** pull #method:pull#++#if ENABLE_OVERLOADING+    SysrootUpgraderPullMethodInfo           ,+#endif+    sysrootUpgraderPull                     ,+++-- ** pullOneDir #method:pullOneDir#++#if ENABLE_OVERLOADING+    SysrootUpgraderPullOneDirMethodInfo     ,+#endif+    sysrootUpgraderPullOneDir               ,+++-- ** setOrigin #method:setOrigin#++#if ENABLE_OVERLOADING+    SysrootUpgraderSetOriginMethodInfo      ,+#endif+    sysrootUpgraderSetOrigin                ,+++++ -- * Properties+-- ** flags #attr:flags#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    SysrootUpgraderFlagsPropertyInfo        ,+#endif+    constructSysrootUpgraderFlags           ,+    getSysrootUpgraderFlags                 ,+#if ENABLE_OVERLOADING+    sysrootUpgraderFlags                    ,+#endif+++-- ** osname #attr:osname#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    SysrootUpgraderOsnamePropertyInfo       ,+#endif+    constructSysrootUpgraderOsname          ,+    getSysrootUpgraderOsname                ,+#if ENABLE_OVERLOADING+    sysrootUpgraderOsname                   ,+#endif+++-- ** sysroot #attr:sysroot#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    SysrootUpgraderSysrootPropertyInfo      ,+#endif+    constructSysrootUpgraderSysroot         ,+    getSysrootUpgraderSysroot               ,+#if ENABLE_OVERLOADING+    sysrootUpgraderSysroot                  ,+#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.Structs.KeyFile as GLib.KeyFile+import qualified GI.GObject.Objects.Object as GObject.Object+import qualified GI.Gio.Interfaces.Initable as Gio.Initable+import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable+import {-# SOURCE #-} qualified GI.OSTree.Flags as OSTree.Flags+import {-# SOURCE #-} qualified GI.OSTree.Objects.AsyncProgress as OSTree.AsyncProgress+import {-# SOURCE #-} qualified GI.OSTree.Objects.Repo as OSTree.Repo+import {-# SOURCE #-} qualified GI.OSTree.Objects.Sysroot as OSTree.Sysroot++-- | Memory-managed wrapper type.+newtype SysrootUpgrader = SysrootUpgrader (ManagedPtr SysrootUpgrader)+foreign import ccall "ostree_sysroot_upgrader_get_type"+    c_ostree_sysroot_upgrader_get_type :: IO GType++instance GObject SysrootUpgrader where+    gobjectType = c_ostree_sysroot_upgrader_get_type+    ++-- | Type class for types which can be safely cast to `SysrootUpgrader`, for instance with `toSysrootUpgrader`.+class (GObject o, O.IsDescendantOf SysrootUpgrader o) => IsSysrootUpgrader o+instance (GObject o, O.IsDescendantOf SysrootUpgrader o) => IsSysrootUpgrader o++instance O.HasParentTypes SysrootUpgrader+type instance O.ParentTypes SysrootUpgrader = '[GObject.Object.Object, Gio.Initable.Initable]++-- | Cast to `SysrootUpgrader`, for types for which this is known to be safe. For general casts, use `Data.GI.Base.ManagedPtr.castTo`.+toSysrootUpgrader :: (MonadIO m, IsSysrootUpgrader o) => o -> m SysrootUpgrader+toSysrootUpgrader = liftIO . unsafeCastTo SysrootUpgrader++-- | A convenience alias for `Nothing` :: `Maybe` `SysrootUpgrader`.+noSysrootUpgrader :: Maybe SysrootUpgrader+noSysrootUpgrader = Nothing++#if ENABLE_OVERLOADING+type family ResolveSysrootUpgraderMethod (t :: Symbol) (o :: *) :: * where+    ResolveSysrootUpgraderMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo+    ResolveSysrootUpgraderMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo+    ResolveSysrootUpgraderMethod "deploy" o = SysrootUpgraderDeployMethodInfo+    ResolveSysrootUpgraderMethod "dupOrigin" o = SysrootUpgraderDupOriginMethodInfo+    ResolveSysrootUpgraderMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo+    ResolveSysrootUpgraderMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo+    ResolveSysrootUpgraderMethod "getv" o = GObject.Object.ObjectGetvMethodInfo+    ResolveSysrootUpgraderMethod "init" o = Gio.Initable.InitableInitMethodInfo+    ResolveSysrootUpgraderMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo+    ResolveSysrootUpgraderMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo+    ResolveSysrootUpgraderMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo+    ResolveSysrootUpgraderMethod "pull" o = SysrootUpgraderPullMethodInfo+    ResolveSysrootUpgraderMethod "pullOneDir" o = SysrootUpgraderPullOneDirMethodInfo+    ResolveSysrootUpgraderMethod "ref" o = GObject.Object.ObjectRefMethodInfo+    ResolveSysrootUpgraderMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo+    ResolveSysrootUpgraderMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo+    ResolveSysrootUpgraderMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo+    ResolveSysrootUpgraderMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo+    ResolveSysrootUpgraderMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo+    ResolveSysrootUpgraderMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo+    ResolveSysrootUpgraderMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo+    ResolveSysrootUpgraderMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo+    ResolveSysrootUpgraderMethod "getOrigin" o = SysrootUpgraderGetOriginMethodInfo+    ResolveSysrootUpgraderMethod "getOriginDescription" o = SysrootUpgraderGetOriginDescriptionMethodInfo+    ResolveSysrootUpgraderMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo+    ResolveSysrootUpgraderMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo+    ResolveSysrootUpgraderMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo+    ResolveSysrootUpgraderMethod "setOrigin" o = SysrootUpgraderSetOriginMethodInfo+    ResolveSysrootUpgraderMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo+    ResolveSysrootUpgraderMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveSysrootUpgraderMethod t SysrootUpgrader, O.MethodInfo info SysrootUpgrader p) => OL.IsLabel t (SysrootUpgrader -> 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++-- VVV Prop "flags"+   -- Type: TInterface (Name {namespace = "OSTree", name = "SysrootUpgraderFlags"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@flags@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' sysrootUpgrader #flags+@+-}+getSysrootUpgraderFlags :: (MonadIO m, IsSysrootUpgrader o) => o -> m [OSTree.Flags.SysrootUpgraderFlags]+getSysrootUpgraderFlags obj = liftIO $ B.Properties.getObjectPropertyFlags obj "flags"++{- |+Construct a `GValueConstruct` with valid value for the “@flags@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructSysrootUpgraderFlags :: (IsSysrootUpgrader o) => [OSTree.Flags.SysrootUpgraderFlags] -> IO (GValueConstruct o)+constructSysrootUpgraderFlags val = B.Properties.constructObjectPropertyFlags "flags" val++#if ENABLE_OVERLOADING+data SysrootUpgraderFlagsPropertyInfo+instance AttrInfo SysrootUpgraderFlagsPropertyInfo where+    type AttrAllowedOps SysrootUpgraderFlagsPropertyInfo = '[ 'AttrConstruct, 'AttrGet]+    type AttrSetTypeConstraint SysrootUpgraderFlagsPropertyInfo = (~) [OSTree.Flags.SysrootUpgraderFlags]+    type AttrBaseTypeConstraint SysrootUpgraderFlagsPropertyInfo = IsSysrootUpgrader+    type AttrGetType SysrootUpgraderFlagsPropertyInfo = [OSTree.Flags.SysrootUpgraderFlags]+    type AttrLabel SysrootUpgraderFlagsPropertyInfo = "flags"+    type AttrOrigin SysrootUpgraderFlagsPropertyInfo = SysrootUpgrader+    attrGet _ = getSysrootUpgraderFlags+    attrSet _ = undefined+    attrConstruct _ = constructSysrootUpgraderFlags+    attrClear _ = undefined+#endif++-- VVV Prop "osname"+   -- Type: TBasicType TUTF8+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@osname@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' sysrootUpgrader #osname+@+-}+getSysrootUpgraderOsname :: (MonadIO m, IsSysrootUpgrader o) => o -> m (Maybe T.Text)+getSysrootUpgraderOsname obj = liftIO $ B.Properties.getObjectPropertyString obj "osname"++{- |+Construct a `GValueConstruct` with valid value for the “@osname@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructSysrootUpgraderOsname :: (IsSysrootUpgrader o) => T.Text -> IO (GValueConstruct o)+constructSysrootUpgraderOsname val = B.Properties.constructObjectPropertyString "osname" (Just val)++#if ENABLE_OVERLOADING+data SysrootUpgraderOsnamePropertyInfo+instance AttrInfo SysrootUpgraderOsnamePropertyInfo where+    type AttrAllowedOps SysrootUpgraderOsnamePropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint SysrootUpgraderOsnamePropertyInfo = (~) T.Text+    type AttrBaseTypeConstraint SysrootUpgraderOsnamePropertyInfo = IsSysrootUpgrader+    type AttrGetType SysrootUpgraderOsnamePropertyInfo = (Maybe T.Text)+    type AttrLabel SysrootUpgraderOsnamePropertyInfo = "osname"+    type AttrOrigin SysrootUpgraderOsnamePropertyInfo = SysrootUpgrader+    attrGet _ = getSysrootUpgraderOsname+    attrSet _ = undefined+    attrConstruct _ = constructSysrootUpgraderOsname+    attrClear _ = undefined+#endif++-- VVV Prop "sysroot"+   -- Type: TInterface (Name {namespace = "OSTree", name = "Sysroot"})+   -- Flags: [PropertyReadable,PropertyWritable,PropertyConstructOnly]+   -- Nullable: (Nothing,Nothing)++{- |+Get the value of the “@sysroot@” property.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' sysrootUpgrader #sysroot+@+-}+getSysrootUpgraderSysroot :: (MonadIO m, IsSysrootUpgrader o) => o -> m (Maybe OSTree.Sysroot.Sysroot)+getSysrootUpgraderSysroot obj = liftIO $ B.Properties.getObjectPropertyObject obj "sysroot" OSTree.Sysroot.Sysroot++{- |+Construct a `GValueConstruct` with valid value for the “@sysroot@” property. This is rarely needed directly, but it is used by `Data.GI.Base.Constructible.new`.+-}+constructSysrootUpgraderSysroot :: (IsSysrootUpgrader o, OSTree.Sysroot.IsSysroot a) => a -> IO (GValueConstruct o)+constructSysrootUpgraderSysroot val = B.Properties.constructObjectPropertyObject "sysroot" (Just val)++#if ENABLE_OVERLOADING+data SysrootUpgraderSysrootPropertyInfo+instance AttrInfo SysrootUpgraderSysrootPropertyInfo where+    type AttrAllowedOps SysrootUpgraderSysrootPropertyInfo = '[ 'AttrConstruct, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint SysrootUpgraderSysrootPropertyInfo = OSTree.Sysroot.IsSysroot+    type AttrBaseTypeConstraint SysrootUpgraderSysrootPropertyInfo = IsSysrootUpgrader+    type AttrGetType SysrootUpgraderSysrootPropertyInfo = (Maybe OSTree.Sysroot.Sysroot)+    type AttrLabel SysrootUpgraderSysrootPropertyInfo = "sysroot"+    type AttrOrigin SysrootUpgraderSysrootPropertyInfo = SysrootUpgrader+    attrGet _ = getSysrootUpgraderSysroot+    attrSet _ = undefined+    attrConstruct _ = constructSysrootUpgraderSysroot+    attrClear _ = undefined+#endif++#if ENABLE_OVERLOADING+instance O.HasAttributeList SysrootUpgrader+type instance O.AttributeList SysrootUpgrader = SysrootUpgraderAttributeList+type SysrootUpgraderAttributeList = ('[ '("flags", SysrootUpgraderFlagsPropertyInfo), '("osname", SysrootUpgraderOsnamePropertyInfo), '("sysroot", SysrootUpgraderSysrootPropertyInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+sysrootUpgraderFlags :: AttrLabelProxy "flags"+sysrootUpgraderFlags = AttrLabelProxy++sysrootUpgraderOsname :: AttrLabelProxy "osname"+sysrootUpgraderOsname = AttrLabelProxy++sysrootUpgraderSysroot :: AttrLabelProxy "sysroot"+sysrootUpgraderSysroot = AttrLabelProxy++#endif++#if ENABLE_OVERLOADING+type instance O.SignalList SysrootUpgrader = SysrootUpgraderSignalList+type SysrootUpgraderSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])++#endif++-- method SysrootUpgrader::new+-- method type : Constructor+-- Args : [Arg {argCName = "sysroot", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #OstreeSysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "SysrootUpgrader"}))+-- throws : True+-- Skip return : False++foreign import ccall "ostree_sysroot_upgrader_new" ostree_sysroot_upgrader_new :: +    Ptr OSTree.Sysroot.Sysroot ->           -- sysroot : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr SysrootUpgrader)++{- |+/No description available in the introspection data./+-}+sysrootUpgraderNew ::+    (B.CallStack.HasCallStack, MonadIO m, OSTree.Sysroot.IsSysroot a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@sysroot@/: An 'GI.OSTree.Objects.Sysroot.Sysroot' -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m SysrootUpgrader+    {- ^ __Returns:__ An upgrader /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootUpgraderNew sysroot cancellable = liftIO $ do+    sysroot' <- unsafeManagedPtrCastPtr sysroot+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        result <- propagateGError $ ostree_sysroot_upgrader_new sysroot' maybeCancellable+        checkUnexpectedReturnNULL "sysrootUpgraderNew" result+        result' <- (wrapObject SysrootUpgrader) result+        touchManagedPtr sysroot+        whenJust cancellable touchManagedPtr+        return result'+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+#endif++-- method SysrootUpgrader::new_for_os+-- method type : Constructor+-- Args : [Arg {argCName = "sysroot", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #OstreeSysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "osname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Operating system name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "SysrootUpgrader"}))+-- throws : True+-- Skip return : False++foreign import ccall "ostree_sysroot_upgrader_new_for_os" ostree_sysroot_upgrader_new_for_os :: +    Ptr OSTree.Sysroot.Sysroot ->           -- sysroot : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    CString ->                              -- osname : TBasicType TUTF8+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr SysrootUpgrader)++{- |+/No description available in the introspection data./+-}+sysrootUpgraderNewForOs ::+    (B.CallStack.HasCallStack, MonadIO m, OSTree.Sysroot.IsSysroot a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@sysroot@/: An 'GI.OSTree.Objects.Sysroot.Sysroot' -}+    -> Maybe (T.Text)+    {- ^ /@osname@/: Operating system name -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m SysrootUpgrader+    {- ^ __Returns:__ An upgrader /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootUpgraderNewForOs sysroot osname cancellable = liftIO $ do+    sysroot' <- unsafeManagedPtrCastPtr sysroot+    maybeOsname <- case osname of+        Nothing -> return nullPtr+        Just jOsname -> do+            jOsname' <- textToCString jOsname+            return jOsname'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        result <- propagateGError $ ostree_sysroot_upgrader_new_for_os sysroot' maybeOsname maybeCancellable+        checkUnexpectedReturnNULL "sysrootUpgraderNewForOs" result+        result' <- (wrapObject SysrootUpgrader) result+        touchManagedPtr sysroot+        whenJust cancellable touchManagedPtr+        freeMem maybeOsname+        return result'+     ) (do+        freeMem maybeOsname+     )++#if ENABLE_OVERLOADING+#endif++-- method SysrootUpgrader::new_for_os_with_flags+-- method type : Constructor+-- Args : [Arg {argCName = "sysroot", argType = TInterface (Name {namespace = "OSTree", name = "Sysroot"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #OstreeSysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "osname", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Operating system name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "OSTree", name = "SysrootUpgraderFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Flags", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "SysrootUpgrader"}))+-- throws : True+-- Skip return : False++foreign import ccall "ostree_sysroot_upgrader_new_for_os_with_flags" ostree_sysroot_upgrader_new_for_os_with_flags :: +    Ptr OSTree.Sysroot.Sysroot ->           -- sysroot : TInterface (Name {namespace = "OSTree", name = "Sysroot"})+    CString ->                              -- osname : TBasicType TUTF8+    CUInt ->                                -- flags : TInterface (Name {namespace = "OSTree", name = "SysrootUpgraderFlags"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO (Ptr SysrootUpgrader)++{- |+/No description available in the introspection data./+-}+sysrootUpgraderNewForOsWithFlags ::+    (B.CallStack.HasCallStack, MonadIO m, OSTree.Sysroot.IsSysroot a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@sysroot@/: An 'GI.OSTree.Objects.Sysroot.Sysroot' -}+    -> Maybe (T.Text)+    {- ^ /@osname@/: Operating system name -}+    -> [OSTree.Flags.SysrootUpgraderFlags]+    {- ^ /@flags@/: Flags -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m SysrootUpgrader+    {- ^ __Returns:__ An upgrader /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootUpgraderNewForOsWithFlags sysroot osname flags cancellable = liftIO $ do+    sysroot' <- unsafeManagedPtrCastPtr sysroot+    maybeOsname <- case osname of+        Nothing -> return nullPtr+        Just jOsname -> do+            jOsname' <- textToCString jOsname+            return jOsname'+    let flags' = gflagsToWord flags+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        result <- propagateGError $ ostree_sysroot_upgrader_new_for_os_with_flags sysroot' maybeOsname flags' maybeCancellable+        checkUnexpectedReturnNULL "sysrootUpgraderNewForOsWithFlags" result+        result' <- (wrapObject SysrootUpgrader) result+        touchManagedPtr sysroot+        whenJust cancellable touchManagedPtr+        freeMem maybeOsname+        return result'+     ) (do+        freeMem maybeOsname+     )++#if ENABLE_OVERLOADING+#endif++-- method SysrootUpgrader::deploy+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "SysrootUpgrader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Self", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_sysroot_upgrader_deploy" ostree_sysroot_upgrader_deploy :: +    Ptr SysrootUpgrader ->                  -- self : TInterface (Name {namespace = "OSTree", name = "SysrootUpgrader"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Write the new deployment to disk, perform a configuration merge+with \/etc, and update the bootloader configuration.+-}+sysrootUpgraderDeploy ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysrootUpgrader a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Self -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootUpgraderDeploy self cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_sysroot_upgrader_deploy self' maybeCancellable+        touchManagedPtr self+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data SysrootUpgraderDeployMethodInfo+instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsSysrootUpgrader a, Gio.Cancellable.IsCancellable b) => O.MethodInfo SysrootUpgraderDeployMethodInfo a signature where+    overloadedMethod _ = sysrootUpgraderDeploy++#endif++-- method SysrootUpgrader::dup_origin+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "SysrootUpgrader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GLib", name = "KeyFile"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_sysroot_upgrader_dup_origin" ostree_sysroot_upgrader_dup_origin :: +    Ptr SysrootUpgrader ->                  -- self : TInterface (Name {namespace = "OSTree", name = "SysrootUpgrader"})+    IO (Ptr GLib.KeyFile.KeyFile)++{- |+/No description available in the introspection data./+-}+sysrootUpgraderDupOrigin ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysrootUpgrader a) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> m GLib.KeyFile.KeyFile+    {- ^ __Returns:__ A copy of the origin file, or 'Nothing' if unknown -}+sysrootUpgraderDupOrigin self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_sysroot_upgrader_dup_origin self'+    checkUnexpectedReturnNULL "sysrootUpgraderDupOrigin" result+    result' <- (wrapBoxed GLib.KeyFile.KeyFile) result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data SysrootUpgraderDupOriginMethodInfo+instance (signature ~ (m GLib.KeyFile.KeyFile), MonadIO m, IsSysrootUpgrader a) => O.MethodInfo SysrootUpgraderDupOriginMethodInfo a signature where+    overloadedMethod _ = sysrootUpgraderDupOrigin++#endif++-- method SysrootUpgrader::get_origin+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "SysrootUpgrader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "GLib", name = "KeyFile"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_sysroot_upgrader_get_origin" ostree_sysroot_upgrader_get_origin :: +    Ptr SysrootUpgrader ->                  -- self : TInterface (Name {namespace = "OSTree", name = "SysrootUpgrader"})+    IO (Ptr GLib.KeyFile.KeyFile)++{- |+/No description available in the introspection data./+-}+sysrootUpgraderGetOrigin ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysrootUpgrader a) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> m GLib.KeyFile.KeyFile+    {- ^ __Returns:__ The origin file, or 'Nothing' if unknown -}+sysrootUpgraderGetOrigin self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_sysroot_upgrader_get_origin self'+    checkUnexpectedReturnNULL "sysrootUpgraderGetOrigin" result+    result' <- (newBoxed GLib.KeyFile.KeyFile) result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data SysrootUpgraderGetOriginMethodInfo+instance (signature ~ (m GLib.KeyFile.KeyFile), MonadIO m, IsSysrootUpgrader a) => O.MethodInfo SysrootUpgraderGetOriginMethodInfo a signature where+    overloadedMethod _ = sysrootUpgraderGetOrigin++#endif++-- method SysrootUpgrader::get_origin_description+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "SysrootUpgrader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Upgrader", 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 "ostree_sysroot_upgrader_get_origin_description" ostree_sysroot_upgrader_get_origin_description :: +    Ptr SysrootUpgrader ->                  -- self : TInterface (Name {namespace = "OSTree", name = "SysrootUpgrader"})+    IO CString++{- |+/No description available in the introspection data./+-}+sysrootUpgraderGetOriginDescription ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysrootUpgrader a) =>+    a+    {- ^ /@self@/: Upgrader -}+    -> m T.Text+    {- ^ __Returns:__ A one-line descriptive summary of the origin, or 'Nothing' if unknown -}+sysrootUpgraderGetOriginDescription self = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    result <- ostree_sysroot_upgrader_get_origin_description self'+    checkUnexpectedReturnNULL "sysrootUpgraderGetOriginDescription" result+    result' <- cstringToText result+    freeMem result+    touchManagedPtr self+    return result'++#if ENABLE_OVERLOADING+data SysrootUpgraderGetOriginDescriptionMethodInfo+instance (signature ~ (m T.Text), MonadIO m, IsSysrootUpgrader a) => O.MethodInfo SysrootUpgraderGetOriginDescriptionMethodInfo a signature where+    overloadedMethod _ = sysrootUpgraderGetOriginDescription++#endif++-- method SysrootUpgrader::pull+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "SysrootUpgrader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Upgrader", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "OSTree", name = "RepoPullFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Flags controlling pull behavior", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "upgrader_flags", argType = TInterface (Name {namespace = "OSTree", name = "SysrootUpgraderPullFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Flags controlling upgrader behavior", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "progress", argType = TInterface (Name {namespace = "OSTree", name = "AsyncProgress"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Progress", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_changed", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether or not the origin changed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_sysroot_upgrader_pull" ostree_sysroot_upgrader_pull :: +    Ptr SysrootUpgrader ->                  -- self : TInterface (Name {namespace = "OSTree", name = "SysrootUpgrader"})+    CUInt ->                                -- flags : TInterface (Name {namespace = "OSTree", name = "RepoPullFlags"})+    CUInt ->                                -- upgrader_flags : TInterface (Name {namespace = "OSTree", name = "SysrootUpgraderPullFlags"})+    Ptr OSTree.AsyncProgress.AsyncProgress -> -- progress : TInterface (Name {namespace = "OSTree", name = "AsyncProgress"})+    Ptr CInt ->                             -- out_changed : TBasicType TBoolean+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Perform a pull from the origin.  First check if the ref has+changed, if so download the linked objects, and store the updated+ref locally.  Then /@outChanged@/ will be 'True'.++If the origin remote is unchanged, /@outChanged@/ will be set to+'False'.+-}+sysrootUpgraderPull ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysrootUpgrader a, OSTree.AsyncProgress.IsAsyncProgress b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: Upgrader -}+    -> [OSTree.Flags.RepoPullFlags]+    {- ^ /@flags@/: Flags controlling pull behavior -}+    -> [OSTree.Flags.SysrootUpgraderPullFlags]+    {- ^ /@upgraderFlags@/: Flags controlling upgrader behavior -}+    -> Maybe (b)+    {- ^ /@progress@/: Progress -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m (Bool)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootUpgraderPull self flags upgraderFlags progress cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    let flags' = gflagsToWord flags+    let upgraderFlags' = gflagsToWord upgraderFlags+    maybeProgress <- case progress of+        Nothing -> return nullPtr+        Just jProgress -> do+            jProgress' <- unsafeManagedPtrCastPtr jProgress+            return jProgress'+    outChanged <- allocMem :: IO (Ptr CInt)+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_sysroot_upgrader_pull self' flags' upgraderFlags' maybeProgress outChanged maybeCancellable+        outChanged' <- peek outChanged+        let outChanged'' = (/= 0) outChanged'+        touchManagedPtr self+        whenJust progress touchManagedPtr+        whenJust cancellable touchManagedPtr+        freeMem outChanged+        return outChanged''+     ) (do+        freeMem outChanged+     )++#if ENABLE_OVERLOADING+data SysrootUpgraderPullMethodInfo+instance (signature ~ ([OSTree.Flags.RepoPullFlags] -> [OSTree.Flags.SysrootUpgraderPullFlags] -> Maybe (b) -> Maybe (c) -> m (Bool)), MonadIO m, IsSysrootUpgrader a, OSTree.AsyncProgress.IsAsyncProgress b, Gio.Cancellable.IsCancellable c) => O.MethodInfo SysrootUpgraderPullMethodInfo a signature where+    overloadedMethod _ = sysrootUpgraderPull++#endif++-- method SysrootUpgrader::pull_one_dir+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "SysrootUpgrader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Upgrader", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dir_to_pull", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Subdirectory path (should include a leading /)", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "OSTree", name = "RepoPullFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Flags controlling pull behavior", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "upgrader_flags", argType = TInterface (Name {namespace = "OSTree", name = "SysrootUpgraderPullFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Flags controlling upgrader behavior", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "progress", argType = TInterface (Name {namespace = "OSTree", name = "AsyncProgress"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Progress", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_changed", argType = TBasicType TBoolean, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Whether or not the origin changed", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_sysroot_upgrader_pull_one_dir" ostree_sysroot_upgrader_pull_one_dir :: +    Ptr SysrootUpgrader ->                  -- self : TInterface (Name {namespace = "OSTree", name = "SysrootUpgrader"})+    CString ->                              -- dir_to_pull : TBasicType TUTF8+    CUInt ->                                -- flags : TInterface (Name {namespace = "OSTree", name = "RepoPullFlags"})+    CUInt ->                                -- upgrader_flags : TInterface (Name {namespace = "OSTree", name = "SysrootUpgraderPullFlags"})+    Ptr OSTree.AsyncProgress.AsyncProgress -> -- progress : TInterface (Name {namespace = "OSTree", name = "AsyncProgress"})+    Ptr CInt ->                             -- out_changed : TBasicType TBoolean+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Like 'GI.OSTree.Objects.SysrootUpgrader.sysrootUpgraderPull', but allows retrieving just a+subpath of the tree.  This can be used to download metadata files+from inside the tree such as package databases.+-}+sysrootUpgraderPullOneDir ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysrootUpgrader a, OSTree.AsyncProgress.IsAsyncProgress b, Gio.Cancellable.IsCancellable c) =>+    a+    {- ^ /@self@/: Upgrader -}+    -> T.Text+    {- ^ /@dirToPull@/: Subdirectory path (should include a leading \/) -}+    -> [OSTree.Flags.RepoPullFlags]+    {- ^ /@flags@/: Flags controlling pull behavior -}+    -> [OSTree.Flags.SysrootUpgraderPullFlags]+    {- ^ /@upgraderFlags@/: Flags controlling upgrader behavior -}+    -> Maybe (b)+    {- ^ /@progress@/: Progress -}+    -> Maybe (c)+    {- ^ /@cancellable@/: Cancellable -}+    -> m (Bool)+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootUpgraderPullOneDir self dirToPull flags upgraderFlags progress cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    dirToPull' <- textToCString dirToPull+    let flags' = gflagsToWord flags+    let upgraderFlags' = gflagsToWord upgraderFlags+    maybeProgress <- case progress of+        Nothing -> return nullPtr+        Just jProgress -> do+            jProgress' <- unsafeManagedPtrCastPtr jProgress+            return jProgress'+    outChanged <- allocMem :: IO (Ptr CInt)+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_sysroot_upgrader_pull_one_dir self' dirToPull' flags' upgraderFlags' maybeProgress outChanged maybeCancellable+        outChanged' <- peek outChanged+        let outChanged'' = (/= 0) outChanged'+        touchManagedPtr self+        whenJust progress touchManagedPtr+        whenJust cancellable touchManagedPtr+        freeMem dirToPull'+        freeMem outChanged+        return outChanged''+     ) (do+        freeMem dirToPull'+        freeMem outChanged+     )++#if ENABLE_OVERLOADING+data SysrootUpgraderPullOneDirMethodInfo+instance (signature ~ (T.Text -> [OSTree.Flags.RepoPullFlags] -> [OSTree.Flags.SysrootUpgraderPullFlags] -> Maybe (b) -> Maybe (c) -> m (Bool)), MonadIO m, IsSysrootUpgrader a, OSTree.AsyncProgress.IsAsyncProgress b, Gio.Cancellable.IsCancellable c) => O.MethodInfo SysrootUpgraderPullOneDirMethodInfo a signature where+    overloadedMethod _ = sysrootUpgraderPullOneDir++#endif++-- method SysrootUpgrader::set_origin+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "OSTree", name = "SysrootUpgrader"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Sysroot", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "origin", argType = TInterface (Name {namespace = "GLib", name = "KeyFile"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "The new origin", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", 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 "ostree_sysroot_upgrader_set_origin" ostree_sysroot_upgrader_set_origin :: +    Ptr SysrootUpgrader ->                  -- self : TInterface (Name {namespace = "OSTree", name = "SysrootUpgrader"})+    Ptr GLib.KeyFile.KeyFile ->             -- origin : TInterface (Name {namespace = "GLib", name = "KeyFile"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Replace the origin with /@origin@/.+-}+sysrootUpgraderSetOrigin ::+    (B.CallStack.HasCallStack, MonadIO m, IsSysrootUpgrader a, Gio.Cancellable.IsCancellable b) =>+    a+    {- ^ /@self@/: Sysroot -}+    -> Maybe (GLib.KeyFile.KeyFile)+    {- ^ /@origin@/: The new origin -}+    -> Maybe (b)+    {- ^ /@cancellable@/: Cancellable -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootUpgraderSetOrigin self origin cancellable = liftIO $ do+    self' <- unsafeManagedPtrCastPtr self+    maybeOrigin <- case origin of+        Nothing -> return nullPtr+        Just jOrigin -> do+            jOrigin' <- unsafeManagedPtrGetPtr jOrigin+            return jOrigin'+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        _ <- propagateGError $ ostree_sysroot_upgrader_set_origin self' maybeOrigin maybeCancellable+        touchManagedPtr self+        whenJust origin touchManagedPtr+        whenJust cancellable touchManagedPtr+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data SysrootUpgraderSetOriginMethodInfo+instance (signature ~ (Maybe (GLib.KeyFile.KeyFile) -> Maybe (b) -> m ()), MonadIO m, IsSysrootUpgrader a, Gio.Cancellable.IsCancellable b) => O.MethodInfo SysrootUpgraderSetOriginMethodInfo a signature where+    overloadedMethod _ = sysrootUpgraderSetOrigin++#endif++-- method SysrootUpgrader::check_timestamps+-- method type : MemberFunction+-- Args : [Arg {argCName = "repo", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "from_rev", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "From revision", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "to_rev", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "To revision", 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 "ostree_sysroot_upgrader_check_timestamps" ostree_sysroot_upgrader_check_timestamps :: +    Ptr OSTree.Repo.Repo ->                 -- repo : TInterface (Name {namespace = "OSTree", name = "Repo"})+    CString ->                              -- from_rev : TBasicType TUTF8+    CString ->                              -- to_rev : TBasicType TUTF8+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Check that the timestamp on /@toRev@/ is equal to or newer than+/@fromRev@/.  This protects systems against man-in-the-middle+attackers which provide a client with an older commit.+-}+sysrootUpgraderCheckTimestamps ::+    (B.CallStack.HasCallStack, MonadIO m, OSTree.Repo.IsRepo a) =>+    a+    {- ^ /@repo@/: Repo -}+    -> T.Text+    {- ^ /@fromRev@/: From revision -}+    -> T.Text+    {- ^ /@toRev@/: To revision -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+sysrootUpgraderCheckTimestamps repo fromRev toRev = liftIO $ do+    repo' <- unsafeManagedPtrCastPtr repo+    fromRev' <- textToCString fromRev+    toRev' <- textToCString toRev+    onException (do+        _ <- propagateGError $ ostree_sysroot_upgrader_check_timestamps repo' fromRev' toRev'+        touchManagedPtr repo+        freeMem fromRev'+        freeMem toRev'+        return ()+     ) (do+        freeMem fromRev'+        freeMem toRev'+     )++#if ENABLE_OVERLOADING+#endif++
+ GI/OSTree/Objects/SysrootUpgrader.hs-boot view
@@ -0,0 +1,59 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Objects.SysrootUpgrader 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 SysrootUpgrader = SysrootUpgrader (ManagedPtr SysrootUpgrader)+instance GObject SysrootUpgrader where+class (GObject o, O.IsDescendantOf SysrootUpgrader o) => IsSysrootUpgrader o+instance (GObject o, O.IsDescendantOf SysrootUpgrader o) => IsSysrootUpgrader o+instance O.HasParentTypes SysrootUpgrader+#if ENABLE_OVERLOADING+data SysrootUpgraderFlagsPropertyInfo+#endif+#if ENABLE_OVERLOADING+data SysrootUpgraderOsnamePropertyInfo+#endif+#if ENABLE_OVERLOADING+data SysrootUpgraderSysrootPropertyInfo+#endif+#if ENABLE_OVERLOADING+data SysrootUpgraderDeployMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootUpgraderDupOriginMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootUpgraderGetOriginMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootUpgraderGetOriginDescriptionMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootUpgraderPullMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootUpgraderPullOneDirMethodInfo+#endif+#if ENABLE_OVERLOADING+data SysrootUpgraderSetOriginMethodInfo+#endif
+ GI/OSTree/Structs.hs view
@@ -0,0 +1,93 @@+++{- |+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.OSTree.Structs+    (     module GI.OSTree.Structs.Bootloader     ,+    module GI.OSTree.Structs.BootloaderGrub2,+    module GI.OSTree.Structs.BootloaderInterface,+    module GI.OSTree.Structs.BootloaderSyslinux,+    module GI.OSTree.Structs.BootloaderUboot,+    module GI.OSTree.Structs.CmdPrivateVTable,+    module GI.OSTree.Structs.CollectionRef  ,+    module GI.OSTree.Structs.DiffDirsOptions,+    module GI.OSTree.Structs.DiffItem       ,+    module GI.OSTree.Structs.GpgVerifier    ,+    module GI.OSTree.Structs.LibarchiveInputStream,+    module GI.OSTree.Structs.LzmaCompressor ,+    module GI.OSTree.Structs.LzmaDecompressor,+    module GI.OSTree.Structs.MutableTreeIter,+    module GI.OSTree.Structs.Remote         ,+    module GI.OSTree.Structs.RepoCheckoutAtOptions,+    module GI.OSTree.Structs.RepoCommitModifier,+    module GI.OSTree.Structs.RepoCommitTraverseIter,+    module GI.OSTree.Structs.RepoDevInoCache,+    module GI.OSTree.Structs.RepoFileEnumerator,+    module GI.OSTree.Structs.RepoFinderResult,+    module GI.OSTree.Structs.RepoPruneOptions,+    module GI.OSTree.Structs.RepoTransactionStats,+    module GI.OSTree.Structs.RollsumMatches ,+    module GI.OSTree.Structs.SysrootWriteDeploymentsOpts,+    module GI.OSTree.Structs.TlsCertInteraction,+    module GI.OSTree.Structs.TlsCertInteractionClass,+++    ) where++import GI.OSTree.Structs.Bootloader+import GI.OSTree.Structs.BootloaderGrub2+import GI.OSTree.Structs.BootloaderInterface+import GI.OSTree.Structs.BootloaderSyslinux+import GI.OSTree.Structs.BootloaderUboot+import GI.OSTree.Structs.CmdPrivateVTable+import GI.OSTree.Structs.CollectionRef+import GI.OSTree.Structs.DiffDirsOptions+import GI.OSTree.Structs.DiffItem+import GI.OSTree.Structs.GpgVerifier+import GI.OSTree.Structs.LibarchiveInputStream+import GI.OSTree.Structs.LzmaCompressor+import GI.OSTree.Structs.LzmaDecompressor+import GI.OSTree.Structs.MutableTreeIter+import GI.OSTree.Structs.Remote+import GI.OSTree.Structs.RepoCheckoutAtOptions+import GI.OSTree.Structs.RepoCommitModifier+import GI.OSTree.Structs.RepoCommitTraverseIter+import GI.OSTree.Structs.RepoDevInoCache+import GI.OSTree.Structs.RepoFileEnumerator+import GI.OSTree.Structs.RepoFinderResult+import GI.OSTree.Structs.RepoPruneOptions+import GI.OSTree.Structs.RepoTransactionStats+import GI.OSTree.Structs.RollsumMatches+import GI.OSTree.Structs.SysrootWriteDeploymentsOpts+import GI.OSTree.Structs.TlsCertInteraction+import GI.OSTree.Structs.TlsCertInteractionClass++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/OSTree/Structs/Bootloader.hs view
@@ -0,0 +1,77 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++/No description available in the introspection data./+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.OSTree.Structs.Bootloader+    ( ++-- * Exported types+    Bootloader(..)                          ,+    noBootloader                            ,+++    ) 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 Bootloader = Bootloader (ManagedPtr Bootloader)+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?+instance WrappedPtr Bootloader where+    wrappedPtrCalloc = return nullPtr+    wrappedPtrCopy = return+    wrappedPtrFree = Nothing++-- | A convenience alias for `Nothing` :: `Maybe` `Bootloader`.+noBootloader :: Maybe Bootloader+noBootloader = Nothing+++#if ENABLE_OVERLOADING+instance O.HasAttributeList Bootloader+type instance O.AttributeList Bootloader = BootloaderAttributeList+type BootloaderAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveBootloaderMethod (t :: Symbol) (o :: *) :: * where+    ResolveBootloaderMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveBootloaderMethod t Bootloader, O.MethodInfo info Bootloader p) => OL.IsLabel t (Bootloader -> 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/OSTree/Structs/Bootloader.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.Bootloader 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 Bootloader = Bootloader (ManagedPtr Bootloader)+instance WrappedPtr Bootloader where
+ GI/OSTree/Structs/BootloaderGrub2.hs view
@@ -0,0 +1,77 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++/No description available in the introspection data./+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.OSTree.Structs.BootloaderGrub2+    ( ++-- * Exported types+    BootloaderGrub2(..)                     ,+    noBootloaderGrub2                       ,+++    ) 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 BootloaderGrub2 = BootloaderGrub2 (ManagedPtr BootloaderGrub2)+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?+instance WrappedPtr BootloaderGrub2 where+    wrappedPtrCalloc = return nullPtr+    wrappedPtrCopy = return+    wrappedPtrFree = Nothing++-- | A convenience alias for `Nothing` :: `Maybe` `BootloaderGrub2`.+noBootloaderGrub2 :: Maybe BootloaderGrub2+noBootloaderGrub2 = Nothing+++#if ENABLE_OVERLOADING+instance O.HasAttributeList BootloaderGrub2+type instance O.AttributeList BootloaderGrub2 = BootloaderGrub2AttributeList+type BootloaderGrub2AttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveBootloaderGrub2Method (t :: Symbol) (o :: *) :: * where+    ResolveBootloaderGrub2Method l o = O.MethodResolutionFailed l o++instance (info ~ ResolveBootloaderGrub2Method t BootloaderGrub2, O.MethodInfo info BootloaderGrub2 p) => OL.IsLabel t (BootloaderGrub2 -> 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/OSTree/Structs/BootloaderGrub2.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.BootloaderGrub2 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 BootloaderGrub2 = BootloaderGrub2 (ManagedPtr BootloaderGrub2)+instance WrappedPtr BootloaderGrub2 where
+ GI/OSTree/Structs/BootloaderInterface.hs view
@@ -0,0 +1,349 @@+++{- |+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.OSTree.Structs.BootloaderInterface+    ( ++-- * Exported types+    BootloaderInterface(..)                 ,+    newZeroBootloaderInterface              ,+    noBootloaderInterface                   ,+++ -- * Properties+-- ** gIface #attr:gIface#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    bootloaderInterface_gIface              ,+#endif+    getBootloaderInterfaceGIface            ,+++-- ** getName #attr:getName#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    bootloaderInterface_getName             ,+#endif+    clearBootloaderInterfaceGetName         ,+    getBootloaderInterfaceGetName           ,+    setBootloaderInterfaceGetName           ,+++-- ** isAtomic #attr:isAtomic#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    bootloaderInterface_isAtomic            ,+#endif+    clearBootloaderInterfaceIsAtomic        ,+    getBootloaderInterfaceIsAtomic          ,+    setBootloaderInterfaceIsAtomic          ,+++-- ** query #attr:query#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    bootloaderInterface_query               ,+#endif+    clearBootloaderInterfaceQuery           ,+    getBootloaderInterfaceQuery             ,+    setBootloaderInterfaceQuery             ,+++++    ) 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.GObject.Structs.TypeInterface as GObject.TypeInterface+import qualified GI.OSTree.Callbacks as OSTree.Callbacks++-- | Memory-managed wrapper type.+newtype BootloaderInterface = BootloaderInterface (ManagedPtr BootloaderInterface)+instance WrappedPtr BootloaderInterface where+    wrappedPtrCalloc = callocBytes 48+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 48 >=> wrapPtr BootloaderInterface)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `BootloaderInterface` struct initialized to zero.+newZeroBootloaderInterface :: MonadIO m => m BootloaderInterface+newZeroBootloaderInterface = liftIO $ wrappedPtrCalloc >>= wrapPtr BootloaderInterface++instance tag ~ 'AttrSet => Constructible BootloaderInterface tag where+    new _ attrs = do+        o <- newZeroBootloaderInterface+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `BootloaderInterface`.+noBootloaderInterface :: Maybe BootloaderInterface+noBootloaderInterface = Nothing++{- |+Get the value of the “@g_iface@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' bootloaderInterface #gIface+@+-}+getBootloaderInterfaceGIface :: MonadIO m => BootloaderInterface -> m GObject.TypeInterface.TypeInterface+getBootloaderInterfaceGIface s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 0 :: (Ptr GObject.TypeInterface.TypeInterface)+    val' <- (newPtr GObject.TypeInterface.TypeInterface) val+    return val'++#if ENABLE_OVERLOADING+data BootloaderInterfaceGIfaceFieldInfo+instance AttrInfo BootloaderInterfaceGIfaceFieldInfo where+    type AttrAllowedOps BootloaderInterfaceGIfaceFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint BootloaderInterfaceGIfaceFieldInfo = (~) (Ptr GObject.TypeInterface.TypeInterface)+    type AttrBaseTypeConstraint BootloaderInterfaceGIfaceFieldInfo = (~) BootloaderInterface+    type AttrGetType BootloaderInterfaceGIfaceFieldInfo = GObject.TypeInterface.TypeInterface+    type AttrLabel BootloaderInterfaceGIfaceFieldInfo = "g_iface"+    type AttrOrigin BootloaderInterfaceGIfaceFieldInfo = BootloaderInterface+    attrGet _ = getBootloaderInterfaceGIface+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++bootloaderInterface_gIface :: AttrLabelProxy "gIface"+bootloaderInterface_gIface = AttrLabelProxy++#endif+++{- |+Get the value of the “@query@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' bootloaderInterface #query+@+-}+getBootloaderInterfaceQuery :: MonadIO m => BootloaderInterface -> m (Maybe OSTree.Callbacks.BootloaderInterfaceQueryFieldCallback)+getBootloaderInterfaceQuery s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO (FunPtr OSTree.Callbacks.C_BootloaderInterfaceQueryFieldCallback)+    result <- SP.convertFunPtrIfNonNull val $ \val' -> do+        let val'' = OSTree.Callbacks.dynamic_BootloaderInterfaceQueryFieldCallback val'+        return val''+    return result++{- |+Set the value of the “@query@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' bootloaderInterface [ #query 'Data.GI.Base.Attributes.:=' value ]+@+-}+setBootloaderInterfaceQuery :: MonadIO m => BootloaderInterface -> FunPtr OSTree.Callbacks.C_BootloaderInterfaceQueryFieldCallback -> m ()+setBootloaderInterfaceQuery s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: FunPtr OSTree.Callbacks.C_BootloaderInterfaceQueryFieldCallback)++{- |+Set the value of the “@query@” 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' #query+@+-}+clearBootloaderInterfaceQuery :: MonadIO m => BootloaderInterface -> m ()+clearBootloaderInterfaceQuery s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_BootloaderInterfaceQueryFieldCallback)++#if ENABLE_OVERLOADING+data BootloaderInterfaceQueryFieldInfo+instance AttrInfo BootloaderInterfaceQueryFieldInfo where+    type AttrAllowedOps BootloaderInterfaceQueryFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint BootloaderInterfaceQueryFieldInfo = (~) (FunPtr OSTree.Callbacks.C_BootloaderInterfaceQueryFieldCallback)+    type AttrBaseTypeConstraint BootloaderInterfaceQueryFieldInfo = (~) BootloaderInterface+    type AttrGetType BootloaderInterfaceQueryFieldInfo = Maybe OSTree.Callbacks.BootloaderInterfaceQueryFieldCallback+    type AttrLabel BootloaderInterfaceQueryFieldInfo = "query"+    type AttrOrigin BootloaderInterfaceQueryFieldInfo = BootloaderInterface+    attrGet _ = getBootloaderInterfaceQuery+    attrSet _ = setBootloaderInterfaceQuery+    attrConstruct = undefined+    attrClear _ = clearBootloaderInterfaceQuery++bootloaderInterface_query :: AttrLabelProxy "query"+bootloaderInterface_query = AttrLabelProxy++#endif+++{- |+Get the value of the “@get_name@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' bootloaderInterface #getName+@+-}+getBootloaderInterfaceGetName :: MonadIO m => BootloaderInterface -> m (Maybe OSTree.Callbacks.BootloaderInterfaceGetNameFieldCallback)+getBootloaderInterfaceGetName s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO (FunPtr OSTree.Callbacks.C_BootloaderInterfaceGetNameFieldCallback)+    result <- SP.convertFunPtrIfNonNull val $ \val' -> do+        let val'' = OSTree.Callbacks.dynamic_BootloaderInterfaceGetNameFieldCallback val'+        return val''+    return result++{- |+Set the value of the “@get_name@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' bootloaderInterface [ #getName 'Data.GI.Base.Attributes.:=' value ]+@+-}+setBootloaderInterfaceGetName :: MonadIO m => BootloaderInterface -> FunPtr OSTree.Callbacks.C_BootloaderInterfaceGetNameFieldCallback -> m ()+setBootloaderInterfaceGetName s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (val :: FunPtr OSTree.Callbacks.C_BootloaderInterfaceGetNameFieldCallback)++{- |+Set the value of the “@get_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' #getName+@+-}+clearBootloaderInterfaceGetName :: MonadIO m => BootloaderInterface -> m ()+clearBootloaderInterfaceGetName s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_BootloaderInterfaceGetNameFieldCallback)++#if ENABLE_OVERLOADING+data BootloaderInterfaceGetNameFieldInfo+instance AttrInfo BootloaderInterfaceGetNameFieldInfo where+    type AttrAllowedOps BootloaderInterfaceGetNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint BootloaderInterfaceGetNameFieldInfo = (~) (FunPtr OSTree.Callbacks.C_BootloaderInterfaceGetNameFieldCallback)+    type AttrBaseTypeConstraint BootloaderInterfaceGetNameFieldInfo = (~) BootloaderInterface+    type AttrGetType BootloaderInterfaceGetNameFieldInfo = Maybe OSTree.Callbacks.BootloaderInterfaceGetNameFieldCallback+    type AttrLabel BootloaderInterfaceGetNameFieldInfo = "get_name"+    type AttrOrigin BootloaderInterfaceGetNameFieldInfo = BootloaderInterface+    attrGet _ = getBootloaderInterfaceGetName+    attrSet _ = setBootloaderInterfaceGetName+    attrConstruct = undefined+    attrClear _ = clearBootloaderInterfaceGetName++bootloaderInterface_getName :: AttrLabelProxy "getName"+bootloaderInterface_getName = AttrLabelProxy++#endif+++{- |+Get the value of the “@is_atomic@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' bootloaderInterface #isAtomic+@+-}+getBootloaderInterfaceIsAtomic :: MonadIO m => BootloaderInterface -> m (Maybe OSTree.Callbacks.BootloaderInterfaceIsAtomicFieldCallback)+getBootloaderInterfaceIsAtomic s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO (FunPtr OSTree.Callbacks.C_BootloaderInterfaceIsAtomicFieldCallback)+    result <- SP.convertFunPtrIfNonNull val $ \val' -> do+        let val'' = OSTree.Callbacks.dynamic_BootloaderInterfaceIsAtomicFieldCallback val'+        return val''+    return result++{- |+Set the value of the “@is_atomic@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' bootloaderInterface [ #isAtomic 'Data.GI.Base.Attributes.:=' value ]+@+-}+setBootloaderInterfaceIsAtomic :: MonadIO m => BootloaderInterface -> FunPtr OSTree.Callbacks.C_BootloaderInterfaceIsAtomicFieldCallback -> m ()+setBootloaderInterfaceIsAtomic s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 40) (val :: FunPtr OSTree.Callbacks.C_BootloaderInterfaceIsAtomicFieldCallback)++{- |+Set the value of the “@is_atomic@” 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' #isAtomic+@+-}+clearBootloaderInterfaceIsAtomic :: MonadIO m => BootloaderInterface -> m ()+clearBootloaderInterfaceIsAtomic s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 40) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_BootloaderInterfaceIsAtomicFieldCallback)++#if ENABLE_OVERLOADING+data BootloaderInterfaceIsAtomicFieldInfo+instance AttrInfo BootloaderInterfaceIsAtomicFieldInfo where+    type AttrAllowedOps BootloaderInterfaceIsAtomicFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint BootloaderInterfaceIsAtomicFieldInfo = (~) (FunPtr OSTree.Callbacks.C_BootloaderInterfaceIsAtomicFieldCallback)+    type AttrBaseTypeConstraint BootloaderInterfaceIsAtomicFieldInfo = (~) BootloaderInterface+    type AttrGetType BootloaderInterfaceIsAtomicFieldInfo = Maybe OSTree.Callbacks.BootloaderInterfaceIsAtomicFieldCallback+    type AttrLabel BootloaderInterfaceIsAtomicFieldInfo = "is_atomic"+    type AttrOrigin BootloaderInterfaceIsAtomicFieldInfo = BootloaderInterface+    attrGet _ = getBootloaderInterfaceIsAtomic+    attrSet _ = setBootloaderInterfaceIsAtomic+    attrConstruct = undefined+    attrClear _ = clearBootloaderInterfaceIsAtomic++bootloaderInterface_isAtomic :: AttrLabelProxy "isAtomic"+bootloaderInterface_isAtomic = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList BootloaderInterface+type instance O.AttributeList BootloaderInterface = BootloaderInterfaceAttributeList+type BootloaderInterfaceAttributeList = ('[ '("gIface", BootloaderInterfaceGIfaceFieldInfo), '("query", BootloaderInterfaceQueryFieldInfo), '("getName", BootloaderInterfaceGetNameFieldInfo), '("isAtomic", BootloaderInterfaceIsAtomicFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveBootloaderInterfaceMethod (t :: Symbol) (o :: *) :: * where+    ResolveBootloaderInterfaceMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveBootloaderInterfaceMethod t BootloaderInterface, O.MethodInfo info BootloaderInterface p) => OL.IsLabel t (BootloaderInterface -> 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/OSTree/Structs/BootloaderInterface.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.BootloaderInterface 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 BootloaderInterface = BootloaderInterface (ManagedPtr BootloaderInterface)+instance WrappedPtr BootloaderInterface where
+ GI/OSTree/Structs/BootloaderSyslinux.hs view
@@ -0,0 +1,77 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++/No description available in the introspection data./+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.OSTree.Structs.BootloaderSyslinux+    ( ++-- * Exported types+    BootloaderSyslinux(..)                  ,+    noBootloaderSyslinux                    ,+++    ) 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 BootloaderSyslinux = BootloaderSyslinux (ManagedPtr BootloaderSyslinux)+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?+instance WrappedPtr BootloaderSyslinux where+    wrappedPtrCalloc = return nullPtr+    wrappedPtrCopy = return+    wrappedPtrFree = Nothing++-- | A convenience alias for `Nothing` :: `Maybe` `BootloaderSyslinux`.+noBootloaderSyslinux :: Maybe BootloaderSyslinux+noBootloaderSyslinux = Nothing+++#if ENABLE_OVERLOADING+instance O.HasAttributeList BootloaderSyslinux+type instance O.AttributeList BootloaderSyslinux = BootloaderSyslinuxAttributeList+type BootloaderSyslinuxAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveBootloaderSyslinuxMethod (t :: Symbol) (o :: *) :: * where+    ResolveBootloaderSyslinuxMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveBootloaderSyslinuxMethod t BootloaderSyslinux, O.MethodInfo info BootloaderSyslinux p) => OL.IsLabel t (BootloaderSyslinux -> 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/OSTree/Structs/BootloaderSyslinux.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.BootloaderSyslinux 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 BootloaderSyslinux = BootloaderSyslinux (ManagedPtr BootloaderSyslinux)+instance WrappedPtr BootloaderSyslinux where
+ GI/OSTree/Structs/BootloaderUboot.hs view
@@ -0,0 +1,77 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++/No description available in the introspection data./+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.OSTree.Structs.BootloaderUboot+    ( ++-- * Exported types+    BootloaderUboot(..)                     ,+    noBootloaderUboot                       ,+++    ) 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 BootloaderUboot = BootloaderUboot (ManagedPtr BootloaderUboot)+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?+instance WrappedPtr BootloaderUboot where+    wrappedPtrCalloc = return nullPtr+    wrappedPtrCopy = return+    wrappedPtrFree = Nothing++-- | A convenience alias for `Nothing` :: `Maybe` `BootloaderUboot`.+noBootloaderUboot :: Maybe BootloaderUboot+noBootloaderUboot = Nothing+++#if ENABLE_OVERLOADING+instance O.HasAttributeList BootloaderUboot+type instance O.AttributeList BootloaderUboot = BootloaderUbootAttributeList+type BootloaderUbootAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveBootloaderUbootMethod (t :: Symbol) (o :: *) :: * where+    ResolveBootloaderUbootMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveBootloaderUbootMethod t BootloaderUboot, O.MethodInfo info BootloaderUboot p) => OL.IsLabel t (BootloaderUboot -> 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/OSTree/Structs/BootloaderUboot.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.BootloaderUboot 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 BootloaderUboot = BootloaderUboot (ManagedPtr BootloaderUboot)+instance WrappedPtr BootloaderUboot where
+ GI/OSTree/Structs/CmdPrivateVTable.hs view
@@ -0,0 +1,589 @@+++{- |+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.OSTree.Structs.CmdPrivateVTable+    ( ++-- * Exported types+    CmdPrivateVTable(..)                    ,+    newZeroCmdPrivateVTable                 ,+    noCmdPrivateVTable                      ,+++ -- * Properties+-- ** ostreeFinalizeStaged #attr:ostreeFinalizeStaged#+{- | /No description available in the introspection data./+-}+    clearCmdPrivateVTableOstreeFinalizeStaged,+#if ENABLE_OVERLOADING+    cmdPrivateVTable_ostreeFinalizeStaged   ,+#endif+    getCmdPrivateVTableOstreeFinalizeStaged ,+    setCmdPrivateVTableOstreeFinalizeStaged ,+++-- ** ostreeGenerateGrub2Config #attr:ostreeGenerateGrub2Config#+{- | /No description available in the introspection data./+-}+    clearCmdPrivateVTableOstreeGenerateGrub2Config,+#if ENABLE_OVERLOADING+    cmdPrivateVTable_ostreeGenerateGrub2Config,+#endif+    getCmdPrivateVTableOstreeGenerateGrub2Config,+    setCmdPrivateVTableOstreeGenerateGrub2Config,+++-- ** ostreeRepoVerifyBindings #attr:ostreeRepoVerifyBindings#+{- | /No description available in the introspection data./+-}+    clearCmdPrivateVTableOstreeRepoVerifyBindings,+#if ENABLE_OVERLOADING+    cmdPrivateVTable_ostreeRepoVerifyBindings,+#endif+    getCmdPrivateVTableOstreeRepoVerifyBindings,+    setCmdPrivateVTableOstreeRepoVerifyBindings,+++-- ** ostreeStaticDeltaDelete #attr:ostreeStaticDeltaDelete#+{- | /No description available in the introspection data./+-}+    clearCmdPrivateVTableOstreeStaticDeltaDelete,+#if ENABLE_OVERLOADING+    cmdPrivateVTable_ostreeStaticDeltaDelete,+#endif+    getCmdPrivateVTableOstreeStaticDeltaDelete,+    setCmdPrivateVTableOstreeStaticDeltaDelete,+++-- ** ostreeStaticDeltaDump #attr:ostreeStaticDeltaDump#+{- | /No description available in the introspection data./+-}+    clearCmdPrivateVTableOstreeStaticDeltaDump,+#if ENABLE_OVERLOADING+    cmdPrivateVTable_ostreeStaticDeltaDump  ,+#endif+    getCmdPrivateVTableOstreeStaticDeltaDump,+    setCmdPrivateVTableOstreeStaticDeltaDump,+++-- ** ostreeStaticDeltaQueryExists #attr:ostreeStaticDeltaQueryExists#+{- | /No description available in the introspection data./+-}+    clearCmdPrivateVTableOstreeStaticDeltaQueryExists,+#if ENABLE_OVERLOADING+    cmdPrivateVTable_ostreeStaticDeltaQueryExists,+#endif+    getCmdPrivateVTableOstreeStaticDeltaQueryExists,+    setCmdPrivateVTableOstreeStaticDeltaQueryExists,+++-- ** ostreeSystemGenerator #attr:ostreeSystemGenerator#+{- | /No description available in the introspection data./+-}+    clearCmdPrivateVTableOstreeSystemGenerator,+#if ENABLE_OVERLOADING+    cmdPrivateVTable_ostreeSystemGenerator  ,+#endif+    getCmdPrivateVTableOstreeSystemGenerator,+    setCmdPrivateVTableOstreeSystemGenerator,+++++    ) 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.OSTree.Callbacks as OSTree.Callbacks++-- | Memory-managed wrapper type.+newtype CmdPrivateVTable = CmdPrivateVTable (ManagedPtr CmdPrivateVTable)+instance WrappedPtr CmdPrivateVTable where+    wrappedPtrCalloc = callocBytes 56+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 56 >=> wrapPtr CmdPrivateVTable)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `CmdPrivateVTable` struct initialized to zero.+newZeroCmdPrivateVTable :: MonadIO m => m CmdPrivateVTable+newZeroCmdPrivateVTable = liftIO $ wrappedPtrCalloc >>= wrapPtr CmdPrivateVTable++instance tag ~ 'AttrSet => Constructible CmdPrivateVTable tag where+    new _ attrs = do+        o <- newZeroCmdPrivateVTable+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `CmdPrivateVTable`.+noCmdPrivateVTable :: Maybe CmdPrivateVTable+noCmdPrivateVTable = Nothing++{- |+Get the value of the “@ostree_system_generator@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' cmdPrivateVTable #ostreeSystemGenerator+@+-}+getCmdPrivateVTableOstreeSystemGenerator :: MonadIO m => CmdPrivateVTable -> m (Maybe OSTree.Callbacks.CmdPrivateVTableOstreeSystemGeneratorFieldCallback)+getCmdPrivateVTableOstreeSystemGenerator s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeSystemGeneratorFieldCallback)+    result <- SP.convertFunPtrIfNonNull val $ \val' -> do+        let val'' = OSTree.Callbacks.dynamic_CmdPrivateVTableOstreeSystemGeneratorFieldCallback val'+        return val''+    return result++{- |+Set the value of the “@ostree_system_generator@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' cmdPrivateVTable [ #ostreeSystemGenerator 'Data.GI.Base.Attributes.:=' value ]+@+-}+setCmdPrivateVTableOstreeSystemGenerator :: MonadIO m => CmdPrivateVTable -> FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeSystemGeneratorFieldCallback -> m ()+setCmdPrivateVTableOstreeSystemGenerator s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeSystemGeneratorFieldCallback)++{- |+Set the value of the “@ostree_system_generator@” 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' #ostreeSystemGenerator+@+-}+clearCmdPrivateVTableOstreeSystemGenerator :: MonadIO m => CmdPrivateVTable -> m ()+clearCmdPrivateVTableOstreeSystemGenerator s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeSystemGeneratorFieldCallback)++#if ENABLE_OVERLOADING+data CmdPrivateVTableOstreeSystemGeneratorFieldInfo+instance AttrInfo CmdPrivateVTableOstreeSystemGeneratorFieldInfo where+    type AttrAllowedOps CmdPrivateVTableOstreeSystemGeneratorFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint CmdPrivateVTableOstreeSystemGeneratorFieldInfo = (~) (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeSystemGeneratorFieldCallback)+    type AttrBaseTypeConstraint CmdPrivateVTableOstreeSystemGeneratorFieldInfo = (~) CmdPrivateVTable+    type AttrGetType CmdPrivateVTableOstreeSystemGeneratorFieldInfo = Maybe OSTree.Callbacks.CmdPrivateVTableOstreeSystemGeneratorFieldCallback+    type AttrLabel CmdPrivateVTableOstreeSystemGeneratorFieldInfo = "ostree_system_generator"+    type AttrOrigin CmdPrivateVTableOstreeSystemGeneratorFieldInfo = CmdPrivateVTable+    attrGet _ = getCmdPrivateVTableOstreeSystemGenerator+    attrSet _ = setCmdPrivateVTableOstreeSystemGenerator+    attrConstruct = undefined+    attrClear _ = clearCmdPrivateVTableOstreeSystemGenerator++cmdPrivateVTable_ostreeSystemGenerator :: AttrLabelProxy "ostreeSystemGenerator"+cmdPrivateVTable_ostreeSystemGenerator = AttrLabelProxy++#endif+++{- |+Get the value of the “@ostree_generate_grub2_config@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' cmdPrivateVTable #ostreeGenerateGrub2Config+@+-}+getCmdPrivateVTableOstreeGenerateGrub2Config :: MonadIO m => CmdPrivateVTable -> m (Maybe OSTree.Callbacks.CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback)+getCmdPrivateVTableOstreeGenerateGrub2Config s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback)+    result <- SP.convertFunPtrIfNonNull val $ \val' -> do+        let val'' = OSTree.Callbacks.dynamic_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback val'+        return val''+    return result++{- |+Set the value of the “@ostree_generate_grub2_config@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' cmdPrivateVTable [ #ostreeGenerateGrub2Config 'Data.GI.Base.Attributes.:=' value ]+@+-}+setCmdPrivateVTableOstreeGenerateGrub2Config :: MonadIO m => CmdPrivateVTable -> FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback -> m ()+setCmdPrivateVTableOstreeGenerateGrub2Config s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback)++{- |+Set the value of the “@ostree_generate_grub2_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' #ostreeGenerateGrub2Config+@+-}+clearCmdPrivateVTableOstreeGenerateGrub2Config :: MonadIO m => CmdPrivateVTable -> m ()+clearCmdPrivateVTableOstreeGenerateGrub2Config s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback)++#if ENABLE_OVERLOADING+data CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo+instance AttrInfo CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo where+    type AttrAllowedOps CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo = (~) (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback)+    type AttrBaseTypeConstraint CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo = (~) CmdPrivateVTable+    type AttrGetType CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo = Maybe OSTree.Callbacks.CmdPrivateVTableOstreeGenerateGrub2ConfigFieldCallback+    type AttrLabel CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo = "ostree_generate_grub2_config"+    type AttrOrigin CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo = CmdPrivateVTable+    attrGet _ = getCmdPrivateVTableOstreeGenerateGrub2Config+    attrSet _ = setCmdPrivateVTableOstreeGenerateGrub2Config+    attrConstruct = undefined+    attrClear _ = clearCmdPrivateVTableOstreeGenerateGrub2Config++cmdPrivateVTable_ostreeGenerateGrub2Config :: AttrLabelProxy "ostreeGenerateGrub2Config"+cmdPrivateVTable_ostreeGenerateGrub2Config = AttrLabelProxy++#endif+++{- |+Get the value of the “@ostree_static_delta_dump@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' cmdPrivateVTable #ostreeStaticDeltaDump+@+-}+getCmdPrivateVTableOstreeStaticDeltaDump :: MonadIO m => CmdPrivateVTable -> m (Maybe OSTree.Callbacks.CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback)+getCmdPrivateVTableOstreeStaticDeltaDump s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback)+    result <- SP.convertFunPtrIfNonNull val $ \val' -> do+        let val'' = OSTree.Callbacks.dynamic_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback val'+        return val''+    return result++{- |+Set the value of the “@ostree_static_delta_dump@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' cmdPrivateVTable [ #ostreeStaticDeltaDump 'Data.GI.Base.Attributes.:=' value ]+@+-}+setCmdPrivateVTableOstreeStaticDeltaDump :: MonadIO m => CmdPrivateVTable -> FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback -> m ()+setCmdPrivateVTableOstreeStaticDeltaDump s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback)++{- |+Set the value of the “@ostree_static_delta_dump@” 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' #ostreeStaticDeltaDump+@+-}+clearCmdPrivateVTableOstreeStaticDeltaDump :: MonadIO m => CmdPrivateVTable -> m ()+clearCmdPrivateVTableOstreeStaticDeltaDump s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback)++#if ENABLE_OVERLOADING+data CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo+instance AttrInfo CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo where+    type AttrAllowedOps CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo = (~) (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback)+    type AttrBaseTypeConstraint CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo = (~) CmdPrivateVTable+    type AttrGetType CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo = Maybe OSTree.Callbacks.CmdPrivateVTableOstreeStaticDeltaDumpFieldCallback+    type AttrLabel CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo = "ostree_static_delta_dump"+    type AttrOrigin CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo = CmdPrivateVTable+    attrGet _ = getCmdPrivateVTableOstreeStaticDeltaDump+    attrSet _ = setCmdPrivateVTableOstreeStaticDeltaDump+    attrConstruct = undefined+    attrClear _ = clearCmdPrivateVTableOstreeStaticDeltaDump++cmdPrivateVTable_ostreeStaticDeltaDump :: AttrLabelProxy "ostreeStaticDeltaDump"+cmdPrivateVTable_ostreeStaticDeltaDump = AttrLabelProxy++#endif+++{- |+Get the value of the “@ostree_static_delta_query_exists@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' cmdPrivateVTable #ostreeStaticDeltaQueryExists+@+-}+getCmdPrivateVTableOstreeStaticDeltaQueryExists :: MonadIO m => CmdPrivateVTable -> m (Maybe OSTree.Callbacks.CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback)+getCmdPrivateVTableOstreeStaticDeltaQueryExists s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback)+    result <- SP.convertFunPtrIfNonNull val $ \val' -> do+        let val'' = OSTree.Callbacks.dynamic_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback val'+        return val''+    return result++{- |+Set the value of the “@ostree_static_delta_query_exists@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' cmdPrivateVTable [ #ostreeStaticDeltaQueryExists 'Data.GI.Base.Attributes.:=' value ]+@+-}+setCmdPrivateVTableOstreeStaticDeltaQueryExists :: MonadIO m => CmdPrivateVTable -> FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback -> m ()+setCmdPrivateVTableOstreeStaticDeltaQueryExists s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (val :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback)++{- |+Set the value of the “@ostree_static_delta_query_exists@” 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' #ostreeStaticDeltaQueryExists+@+-}+clearCmdPrivateVTableOstreeStaticDeltaQueryExists :: MonadIO m => CmdPrivateVTable -> m ()+clearCmdPrivateVTableOstreeStaticDeltaQueryExists s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback)++#if ENABLE_OVERLOADING+data CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo+instance AttrInfo CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo where+    type AttrAllowedOps CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo = (~) (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback)+    type AttrBaseTypeConstraint CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo = (~) CmdPrivateVTable+    type AttrGetType CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo = Maybe OSTree.Callbacks.CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldCallback+    type AttrLabel CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo = "ostree_static_delta_query_exists"+    type AttrOrigin CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo = CmdPrivateVTable+    attrGet _ = getCmdPrivateVTableOstreeStaticDeltaQueryExists+    attrSet _ = setCmdPrivateVTableOstreeStaticDeltaQueryExists+    attrConstruct = undefined+    attrClear _ = clearCmdPrivateVTableOstreeStaticDeltaQueryExists++cmdPrivateVTable_ostreeStaticDeltaQueryExists :: AttrLabelProxy "ostreeStaticDeltaQueryExists"+cmdPrivateVTable_ostreeStaticDeltaQueryExists = AttrLabelProxy++#endif+++{- |+Get the value of the “@ostree_static_delta_delete@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' cmdPrivateVTable #ostreeStaticDeltaDelete+@+-}+getCmdPrivateVTableOstreeStaticDeltaDelete :: MonadIO m => CmdPrivateVTable -> m (Maybe OSTree.Callbacks.CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback)+getCmdPrivateVTableOstreeStaticDeltaDelete s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback)+    result <- SP.convertFunPtrIfNonNull val $ \val' -> do+        let val'' = OSTree.Callbacks.dynamic_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback val'+        return val''+    return result++{- |+Set the value of the “@ostree_static_delta_delete@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' cmdPrivateVTable [ #ostreeStaticDeltaDelete 'Data.GI.Base.Attributes.:=' value ]+@+-}+setCmdPrivateVTableOstreeStaticDeltaDelete :: MonadIO m => CmdPrivateVTable -> FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback -> m ()+setCmdPrivateVTableOstreeStaticDeltaDelete s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 32) (val :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback)++{- |+Set the value of the “@ostree_static_delta_delete@” 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' #ostreeStaticDeltaDelete+@+-}+clearCmdPrivateVTableOstreeStaticDeltaDelete :: MonadIO m => CmdPrivateVTable -> m ()+clearCmdPrivateVTableOstreeStaticDeltaDelete s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 32) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback)++#if ENABLE_OVERLOADING+data CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo+instance AttrInfo CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo where+    type AttrAllowedOps CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo = (~) (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback)+    type AttrBaseTypeConstraint CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo = (~) CmdPrivateVTable+    type AttrGetType CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo = Maybe OSTree.Callbacks.CmdPrivateVTableOstreeStaticDeltaDeleteFieldCallback+    type AttrLabel CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo = "ostree_static_delta_delete"+    type AttrOrigin CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo = CmdPrivateVTable+    attrGet _ = getCmdPrivateVTableOstreeStaticDeltaDelete+    attrSet _ = setCmdPrivateVTableOstreeStaticDeltaDelete+    attrConstruct = undefined+    attrClear _ = clearCmdPrivateVTableOstreeStaticDeltaDelete++cmdPrivateVTable_ostreeStaticDeltaDelete :: AttrLabelProxy "ostreeStaticDeltaDelete"+cmdPrivateVTable_ostreeStaticDeltaDelete = AttrLabelProxy++#endif+++{- |+Get the value of the “@ostree_repo_verify_bindings@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' cmdPrivateVTable #ostreeRepoVerifyBindings+@+-}+getCmdPrivateVTableOstreeRepoVerifyBindings :: MonadIO m => CmdPrivateVTable -> m (Maybe OSTree.Callbacks.CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback)+getCmdPrivateVTableOstreeRepoVerifyBindings s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback)+    result <- SP.convertFunPtrIfNonNull val $ \val' -> do+        let val'' = OSTree.Callbacks.dynamic_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback val'+        return val''+    return result++{- |+Set the value of the “@ostree_repo_verify_bindings@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' cmdPrivateVTable [ #ostreeRepoVerifyBindings 'Data.GI.Base.Attributes.:=' value ]+@+-}+setCmdPrivateVTableOstreeRepoVerifyBindings :: MonadIO m => CmdPrivateVTable -> FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback -> m ()+setCmdPrivateVTableOstreeRepoVerifyBindings s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 40) (val :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback)++{- |+Set the value of the “@ostree_repo_verify_bindings@” 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' #ostreeRepoVerifyBindings+@+-}+clearCmdPrivateVTableOstreeRepoVerifyBindings :: MonadIO m => CmdPrivateVTable -> m ()+clearCmdPrivateVTableOstreeRepoVerifyBindings s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 40) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback)++#if ENABLE_OVERLOADING+data CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo+instance AttrInfo CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo where+    type AttrAllowedOps CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo = (~) (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback)+    type AttrBaseTypeConstraint CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo = (~) CmdPrivateVTable+    type AttrGetType CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo = Maybe OSTree.Callbacks.CmdPrivateVTableOstreeRepoVerifyBindingsFieldCallback+    type AttrLabel CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo = "ostree_repo_verify_bindings"+    type AttrOrigin CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo = CmdPrivateVTable+    attrGet _ = getCmdPrivateVTableOstreeRepoVerifyBindings+    attrSet _ = setCmdPrivateVTableOstreeRepoVerifyBindings+    attrConstruct = undefined+    attrClear _ = clearCmdPrivateVTableOstreeRepoVerifyBindings++cmdPrivateVTable_ostreeRepoVerifyBindings :: AttrLabelProxy "ostreeRepoVerifyBindings"+cmdPrivateVTable_ostreeRepoVerifyBindings = AttrLabelProxy++#endif+++{- |+Get the value of the “@ostree_finalize_staged@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' cmdPrivateVTable #ostreeFinalizeStaged+@+-}+getCmdPrivateVTableOstreeFinalizeStaged :: MonadIO m => CmdPrivateVTable -> m (Maybe OSTree.Callbacks.CmdPrivateVTableOstreeFinalizeStagedFieldCallback)+getCmdPrivateVTableOstreeFinalizeStaged s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeFinalizeStagedFieldCallback)+    result <- SP.convertFunPtrIfNonNull val $ \val' -> do+        let val'' = OSTree.Callbacks.dynamic_CmdPrivateVTableOstreeFinalizeStagedFieldCallback val'+        return val''+    return result++{- |+Set the value of the “@ostree_finalize_staged@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' cmdPrivateVTable [ #ostreeFinalizeStaged 'Data.GI.Base.Attributes.:=' value ]+@+-}+setCmdPrivateVTableOstreeFinalizeStaged :: MonadIO m => CmdPrivateVTable -> FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeFinalizeStagedFieldCallback -> m ()+setCmdPrivateVTableOstreeFinalizeStaged s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 48) (val :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeFinalizeStagedFieldCallback)++{- |+Set the value of the “@ostree_finalize_staged@” 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' #ostreeFinalizeStaged+@+-}+clearCmdPrivateVTableOstreeFinalizeStaged :: MonadIO m => CmdPrivateVTable -> m ()+clearCmdPrivateVTableOstreeFinalizeStaged s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 48) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeFinalizeStagedFieldCallback)++#if ENABLE_OVERLOADING+data CmdPrivateVTableOstreeFinalizeStagedFieldInfo+instance AttrInfo CmdPrivateVTableOstreeFinalizeStagedFieldInfo where+    type AttrAllowedOps CmdPrivateVTableOstreeFinalizeStagedFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint CmdPrivateVTableOstreeFinalizeStagedFieldInfo = (~) (FunPtr OSTree.Callbacks.C_CmdPrivateVTableOstreeFinalizeStagedFieldCallback)+    type AttrBaseTypeConstraint CmdPrivateVTableOstreeFinalizeStagedFieldInfo = (~) CmdPrivateVTable+    type AttrGetType CmdPrivateVTableOstreeFinalizeStagedFieldInfo = Maybe OSTree.Callbacks.CmdPrivateVTableOstreeFinalizeStagedFieldCallback+    type AttrLabel CmdPrivateVTableOstreeFinalizeStagedFieldInfo = "ostree_finalize_staged"+    type AttrOrigin CmdPrivateVTableOstreeFinalizeStagedFieldInfo = CmdPrivateVTable+    attrGet _ = getCmdPrivateVTableOstreeFinalizeStaged+    attrSet _ = setCmdPrivateVTableOstreeFinalizeStaged+    attrConstruct = undefined+    attrClear _ = clearCmdPrivateVTableOstreeFinalizeStaged++cmdPrivateVTable_ostreeFinalizeStaged :: AttrLabelProxy "ostreeFinalizeStaged"+cmdPrivateVTable_ostreeFinalizeStaged = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList CmdPrivateVTable+type instance O.AttributeList CmdPrivateVTable = CmdPrivateVTableAttributeList+type CmdPrivateVTableAttributeList = ('[ '("ostreeSystemGenerator", CmdPrivateVTableOstreeSystemGeneratorFieldInfo), '("ostreeGenerateGrub2Config", CmdPrivateVTableOstreeGenerateGrub2ConfigFieldInfo), '("ostreeStaticDeltaDump", CmdPrivateVTableOstreeStaticDeltaDumpFieldInfo), '("ostreeStaticDeltaQueryExists", CmdPrivateVTableOstreeStaticDeltaQueryExistsFieldInfo), '("ostreeStaticDeltaDelete", CmdPrivateVTableOstreeStaticDeltaDeleteFieldInfo), '("ostreeRepoVerifyBindings", CmdPrivateVTableOstreeRepoVerifyBindingsFieldInfo), '("ostreeFinalizeStaged", CmdPrivateVTableOstreeFinalizeStagedFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveCmdPrivateVTableMethod (t :: Symbol) (o :: *) :: * where+    ResolveCmdPrivateVTableMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveCmdPrivateVTableMethod t CmdPrivateVTable, O.MethodInfo info CmdPrivateVTable p) => OL.IsLabel t (CmdPrivateVTable -> 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/OSTree/Structs/CmdPrivateVTable.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.CmdPrivateVTable 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 CmdPrivateVTable = CmdPrivateVTable (ManagedPtr CmdPrivateVTable)+instance WrappedPtr CmdPrivateVTable where
+ GI/OSTree/Structs/CollectionRef.hs view
@@ -0,0 +1,543 @@+++{- |+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 structure which globally uniquely identifies a ref as the tuple+(/@collectionId@/, /@refName@/). For backwards compatibility, /@collectionId@/ may be 'Nothing',+indicating a ref name which is not globally unique.++/Since: 2018.6/+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.OSTree.Structs.CollectionRef+    ( ++-- * Exported types+    CollectionRef(..)                       ,+    newZeroCollectionRef                    ,+    noCollectionRef                         ,+++ -- * Methods+-- ** dup #method:dup#++#if ENABLE_OVERLOADING+    CollectionRefDupMethodInfo              ,+#endif+    collectionRefDup                        ,+++-- ** dupv #method:dupv#++    collectionRefDupv                       ,+++-- ** equal #method:equal#++    collectionRefEqual                      ,+++-- ** free #method:free#++#if ENABLE_OVERLOADING+    CollectionRefFreeMethodInfo             ,+#endif+    collectionRefFree                       ,+++-- ** freev #method:freev#++    collectionRefFreev                      ,+++-- ** hash #method:hash#++    collectionRefHash                       ,+++-- ** new #method:new#++    collectionRefNew                        ,+++++ -- * Properties+-- ** collectionId #attr:collectionId#+{- | collection ID which provided the ref, or 'Nothing' if there+   is no associated collection+-}+    clearCollectionRefCollectionId          ,+#if ENABLE_OVERLOADING+    collectionRef_collectionId              ,+#endif+    getCollectionRefCollectionId            ,+    setCollectionRefCollectionId            ,+++-- ** refName #attr:refName#+{- | ref name+-}+    clearCollectionRefRefName               ,+#if ENABLE_OVERLOADING+    collectionRef_refName                   ,+#endif+    getCollectionRefRefName                 ,+    setCollectionRefRefName                 ,+++++    ) 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 CollectionRef = CollectionRef (ManagedPtr CollectionRef)+foreign import ccall "ostree_collection_ref_get_type" c_ostree_collection_ref_get_type :: +    IO GType++instance BoxedObject CollectionRef where+    boxedType _ = c_ostree_collection_ref_get_type++-- | Construct a `CollectionRef` struct initialized to zero.+newZeroCollectionRef :: MonadIO m => m CollectionRef+newZeroCollectionRef = liftIO $ callocBoxedBytes 16 >>= wrapBoxed CollectionRef++instance tag ~ 'AttrSet => Constructible CollectionRef tag where+    new _ attrs = do+        o <- newZeroCollectionRef+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `CollectionRef`.+noCollectionRef :: Maybe CollectionRef+noCollectionRef = Nothing++{- |+Get the value of the “@collection_id@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' collectionRef #collectionId+@+-}+getCollectionRefCollectionId :: MonadIO m => CollectionRef -> m (Maybe T.Text)+getCollectionRefCollectionId 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 “@collection_id@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' collectionRef [ #collectionId 'Data.GI.Base.Attributes.:=' value ]+@+-}+setCollectionRefCollectionId :: MonadIO m => CollectionRef -> CString -> m ()+setCollectionRefCollectionId s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: CString)++{- |+Set the value of the “@collection_id@” 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' #collectionId+@+-}+clearCollectionRefCollectionId :: MonadIO m => CollectionRef -> m ()+clearCollectionRefCollectionId s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (FP.nullPtr :: CString)++#if ENABLE_OVERLOADING+data CollectionRefCollectionIdFieldInfo+instance AttrInfo CollectionRefCollectionIdFieldInfo where+    type AttrAllowedOps CollectionRefCollectionIdFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint CollectionRefCollectionIdFieldInfo = (~) CString+    type AttrBaseTypeConstraint CollectionRefCollectionIdFieldInfo = (~) CollectionRef+    type AttrGetType CollectionRefCollectionIdFieldInfo = Maybe T.Text+    type AttrLabel CollectionRefCollectionIdFieldInfo = "collection_id"+    type AttrOrigin CollectionRefCollectionIdFieldInfo = CollectionRef+    attrGet _ = getCollectionRefCollectionId+    attrSet _ = setCollectionRefCollectionId+    attrConstruct = undefined+    attrClear _ = clearCollectionRefCollectionId++collectionRef_collectionId :: AttrLabelProxy "collectionId"+collectionRef_collectionId = AttrLabelProxy++#endif+++{- |+Get the value of the “@ref_name@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' collectionRef #refName+@+-}+getCollectionRefRefName :: MonadIO m => CollectionRef -> m (Maybe T.Text)+getCollectionRefRefName 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 “@ref_name@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' collectionRef [ #refName 'Data.GI.Base.Attributes.:=' value ]+@+-}+setCollectionRefRefName :: MonadIO m => CollectionRef -> CString -> m ()+setCollectionRefRefName s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: CString)++{- |+Set the value of the “@ref_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' #refName+@+-}+clearCollectionRefRefName :: MonadIO m => CollectionRef -> m ()+clearCollectionRefRefName s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: CString)++#if ENABLE_OVERLOADING+data CollectionRefRefNameFieldInfo+instance AttrInfo CollectionRefRefNameFieldInfo where+    type AttrAllowedOps CollectionRefRefNameFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint CollectionRefRefNameFieldInfo = (~) CString+    type AttrBaseTypeConstraint CollectionRefRefNameFieldInfo = (~) CollectionRef+    type AttrGetType CollectionRefRefNameFieldInfo = Maybe T.Text+    type AttrLabel CollectionRefRefNameFieldInfo = "ref_name"+    type AttrOrigin CollectionRefRefNameFieldInfo = CollectionRef+    attrGet _ = getCollectionRefRefName+    attrSet _ = setCollectionRefRefName+    attrConstruct = undefined+    attrClear _ = clearCollectionRefRefName++collectionRef_refName :: AttrLabelProxy "refName"+collectionRef_refName = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList CollectionRef+type instance O.AttributeList CollectionRef = CollectionRefAttributeList+type CollectionRefAttributeList = ('[ '("collectionId", CollectionRefCollectionIdFieldInfo), '("refName", CollectionRefRefNameFieldInfo)] :: [(Symbol, *)])+#endif++-- method CollectionRef::new+-- method type : Constructor+-- Args : [Arg {argCName = "collection_id", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "a collection ID, or %NULL for a plain ref", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ref_name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a ref name", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "CollectionRef"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_collection_ref_new" ostree_collection_ref_new :: +    CString ->                              -- collection_id : TBasicType TUTF8+    CString ->                              -- ref_name : TBasicType TUTF8+    IO (Ptr CollectionRef)++{- |+Create a new 'GI.OSTree.Structs.CollectionRef.CollectionRef' containing (/@collectionId@/, /@refName@/). If+/@collectionId@/ is 'Nothing', this is equivalent to a plain ref name string (not a+refspec; no remote name is included), which can be used for non-P2P+operations.++/Since: 2018.6/+-}+collectionRefNew ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Maybe (T.Text)+    {- ^ /@collectionId@/: a collection ID, or 'Nothing' for a plain ref -}+    -> T.Text+    {- ^ /@refName@/: a ref name -}+    -> m CollectionRef+    {- ^ __Returns:__ a new 'GI.OSTree.Structs.CollectionRef.CollectionRef' -}+collectionRefNew collectionId refName = liftIO $ do+    maybeCollectionId <- case collectionId of+        Nothing -> return nullPtr+        Just jCollectionId -> do+            jCollectionId' <- textToCString jCollectionId+            return jCollectionId'+    refName' <- textToCString refName+    result <- ostree_collection_ref_new maybeCollectionId refName'+    checkUnexpectedReturnNULL "collectionRefNew" result+    result' <- (wrapBoxed CollectionRef) result+    freeMem maybeCollectionId+    freeMem refName'+    return result'++#if ENABLE_OVERLOADING+#endif++-- method CollectionRef::dup+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "ref", argType = TInterface (Name {namespace = "OSTree", name = "CollectionRef"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeCollectionRef", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "CollectionRef"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_collection_ref_dup" ostree_collection_ref_dup :: +    Ptr CollectionRef ->                    -- ref : TInterface (Name {namespace = "OSTree", name = "CollectionRef"})+    IO (Ptr CollectionRef)++{- |+Create a copy of the given /@ref@/.++/Since: 2018.6/+-}+collectionRefDup ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    CollectionRef+    {- ^ /@ref@/: an 'GI.OSTree.Structs.CollectionRef.CollectionRef' -}+    -> m CollectionRef+    {- ^ __Returns:__ a newly allocated copy of /@ref@/ -}+collectionRefDup ref = liftIO $ do+    ref' <- unsafeManagedPtrGetPtr ref+    result <- ostree_collection_ref_dup ref'+    checkUnexpectedReturnNULL "collectionRefDup" result+    result' <- (wrapBoxed CollectionRef) result+    touchManagedPtr ref+    return result'++#if ENABLE_OVERLOADING+data CollectionRefDupMethodInfo+instance (signature ~ (m CollectionRef), MonadIO m) => O.MethodInfo CollectionRefDupMethodInfo CollectionRef signature where+    overloadedMethod _ = collectionRefDup++#endif++-- method CollectionRef::free+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "ref", argType = TInterface (Name {namespace = "OSTree", name = "CollectionRef"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeCollectionRef", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_collection_ref_free" ostree_collection_ref_free :: +    Ptr CollectionRef ->                    -- ref : TInterface (Name {namespace = "OSTree", name = "CollectionRef"})+    IO ()++{- |+Free the given /@ref@/.++/Since: 2018.6/+-}+collectionRefFree ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    CollectionRef+    {- ^ /@ref@/: an 'GI.OSTree.Structs.CollectionRef.CollectionRef' -}+    -> m ()+collectionRefFree ref = liftIO $ do+    ref' <- B.ManagedPtr.disownBoxed ref+    ostree_collection_ref_free ref'+    touchManagedPtr ref+    return ()++#if ENABLE_OVERLOADING+data CollectionRefFreeMethodInfo+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo CollectionRefFreeMethodInfo CollectionRef signature where+    overloadedMethod _ = collectionRefFree++#endif++-- method CollectionRef::dupv+-- method type : MemberFunction+-- Args : [Arg {argCName = "refs", argType = TCArray True (-1) (-1) (TInterface (Name {namespace = "OSTree", name = "CollectionRef"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "%NULL-terminated array of #OstreeCollectionRefs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TCArray True (-1) (-1) (TInterface (Name {namespace = "OSTree", name = "CollectionRef"})))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_collection_ref_dupv" ostree_collection_ref_dupv :: +    Ptr (Ptr CollectionRef) ->              -- refs : TCArray True (-1) (-1) (TInterface (Name {namespace = "OSTree", name = "CollectionRef"}))+    IO (Ptr (Ptr CollectionRef))++{- |+Copy an array of @/OstreeCollectionRefs/@, including deep copies of all its+elements. /@refs@/ must be 'Nothing'-terminated; it may be empty, but must not be+'Nothing'.++/Since: 2018.6/+-}+collectionRefDupv ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    [CollectionRef]+    {- ^ /@refs@/: 'Nothing'-terminated array of @/OstreeCollectionRefs/@ -}+    -> m [CollectionRef]+    {- ^ __Returns:__ a newly allocated copy of /@refs@/ -}+collectionRefDupv refs = liftIO $ do+    refs' <- mapM unsafeManagedPtrGetPtr refs+    refs'' <- packZeroTerminatedPtrArray refs'+    result <- ostree_collection_ref_dupv refs''+    checkUnexpectedReturnNULL "collectionRefDupv" result+    result' <- unpackZeroTerminatedPtrArray result+    result'' <- mapM (wrapBoxed CollectionRef) result'+    freeMem result+    mapM_ touchManagedPtr refs+    freeMem refs''+    return result''++#if ENABLE_OVERLOADING+#endif++-- method CollectionRef::equal+-- method type : MemberFunction+-- Args : [Arg {argCName = "ref1", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an #OstreeCollectionRef", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "ref2", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "another #OstreeCollectionRef", 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 "ostree_collection_ref_equal" ostree_collection_ref_equal :: +    Ptr () ->                               -- ref1 : TBasicType TPtr+    Ptr () ->                               -- ref2 : TBasicType TPtr+    IO CInt++{- |+Compare /@ref1@/ and /@ref2@/ and return 'True' if they have the same collection ID and+ref name, and 'False' otherwise. Both /@ref1@/ and /@ref2@/ must be non-'Nothing'.++/Since: 2018.6/+-}+collectionRefEqual ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Ptr ()+    {- ^ /@ref1@/: an 'GI.OSTree.Structs.CollectionRef.CollectionRef' -}+    -> Ptr ()+    {- ^ /@ref2@/: another 'GI.OSTree.Structs.CollectionRef.CollectionRef' -}+    -> m Bool+    {- ^ __Returns:__ 'True' if /@ref1@/ and /@ref2@/ are equal, 'False' otherwise -}+collectionRefEqual ref1 ref2 = liftIO $ do+    result <- ostree_collection_ref_equal ref1 ref2+    let result' = (/= 0) result+    return result'++#if ENABLE_OVERLOADING+#endif++-- method CollectionRef::freev+-- method type : MemberFunction+-- Args : [Arg {argCName = "refs", argType = TCArray True (-1) (-1) (TInterface (Name {namespace = "OSTree", name = "CollectionRef"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an array of #OstreeCollectionRefs", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_collection_ref_freev" ostree_collection_ref_freev :: +    Ptr (Ptr CollectionRef) ->              -- refs : TCArray True (-1) (-1) (TInterface (Name {namespace = "OSTree", name = "CollectionRef"}))+    IO ()++{- |+Free the given array of /@refs@/, including freeing all its elements. /@refs@/+must be 'Nothing'-terminated; it may be empty, but must not be 'Nothing'.++/Since: 2018.6/+-}+collectionRefFreev ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    [CollectionRef]+    {- ^ /@refs@/: an array of @/OstreeCollectionRefs/@ -}+    -> m ()+collectionRefFreev refs = liftIO $ do+    refs' <- mapM B.ManagedPtr.disownBoxed refs+    refs'' <- packZeroTerminatedPtrArray refs'+    ostree_collection_ref_freev refs''+    mapM_ touchManagedPtr refs+    return ()++#if ENABLE_OVERLOADING+#endif++-- method CollectionRef::hash+-- method type : MemberFunction+-- Args : [Arg {argCName = "ref", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "an #OstreeCollectionRef", 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 "ostree_collection_ref_hash" ostree_collection_ref_hash :: +    Ptr () ->                               -- ref : TBasicType TPtr+    IO Word32++{- |+Hash the given /@ref@/. This function is suitable for use with 'GI.GLib.Structs.HashTable.HashTable'.+/@ref@/ must be non-'Nothing'.++/Since: 2018.6/+-}+collectionRefHash ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Ptr ()+    {- ^ /@ref@/: an 'GI.OSTree.Structs.CollectionRef.CollectionRef' -}+    -> m Word32+    {- ^ __Returns:__ hash value for /@ref@/ -}+collectionRefHash ref = liftIO $ do+    result <- ostree_collection_ref_hash ref+    return result++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type family ResolveCollectionRefMethod (t :: Symbol) (o :: *) :: * where+    ResolveCollectionRefMethod "dup" o = CollectionRefDupMethodInfo+    ResolveCollectionRefMethod "free" o = CollectionRefFreeMethodInfo+    ResolveCollectionRefMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveCollectionRefMethod t CollectionRef, O.MethodInfo info CollectionRef p) => OL.IsLabel t (CollectionRef -> 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/OSTree/Structs/CollectionRef.hs-boot view
@@ -0,0 +1,32 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.CollectionRef 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 CollectionRef = CollectionRef (ManagedPtr CollectionRef)+instance BoxedObject CollectionRef where+#if ENABLE_OVERLOADING+data CollectionRefDupMethodInfo+#endif+#if ENABLE_OVERLOADING+data CollectionRefFreeMethodInfo+#endif
+ GI/OSTree/Structs/DiffDirsOptions.hs view
@@ -0,0 +1,278 @@+++{- |+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 extensible options structure controlling diff dirs. Make sure+that owner_uid\/gid is set to -1 when not used. This is used by+'GI.OSTree.Functions.diffDirsWithOptions'.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.OSTree.Structs.DiffDirsOptions+    ( ++-- * Exported types+    DiffDirsOptions(..)                     ,+    newZeroDiffDirsOptions                  ,+    noDiffDirsOptions                       ,+++ -- * Properties+-- ** devinoToCsumCache #attr:devinoToCsumCache#+{- | /No description available in the introspection data./+-}+    clearDiffDirsOptionsDevinoToCsumCache   ,+#if ENABLE_OVERLOADING+    diffDirsOptions_devinoToCsumCache       ,+#endif+    getDiffDirsOptionsDevinoToCsumCache     ,+    setDiffDirsOptionsDevinoToCsumCache     ,+++-- ** ownerGid #attr:ownerGid#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    diffDirsOptions_ownerGid                ,+#endif+    getDiffDirsOptionsOwnerGid              ,+    setDiffDirsOptionsOwnerGid              ,+++-- ** ownerUid #attr:ownerUid#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    diffDirsOptions_ownerUid                ,+#endif+    getDiffDirsOptionsOwnerUid              ,+    setDiffDirsOptionsOwnerUid              ,+++++    ) 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.OSTree.Structs.RepoDevInoCache as OSTree.RepoDevInoCache++-- | Memory-managed wrapper type.+newtype DiffDirsOptions = DiffDirsOptions (ManagedPtr DiffDirsOptions)+instance WrappedPtr DiffDirsOptions where+    wrappedPtrCalloc = callocBytes 128+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 128 >=> wrapPtr DiffDirsOptions)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `DiffDirsOptions` struct initialized to zero.+newZeroDiffDirsOptions :: MonadIO m => m DiffDirsOptions+newZeroDiffDirsOptions = liftIO $ wrappedPtrCalloc >>= wrapPtr DiffDirsOptions++instance tag ~ 'AttrSet => Constructible DiffDirsOptions tag where+    new _ attrs = do+        o <- newZeroDiffDirsOptions+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `DiffDirsOptions`.+noDiffDirsOptions :: Maybe DiffDirsOptions+noDiffDirsOptions = Nothing++{- |+Get the value of the “@owner_uid@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' diffDirsOptions #ownerUid+@+-}+getDiffDirsOptionsOwnerUid :: MonadIO m => DiffDirsOptions -> m Int32+getDiffDirsOptionsOwnerUid s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int32+    return val++{- |+Set the value of the “@owner_uid@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' diffDirsOptions [ #ownerUid 'Data.GI.Base.Attributes.:=' value ]+@+-}+setDiffDirsOptionsOwnerUid :: MonadIO m => DiffDirsOptions -> Int32 -> m ()+setDiffDirsOptionsOwnerUid s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Int32)++#if ENABLE_OVERLOADING+data DiffDirsOptionsOwnerUidFieldInfo+instance AttrInfo DiffDirsOptionsOwnerUidFieldInfo where+    type AttrAllowedOps DiffDirsOptionsOwnerUidFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint DiffDirsOptionsOwnerUidFieldInfo = (~) Int32+    type AttrBaseTypeConstraint DiffDirsOptionsOwnerUidFieldInfo = (~) DiffDirsOptions+    type AttrGetType DiffDirsOptionsOwnerUidFieldInfo = Int32+    type AttrLabel DiffDirsOptionsOwnerUidFieldInfo = "owner_uid"+    type AttrOrigin DiffDirsOptionsOwnerUidFieldInfo = DiffDirsOptions+    attrGet _ = getDiffDirsOptionsOwnerUid+    attrSet _ = setDiffDirsOptionsOwnerUid+    attrConstruct = undefined+    attrClear _ = undefined++diffDirsOptions_ownerUid :: AttrLabelProxy "ownerUid"+diffDirsOptions_ownerUid = AttrLabelProxy++#endif+++{- |+Get the value of the “@owner_gid@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' diffDirsOptions #ownerGid+@+-}+getDiffDirsOptionsOwnerGid :: MonadIO m => DiffDirsOptions -> m Int32+getDiffDirsOptionsOwnerGid s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 4) :: IO Int32+    return val++{- |+Set the value of the “@owner_gid@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' diffDirsOptions [ #ownerGid 'Data.GI.Base.Attributes.:=' value ]+@+-}+setDiffDirsOptionsOwnerGid :: MonadIO m => DiffDirsOptions -> Int32 -> m ()+setDiffDirsOptionsOwnerGid s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 4) (val :: Int32)++#if ENABLE_OVERLOADING+data DiffDirsOptionsOwnerGidFieldInfo+instance AttrInfo DiffDirsOptionsOwnerGidFieldInfo where+    type AttrAllowedOps DiffDirsOptionsOwnerGidFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint DiffDirsOptionsOwnerGidFieldInfo = (~) Int32+    type AttrBaseTypeConstraint DiffDirsOptionsOwnerGidFieldInfo = (~) DiffDirsOptions+    type AttrGetType DiffDirsOptionsOwnerGidFieldInfo = Int32+    type AttrLabel DiffDirsOptionsOwnerGidFieldInfo = "owner_gid"+    type AttrOrigin DiffDirsOptionsOwnerGidFieldInfo = DiffDirsOptions+    attrGet _ = getDiffDirsOptionsOwnerGid+    attrSet _ = setDiffDirsOptionsOwnerGid+    attrConstruct = undefined+    attrClear _ = undefined++diffDirsOptions_ownerGid :: AttrLabelProxy "ownerGid"+diffDirsOptions_ownerGid = AttrLabelProxy++#endif+++{- |+Get the value of the “@devino_to_csum_cache@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' diffDirsOptions #devinoToCsumCache+@+-}+getDiffDirsOptionsDevinoToCsumCache :: MonadIO m => DiffDirsOptions -> m (Maybe OSTree.RepoDevInoCache.RepoDevInoCache)+getDiffDirsOptionsDevinoToCsumCache s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr OSTree.RepoDevInoCache.RepoDevInoCache)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newBoxed OSTree.RepoDevInoCache.RepoDevInoCache) val'+        return val''+    return result++{- |+Set the value of the “@devino_to_csum_cache@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' diffDirsOptions [ #devinoToCsumCache 'Data.GI.Base.Attributes.:=' value ]+@+-}+setDiffDirsOptionsDevinoToCsumCache :: MonadIO m => DiffDirsOptions -> Ptr OSTree.RepoDevInoCache.RepoDevInoCache -> m ()+setDiffDirsOptionsDevinoToCsumCache s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr OSTree.RepoDevInoCache.RepoDevInoCache)++{- |+Set the value of the “@devino_to_csum_cache@” 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' #devinoToCsumCache+@+-}+clearDiffDirsOptionsDevinoToCsumCache :: MonadIO m => DiffDirsOptions -> m ()+clearDiffDirsOptionsDevinoToCsumCache s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr OSTree.RepoDevInoCache.RepoDevInoCache)++#if ENABLE_OVERLOADING+data DiffDirsOptionsDevinoToCsumCacheFieldInfo+instance AttrInfo DiffDirsOptionsDevinoToCsumCacheFieldInfo where+    type AttrAllowedOps DiffDirsOptionsDevinoToCsumCacheFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint DiffDirsOptionsDevinoToCsumCacheFieldInfo = (~) (Ptr OSTree.RepoDevInoCache.RepoDevInoCache)+    type AttrBaseTypeConstraint DiffDirsOptionsDevinoToCsumCacheFieldInfo = (~) DiffDirsOptions+    type AttrGetType DiffDirsOptionsDevinoToCsumCacheFieldInfo = Maybe OSTree.RepoDevInoCache.RepoDevInoCache+    type AttrLabel DiffDirsOptionsDevinoToCsumCacheFieldInfo = "devino_to_csum_cache"+    type AttrOrigin DiffDirsOptionsDevinoToCsumCacheFieldInfo = DiffDirsOptions+    attrGet _ = getDiffDirsOptionsDevinoToCsumCache+    attrSet _ = setDiffDirsOptionsDevinoToCsumCache+    attrConstruct = undefined+    attrClear _ = clearDiffDirsOptionsDevinoToCsumCache++diffDirsOptions_devinoToCsumCache :: AttrLabelProxy "devinoToCsumCache"+diffDirsOptions_devinoToCsumCache = AttrLabelProxy++#endif+++-- XXX Skipped attribute for "DiffDirsOptions:unused_bools" :: Not implemented: "Don't know how to unpack C array of type TCArray False 7 (-1) (TBasicType TBoolean)"+-- XXX Skipped attribute for "DiffDirsOptions:unused_ints" :: Not implemented: "Don't know how to unpack C array of type TCArray False 6 (-1) (TBasicType TInt)"+-- XXX Skipped attribute for "DiffDirsOptions:unused_ptrs" :: Not implemented: "Don't know how to unpack C array of type TCArray False 7 (-1) (TBasicType TPtr)"++#if ENABLE_OVERLOADING+instance O.HasAttributeList DiffDirsOptions+type instance O.AttributeList DiffDirsOptions = DiffDirsOptionsAttributeList+type DiffDirsOptionsAttributeList = ('[ '("ownerUid", DiffDirsOptionsOwnerUidFieldInfo), '("ownerGid", DiffDirsOptionsOwnerGidFieldInfo), '("devinoToCsumCache", DiffDirsOptionsDevinoToCsumCacheFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveDiffDirsOptionsMethod (t :: Symbol) (o :: *) :: * where+    ResolveDiffDirsOptionsMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveDiffDirsOptionsMethod t DiffDirsOptions, O.MethodInfo info DiffDirsOptions p) => OL.IsLabel t (DiffDirsOptions -> 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/OSTree/Structs/DiffDirsOptions.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.DiffDirsOptions 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 DiffDirsOptions = DiffDirsOptions (ManagedPtr DiffDirsOptions)+instance WrappedPtr DiffDirsOptions where
+ GI/OSTree/Structs/DiffItem.hs view
@@ -0,0 +1,662 @@+++{- |+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.OSTree.Structs.DiffItem+    ( ++-- * Exported types+    DiffItem(..)                            ,+    newZeroDiffItem                         ,+    noDiffItem                              ,+++ -- * Methods+-- ** ref #method:ref#++#if ENABLE_OVERLOADING+    DiffItemRefMethodInfo                   ,+#endif+    diffItemRef                             ,+++-- ** unref #method:unref#++#if ENABLE_OVERLOADING+    DiffItemUnrefMethodInfo                 ,+#endif+    diffItemUnref                           ,+++++ -- * Properties+-- ** refcount #attr:refcount#+{- | /No description available in the introspection data./+-}+#if ENABLE_OVERLOADING+    diffItem_refcount                       ,+#endif+    getDiffItemRefcount                     ,+    setDiffItemRefcount                     ,+++-- ** src #attr:src#+{- | /No description available in the introspection data./+-}+    clearDiffItemSrc                        ,+#if ENABLE_OVERLOADING+    diffItem_src                            ,+#endif+    getDiffItemSrc                          ,+    setDiffItemSrc                          ,+++-- ** srcChecksum #attr:srcChecksum#+{- | /No description available in the introspection data./+-}+    clearDiffItemSrcChecksum                ,+#if ENABLE_OVERLOADING+    diffItem_srcChecksum                    ,+#endif+    getDiffItemSrcChecksum                  ,+    setDiffItemSrcChecksum                  ,+++-- ** srcInfo #attr:srcInfo#+{- | /No description available in the introspection data./+-}+    clearDiffItemSrcInfo                    ,+#if ENABLE_OVERLOADING+    diffItem_srcInfo                        ,+#endif+    getDiffItemSrcInfo                      ,+    setDiffItemSrcInfo                      ,+++-- ** target #attr:target#+{- | /No description available in the introspection data./+-}+    clearDiffItemTarget                     ,+#if ENABLE_OVERLOADING+    diffItem_target                         ,+#endif+    getDiffItemTarget                       ,+    setDiffItemTarget                       ,+++-- ** targetChecksum #attr:targetChecksum#+{- | /No description available in the introspection data./+-}+    clearDiffItemTargetChecksum             ,+#if ENABLE_OVERLOADING+    diffItem_targetChecksum                 ,+#endif+    getDiffItemTargetChecksum               ,+    setDiffItemTargetChecksum               ,+++-- ** targetInfo #attr:targetInfo#+{- | /No description available in the introspection data./+-}+    clearDiffItemTargetInfo                 ,+#if ENABLE_OVERLOADING+    diffItem_targetInfo                     ,+#endif+    getDiffItemTargetInfo                   ,+    setDiffItemTargetInfo                   ,+++++    ) 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.Gio.Interfaces.File as Gio.File+import qualified GI.Gio.Objects.FileInfo as Gio.FileInfo++-- | Memory-managed wrapper type.+newtype DiffItem = DiffItem (ManagedPtr DiffItem)+foreign import ccall "ostree_diff_item_get_type" c_ostree_diff_item_get_type :: +    IO GType++instance BoxedObject DiffItem where+    boxedType _ = c_ostree_diff_item_get_type++-- | Construct a `DiffItem` struct initialized to zero.+newZeroDiffItem :: MonadIO m => m DiffItem+newZeroDiffItem = liftIO $ callocBoxedBytes 56 >>= wrapBoxed DiffItem++instance tag ~ 'AttrSet => Constructible DiffItem tag where+    new _ attrs = do+        o <- newZeroDiffItem+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `DiffItem`.+noDiffItem :: Maybe DiffItem+noDiffItem = Nothing++{- |+Get the value of the “@refcount@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' diffItem #refcount+@+-}+getDiffItemRefcount :: MonadIO m => DiffItem -> m Int32+getDiffItemRefcount s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Int32+    return val++{- |+Set the value of the “@refcount@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' diffItem [ #refcount 'Data.GI.Base.Attributes.:=' value ]+@+-}+setDiffItemRefcount :: MonadIO m => DiffItem -> Int32 -> m ()+setDiffItemRefcount s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Int32)++#if ENABLE_OVERLOADING+data DiffItemRefcountFieldInfo+instance AttrInfo DiffItemRefcountFieldInfo where+    type AttrAllowedOps DiffItemRefcountFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint DiffItemRefcountFieldInfo = (~) Int32+    type AttrBaseTypeConstraint DiffItemRefcountFieldInfo = (~) DiffItem+    type AttrGetType DiffItemRefcountFieldInfo = Int32+    type AttrLabel DiffItemRefcountFieldInfo = "refcount"+    type AttrOrigin DiffItemRefcountFieldInfo = DiffItem+    attrGet _ = getDiffItemRefcount+    attrSet _ = setDiffItemRefcount+    attrConstruct = undefined+    attrClear _ = undefined++diffItem_refcount :: AttrLabelProxy "refcount"+diffItem_refcount = AttrLabelProxy++#endif+++{- |+Get the value of the “@src@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' diffItem #src+@+-}+getDiffItemSrc :: MonadIO m => DiffItem -> m (Maybe Gio.File.File)+getDiffItemSrc s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr Gio.File.File)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gio.File.File) val'+        return val''+    return result++{- |+Set the value of the “@src@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' diffItem [ #src 'Data.GI.Base.Attributes.:=' value ]+@+-}+setDiffItemSrc :: MonadIO m => DiffItem -> Ptr Gio.File.File -> m ()+setDiffItemSrc s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr Gio.File.File)++{- |+Set the value of the “@src@” 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' #src+@+-}+clearDiffItemSrc :: MonadIO m => DiffItem -> m ()+clearDiffItemSrc s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr Gio.File.File)++#if ENABLE_OVERLOADING+data DiffItemSrcFieldInfo+instance AttrInfo DiffItemSrcFieldInfo where+    type AttrAllowedOps DiffItemSrcFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint DiffItemSrcFieldInfo = (~) (Ptr Gio.File.File)+    type AttrBaseTypeConstraint DiffItemSrcFieldInfo = (~) DiffItem+    type AttrGetType DiffItemSrcFieldInfo = Maybe Gio.File.File+    type AttrLabel DiffItemSrcFieldInfo = "src"+    type AttrOrigin DiffItemSrcFieldInfo = DiffItem+    attrGet _ = getDiffItemSrc+    attrSet _ = setDiffItemSrc+    attrConstruct = undefined+    attrClear _ = clearDiffItemSrc++diffItem_src :: AttrLabelProxy "src"+diffItem_src = AttrLabelProxy++#endif+++{- |+Get the value of the “@target@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' diffItem #target+@+-}+getDiffItemTarget :: MonadIO m => DiffItem -> m (Maybe Gio.File.File)+getDiffItemTarget s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO (Ptr Gio.File.File)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gio.File.File) val'+        return val''+    return result++{- |+Set the value of the “@target@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' diffItem [ #target 'Data.GI.Base.Attributes.:=' value ]+@+-}+setDiffItemTarget :: MonadIO m => DiffItem -> Ptr Gio.File.File -> m ()+setDiffItemTarget s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Ptr Gio.File.File)++{- |+Set the value of the “@target@” 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' #target+@+-}+clearDiffItemTarget :: MonadIO m => DiffItem -> m ()+clearDiffItemTarget s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (FP.nullPtr :: Ptr Gio.File.File)++#if ENABLE_OVERLOADING+data DiffItemTargetFieldInfo+instance AttrInfo DiffItemTargetFieldInfo where+    type AttrAllowedOps DiffItemTargetFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint DiffItemTargetFieldInfo = (~) (Ptr Gio.File.File)+    type AttrBaseTypeConstraint DiffItemTargetFieldInfo = (~) DiffItem+    type AttrGetType DiffItemTargetFieldInfo = Maybe Gio.File.File+    type AttrLabel DiffItemTargetFieldInfo = "target"+    type AttrOrigin DiffItemTargetFieldInfo = DiffItem+    attrGet _ = getDiffItemTarget+    attrSet _ = setDiffItemTarget+    attrConstruct = undefined+    attrClear _ = clearDiffItemTarget++diffItem_target :: AttrLabelProxy "target"+diffItem_target = AttrLabelProxy++#endif+++{- |+Get the value of the “@src_info@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' diffItem #srcInfo+@+-}+getDiffItemSrcInfo :: MonadIO m => DiffItem -> m (Maybe Gio.FileInfo.FileInfo)+getDiffItemSrcInfo s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO (Ptr Gio.FileInfo.FileInfo)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gio.FileInfo.FileInfo) val'+        return val''+    return result++{- |+Set the value of the “@src_info@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' diffItem [ #srcInfo 'Data.GI.Base.Attributes.:=' value ]+@+-}+setDiffItemSrcInfo :: MonadIO m => DiffItem -> Ptr Gio.FileInfo.FileInfo -> m ()+setDiffItemSrcInfo s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (val :: Ptr Gio.FileInfo.FileInfo)++{- |+Set the value of the “@src_info@” 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' #srcInfo+@+-}+clearDiffItemSrcInfo :: MonadIO m => DiffItem -> m ()+clearDiffItemSrcInfo s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (FP.nullPtr :: Ptr Gio.FileInfo.FileInfo)++#if ENABLE_OVERLOADING+data DiffItemSrcInfoFieldInfo+instance AttrInfo DiffItemSrcInfoFieldInfo where+    type AttrAllowedOps DiffItemSrcInfoFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint DiffItemSrcInfoFieldInfo = (~) (Ptr Gio.FileInfo.FileInfo)+    type AttrBaseTypeConstraint DiffItemSrcInfoFieldInfo = (~) DiffItem+    type AttrGetType DiffItemSrcInfoFieldInfo = Maybe Gio.FileInfo.FileInfo+    type AttrLabel DiffItemSrcInfoFieldInfo = "src_info"+    type AttrOrigin DiffItemSrcInfoFieldInfo = DiffItem+    attrGet _ = getDiffItemSrcInfo+    attrSet _ = setDiffItemSrcInfo+    attrConstruct = undefined+    attrClear _ = clearDiffItemSrcInfo++diffItem_srcInfo :: AttrLabelProxy "srcInfo"+diffItem_srcInfo = AttrLabelProxy++#endif+++{- |+Get the value of the “@target_info@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' diffItem #targetInfo+@+-}+getDiffItemTargetInfo :: MonadIO m => DiffItem -> m (Maybe Gio.FileInfo.FileInfo)+getDiffItemTargetInfo s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO (Ptr Gio.FileInfo.FileInfo)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gio.FileInfo.FileInfo) val'+        return val''+    return result++{- |+Set the value of the “@target_info@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' diffItem [ #targetInfo 'Data.GI.Base.Attributes.:=' value ]+@+-}+setDiffItemTargetInfo :: MonadIO m => DiffItem -> Ptr Gio.FileInfo.FileInfo -> m ()+setDiffItemTargetInfo s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 32) (val :: Ptr Gio.FileInfo.FileInfo)++{- |+Set the value of the “@target_info@” 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' #targetInfo+@+-}+clearDiffItemTargetInfo :: MonadIO m => DiffItem -> m ()+clearDiffItemTargetInfo s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 32) (FP.nullPtr :: Ptr Gio.FileInfo.FileInfo)++#if ENABLE_OVERLOADING+data DiffItemTargetInfoFieldInfo+instance AttrInfo DiffItemTargetInfoFieldInfo where+    type AttrAllowedOps DiffItemTargetInfoFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint DiffItemTargetInfoFieldInfo = (~) (Ptr Gio.FileInfo.FileInfo)+    type AttrBaseTypeConstraint DiffItemTargetInfoFieldInfo = (~) DiffItem+    type AttrGetType DiffItemTargetInfoFieldInfo = Maybe Gio.FileInfo.FileInfo+    type AttrLabel DiffItemTargetInfoFieldInfo = "target_info"+    type AttrOrigin DiffItemTargetInfoFieldInfo = DiffItem+    attrGet _ = getDiffItemTargetInfo+    attrSet _ = setDiffItemTargetInfo+    attrConstruct = undefined+    attrClear _ = clearDiffItemTargetInfo++diffItem_targetInfo :: AttrLabelProxy "targetInfo"+diffItem_targetInfo = AttrLabelProxy++#endif+++{- |+Get the value of the “@src_checksum@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' diffItem #srcChecksum+@+-}+getDiffItemSrcChecksum :: MonadIO m => DiffItem -> m (Maybe T.Text)+getDiffItemSrcChecksum 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 “@src_checksum@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' diffItem [ #srcChecksum 'Data.GI.Base.Attributes.:=' value ]+@+-}+setDiffItemSrcChecksum :: MonadIO m => DiffItem -> CString -> m ()+setDiffItemSrcChecksum s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 40) (val :: CString)++{- |+Set the value of the “@src_checksum@” 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' #srcChecksum+@+-}+clearDiffItemSrcChecksum :: MonadIO m => DiffItem -> m ()+clearDiffItemSrcChecksum s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 40) (FP.nullPtr :: CString)++#if ENABLE_OVERLOADING+data DiffItemSrcChecksumFieldInfo+instance AttrInfo DiffItemSrcChecksumFieldInfo where+    type AttrAllowedOps DiffItemSrcChecksumFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint DiffItemSrcChecksumFieldInfo = (~) CString+    type AttrBaseTypeConstraint DiffItemSrcChecksumFieldInfo = (~) DiffItem+    type AttrGetType DiffItemSrcChecksumFieldInfo = Maybe T.Text+    type AttrLabel DiffItemSrcChecksumFieldInfo = "src_checksum"+    type AttrOrigin DiffItemSrcChecksumFieldInfo = DiffItem+    attrGet _ = getDiffItemSrcChecksum+    attrSet _ = setDiffItemSrcChecksum+    attrConstruct = undefined+    attrClear _ = clearDiffItemSrcChecksum++diffItem_srcChecksum :: AttrLabelProxy "srcChecksum"+diffItem_srcChecksum = AttrLabelProxy++#endif+++{- |+Get the value of the “@target_checksum@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' diffItem #targetChecksum+@+-}+getDiffItemTargetChecksum :: MonadIO m => DiffItem -> m (Maybe T.Text)+getDiffItemTargetChecksum s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO CString+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- cstringToText val'+        return val''+    return result++{- |+Set the value of the “@target_checksum@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' diffItem [ #targetChecksum 'Data.GI.Base.Attributes.:=' value ]+@+-}+setDiffItemTargetChecksum :: MonadIO m => DiffItem -> CString -> m ()+setDiffItemTargetChecksum s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 48) (val :: CString)++{- |+Set the value of the “@target_checksum@” 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' #targetChecksum+@+-}+clearDiffItemTargetChecksum :: MonadIO m => DiffItem -> m ()+clearDiffItemTargetChecksum s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 48) (FP.nullPtr :: CString)++#if ENABLE_OVERLOADING+data DiffItemTargetChecksumFieldInfo+instance AttrInfo DiffItemTargetChecksumFieldInfo where+    type AttrAllowedOps DiffItemTargetChecksumFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint DiffItemTargetChecksumFieldInfo = (~) CString+    type AttrBaseTypeConstraint DiffItemTargetChecksumFieldInfo = (~) DiffItem+    type AttrGetType DiffItemTargetChecksumFieldInfo = Maybe T.Text+    type AttrLabel DiffItemTargetChecksumFieldInfo = "target_checksum"+    type AttrOrigin DiffItemTargetChecksumFieldInfo = DiffItem+    attrGet _ = getDiffItemTargetChecksum+    attrSet _ = setDiffItemTargetChecksum+    attrConstruct = undefined+    attrClear _ = clearDiffItemTargetChecksum++diffItem_targetChecksum :: AttrLabelProxy "targetChecksum"+diffItem_targetChecksum = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList DiffItem+type instance O.AttributeList DiffItem = DiffItemAttributeList+type DiffItemAttributeList = ('[ '("refcount", DiffItemRefcountFieldInfo), '("src", DiffItemSrcFieldInfo), '("target", DiffItemTargetFieldInfo), '("srcInfo", DiffItemSrcInfoFieldInfo), '("targetInfo", DiffItemTargetInfoFieldInfo), '("srcChecksum", DiffItemSrcChecksumFieldInfo), '("targetChecksum", DiffItemTargetChecksumFieldInfo)] :: [(Symbol, *)])+#endif++-- method DiffItem::ref+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "diffitem", argType = TInterface (Name {namespace = "OSTree", name = "DiffItem"}), 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 = "OSTree", name = "DiffItem"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_diff_item_ref" ostree_diff_item_ref :: +    Ptr DiffItem ->                         -- diffitem : TInterface (Name {namespace = "OSTree", name = "DiffItem"})+    IO (Ptr DiffItem)++{- |+/No description available in the introspection data./+-}+diffItemRef ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    DiffItem+    -> m DiffItem+diffItemRef diffitem = liftIO $ do+    diffitem' <- unsafeManagedPtrGetPtr diffitem+    result <- ostree_diff_item_ref diffitem'+    checkUnexpectedReturnNULL "diffItemRef" result+    result' <- (wrapBoxed DiffItem) result+    touchManagedPtr diffitem+    return result'++#if ENABLE_OVERLOADING+data DiffItemRefMethodInfo+instance (signature ~ (m DiffItem), MonadIO m) => O.MethodInfo DiffItemRefMethodInfo DiffItem signature where+    overloadedMethod _ = diffItemRef++#endif++-- method DiffItem::unref+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "diffitem", argType = TInterface (Name {namespace = "OSTree", name = "DiffItem"}), 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 "ostree_diff_item_unref" ostree_diff_item_unref :: +    Ptr DiffItem ->                         -- diffitem : TInterface (Name {namespace = "OSTree", name = "DiffItem"})+    IO ()++{- |+/No description available in the introspection data./+-}+diffItemUnref ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    DiffItem+    -> m ()+diffItemUnref diffitem = liftIO $ do+    diffitem' <- unsafeManagedPtrGetPtr diffitem+    ostree_diff_item_unref diffitem'+    touchManagedPtr diffitem+    return ()++#if ENABLE_OVERLOADING+data DiffItemUnrefMethodInfo+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo DiffItemUnrefMethodInfo DiffItem signature where+    overloadedMethod _ = diffItemUnref++#endif++#if ENABLE_OVERLOADING+type family ResolveDiffItemMethod (t :: Symbol) (o :: *) :: * where+    ResolveDiffItemMethod "ref" o = DiffItemRefMethodInfo+    ResolveDiffItemMethod "unref" o = DiffItemUnrefMethodInfo+    ResolveDiffItemMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveDiffItemMethod t DiffItem, O.MethodInfo info DiffItem p) => OL.IsLabel t (DiffItem -> 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/OSTree/Structs/DiffItem.hs-boot view
@@ -0,0 +1,32 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.DiffItem 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 DiffItem = DiffItem (ManagedPtr DiffItem)+instance BoxedObject DiffItem where+#if ENABLE_OVERLOADING+data DiffItemRefMethodInfo+#endif+#if ENABLE_OVERLOADING+data DiffItemUnrefMethodInfo+#endif
+ GI/OSTree/Structs/GpgVerifier.hs view
@@ -0,0 +1,77 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++/No description available in the introspection data./+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.OSTree.Structs.GpgVerifier+    ( ++-- * Exported types+    GpgVerifier(..)                         ,+    noGpgVerifier                           ,+++    ) 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 GpgVerifier = GpgVerifier (ManagedPtr GpgVerifier)+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?+instance WrappedPtr GpgVerifier where+    wrappedPtrCalloc = return nullPtr+    wrappedPtrCopy = return+    wrappedPtrFree = Nothing++-- | A convenience alias for `Nothing` :: `Maybe` `GpgVerifier`.+noGpgVerifier :: Maybe GpgVerifier+noGpgVerifier = Nothing+++#if ENABLE_OVERLOADING+instance O.HasAttributeList GpgVerifier+type instance O.AttributeList GpgVerifier = GpgVerifierAttributeList+type GpgVerifierAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveGpgVerifierMethod (t :: Symbol) (o :: *) :: * where+    ResolveGpgVerifierMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveGpgVerifierMethod t GpgVerifier, O.MethodInfo info GpgVerifier p) => OL.IsLabel t (GpgVerifier -> 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/OSTree/Structs/GpgVerifier.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.GpgVerifier 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 GpgVerifier = GpgVerifier (ManagedPtr GpgVerifier)+instance WrappedPtr GpgVerifier where
+ GI/OSTree/Structs/LibarchiveInputStream.hs view
@@ -0,0 +1,163 @@+++{- |+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.OSTree.Structs.LibarchiveInputStream+    ( ++-- * Exported types+    LibarchiveInputStream(..)               ,+    newZeroLibarchiveInputStream            ,+    noLibarchiveInputStream                 ,+++ -- * Properties+-- ** parentInstance #attr:parentInstance#+{- | /No description available in the introspection data./+-}+    clearLibarchiveInputStreamParentInstance,+    getLibarchiveInputStreamParentInstance  ,+#if ENABLE_OVERLOADING+    libarchiveInputStream_parentInstance    ,+#endif+    setLibarchiveInputStreamParentInstance  ,+++++    ) 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.Gio.Objects.InputStream as Gio.InputStream++-- | Memory-managed wrapper type.+newtype LibarchiveInputStream = LibarchiveInputStream (ManagedPtr LibarchiveInputStream)+instance WrappedPtr LibarchiveInputStream where+    wrappedPtrCalloc = callocBytes 40+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 40 >=> wrapPtr LibarchiveInputStream)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `LibarchiveInputStream` struct initialized to zero.+newZeroLibarchiveInputStream :: MonadIO m => m LibarchiveInputStream+newZeroLibarchiveInputStream = liftIO $ wrappedPtrCalloc >>= wrapPtr LibarchiveInputStream++instance tag ~ 'AttrSet => Constructible LibarchiveInputStream tag where+    new _ attrs = do+        o <- newZeroLibarchiveInputStream+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `LibarchiveInputStream`.+noLibarchiveInputStream :: Maybe LibarchiveInputStream+noLibarchiveInputStream = Nothing++{- |+Get the value of the “@parent_instance@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' libarchiveInputStream #parentInstance+@+-}+getLibarchiveInputStreamParentInstance :: MonadIO m => LibarchiveInputStream -> m (Maybe Gio.InputStream.InputStream)+getLibarchiveInputStreamParentInstance s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr Gio.InputStream.InputStream)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject Gio.InputStream.InputStream) val'+        return val''+    return result++{- |+Set the value of the “@parent_instance@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' libarchiveInputStream [ #parentInstance 'Data.GI.Base.Attributes.:=' value ]+@+-}+setLibarchiveInputStreamParentInstance :: MonadIO m => LibarchiveInputStream -> Ptr Gio.InputStream.InputStream -> m ()+setLibarchiveInputStreamParentInstance s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Ptr Gio.InputStream.InputStream)++{- |+Set the value of the “@parent_instance@” 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' #parentInstance+@+-}+clearLibarchiveInputStreamParentInstance :: MonadIO m => LibarchiveInputStream -> m ()+clearLibarchiveInputStreamParentInstance s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr Gio.InputStream.InputStream)++#if ENABLE_OVERLOADING+data LibarchiveInputStreamParentInstanceFieldInfo+instance AttrInfo LibarchiveInputStreamParentInstanceFieldInfo where+    type AttrAllowedOps LibarchiveInputStreamParentInstanceFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint LibarchiveInputStreamParentInstanceFieldInfo = (~) (Ptr Gio.InputStream.InputStream)+    type AttrBaseTypeConstraint LibarchiveInputStreamParentInstanceFieldInfo = (~) LibarchiveInputStream+    type AttrGetType LibarchiveInputStreamParentInstanceFieldInfo = Maybe Gio.InputStream.InputStream+    type AttrLabel LibarchiveInputStreamParentInstanceFieldInfo = "parent_instance"+    type AttrOrigin LibarchiveInputStreamParentInstanceFieldInfo = LibarchiveInputStream+    attrGet _ = getLibarchiveInputStreamParentInstance+    attrSet _ = setLibarchiveInputStreamParentInstance+    attrConstruct = undefined+    attrClear _ = clearLibarchiveInputStreamParentInstance++libarchiveInputStream_parentInstance :: AttrLabelProxy "parentInstance"+libarchiveInputStream_parentInstance = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList LibarchiveInputStream+type instance O.AttributeList LibarchiveInputStream = LibarchiveInputStreamAttributeList+type LibarchiveInputStreamAttributeList = ('[ '("parentInstance", LibarchiveInputStreamParentInstanceFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveLibarchiveInputStreamMethod (t :: Symbol) (o :: *) :: * where+    ResolveLibarchiveInputStreamMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveLibarchiveInputStreamMethod t LibarchiveInputStream, O.MethodInfo info LibarchiveInputStream p) => OL.IsLabel t (LibarchiveInputStream -> 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/OSTree/Structs/LibarchiveInputStream.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.LibarchiveInputStream 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 LibarchiveInputStream = LibarchiveInputStream (ManagedPtr LibarchiveInputStream)+instance WrappedPtr LibarchiveInputStream where
+ GI/OSTree/Structs/LzmaCompressor.hs view
@@ -0,0 +1,77 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++Zlib decompression+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.OSTree.Structs.LzmaCompressor+    ( ++-- * Exported types+    LzmaCompressor(..)                      ,+    noLzmaCompressor                        ,+++    ) 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 LzmaCompressor = LzmaCompressor (ManagedPtr LzmaCompressor)+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?+instance WrappedPtr LzmaCompressor where+    wrappedPtrCalloc = return nullPtr+    wrappedPtrCopy = return+    wrappedPtrFree = Nothing++-- | A convenience alias for `Nothing` :: `Maybe` `LzmaCompressor`.+noLzmaCompressor :: Maybe LzmaCompressor+noLzmaCompressor = Nothing+++#if ENABLE_OVERLOADING+instance O.HasAttributeList LzmaCompressor+type instance O.AttributeList LzmaCompressor = LzmaCompressorAttributeList+type LzmaCompressorAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveLzmaCompressorMethod (t :: Symbol) (o :: *) :: * where+    ResolveLzmaCompressorMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveLzmaCompressorMethod t LzmaCompressor, O.MethodInfo info LzmaCompressor p) => OL.IsLabel t (LzmaCompressor -> 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/OSTree/Structs/LzmaCompressor.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.LzmaCompressor 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 LzmaCompressor = LzmaCompressor (ManagedPtr LzmaCompressor)+instance WrappedPtr LzmaCompressor where
+ GI/OSTree/Structs/LzmaDecompressor.hs view
@@ -0,0 +1,77 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++/No description available in the introspection data./+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.OSTree.Structs.LzmaDecompressor+    ( ++-- * Exported types+    LzmaDecompressor(..)                    ,+    noLzmaDecompressor                      ,+++    ) 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 LzmaDecompressor = LzmaDecompressor (ManagedPtr LzmaDecompressor)+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?+instance WrappedPtr LzmaDecompressor where+    wrappedPtrCalloc = return nullPtr+    wrappedPtrCopy = return+    wrappedPtrFree = Nothing++-- | A convenience alias for `Nothing` :: `Maybe` `LzmaDecompressor`.+noLzmaDecompressor :: Maybe LzmaDecompressor+noLzmaDecompressor = Nothing+++#if ENABLE_OVERLOADING+instance O.HasAttributeList LzmaDecompressor+type instance O.AttributeList LzmaDecompressor = LzmaDecompressorAttributeList+type LzmaDecompressorAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveLzmaDecompressorMethod (t :: Symbol) (o :: *) :: * where+    ResolveLzmaDecompressorMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveLzmaDecompressorMethod t LzmaDecompressor, O.MethodInfo info LzmaDecompressor p) => OL.IsLabel t (LzmaDecompressor -> 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/OSTree/Structs/LzmaDecompressor.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.LzmaDecompressor 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 LzmaDecompressor = LzmaDecompressor (ManagedPtr LzmaDecompressor)+instance WrappedPtr LzmaDecompressor where
+ GI/OSTree/Structs/MutableTreeIter.hs view
@@ -0,0 +1,192 @@+++{- |+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.OSTree.Structs.MutableTreeIter+    ( ++-- * Exported types+    MutableTreeIter(..)                     ,+    newZeroMutableTreeIter                  ,+    noMutableTreeIter                       ,+++ -- * Properties+-- ** inFiles #attr:inFiles#+{- | /No description available in the introspection data./+-}+    getMutableTreeIterInFiles               ,+#if ENABLE_OVERLOADING+    mutableTreeIter_inFiles                 ,+#endif+    setMutableTreeIterInFiles               ,+++-- ** iter #attr:iter#+{- | /No description available in the introspection data./+-}+    getMutableTreeIterIter                  ,+#if ENABLE_OVERLOADING+    mutableTreeIter_iter                    ,+#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.Structs.HashTableIter as GLib.HashTableIter++-- | Memory-managed wrapper type.+newtype MutableTreeIter = MutableTreeIter (ManagedPtr MutableTreeIter)+instance WrappedPtr MutableTreeIter where+    wrappedPtrCalloc = callocBytes 16+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 16 >=> wrapPtr MutableTreeIter)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `MutableTreeIter` struct initialized to zero.+newZeroMutableTreeIter :: MonadIO m => m MutableTreeIter+newZeroMutableTreeIter = liftIO $ wrappedPtrCalloc >>= wrapPtr MutableTreeIter++instance tag ~ 'AttrSet => Constructible MutableTreeIter tag where+    new _ attrs = do+        o <- newZeroMutableTreeIter+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `MutableTreeIter`.+noMutableTreeIter :: Maybe MutableTreeIter+noMutableTreeIter = Nothing++{- |+Get the value of the “@in_files@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' mutableTreeIter #inFiles+@+-}+getMutableTreeIterInFiles :: MonadIO m => MutableTreeIter -> m Bool+getMutableTreeIterInFiles s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (/= 0) val+    return val'++{- |+Set the value of the “@in_files@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' mutableTreeIter [ #inFiles 'Data.GI.Base.Attributes.:=' value ]+@+-}+setMutableTreeIterInFiles :: MonadIO m => MutableTreeIter -> Bool -> m ()+setMutableTreeIterInFiles s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data MutableTreeIterInFilesFieldInfo+instance AttrInfo MutableTreeIterInFilesFieldInfo where+    type AttrAllowedOps MutableTreeIterInFilesFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint MutableTreeIterInFilesFieldInfo = (~) Bool+    type AttrBaseTypeConstraint MutableTreeIterInFilesFieldInfo = (~) MutableTreeIter+    type AttrGetType MutableTreeIterInFilesFieldInfo = Bool+    type AttrLabel MutableTreeIterInFilesFieldInfo = "in_files"+    type AttrOrigin MutableTreeIterInFilesFieldInfo = MutableTreeIter+    attrGet _ = getMutableTreeIterInFiles+    attrSet _ = setMutableTreeIterInFiles+    attrConstruct = undefined+    attrClear _ = undefined++mutableTreeIter_inFiles :: AttrLabelProxy "inFiles"+mutableTreeIter_inFiles = AttrLabelProxy++#endif+++{- |+Get the value of the “@iter@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' mutableTreeIter #iter+@+-}+getMutableTreeIterIter :: MonadIO m => MutableTreeIter -> m GLib.HashTableIter.HashTableIter+getMutableTreeIterIter s = liftIO $ withManagedPtr s $ \ptr -> do+    let val = ptr `plusPtr` 8 :: (Ptr GLib.HashTableIter.HashTableIter)+    val' <- (newPtr GLib.HashTableIter.HashTableIter) val+    return val'++#if ENABLE_OVERLOADING+data MutableTreeIterIterFieldInfo+instance AttrInfo MutableTreeIterIterFieldInfo where+    type AttrAllowedOps MutableTreeIterIterFieldInfo = '[ 'AttrGet]+    type AttrSetTypeConstraint MutableTreeIterIterFieldInfo = (~) (Ptr GLib.HashTableIter.HashTableIter)+    type AttrBaseTypeConstraint MutableTreeIterIterFieldInfo = (~) MutableTreeIter+    type AttrGetType MutableTreeIterIterFieldInfo = GLib.HashTableIter.HashTableIter+    type AttrLabel MutableTreeIterIterFieldInfo = "iter"+    type AttrOrigin MutableTreeIterIterFieldInfo = MutableTreeIter+    attrGet _ = getMutableTreeIterIter+    attrSet _ = undefined+    attrConstruct = undefined+    attrClear _ = undefined++mutableTreeIter_iter :: AttrLabelProxy "iter"+mutableTreeIter_iter = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList MutableTreeIter+type instance O.AttributeList MutableTreeIter = MutableTreeIterAttributeList+type MutableTreeIterAttributeList = ('[ '("inFiles", MutableTreeIterInFilesFieldInfo), '("iter", MutableTreeIterIterFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveMutableTreeIterMethod (t :: Symbol) (o :: *) :: * where+    ResolveMutableTreeIterMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveMutableTreeIterMethod t MutableTreeIter, O.MethodInfo info MutableTreeIter p) => OL.IsLabel t (MutableTreeIter -> 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/OSTree/Structs/MutableTreeIter.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.MutableTreeIter 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 MutableTreeIter = MutableTreeIter (ManagedPtr MutableTreeIter)+instance WrappedPtr MutableTreeIter where
+ GI/OSTree/Structs/Remote.hs view
@@ -0,0 +1,273 @@+++{- |+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 represents the configuration for a single remote repository. Currently,+remotes can only be passed around as (reference counted) opaque handles. In+future, more API may be added to create and interrogate them.++/Since: 2018.6/+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.OSTree.Structs.Remote+    ( ++-- * Exported types+    Remote(..)                              ,+    noRemote                                ,+++ -- * Methods+-- ** getName #method:getName#++#if ENABLE_OVERLOADING+    RemoteGetNameMethodInfo                 ,+#endif+    remoteGetName                           ,+++-- ** getUrl #method:getUrl#++#if ENABLE_OVERLOADING+    RemoteGetUrlMethodInfo                  ,+#endif+    remoteGetUrl                            ,+++-- ** ref #method:ref#++#if ENABLE_OVERLOADING+    RemoteRefMethodInfo                     ,+#endif+    remoteRef                               ,+++-- ** unref #method:unref#++#if ENABLE_OVERLOADING+    RemoteUnrefMethodInfo                   ,+#endif+    remoteUnref                             ,+++++    ) 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 Remote = Remote (ManagedPtr Remote)+foreign import ccall "ostree_remote_get_type" c_ostree_remote_get_type :: +    IO GType++instance BoxedObject Remote where+    boxedType _ = c_ostree_remote_get_type++-- | A convenience alias for `Nothing` :: `Maybe` `Remote`.+noRemote :: Maybe Remote+noRemote = Nothing+++#if ENABLE_OVERLOADING+instance O.HasAttributeList Remote+type instance O.AttributeList Remote = RemoteAttributeList+type RemoteAttributeList = ('[ ] :: [(Symbol, *)])+#endif++-- method Remote::get_name+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "remote", argType = TInterface (Name {namespace = "OSTree", name = "Remote"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRemote", 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 "ostree_remote_get_name" ostree_remote_get_name :: +    Ptr Remote ->                           -- remote : TInterface (Name {namespace = "OSTree", name = "Remote"})+    IO CString++{- |+Get the human-readable name of the remote. This is what the user configured,+if the remote was explicitly configured; and will otherwise be a stable,+arbitrary, string.++/Since: 2018.6/+-}+remoteGetName ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Remote+    {- ^ /@remote@/: an 'GI.OSTree.Structs.Remote.Remote' -}+    -> m T.Text+    {- ^ __Returns:__ remote’s name -}+remoteGetName remote = liftIO $ do+    remote' <- unsafeManagedPtrGetPtr remote+    result <- ostree_remote_get_name remote'+    checkUnexpectedReturnNULL "remoteGetName" result+    result' <- cstringToText result+    touchManagedPtr remote+    return result'++#if ENABLE_OVERLOADING+data RemoteGetNameMethodInfo+instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo RemoteGetNameMethodInfo Remote signature where+    overloadedMethod _ = remoteGetName++#endif++-- method Remote::get_url+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "remote", argType = TInterface (Name {namespace = "OSTree", name = "Remote"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRemote", 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 "ostree_remote_get_url" ostree_remote_get_url :: +    Ptr Remote ->                           -- remote : TInterface (Name {namespace = "OSTree", name = "Remote"})+    IO CString++{- |+Get the URL from the remote.++/Since: 2018.6/+-}+remoteGetUrl ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Remote+    {- ^ /@remote@/: an 'GI.OSTree.Structs.Remote.Remote' -}+    -> m T.Text+    {- ^ __Returns:__ the remote\'s URL -}+remoteGetUrl remote = liftIO $ do+    remote' <- unsafeManagedPtrGetPtr remote+    result <- ostree_remote_get_url remote'+    checkUnexpectedReturnNULL "remoteGetUrl" result+    result' <- cstringToText result+    freeMem result+    touchManagedPtr remote+    return result'++#if ENABLE_OVERLOADING+data RemoteGetUrlMethodInfo+instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo RemoteGetUrlMethodInfo Remote signature where+    overloadedMethod _ = remoteGetUrl++#endif++-- method Remote::ref+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "remote", argType = TInterface (Name {namespace = "OSTree", name = "Remote"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRemote", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "Remote"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_remote_ref" ostree_remote_ref :: +    Ptr Remote ->                           -- remote : TInterface (Name {namespace = "OSTree", name = "Remote"})+    IO (Ptr Remote)++{- |+Increase the reference count on the given /@remote@/.++/Since: 2018.6/+-}+remoteRef ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Remote+    {- ^ /@remote@/: an 'GI.OSTree.Structs.Remote.Remote' -}+    -> m Remote+    {- ^ __Returns:__ a copy of /@remote@/, for convenience -}+remoteRef remote = liftIO $ do+    remote' <- unsafeManagedPtrGetPtr remote+    result <- ostree_remote_ref remote'+    checkUnexpectedReturnNULL "remoteRef" result+    result' <- (wrapBoxed Remote) result+    touchManagedPtr remote+    return result'++#if ENABLE_OVERLOADING+data RemoteRefMethodInfo+instance (signature ~ (m Remote), MonadIO m) => O.MethodInfo RemoteRefMethodInfo Remote signature where+    overloadedMethod _ = remoteRef++#endif++-- method Remote::unref+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "remote", argType = TInterface (Name {namespace = "OSTree", name = "Remote"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRemote", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_remote_unref" ostree_remote_unref :: +    Ptr Remote ->                           -- remote : TInterface (Name {namespace = "OSTree", name = "Remote"})+    IO ()++{- |+Decrease the reference count on the given /@remote@/ and free it if the+reference count reaches 0.++/Since: 2018.6/+-}+remoteUnref ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Remote+    {- ^ /@remote@/: an 'GI.OSTree.Structs.Remote.Remote' -}+    -> m ()+remoteUnref remote = liftIO $ do+    remote' <- B.ManagedPtr.disownBoxed remote+    ostree_remote_unref remote'+    touchManagedPtr remote+    return ()++#if ENABLE_OVERLOADING+data RemoteUnrefMethodInfo+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo RemoteUnrefMethodInfo Remote signature where+    overloadedMethod _ = remoteUnref++#endif++#if ENABLE_OVERLOADING+type family ResolveRemoteMethod (t :: Symbol) (o :: *) :: * where+    ResolveRemoteMethod "ref" o = RemoteRefMethodInfo+    ResolveRemoteMethod "unref" o = RemoteUnrefMethodInfo+    ResolveRemoteMethod "getName" o = RemoteGetNameMethodInfo+    ResolveRemoteMethod "getUrl" o = RemoteGetUrlMethodInfo+    ResolveRemoteMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRemoteMethod t Remote, O.MethodInfo info Remote p) => OL.IsLabel t (Remote -> 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/OSTree/Structs/Remote.hs-boot view
@@ -0,0 +1,38 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.Remote 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 Remote = Remote (ManagedPtr Remote)+instance BoxedObject Remote where+#if ENABLE_OVERLOADING+data RemoteGetNameMethodInfo+#endif+#if ENABLE_OVERLOADING+data RemoteGetUrlMethodInfo+#endif+#if ENABLE_OVERLOADING+data RemoteRefMethodInfo+#endif+#if ENABLE_OVERLOADING+data RemoteUnrefMethodInfo+#endif
+ GI/OSTree/Structs/RepoCheckoutAtOptions.hs view
@@ -0,0 +1,1096 @@+++{- |+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 extensible options structure controlling checkout.  Ensure that+you have entirely zeroed the structure, then set just the desired+options.  This is used by 'GI.OSTree.Objects.Repo.repoCheckoutAt' which+supercedes previous separate enumeration usage in+'GI.OSTree.Objects.Repo.repoCheckoutTree' and @/ostree_repo_checkout_tree_at()/@.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.OSTree.Structs.RepoCheckoutAtOptions+    ( ++-- * Exported types+    RepoCheckoutAtOptions(..)               ,+    newZeroRepoCheckoutAtOptions            ,+    noRepoCheckoutAtOptions                 ,+++ -- * Methods+-- ** setDevino #method:setDevino#++#if ENABLE_OVERLOADING+    RepoCheckoutAtOptionsSetDevinoMethodInfo,+#endif+    repoCheckoutAtOptionsSetDevino          ,+++++ -- * Properties+-- ** bareuseronlyDirs #attr:bareuseronlyDirs#+{- | /No description available in the introspection data./+-}+    getRepoCheckoutAtOptionsBareuseronlyDirs,+#if ENABLE_OVERLOADING+    repoCheckoutAtOptions_bareuseronlyDirs  ,+#endif+    setRepoCheckoutAtOptionsBareuseronlyDirs,+++-- ** devinoToCsumCache #attr:devinoToCsumCache#+{- | /No description available in the introspection data./+-}+    clearRepoCheckoutAtOptionsDevinoToCsumCache,+    getRepoCheckoutAtOptionsDevinoToCsumCache,+#if ENABLE_OVERLOADING+    repoCheckoutAtOptions_devinoToCsumCache ,+#endif+    setRepoCheckoutAtOptionsDevinoToCsumCache,+++-- ** enableFsync #attr:enableFsync#+{- | /No description available in the introspection data./+-}+    getRepoCheckoutAtOptionsEnableFsync     ,+#if ENABLE_OVERLOADING+    repoCheckoutAtOptions_enableFsync       ,+#endif+    setRepoCheckoutAtOptionsEnableFsync     ,+++-- ** enableUncompressedCache #attr:enableUncompressedCache#+{- | /No description available in the introspection data./+-}+    getRepoCheckoutAtOptionsEnableUncompressedCache,+#if ENABLE_OVERLOADING+    repoCheckoutAtOptions_enableUncompressedCache,+#endif+    setRepoCheckoutAtOptionsEnableUncompressedCache,+++-- ** filter #attr:filter#+{- | /No description available in the introspection data./+-}+    clearRepoCheckoutAtOptionsFilter        ,+    getRepoCheckoutAtOptionsFilter          ,+#if ENABLE_OVERLOADING+    repoCheckoutAtOptions_filter            ,+#endif+    setRepoCheckoutAtOptionsFilter          ,+++-- ** filterUserData #attr:filterUserData#+{- | /No description available in the introspection data./+-}+    clearRepoCheckoutAtOptionsFilterUserData,+    getRepoCheckoutAtOptionsFilterUserData  ,+#if ENABLE_OVERLOADING+    repoCheckoutAtOptions_filterUserData    ,+#endif+    setRepoCheckoutAtOptionsFilterUserData  ,+++-- ** forceCopy #attr:forceCopy#+{- | /No description available in the introspection data./+-}+    getRepoCheckoutAtOptionsForceCopy       ,+#if ENABLE_OVERLOADING+    repoCheckoutAtOptions_forceCopy         ,+#endif+    setRepoCheckoutAtOptionsForceCopy       ,+++-- ** forceCopyZerosized #attr:forceCopyZerosized#+{- | /No description available in the introspection data./+-}+    getRepoCheckoutAtOptionsForceCopyZerosized,+#if ENABLE_OVERLOADING+    repoCheckoutAtOptions_forceCopyZerosized,+#endif+    setRepoCheckoutAtOptionsForceCopyZerosized,+++-- ** mode #attr:mode#+{- | /No description available in the introspection data./+-}+    getRepoCheckoutAtOptionsMode            ,+#if ENABLE_OVERLOADING+    repoCheckoutAtOptions_mode              ,+#endif+    setRepoCheckoutAtOptionsMode            ,+++-- ** noCopyFallback #attr:noCopyFallback#+{- | /No description available in the introspection data./+-}+    getRepoCheckoutAtOptionsNoCopyFallback  ,+#if ENABLE_OVERLOADING+    repoCheckoutAtOptions_noCopyFallback    ,+#endif+    setRepoCheckoutAtOptionsNoCopyFallback  ,+++-- ** overwriteMode #attr:overwriteMode#+{- | /No description available in the introspection data./+-}+    getRepoCheckoutAtOptionsOverwriteMode   ,+#if ENABLE_OVERLOADING+    repoCheckoutAtOptions_overwriteMode     ,+#endif+    setRepoCheckoutAtOptionsOverwriteMode   ,+++-- ** processWhiteouts #attr:processWhiteouts#+{- | /No description available in the introspection data./+-}+    getRepoCheckoutAtOptionsProcessWhiteouts,+#if ENABLE_OVERLOADING+    repoCheckoutAtOptions_processWhiteouts  ,+#endif+    setRepoCheckoutAtOptionsProcessWhiteouts,+++-- ** sepolicy #attr:sepolicy#+{- | /No description available in the introspection data./+-}+    clearRepoCheckoutAtOptionsSepolicy      ,+    getRepoCheckoutAtOptionsSepolicy        ,+#if ENABLE_OVERLOADING+    repoCheckoutAtOptions_sepolicy          ,+#endif+    setRepoCheckoutAtOptionsSepolicy        ,+++-- ** sepolicyPrefix #attr:sepolicyPrefix#+{- | /No description available in the introspection data./+-}+    clearRepoCheckoutAtOptionsSepolicyPrefix,+    getRepoCheckoutAtOptionsSepolicyPrefix  ,+#if ENABLE_OVERLOADING+    repoCheckoutAtOptions_sepolicyPrefix    ,+#endif+    setRepoCheckoutAtOptionsSepolicyPrefix  ,+++-- ** subpath #attr:subpath#+{- | /No description available in the introspection data./+-}+    clearRepoCheckoutAtOptionsSubpath       ,+    getRepoCheckoutAtOptionsSubpath         ,+#if ENABLE_OVERLOADING+    repoCheckoutAtOptions_subpath           ,+#endif+    setRepoCheckoutAtOptionsSubpath         ,+++++    ) 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.OSTree.Callbacks as OSTree.Callbacks+import {-# SOURCE #-} qualified GI.OSTree.Enums as OSTree.Enums+import {-# SOURCE #-} qualified GI.OSTree.Objects.SePolicy as OSTree.SePolicy+import {-# SOURCE #-} qualified GI.OSTree.Structs.RepoDevInoCache as OSTree.RepoDevInoCache++-- | Memory-managed wrapper type.+newtype RepoCheckoutAtOptions = RepoCheckoutAtOptions (ManagedPtr RepoCheckoutAtOptions)+instance WrappedPtr RepoCheckoutAtOptions where+    wrappedPtrCalloc = callocBytes 152+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 152 >=> wrapPtr RepoCheckoutAtOptions)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `RepoCheckoutAtOptions` struct initialized to zero.+newZeroRepoCheckoutAtOptions :: MonadIO m => m RepoCheckoutAtOptions+newZeroRepoCheckoutAtOptions = liftIO $ wrappedPtrCalloc >>= wrapPtr RepoCheckoutAtOptions++instance tag ~ 'AttrSet => Constructible RepoCheckoutAtOptions tag where+    new _ attrs = do+        o <- newZeroRepoCheckoutAtOptions+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `RepoCheckoutAtOptions`.+noRepoCheckoutAtOptions :: Maybe RepoCheckoutAtOptions+noRepoCheckoutAtOptions = Nothing++{- |+Get the value of the “@mode@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoCheckoutAtOptions #mode+@+-}+getRepoCheckoutAtOptionsMode :: MonadIO m => RepoCheckoutAtOptions -> m OSTree.Enums.RepoCheckoutMode+getRepoCheckoutAtOptionsMode 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 “@mode@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoCheckoutAtOptions [ #mode 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoCheckoutAtOptionsMode :: MonadIO m => RepoCheckoutAtOptions -> OSTree.Enums.RepoCheckoutMode -> m ()+setRepoCheckoutAtOptionsMode s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CUInt)++#if ENABLE_OVERLOADING+data RepoCheckoutAtOptionsModeFieldInfo+instance AttrInfo RepoCheckoutAtOptionsModeFieldInfo where+    type AttrAllowedOps RepoCheckoutAtOptionsModeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RepoCheckoutAtOptionsModeFieldInfo = (~) OSTree.Enums.RepoCheckoutMode+    type AttrBaseTypeConstraint RepoCheckoutAtOptionsModeFieldInfo = (~) RepoCheckoutAtOptions+    type AttrGetType RepoCheckoutAtOptionsModeFieldInfo = OSTree.Enums.RepoCheckoutMode+    type AttrLabel RepoCheckoutAtOptionsModeFieldInfo = "mode"+    type AttrOrigin RepoCheckoutAtOptionsModeFieldInfo = RepoCheckoutAtOptions+    attrGet _ = getRepoCheckoutAtOptionsMode+    attrSet _ = setRepoCheckoutAtOptionsMode+    attrConstruct = undefined+    attrClear _ = undefined++repoCheckoutAtOptions_mode :: AttrLabelProxy "mode"+repoCheckoutAtOptions_mode = AttrLabelProxy++#endif+++{- |+Get the value of the “@overwrite_mode@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoCheckoutAtOptions #overwriteMode+@+-}+getRepoCheckoutAtOptionsOverwriteMode :: MonadIO m => RepoCheckoutAtOptions -> m OSTree.Enums.RepoCheckoutOverwriteMode+getRepoCheckoutAtOptionsOverwriteMode s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 4) :: IO CUInt+    let val' = (toEnum . fromIntegral) val+    return val'++{- |+Set the value of the “@overwrite_mode@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoCheckoutAtOptions [ #overwriteMode 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoCheckoutAtOptionsOverwriteMode :: MonadIO m => RepoCheckoutAtOptions -> OSTree.Enums.RepoCheckoutOverwriteMode -> m ()+setRepoCheckoutAtOptionsOverwriteMode s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 4) (val' :: CUInt)++#if ENABLE_OVERLOADING+data RepoCheckoutAtOptionsOverwriteModeFieldInfo+instance AttrInfo RepoCheckoutAtOptionsOverwriteModeFieldInfo where+    type AttrAllowedOps RepoCheckoutAtOptionsOverwriteModeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RepoCheckoutAtOptionsOverwriteModeFieldInfo = (~) OSTree.Enums.RepoCheckoutOverwriteMode+    type AttrBaseTypeConstraint RepoCheckoutAtOptionsOverwriteModeFieldInfo = (~) RepoCheckoutAtOptions+    type AttrGetType RepoCheckoutAtOptionsOverwriteModeFieldInfo = OSTree.Enums.RepoCheckoutOverwriteMode+    type AttrLabel RepoCheckoutAtOptionsOverwriteModeFieldInfo = "overwrite_mode"+    type AttrOrigin RepoCheckoutAtOptionsOverwriteModeFieldInfo = RepoCheckoutAtOptions+    attrGet _ = getRepoCheckoutAtOptionsOverwriteMode+    attrSet _ = setRepoCheckoutAtOptionsOverwriteMode+    attrConstruct = undefined+    attrClear _ = undefined++repoCheckoutAtOptions_overwriteMode :: AttrLabelProxy "overwriteMode"+repoCheckoutAtOptions_overwriteMode = AttrLabelProxy++#endif+++{- |+Get the value of the “@enable_uncompressed_cache@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoCheckoutAtOptions #enableUncompressedCache+@+-}+getRepoCheckoutAtOptionsEnableUncompressedCache :: MonadIO m => RepoCheckoutAtOptions -> m Bool+getRepoCheckoutAtOptionsEnableUncompressedCache s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO CInt+    let val' = (/= 0) val+    return val'++{- |+Set the value of the “@enable_uncompressed_cache@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoCheckoutAtOptions [ #enableUncompressedCache 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoCheckoutAtOptionsEnableUncompressedCache :: MonadIO m => RepoCheckoutAtOptions -> Bool -> m ()+setRepoCheckoutAtOptionsEnableUncompressedCache s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 8) (val' :: CInt)++#if ENABLE_OVERLOADING+data RepoCheckoutAtOptionsEnableUncompressedCacheFieldInfo+instance AttrInfo RepoCheckoutAtOptionsEnableUncompressedCacheFieldInfo where+    type AttrAllowedOps RepoCheckoutAtOptionsEnableUncompressedCacheFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RepoCheckoutAtOptionsEnableUncompressedCacheFieldInfo = (~) Bool+    type AttrBaseTypeConstraint RepoCheckoutAtOptionsEnableUncompressedCacheFieldInfo = (~) RepoCheckoutAtOptions+    type AttrGetType RepoCheckoutAtOptionsEnableUncompressedCacheFieldInfo = Bool+    type AttrLabel RepoCheckoutAtOptionsEnableUncompressedCacheFieldInfo = "enable_uncompressed_cache"+    type AttrOrigin RepoCheckoutAtOptionsEnableUncompressedCacheFieldInfo = RepoCheckoutAtOptions+    attrGet _ = getRepoCheckoutAtOptionsEnableUncompressedCache+    attrSet _ = setRepoCheckoutAtOptionsEnableUncompressedCache+    attrConstruct = undefined+    attrClear _ = undefined++repoCheckoutAtOptions_enableUncompressedCache :: AttrLabelProxy "enableUncompressedCache"+repoCheckoutAtOptions_enableUncompressedCache = AttrLabelProxy++#endif+++{- |+Get the value of the “@enable_fsync@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoCheckoutAtOptions #enableFsync+@+-}+getRepoCheckoutAtOptionsEnableFsync :: MonadIO m => RepoCheckoutAtOptions -> m Bool+getRepoCheckoutAtOptionsEnableFsync s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 12) :: IO CInt+    let val' = (/= 0) val+    return val'++{- |+Set the value of the “@enable_fsync@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoCheckoutAtOptions [ #enableFsync 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoCheckoutAtOptionsEnableFsync :: MonadIO m => RepoCheckoutAtOptions -> Bool -> m ()+setRepoCheckoutAtOptionsEnableFsync s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 12) (val' :: CInt)++#if ENABLE_OVERLOADING+data RepoCheckoutAtOptionsEnableFsyncFieldInfo+instance AttrInfo RepoCheckoutAtOptionsEnableFsyncFieldInfo where+    type AttrAllowedOps RepoCheckoutAtOptionsEnableFsyncFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RepoCheckoutAtOptionsEnableFsyncFieldInfo = (~) Bool+    type AttrBaseTypeConstraint RepoCheckoutAtOptionsEnableFsyncFieldInfo = (~) RepoCheckoutAtOptions+    type AttrGetType RepoCheckoutAtOptionsEnableFsyncFieldInfo = Bool+    type AttrLabel RepoCheckoutAtOptionsEnableFsyncFieldInfo = "enable_fsync"+    type AttrOrigin RepoCheckoutAtOptionsEnableFsyncFieldInfo = RepoCheckoutAtOptions+    attrGet _ = getRepoCheckoutAtOptionsEnableFsync+    attrSet _ = setRepoCheckoutAtOptionsEnableFsync+    attrConstruct = undefined+    attrClear _ = undefined++repoCheckoutAtOptions_enableFsync :: AttrLabelProxy "enableFsync"+repoCheckoutAtOptions_enableFsync = AttrLabelProxy++#endif+++{- |+Get the value of the “@process_whiteouts@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoCheckoutAtOptions #processWhiteouts+@+-}+getRepoCheckoutAtOptionsProcessWhiteouts :: MonadIO m => RepoCheckoutAtOptions -> m Bool+getRepoCheckoutAtOptionsProcessWhiteouts s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO CInt+    let val' = (/= 0) val+    return val'++{- |+Set the value of the “@process_whiteouts@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoCheckoutAtOptions [ #processWhiteouts 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoCheckoutAtOptionsProcessWhiteouts :: MonadIO m => RepoCheckoutAtOptions -> Bool -> m ()+setRepoCheckoutAtOptionsProcessWhiteouts s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 16) (val' :: CInt)++#if ENABLE_OVERLOADING+data RepoCheckoutAtOptionsProcessWhiteoutsFieldInfo+instance AttrInfo RepoCheckoutAtOptionsProcessWhiteoutsFieldInfo where+    type AttrAllowedOps RepoCheckoutAtOptionsProcessWhiteoutsFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RepoCheckoutAtOptionsProcessWhiteoutsFieldInfo = (~) Bool+    type AttrBaseTypeConstraint RepoCheckoutAtOptionsProcessWhiteoutsFieldInfo = (~) RepoCheckoutAtOptions+    type AttrGetType RepoCheckoutAtOptionsProcessWhiteoutsFieldInfo = Bool+    type AttrLabel RepoCheckoutAtOptionsProcessWhiteoutsFieldInfo = "process_whiteouts"+    type AttrOrigin RepoCheckoutAtOptionsProcessWhiteoutsFieldInfo = RepoCheckoutAtOptions+    attrGet _ = getRepoCheckoutAtOptionsProcessWhiteouts+    attrSet _ = setRepoCheckoutAtOptionsProcessWhiteouts+    attrConstruct = undefined+    attrClear _ = undefined++repoCheckoutAtOptions_processWhiteouts :: AttrLabelProxy "processWhiteouts"+repoCheckoutAtOptions_processWhiteouts = AttrLabelProxy++#endif+++{- |+Get the value of the “@no_copy_fallback@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoCheckoutAtOptions #noCopyFallback+@+-}+getRepoCheckoutAtOptionsNoCopyFallback :: MonadIO m => RepoCheckoutAtOptions -> m Bool+getRepoCheckoutAtOptionsNoCopyFallback s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO CInt+    let val' = (/= 0) val+    return val'++{- |+Set the value of the “@no_copy_fallback@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoCheckoutAtOptions [ #noCopyFallback 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoCheckoutAtOptionsNoCopyFallback :: MonadIO m => RepoCheckoutAtOptions -> Bool -> m ()+setRepoCheckoutAtOptionsNoCopyFallback s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 20) (val' :: CInt)++#if ENABLE_OVERLOADING+data RepoCheckoutAtOptionsNoCopyFallbackFieldInfo+instance AttrInfo RepoCheckoutAtOptionsNoCopyFallbackFieldInfo where+    type AttrAllowedOps RepoCheckoutAtOptionsNoCopyFallbackFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RepoCheckoutAtOptionsNoCopyFallbackFieldInfo = (~) Bool+    type AttrBaseTypeConstraint RepoCheckoutAtOptionsNoCopyFallbackFieldInfo = (~) RepoCheckoutAtOptions+    type AttrGetType RepoCheckoutAtOptionsNoCopyFallbackFieldInfo = Bool+    type AttrLabel RepoCheckoutAtOptionsNoCopyFallbackFieldInfo = "no_copy_fallback"+    type AttrOrigin RepoCheckoutAtOptionsNoCopyFallbackFieldInfo = RepoCheckoutAtOptions+    attrGet _ = getRepoCheckoutAtOptionsNoCopyFallback+    attrSet _ = setRepoCheckoutAtOptionsNoCopyFallback+    attrConstruct = undefined+    attrClear _ = undefined++repoCheckoutAtOptions_noCopyFallback :: AttrLabelProxy "noCopyFallback"+repoCheckoutAtOptions_noCopyFallback = AttrLabelProxy++#endif+++{- |+Get the value of the “@force_copy@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoCheckoutAtOptions #forceCopy+@+-}+getRepoCheckoutAtOptionsForceCopy :: MonadIO m => RepoCheckoutAtOptions -> m Bool+getRepoCheckoutAtOptionsForceCopy s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO CInt+    let val' = (/= 0) val+    return val'++{- |+Set the value of the “@force_copy@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoCheckoutAtOptions [ #forceCopy 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoCheckoutAtOptionsForceCopy :: MonadIO m => RepoCheckoutAtOptions -> Bool -> m ()+setRepoCheckoutAtOptionsForceCopy s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 24) (val' :: CInt)++#if ENABLE_OVERLOADING+data RepoCheckoutAtOptionsForceCopyFieldInfo+instance AttrInfo RepoCheckoutAtOptionsForceCopyFieldInfo where+    type AttrAllowedOps RepoCheckoutAtOptionsForceCopyFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RepoCheckoutAtOptionsForceCopyFieldInfo = (~) Bool+    type AttrBaseTypeConstraint RepoCheckoutAtOptionsForceCopyFieldInfo = (~) RepoCheckoutAtOptions+    type AttrGetType RepoCheckoutAtOptionsForceCopyFieldInfo = Bool+    type AttrLabel RepoCheckoutAtOptionsForceCopyFieldInfo = "force_copy"+    type AttrOrigin RepoCheckoutAtOptionsForceCopyFieldInfo = RepoCheckoutAtOptions+    attrGet _ = getRepoCheckoutAtOptionsForceCopy+    attrSet _ = setRepoCheckoutAtOptionsForceCopy+    attrConstruct = undefined+    attrClear _ = undefined++repoCheckoutAtOptions_forceCopy :: AttrLabelProxy "forceCopy"+repoCheckoutAtOptions_forceCopy = AttrLabelProxy++#endif+++{- |+Get the value of the “@bareuseronly_dirs@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoCheckoutAtOptions #bareuseronlyDirs+@+-}+getRepoCheckoutAtOptionsBareuseronlyDirs :: MonadIO m => RepoCheckoutAtOptions -> m Bool+getRepoCheckoutAtOptionsBareuseronlyDirs s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 28) :: IO CInt+    let val' = (/= 0) val+    return val'++{- |+Set the value of the “@bareuseronly_dirs@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoCheckoutAtOptions [ #bareuseronlyDirs 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoCheckoutAtOptionsBareuseronlyDirs :: MonadIO m => RepoCheckoutAtOptions -> Bool -> m ()+setRepoCheckoutAtOptionsBareuseronlyDirs s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 28) (val' :: CInt)++#if ENABLE_OVERLOADING+data RepoCheckoutAtOptionsBareuseronlyDirsFieldInfo+instance AttrInfo RepoCheckoutAtOptionsBareuseronlyDirsFieldInfo where+    type AttrAllowedOps RepoCheckoutAtOptionsBareuseronlyDirsFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RepoCheckoutAtOptionsBareuseronlyDirsFieldInfo = (~) Bool+    type AttrBaseTypeConstraint RepoCheckoutAtOptionsBareuseronlyDirsFieldInfo = (~) RepoCheckoutAtOptions+    type AttrGetType RepoCheckoutAtOptionsBareuseronlyDirsFieldInfo = Bool+    type AttrLabel RepoCheckoutAtOptionsBareuseronlyDirsFieldInfo = "bareuseronly_dirs"+    type AttrOrigin RepoCheckoutAtOptionsBareuseronlyDirsFieldInfo = RepoCheckoutAtOptions+    attrGet _ = getRepoCheckoutAtOptionsBareuseronlyDirs+    attrSet _ = setRepoCheckoutAtOptionsBareuseronlyDirs+    attrConstruct = undefined+    attrClear _ = undefined++repoCheckoutAtOptions_bareuseronlyDirs :: AttrLabelProxy "bareuseronlyDirs"+repoCheckoutAtOptions_bareuseronlyDirs = AttrLabelProxy++#endif+++{- |+Get the value of the “@force_copy_zerosized@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoCheckoutAtOptions #forceCopyZerosized+@+-}+getRepoCheckoutAtOptionsForceCopyZerosized :: MonadIO m => RepoCheckoutAtOptions -> m Bool+getRepoCheckoutAtOptionsForceCopyZerosized s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO CInt+    let val' = (/= 0) val+    return val'++{- |+Set the value of the “@force_copy_zerosized@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoCheckoutAtOptions [ #forceCopyZerosized 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoCheckoutAtOptionsForceCopyZerosized :: MonadIO m => RepoCheckoutAtOptions -> Bool -> m ()+setRepoCheckoutAtOptionsForceCopyZerosized s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 32) (val' :: CInt)++#if ENABLE_OVERLOADING+data RepoCheckoutAtOptionsForceCopyZerosizedFieldInfo+instance AttrInfo RepoCheckoutAtOptionsForceCopyZerosizedFieldInfo where+    type AttrAllowedOps RepoCheckoutAtOptionsForceCopyZerosizedFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RepoCheckoutAtOptionsForceCopyZerosizedFieldInfo = (~) Bool+    type AttrBaseTypeConstraint RepoCheckoutAtOptionsForceCopyZerosizedFieldInfo = (~) RepoCheckoutAtOptions+    type AttrGetType RepoCheckoutAtOptionsForceCopyZerosizedFieldInfo = Bool+    type AttrLabel RepoCheckoutAtOptionsForceCopyZerosizedFieldInfo = "force_copy_zerosized"+    type AttrOrigin RepoCheckoutAtOptionsForceCopyZerosizedFieldInfo = RepoCheckoutAtOptions+    attrGet _ = getRepoCheckoutAtOptionsForceCopyZerosized+    attrSet _ = setRepoCheckoutAtOptionsForceCopyZerosized+    attrConstruct = undefined+    attrClear _ = undefined++repoCheckoutAtOptions_forceCopyZerosized :: AttrLabelProxy "forceCopyZerosized"+repoCheckoutAtOptions_forceCopyZerosized = AttrLabelProxy++#endif+++-- XXX Skipped attribute for "RepoCheckoutAtOptions:unused_bools" :: Not implemented: "Don't know how to unpack C array of type TCArray False 4 (-1) (TBasicType TBoolean)"+{- |+Get the value of the “@subpath@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoCheckoutAtOptions #subpath+@+-}+getRepoCheckoutAtOptionsSubpath :: MonadIO m => RepoCheckoutAtOptions -> m (Maybe T.Text)+getRepoCheckoutAtOptionsSubpath s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 56) :: IO CString+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- cstringToText val'+        return val''+    return result++{- |+Set the value of the “@subpath@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoCheckoutAtOptions [ #subpath 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoCheckoutAtOptionsSubpath :: MonadIO m => RepoCheckoutAtOptions -> CString -> m ()+setRepoCheckoutAtOptionsSubpath s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 56) (val :: CString)++{- |+Set the value of the “@subpath@” 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' #subpath+@+-}+clearRepoCheckoutAtOptionsSubpath :: MonadIO m => RepoCheckoutAtOptions -> m ()+clearRepoCheckoutAtOptionsSubpath s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 56) (FP.nullPtr :: CString)++#if ENABLE_OVERLOADING+data RepoCheckoutAtOptionsSubpathFieldInfo+instance AttrInfo RepoCheckoutAtOptionsSubpathFieldInfo where+    type AttrAllowedOps RepoCheckoutAtOptionsSubpathFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint RepoCheckoutAtOptionsSubpathFieldInfo = (~) CString+    type AttrBaseTypeConstraint RepoCheckoutAtOptionsSubpathFieldInfo = (~) RepoCheckoutAtOptions+    type AttrGetType RepoCheckoutAtOptionsSubpathFieldInfo = Maybe T.Text+    type AttrLabel RepoCheckoutAtOptionsSubpathFieldInfo = "subpath"+    type AttrOrigin RepoCheckoutAtOptionsSubpathFieldInfo = RepoCheckoutAtOptions+    attrGet _ = getRepoCheckoutAtOptionsSubpath+    attrSet _ = setRepoCheckoutAtOptionsSubpath+    attrConstruct = undefined+    attrClear _ = clearRepoCheckoutAtOptionsSubpath++repoCheckoutAtOptions_subpath :: AttrLabelProxy "subpath"+repoCheckoutAtOptions_subpath = AttrLabelProxy++#endif+++{- |+Get the value of the “@devino_to_csum_cache@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoCheckoutAtOptions #devinoToCsumCache+@+-}+getRepoCheckoutAtOptionsDevinoToCsumCache :: MonadIO m => RepoCheckoutAtOptions -> m (Maybe OSTree.RepoDevInoCache.RepoDevInoCache)+getRepoCheckoutAtOptionsDevinoToCsumCache s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 64) :: IO (Ptr OSTree.RepoDevInoCache.RepoDevInoCache)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newBoxed OSTree.RepoDevInoCache.RepoDevInoCache) val'+        return val''+    return result++{- |+Set the value of the “@devino_to_csum_cache@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoCheckoutAtOptions [ #devinoToCsumCache 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoCheckoutAtOptionsDevinoToCsumCache :: MonadIO m => RepoCheckoutAtOptions -> Ptr OSTree.RepoDevInoCache.RepoDevInoCache -> m ()+setRepoCheckoutAtOptionsDevinoToCsumCache s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 64) (val :: Ptr OSTree.RepoDevInoCache.RepoDevInoCache)++{- |+Set the value of the “@devino_to_csum_cache@” 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' #devinoToCsumCache+@+-}+clearRepoCheckoutAtOptionsDevinoToCsumCache :: MonadIO m => RepoCheckoutAtOptions -> m ()+clearRepoCheckoutAtOptionsDevinoToCsumCache s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 64) (FP.nullPtr :: Ptr OSTree.RepoDevInoCache.RepoDevInoCache)++#if ENABLE_OVERLOADING+data RepoCheckoutAtOptionsDevinoToCsumCacheFieldInfo+instance AttrInfo RepoCheckoutAtOptionsDevinoToCsumCacheFieldInfo where+    type AttrAllowedOps RepoCheckoutAtOptionsDevinoToCsumCacheFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint RepoCheckoutAtOptionsDevinoToCsumCacheFieldInfo = (~) (Ptr OSTree.RepoDevInoCache.RepoDevInoCache)+    type AttrBaseTypeConstraint RepoCheckoutAtOptionsDevinoToCsumCacheFieldInfo = (~) RepoCheckoutAtOptions+    type AttrGetType RepoCheckoutAtOptionsDevinoToCsumCacheFieldInfo = Maybe OSTree.RepoDevInoCache.RepoDevInoCache+    type AttrLabel RepoCheckoutAtOptionsDevinoToCsumCacheFieldInfo = "devino_to_csum_cache"+    type AttrOrigin RepoCheckoutAtOptionsDevinoToCsumCacheFieldInfo = RepoCheckoutAtOptions+    attrGet _ = getRepoCheckoutAtOptionsDevinoToCsumCache+    attrSet _ = setRepoCheckoutAtOptionsDevinoToCsumCache+    attrConstruct = undefined+    attrClear _ = clearRepoCheckoutAtOptionsDevinoToCsumCache++repoCheckoutAtOptions_devinoToCsumCache :: AttrLabelProxy "devinoToCsumCache"+repoCheckoutAtOptions_devinoToCsumCache = AttrLabelProxy++#endif+++-- XXX Skipped attribute for "RepoCheckoutAtOptions:unused_ints" :: Not implemented: "Don't know how to unpack C array of type TCArray False 6 (-1) (TBasicType TInt)"+-- XXX Skipped attribute for "RepoCheckoutAtOptions:unused_ptrs" :: Not implemented: "Don't know how to unpack C array of type TCArray False 3 (-1) (TBasicType TPtr)"+{- |+Get the value of the “@filter@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoCheckoutAtOptions #filter+@+-}+getRepoCheckoutAtOptionsFilter :: MonadIO m => RepoCheckoutAtOptions -> m (Maybe OSTree.Callbacks.RepoCheckoutFilter_WithClosures)+getRepoCheckoutAtOptionsFilter s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 120) :: IO (FunPtr OSTree.Callbacks.C_RepoCheckoutFilter)+    result <- SP.convertFunPtrIfNonNull val $ \val' -> do+        let val'' = OSTree.Callbacks.dynamic_RepoCheckoutFilter val'+        return val''+    return result++{- |+Set the value of the “@filter@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoCheckoutAtOptions [ #filter 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoCheckoutAtOptionsFilter :: MonadIO m => RepoCheckoutAtOptions -> FunPtr OSTree.Callbacks.C_RepoCheckoutFilter -> m ()+setRepoCheckoutAtOptionsFilter s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 120) (val :: FunPtr OSTree.Callbacks.C_RepoCheckoutFilter)++{- |+Set the value of the “@filter@” 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' #filter+@+-}+clearRepoCheckoutAtOptionsFilter :: MonadIO m => RepoCheckoutAtOptions -> m ()+clearRepoCheckoutAtOptionsFilter s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 120) (FP.nullFunPtr :: FunPtr OSTree.Callbacks.C_RepoCheckoutFilter)++#if ENABLE_OVERLOADING+data RepoCheckoutAtOptionsFilterFieldInfo+instance AttrInfo RepoCheckoutAtOptionsFilterFieldInfo where+    type AttrAllowedOps RepoCheckoutAtOptionsFilterFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint RepoCheckoutAtOptionsFilterFieldInfo = (~) (FunPtr OSTree.Callbacks.C_RepoCheckoutFilter)+    type AttrBaseTypeConstraint RepoCheckoutAtOptionsFilterFieldInfo = (~) RepoCheckoutAtOptions+    type AttrGetType RepoCheckoutAtOptionsFilterFieldInfo = Maybe OSTree.Callbacks.RepoCheckoutFilter_WithClosures+    type AttrLabel RepoCheckoutAtOptionsFilterFieldInfo = "filter"+    type AttrOrigin RepoCheckoutAtOptionsFilterFieldInfo = RepoCheckoutAtOptions+    attrGet _ = getRepoCheckoutAtOptionsFilter+    attrSet _ = setRepoCheckoutAtOptionsFilter+    attrConstruct = undefined+    attrClear _ = clearRepoCheckoutAtOptionsFilter++repoCheckoutAtOptions_filter :: AttrLabelProxy "filter"+repoCheckoutAtOptions_filter = AttrLabelProxy++#endif+++{- |+Get the value of the “@filter_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' repoCheckoutAtOptions #filterUserData+@+-}+getRepoCheckoutAtOptionsFilterUserData :: MonadIO m => RepoCheckoutAtOptions -> m (Ptr ())+getRepoCheckoutAtOptionsFilterUserData s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 128) :: IO (Ptr ())+    return val++{- |+Set the value of the “@filter_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' repoCheckoutAtOptions [ #filterUserData 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoCheckoutAtOptionsFilterUserData :: MonadIO m => RepoCheckoutAtOptions -> Ptr () -> m ()+setRepoCheckoutAtOptionsFilterUserData s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 128) (val :: Ptr ())++{- |+Set the value of the “@filter_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' #filterUserData+@+-}+clearRepoCheckoutAtOptionsFilterUserData :: MonadIO m => RepoCheckoutAtOptions -> m ()+clearRepoCheckoutAtOptionsFilterUserData s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 128) (FP.nullPtr :: Ptr ())++#if ENABLE_OVERLOADING+data RepoCheckoutAtOptionsFilterUserDataFieldInfo+instance AttrInfo RepoCheckoutAtOptionsFilterUserDataFieldInfo where+    type AttrAllowedOps RepoCheckoutAtOptionsFilterUserDataFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint RepoCheckoutAtOptionsFilterUserDataFieldInfo = (~) (Ptr ())+    type AttrBaseTypeConstraint RepoCheckoutAtOptionsFilterUserDataFieldInfo = (~) RepoCheckoutAtOptions+    type AttrGetType RepoCheckoutAtOptionsFilterUserDataFieldInfo = Ptr ()+    type AttrLabel RepoCheckoutAtOptionsFilterUserDataFieldInfo = "filter_user_data"+    type AttrOrigin RepoCheckoutAtOptionsFilterUserDataFieldInfo = RepoCheckoutAtOptions+    attrGet _ = getRepoCheckoutAtOptionsFilterUserData+    attrSet _ = setRepoCheckoutAtOptionsFilterUserData+    attrConstruct = undefined+    attrClear _ = clearRepoCheckoutAtOptionsFilterUserData++repoCheckoutAtOptions_filterUserData :: AttrLabelProxy "filterUserData"+repoCheckoutAtOptions_filterUserData = AttrLabelProxy++#endif+++{- |+Get the value of the “@sepolicy@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoCheckoutAtOptions #sepolicy+@+-}+getRepoCheckoutAtOptionsSepolicy :: MonadIO m => RepoCheckoutAtOptions -> m (Maybe OSTree.SePolicy.SePolicy)+getRepoCheckoutAtOptionsSepolicy s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 136) :: IO (Ptr OSTree.SePolicy.SePolicy)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject OSTree.SePolicy.SePolicy) val'+        return val''+    return result++{- |+Set the value of the “@sepolicy@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoCheckoutAtOptions [ #sepolicy 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoCheckoutAtOptionsSepolicy :: MonadIO m => RepoCheckoutAtOptions -> Ptr OSTree.SePolicy.SePolicy -> m ()+setRepoCheckoutAtOptionsSepolicy s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 136) (val :: Ptr OSTree.SePolicy.SePolicy)++{- |+Set the value of the “@sepolicy@” 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' #sepolicy+@+-}+clearRepoCheckoutAtOptionsSepolicy :: MonadIO m => RepoCheckoutAtOptions -> m ()+clearRepoCheckoutAtOptionsSepolicy s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 136) (FP.nullPtr :: Ptr OSTree.SePolicy.SePolicy)++#if ENABLE_OVERLOADING+data RepoCheckoutAtOptionsSepolicyFieldInfo+instance AttrInfo RepoCheckoutAtOptionsSepolicyFieldInfo where+    type AttrAllowedOps RepoCheckoutAtOptionsSepolicyFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint RepoCheckoutAtOptionsSepolicyFieldInfo = (~) (Ptr OSTree.SePolicy.SePolicy)+    type AttrBaseTypeConstraint RepoCheckoutAtOptionsSepolicyFieldInfo = (~) RepoCheckoutAtOptions+    type AttrGetType RepoCheckoutAtOptionsSepolicyFieldInfo = Maybe OSTree.SePolicy.SePolicy+    type AttrLabel RepoCheckoutAtOptionsSepolicyFieldInfo = "sepolicy"+    type AttrOrigin RepoCheckoutAtOptionsSepolicyFieldInfo = RepoCheckoutAtOptions+    attrGet _ = getRepoCheckoutAtOptionsSepolicy+    attrSet _ = setRepoCheckoutAtOptionsSepolicy+    attrConstruct = undefined+    attrClear _ = clearRepoCheckoutAtOptionsSepolicy++repoCheckoutAtOptions_sepolicy :: AttrLabelProxy "sepolicy"+repoCheckoutAtOptions_sepolicy = AttrLabelProxy++#endif+++{- |+Get the value of the “@sepolicy_prefix@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoCheckoutAtOptions #sepolicyPrefix+@+-}+getRepoCheckoutAtOptionsSepolicyPrefix :: MonadIO m => RepoCheckoutAtOptions -> m (Maybe T.Text)+getRepoCheckoutAtOptionsSepolicyPrefix s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 144) :: IO CString+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- cstringToText val'+        return val''+    return result++{- |+Set the value of the “@sepolicy_prefix@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoCheckoutAtOptions [ #sepolicyPrefix 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoCheckoutAtOptionsSepolicyPrefix :: MonadIO m => RepoCheckoutAtOptions -> CString -> m ()+setRepoCheckoutAtOptionsSepolicyPrefix s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 144) (val :: CString)++{- |+Set the value of the “@sepolicy_prefix@” 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' #sepolicyPrefix+@+-}+clearRepoCheckoutAtOptionsSepolicyPrefix :: MonadIO m => RepoCheckoutAtOptions -> m ()+clearRepoCheckoutAtOptionsSepolicyPrefix s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 144) (FP.nullPtr :: CString)++#if ENABLE_OVERLOADING+data RepoCheckoutAtOptionsSepolicyPrefixFieldInfo+instance AttrInfo RepoCheckoutAtOptionsSepolicyPrefixFieldInfo where+    type AttrAllowedOps RepoCheckoutAtOptionsSepolicyPrefixFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint RepoCheckoutAtOptionsSepolicyPrefixFieldInfo = (~) CString+    type AttrBaseTypeConstraint RepoCheckoutAtOptionsSepolicyPrefixFieldInfo = (~) RepoCheckoutAtOptions+    type AttrGetType RepoCheckoutAtOptionsSepolicyPrefixFieldInfo = Maybe T.Text+    type AttrLabel RepoCheckoutAtOptionsSepolicyPrefixFieldInfo = "sepolicy_prefix"+    type AttrOrigin RepoCheckoutAtOptionsSepolicyPrefixFieldInfo = RepoCheckoutAtOptions+    attrGet _ = getRepoCheckoutAtOptionsSepolicyPrefix+    attrSet _ = setRepoCheckoutAtOptionsSepolicyPrefix+    attrConstruct = undefined+    attrClear _ = clearRepoCheckoutAtOptionsSepolicyPrefix++repoCheckoutAtOptions_sepolicyPrefix :: AttrLabelProxy "sepolicyPrefix"+repoCheckoutAtOptions_sepolicyPrefix = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList RepoCheckoutAtOptions+type instance O.AttributeList RepoCheckoutAtOptions = RepoCheckoutAtOptionsAttributeList+type RepoCheckoutAtOptionsAttributeList = ('[ '("mode", RepoCheckoutAtOptionsModeFieldInfo), '("overwriteMode", RepoCheckoutAtOptionsOverwriteModeFieldInfo), '("enableUncompressedCache", RepoCheckoutAtOptionsEnableUncompressedCacheFieldInfo), '("enableFsync", RepoCheckoutAtOptionsEnableFsyncFieldInfo), '("processWhiteouts", RepoCheckoutAtOptionsProcessWhiteoutsFieldInfo), '("noCopyFallback", RepoCheckoutAtOptionsNoCopyFallbackFieldInfo), '("forceCopy", RepoCheckoutAtOptionsForceCopyFieldInfo), '("bareuseronlyDirs", RepoCheckoutAtOptionsBareuseronlyDirsFieldInfo), '("forceCopyZerosized", RepoCheckoutAtOptionsForceCopyZerosizedFieldInfo), '("subpath", RepoCheckoutAtOptionsSubpathFieldInfo), '("devinoToCsumCache", RepoCheckoutAtOptionsDevinoToCsumCacheFieldInfo), '("filter", RepoCheckoutAtOptionsFilterFieldInfo), '("filterUserData", RepoCheckoutAtOptionsFilterUserDataFieldInfo), '("sepolicy", RepoCheckoutAtOptionsSepolicyFieldInfo), '("sepolicyPrefix", RepoCheckoutAtOptionsSepolicyPrefixFieldInfo)] :: [(Symbol, *)])+#endif++-- method RepoCheckoutAtOptions::set_devino+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "opts", argType = TInterface (Name {namespace = "OSTree", name = "RepoCheckoutAtOptions"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Checkout options", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cache", argType = TInterface (Name {namespace = "OSTree", name = "RepoDevInoCache"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Devino cache", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_checkout_at_options_set_devino" ostree_repo_checkout_at_options_set_devino :: +    Ptr RepoCheckoutAtOptions ->            -- opts : TInterface (Name {namespace = "OSTree", name = "RepoCheckoutAtOptions"})+    Ptr OSTree.RepoDevInoCache.RepoDevInoCache -> -- cache : TInterface (Name {namespace = "OSTree", name = "RepoDevInoCache"})+    IO ()++{- |+This function simply assigns /@cache@/ to the @devino_to_csum_cache@ member of+/@opts@/; it\'s only useful for introspection.++Note that cache does *not* have its refcount incremented - the lifetime of+/@cache@/ must be equal to or greater than that of /@opts@/.+-}+repoCheckoutAtOptionsSetDevino ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    RepoCheckoutAtOptions+    {- ^ /@opts@/: Checkout options -}+    -> Maybe (OSTree.RepoDevInoCache.RepoDevInoCache)+    {- ^ /@cache@/: Devino cache -}+    -> m ()+repoCheckoutAtOptionsSetDevino opts cache = liftIO $ do+    opts' <- unsafeManagedPtrGetPtr opts+    maybeCache <- case cache of+        Nothing -> return nullPtr+        Just jCache -> do+            jCache' <- unsafeManagedPtrGetPtr jCache+            return jCache'+    ostree_repo_checkout_at_options_set_devino opts' maybeCache+    touchManagedPtr opts+    whenJust cache touchManagedPtr+    return ()++#if ENABLE_OVERLOADING+data RepoCheckoutAtOptionsSetDevinoMethodInfo+instance (signature ~ (Maybe (OSTree.RepoDevInoCache.RepoDevInoCache) -> m ()), MonadIO m) => O.MethodInfo RepoCheckoutAtOptionsSetDevinoMethodInfo RepoCheckoutAtOptions signature where+    overloadedMethod _ = repoCheckoutAtOptionsSetDevino++#endif++#if ENABLE_OVERLOADING+type family ResolveRepoCheckoutAtOptionsMethod (t :: Symbol) (o :: *) :: * where+    ResolveRepoCheckoutAtOptionsMethod "setDevino" o = RepoCheckoutAtOptionsSetDevinoMethodInfo+    ResolveRepoCheckoutAtOptionsMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRepoCheckoutAtOptionsMethod t RepoCheckoutAtOptions, O.MethodInfo info RepoCheckoutAtOptions p) => OL.IsLabel t (RepoCheckoutAtOptions -> 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/OSTree/Structs/RepoCheckoutAtOptions.hs-boot view
@@ -0,0 +1,29 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.RepoCheckoutAtOptions 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 RepoCheckoutAtOptions = RepoCheckoutAtOptions (ManagedPtr RepoCheckoutAtOptions)+instance WrappedPtr RepoCheckoutAtOptions where+#if ENABLE_OVERLOADING+data RepoCheckoutAtOptionsSetDevinoMethodInfo+#endif
+ GI/OSTree/Structs/RepoCommitModifier.hs view
@@ -0,0 +1,386 @@+++{- |+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 structure allowing control over commits.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.OSTree.Structs.RepoCommitModifier+    ( ++-- * Exported types+    RepoCommitModifier(..)                  ,+    noRepoCommitModifier                    ,+++ -- * Methods+-- ** new #method:new#++    repoCommitModifierNew                   ,+++-- ** ref #method:ref#++#if ENABLE_OVERLOADING+    RepoCommitModifierRefMethodInfo         ,+#endif+    repoCommitModifierRef                   ,+++-- ** setDevinoCache #method:setDevinoCache#++#if ENABLE_OVERLOADING+    RepoCommitModifierSetDevinoCacheMethodInfo,+#endif+    repoCommitModifierSetDevinoCache        ,+++-- ** setSepolicy #method:setSepolicy#++#if ENABLE_OVERLOADING+    RepoCommitModifierSetSepolicyMethodInfo ,+#endif+    repoCommitModifierSetSepolicy           ,+++-- ** setXattrCallback #method:setXattrCallback#++#if ENABLE_OVERLOADING+    RepoCommitModifierSetXattrCallbackMethodInfo,+#endif+    repoCommitModifierSetXattrCallback      ,+++-- ** unref #method:unref#++#if ENABLE_OVERLOADING+    RepoCommitModifierUnrefMethodInfo       ,+#endif+    repoCommitModifierUnref                 ,+++++    ) 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 qualified GI.OSTree.Callbacks as OSTree.Callbacks+import {-# SOURCE #-} qualified GI.OSTree.Flags as OSTree.Flags+import {-# SOURCE #-} qualified GI.OSTree.Objects.SePolicy as OSTree.SePolicy+import {-# SOURCE #-} qualified GI.OSTree.Structs.RepoDevInoCache as OSTree.RepoDevInoCache++-- | Memory-managed wrapper type.+newtype RepoCommitModifier = RepoCommitModifier (ManagedPtr RepoCommitModifier)+foreign import ccall "ostree_repo_commit_modifier_get_type" c_ostree_repo_commit_modifier_get_type :: +    IO GType++instance BoxedObject RepoCommitModifier where+    boxedType _ = c_ostree_repo_commit_modifier_get_type++-- | A convenience alias for `Nothing` :: `Maybe` `RepoCommitModifier`.+noRepoCommitModifier :: Maybe RepoCommitModifier+noRepoCommitModifier = Nothing+++#if ENABLE_OVERLOADING+instance O.HasAttributeList RepoCommitModifier+type instance O.AttributeList RepoCommitModifier = RepoCommitModifierAttributeList+type RepoCommitModifierAttributeList = ('[ ] :: [(Symbol, *)])+#endif++-- method RepoCommitModifier::new+-- method type : Constructor+-- Args : [Arg {argCName = "flags", argType = TInterface (Name {namespace = "OSTree", name = "RepoCommitModifierFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Control options for filter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "commit_filter", argType = TInterface (Name {namespace = "OSTree", name = "RepoCommitFilter"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Function that can inspect individual files", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 2, argDestroy = 3, 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 = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy_notify", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GDestroyNotify", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "RepoCommitModifier"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_commit_modifier_new" ostree_repo_commit_modifier_new :: +    CUInt ->                                -- flags : TInterface (Name {namespace = "OSTree", name = "RepoCommitModifierFlags"})+    FunPtr OSTree.Callbacks.C_RepoCommitFilter -> -- commit_filter : TInterface (Name {namespace = "OSTree", name = "RepoCommitFilter"})+    Ptr () ->                               -- user_data : TBasicType TPtr+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy_notify : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})+    IO (Ptr RepoCommitModifier)++{- |+/No description available in the introspection data./+-}+repoCommitModifierNew ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    [OSTree.Flags.RepoCommitModifierFlags]+    {- ^ /@flags@/: Control options for filter -}+    -> Maybe (OSTree.Callbacks.RepoCommitFilter)+    {- ^ /@commitFilter@/: Function that can inspect individual files -}+    -> m RepoCommitModifier+    {- ^ __Returns:__ A new commit modifier. -}+repoCommitModifierNew flags commitFilter = liftIO $ do+    let flags' = gflagsToWord flags+    maybeCommitFilter <- case commitFilter of+        Nothing -> return (castPtrToFunPtr nullPtr)+        Just jCommitFilter -> do+            jCommitFilter' <- OSTree.Callbacks.mk_RepoCommitFilter (OSTree.Callbacks.wrap_RepoCommitFilter Nothing (OSTree.Callbacks.drop_closures_RepoCommitFilter jCommitFilter))+            return jCommitFilter'+    let userData = castFunPtrToPtr maybeCommitFilter+    let destroyNotify = safeFreeFunPtrPtr+    result <- ostree_repo_commit_modifier_new flags' maybeCommitFilter userData destroyNotify+    checkUnexpectedReturnNULL "repoCommitModifierNew" result+    result' <- (wrapBoxed RepoCommitModifier) result+    return result'++#if ENABLE_OVERLOADING+#endif++-- method RepoCommitModifier::ref+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "modifier", argType = TInterface (Name {namespace = "OSTree", name = "RepoCommitModifier"}), 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 = "OSTree", name = "RepoCommitModifier"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_commit_modifier_ref" ostree_repo_commit_modifier_ref :: +    Ptr RepoCommitModifier ->               -- modifier : TInterface (Name {namespace = "OSTree", name = "RepoCommitModifier"})+    IO (Ptr RepoCommitModifier)++{- |+/No description available in the introspection data./+-}+repoCommitModifierRef ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    RepoCommitModifier+    -> m RepoCommitModifier+repoCommitModifierRef modifier = liftIO $ do+    modifier' <- unsafeManagedPtrGetPtr modifier+    result <- ostree_repo_commit_modifier_ref modifier'+    checkUnexpectedReturnNULL "repoCommitModifierRef" result+    result' <- (wrapBoxed RepoCommitModifier) result+    touchManagedPtr modifier+    return result'++#if ENABLE_OVERLOADING+data RepoCommitModifierRefMethodInfo+instance (signature ~ (m RepoCommitModifier), MonadIO m) => O.MethodInfo RepoCommitModifierRefMethodInfo RepoCommitModifier signature where+    overloadedMethod _ = repoCommitModifierRef++#endif++-- method RepoCommitModifier::set_devino_cache+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "modifier", argType = TInterface (Name {namespace = "OSTree", name = "RepoCommitModifier"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Modifier", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cache", argType = TInterface (Name {namespace = "OSTree", name = "RepoDevInoCache"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A hash table caching device,inode to checksums", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_commit_modifier_set_devino_cache" ostree_repo_commit_modifier_set_devino_cache :: +    Ptr RepoCommitModifier ->               -- modifier : TInterface (Name {namespace = "OSTree", name = "RepoCommitModifier"})+    Ptr OSTree.RepoDevInoCache.RepoDevInoCache -> -- cache : TInterface (Name {namespace = "OSTree", name = "RepoDevInoCache"})+    IO ()++{- |+See the documentation for+@ostree_repo_devino_cache_new()@.  This function can+then be used for later calls to+@ostree_repo_write_directory_to_mtree()@ to optimize commits.++Note if your process has multiple writers, you should use separate+@OSTreeRepo@ instances if you want to also use this API.++This function will add a reference to /@cache@/ without copying - you+should avoid further mutation of the cache.++/Since: 2017.13/+-}+repoCommitModifierSetDevinoCache ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    RepoCommitModifier+    {- ^ /@modifier@/: Modifier -}+    -> OSTree.RepoDevInoCache.RepoDevInoCache+    {- ^ /@cache@/: A hash table caching device,inode to checksums -}+    -> m ()+repoCommitModifierSetDevinoCache modifier cache = liftIO $ do+    modifier' <- unsafeManagedPtrGetPtr modifier+    cache' <- unsafeManagedPtrGetPtr cache+    ostree_repo_commit_modifier_set_devino_cache modifier' cache'+    touchManagedPtr modifier+    touchManagedPtr cache+    return ()++#if ENABLE_OVERLOADING+data RepoCommitModifierSetDevinoCacheMethodInfo+instance (signature ~ (OSTree.RepoDevInoCache.RepoDevInoCache -> m ()), MonadIO m) => O.MethodInfo RepoCommitModifierSetDevinoCacheMethodInfo RepoCommitModifier signature where+    overloadedMethod _ = repoCommitModifierSetDevinoCache++#endif++-- method RepoCommitModifier::set_sepolicy+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "modifier", argType = TInterface (Name {namespace = "OSTree", name = "RepoCommitModifier"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #OstreeRepoCommitModifier", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "sepolicy", argType = TInterface (Name {namespace = "OSTree", name = "SePolicy"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Policy to use for labeling", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_commit_modifier_set_sepolicy" ostree_repo_commit_modifier_set_sepolicy :: +    Ptr RepoCommitModifier ->               -- modifier : TInterface (Name {namespace = "OSTree", name = "RepoCommitModifier"})+    Ptr OSTree.SePolicy.SePolicy ->         -- sepolicy : TInterface (Name {namespace = "OSTree", name = "SePolicy"})+    IO ()++{- |+If /@policy@/ is non-'Nothing', use it to look up labels to use for+\"security.selinux\" extended attributes.++Note that any policy specified this way operates in addition to any+extended attributes provided via+'GI.OSTree.Structs.RepoCommitModifier.repoCommitModifierSetXattrCallback'.  However if both+specify a value for \"security.selinux\", then the one from the+policy wins.+-}+repoCommitModifierSetSepolicy ::+    (B.CallStack.HasCallStack, MonadIO m, OSTree.SePolicy.IsSePolicy a) =>+    RepoCommitModifier+    {- ^ /@modifier@/: An 'GI.OSTree.Structs.RepoCommitModifier.RepoCommitModifier' -}+    -> Maybe (a)+    {- ^ /@sepolicy@/: Policy to use for labeling -}+    -> m ()+repoCommitModifierSetSepolicy modifier sepolicy = liftIO $ do+    modifier' <- unsafeManagedPtrGetPtr modifier+    maybeSepolicy <- case sepolicy of+        Nothing -> return nullPtr+        Just jSepolicy -> do+            jSepolicy' <- unsafeManagedPtrCastPtr jSepolicy+            return jSepolicy'+    ostree_repo_commit_modifier_set_sepolicy modifier' maybeSepolicy+    touchManagedPtr modifier+    whenJust sepolicy touchManagedPtr+    return ()++#if ENABLE_OVERLOADING+data RepoCommitModifierSetSepolicyMethodInfo+instance (signature ~ (Maybe (a) -> m ()), MonadIO m, OSTree.SePolicy.IsSePolicy a) => O.MethodInfo RepoCommitModifierSetSepolicyMethodInfo RepoCommitModifier signature where+    overloadedMethod _ = repoCommitModifierSetSepolicy++#endif++-- method RepoCommitModifier::set_xattr_callback+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "modifier", argType = TInterface (Name {namespace = "OSTree", name = "RepoCommitModifier"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An #OstreeRepoCommitModifier", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "callback", argType = TInterface (Name {namespace = "OSTree", name = "RepoCommitModifierXattrCallback"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Function to be invoked, should return extended attributes for path", sinceVersion = Nothing}, argScope = ScopeTypeNotified, argClosure = 3, argDestroy = 2, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "destroy", argType = TInterface (Name {namespace = "GLib", name = "DestroyNotify"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Destroy notification", sinceVersion = Nothing}, argScope = ScopeTypeAsync, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "user_data", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Data for @callback:", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_commit_modifier_set_xattr_callback" ostree_repo_commit_modifier_set_xattr_callback :: +    Ptr RepoCommitModifier ->               -- modifier : TInterface (Name {namespace = "OSTree", name = "RepoCommitModifier"})+    FunPtr OSTree.Callbacks.C_RepoCommitModifierXattrCallback -> -- callback : TInterface (Name {namespace = "OSTree", name = "RepoCommitModifierXattrCallback"})+    FunPtr GLib.Callbacks.C_DestroyNotify -> -- destroy : TInterface (Name {namespace = "GLib", name = "DestroyNotify"})+    Ptr () ->                               -- user_data : TBasicType TPtr+    IO ()++{- |+If set, this function should return extended attributes to use for+the given path.  This is useful for things like ACLs and SELinux,+where a build system can label the files as it\'s committing to the+repository.+-}+repoCommitModifierSetXattrCallback ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    RepoCommitModifier+    {- ^ /@modifier@/: An 'GI.OSTree.Structs.RepoCommitModifier.RepoCommitModifier' -}+    -> OSTree.Callbacks.RepoCommitModifierXattrCallback+    {- ^ /@callback@/: Function to be invoked, should return extended attributes for path -}+    -> m ()+repoCommitModifierSetXattrCallback modifier callback = liftIO $ do+    modifier' <- unsafeManagedPtrGetPtr modifier+    callback' <- OSTree.Callbacks.mk_RepoCommitModifierXattrCallback (OSTree.Callbacks.wrap_RepoCommitModifierXattrCallback Nothing (OSTree.Callbacks.drop_closures_RepoCommitModifierXattrCallback callback))+    let userData = castFunPtrToPtr callback'+    let destroy = safeFreeFunPtrPtr+    ostree_repo_commit_modifier_set_xattr_callback modifier' callback' destroy userData+    touchManagedPtr modifier+    return ()++#if ENABLE_OVERLOADING+data RepoCommitModifierSetXattrCallbackMethodInfo+instance (signature ~ (OSTree.Callbacks.RepoCommitModifierXattrCallback -> m ()), MonadIO m) => O.MethodInfo RepoCommitModifierSetXattrCallbackMethodInfo RepoCommitModifier signature where+    overloadedMethod _ = repoCommitModifierSetXattrCallback++#endif++-- method RepoCommitModifier::unref+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "modifier", argType = TInterface (Name {namespace = "OSTree", name = "RepoCommitModifier"}), 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 "ostree_repo_commit_modifier_unref" ostree_repo_commit_modifier_unref :: +    Ptr RepoCommitModifier ->               -- modifier : TInterface (Name {namespace = "OSTree", name = "RepoCommitModifier"})+    IO ()++{- |+/No description available in the introspection data./+-}+repoCommitModifierUnref ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    RepoCommitModifier+    -> m ()+repoCommitModifierUnref modifier = liftIO $ do+    modifier' <- unsafeManagedPtrGetPtr modifier+    ostree_repo_commit_modifier_unref modifier'+    touchManagedPtr modifier+    return ()++#if ENABLE_OVERLOADING+data RepoCommitModifierUnrefMethodInfo+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo RepoCommitModifierUnrefMethodInfo RepoCommitModifier signature where+    overloadedMethod _ = repoCommitModifierUnref++#endif++#if ENABLE_OVERLOADING+type family ResolveRepoCommitModifierMethod (t :: Symbol) (o :: *) :: * where+    ResolveRepoCommitModifierMethod "ref" o = RepoCommitModifierRefMethodInfo+    ResolveRepoCommitModifierMethod "unref" o = RepoCommitModifierUnrefMethodInfo+    ResolveRepoCommitModifierMethod "setDevinoCache" o = RepoCommitModifierSetDevinoCacheMethodInfo+    ResolveRepoCommitModifierMethod "setSepolicy" o = RepoCommitModifierSetSepolicyMethodInfo+    ResolveRepoCommitModifierMethod "setXattrCallback" o = RepoCommitModifierSetXattrCallbackMethodInfo+    ResolveRepoCommitModifierMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRepoCommitModifierMethod t RepoCommitModifier, O.MethodInfo info RepoCommitModifier p) => OL.IsLabel t (RepoCommitModifier -> 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/OSTree/Structs/RepoCommitModifier.hs-boot view
@@ -0,0 +1,41 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.RepoCommitModifier 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 RepoCommitModifier = RepoCommitModifier (ManagedPtr RepoCommitModifier)+instance BoxedObject RepoCommitModifier where+#if ENABLE_OVERLOADING+data RepoCommitModifierRefMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoCommitModifierSetDevinoCacheMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoCommitModifierSetSepolicyMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoCommitModifierSetXattrCallbackMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoCommitModifierUnrefMethodInfo+#endif
+ GI/OSTree/Structs/RepoCommitTraverseIter.hs view
@@ -0,0 +1,535 @@+++{- |+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.OSTree.Structs.RepoCommitTraverseIter+    ( ++-- * Exported types+    RepoCommitTraverseIter(..)              ,+    newZeroRepoCommitTraverseIter           ,+    noRepoCommitTraverseIter                ,+++ -- * Methods+-- ** cleanup #method:cleanup#++    repoCommitTraverseIterCleanup           ,+++-- ** clear #method:clear#++#if ENABLE_OVERLOADING+    RepoCommitTraverseIterClearMethodInfo   ,+#endif+    repoCommitTraverseIterClear             ,+++-- ** getDir #method:getDir#++#if ENABLE_OVERLOADING+    RepoCommitTraverseIterGetDirMethodInfo  ,+#endif+    repoCommitTraverseIterGetDir            ,+++-- ** getFile #method:getFile#++#if ENABLE_OVERLOADING+    RepoCommitTraverseIterGetFileMethodInfo ,+#endif+    repoCommitTraverseIterGetFile           ,+++-- ** initCommit #method:initCommit#++#if ENABLE_OVERLOADING+    RepoCommitTraverseIterInitCommitMethodInfo,+#endif+    repoCommitTraverseIterInitCommit        ,+++-- ** initDirtree #method:initDirtree#++#if ENABLE_OVERLOADING+    RepoCommitTraverseIterInitDirtreeMethodInfo,+#endif+    repoCommitTraverseIterInitDirtree       ,+++-- ** next #method:next#++#if ENABLE_OVERLOADING+    RepoCommitTraverseIterNextMethodInfo    ,+#endif+    repoCommitTraverseIterNext              ,+++++ -- * Properties+-- ** initialized #attr:initialized#+{- | /No description available in the introspection data./+-}+    getRepoCommitTraverseIterInitialized    ,+#if ENABLE_OVERLOADING+    repoCommitTraverseIter_initialized      ,+#endif+    setRepoCommitTraverseIterInitialized    ,+++++    ) 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.Gio.Objects.Cancellable as Gio.Cancellable+import {-# SOURCE #-} qualified GI.OSTree.Enums as OSTree.Enums+import {-# SOURCE #-} qualified GI.OSTree.Flags as OSTree.Flags+import {-# SOURCE #-} qualified GI.OSTree.Objects.Repo as OSTree.Repo++-- | Memory-managed wrapper type.+newtype RepoCommitTraverseIter = RepoCommitTraverseIter (ManagedPtr RepoCommitTraverseIter)+instance WrappedPtr RepoCommitTraverseIter where+    wrappedPtrCalloc = callocBytes 224+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 224 >=> wrapPtr RepoCommitTraverseIter)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `RepoCommitTraverseIter` struct initialized to zero.+newZeroRepoCommitTraverseIter :: MonadIO m => m RepoCommitTraverseIter+newZeroRepoCommitTraverseIter = liftIO $ wrappedPtrCalloc >>= wrapPtr RepoCommitTraverseIter++instance tag ~ 'AttrSet => Constructible RepoCommitTraverseIter tag where+    new _ attrs = do+        o <- newZeroRepoCommitTraverseIter+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `RepoCommitTraverseIter`.+noRepoCommitTraverseIter :: Maybe RepoCommitTraverseIter+noRepoCommitTraverseIter = Nothing++{- |+Get the value of the “@initialized@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoCommitTraverseIter #initialized+@+-}+getRepoCommitTraverseIterInitialized :: MonadIO m => RepoCommitTraverseIter -> m Bool+getRepoCommitTraverseIterInitialized s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (/= 0) val+    return val'++{- |+Set the value of the “@initialized@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoCommitTraverseIter [ #initialized 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoCommitTraverseIterInitialized :: MonadIO m => RepoCommitTraverseIter -> Bool -> m ()+setRepoCommitTraverseIterInitialized s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data RepoCommitTraverseIterInitializedFieldInfo+instance AttrInfo RepoCommitTraverseIterInitializedFieldInfo where+    type AttrAllowedOps RepoCommitTraverseIterInitializedFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RepoCommitTraverseIterInitializedFieldInfo = (~) Bool+    type AttrBaseTypeConstraint RepoCommitTraverseIterInitializedFieldInfo = (~) RepoCommitTraverseIter+    type AttrGetType RepoCommitTraverseIterInitializedFieldInfo = Bool+    type AttrLabel RepoCommitTraverseIterInitializedFieldInfo = "initialized"+    type AttrOrigin RepoCommitTraverseIterInitializedFieldInfo = RepoCommitTraverseIter+    attrGet _ = getRepoCommitTraverseIterInitialized+    attrSet _ = setRepoCommitTraverseIterInitialized+    attrConstruct = undefined+    attrClear _ = undefined++repoCommitTraverseIter_initialized :: AttrLabelProxy "initialized"+repoCommitTraverseIter_initialized = AttrLabelProxy++#endif+++-- XXX Skipped attribute for "RepoCommitTraverseIter:dummy" :: Not implemented: "Don't know how to unpack C array of type TCArray False 10 (-1) (TBasicType TPtr)"+-- XXX Skipped attribute for "RepoCommitTraverseIter:dummy_checksum_data" :: Not implemented: "Don't know how to unpack C array of type TCArray False 130 (-1) (TBasicType TInt8)"++#if ENABLE_OVERLOADING+instance O.HasAttributeList RepoCommitTraverseIter+type instance O.AttributeList RepoCommitTraverseIter = RepoCommitTraverseIterAttributeList+type RepoCommitTraverseIterAttributeList = ('[ '("initialized", RepoCommitTraverseIterInitializedFieldInfo)] :: [(Symbol, *)])+#endif++-- method RepoCommitTraverseIter::clear+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "OSTree", name = "RepoCommitTraverseIter"}), 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 "ostree_repo_commit_traverse_iter_clear" ostree_repo_commit_traverse_iter_clear :: +    Ptr RepoCommitTraverseIter ->           -- iter : TInterface (Name {namespace = "OSTree", name = "RepoCommitTraverseIter"})+    IO ()++{- |+/No description available in the introspection data./+-}+repoCommitTraverseIterClear ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    RepoCommitTraverseIter+    -> m ()+repoCommitTraverseIterClear iter = liftIO $ do+    iter' <- unsafeManagedPtrGetPtr iter+    ostree_repo_commit_traverse_iter_clear iter'+    touchManagedPtr iter+    return ()++#if ENABLE_OVERLOADING+data RepoCommitTraverseIterClearMethodInfo+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo RepoCommitTraverseIterClearMethodInfo RepoCommitTraverseIter signature where+    overloadedMethod _ = repoCommitTraverseIterClear++#endif++-- method RepoCommitTraverseIter::get_dir+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "OSTree", name = "RepoCommitTraverseIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An iter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_name", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Name of current dir", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_content_checksum", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Checksum of current content", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_meta_checksum", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Checksum of current metadata", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_commit_traverse_iter_get_dir" ostree_repo_commit_traverse_iter_get_dir :: +    Ptr RepoCommitTraverseIter ->           -- iter : TInterface (Name {namespace = "OSTree", name = "RepoCommitTraverseIter"})+    Ptr CString ->                          -- out_name : TBasicType TUTF8+    Ptr CString ->                          -- out_content_checksum : TBasicType TUTF8+    Ptr CString ->                          -- out_meta_checksum : TBasicType TUTF8+    IO ()++{- |+Return information on the current directory.  This function may+only be called if 'GI.OSTree.Enums.RepoCommitIterResultDir' was returned+from 'GI.OSTree.Structs.RepoCommitTraverseIter.repoCommitTraverseIterNext'.+-}+repoCommitTraverseIterGetDir ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    RepoCommitTraverseIter+    {- ^ /@iter@/: An iter -}+    -> m ((T.Text, T.Text, T.Text))+repoCommitTraverseIterGetDir iter = liftIO $ do+    iter' <- unsafeManagedPtrGetPtr iter+    outName <- allocMem :: IO (Ptr CString)+    outContentChecksum <- allocMem :: IO (Ptr CString)+    outMetaChecksum <- allocMem :: IO (Ptr CString)+    ostree_repo_commit_traverse_iter_get_dir iter' outName outContentChecksum outMetaChecksum+    outName' <- peek outName+    outName'' <- cstringToText outName'+    outContentChecksum' <- peek outContentChecksum+    outContentChecksum'' <- cstringToText outContentChecksum'+    outMetaChecksum' <- peek outMetaChecksum+    outMetaChecksum'' <- cstringToText outMetaChecksum'+    touchManagedPtr iter+    freeMem outName+    freeMem outContentChecksum+    freeMem outMetaChecksum+    return (outName'', outContentChecksum'', outMetaChecksum'')++#if ENABLE_OVERLOADING+data RepoCommitTraverseIterGetDirMethodInfo+instance (signature ~ (m ((T.Text, T.Text, T.Text))), MonadIO m) => O.MethodInfo RepoCommitTraverseIterGetDirMethodInfo RepoCommitTraverseIter signature where+    overloadedMethod _ = repoCommitTraverseIterGetDir++#endif++-- method RepoCommitTraverseIter::get_file+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "OSTree", name = "RepoCommitTraverseIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An iter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_name", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Name of current file", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "out_checksum", argType = TBasicType TUTF8, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Checksum of current file", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_commit_traverse_iter_get_file" ostree_repo_commit_traverse_iter_get_file :: +    Ptr RepoCommitTraverseIter ->           -- iter : TInterface (Name {namespace = "OSTree", name = "RepoCommitTraverseIter"})+    Ptr CString ->                          -- out_name : TBasicType TUTF8+    Ptr CString ->                          -- out_checksum : TBasicType TUTF8+    IO ()++{- |+Return information on the current file.  This function may only be+called if 'GI.OSTree.Enums.RepoCommitIterResultFile' was returned from+'GI.OSTree.Structs.RepoCommitTraverseIter.repoCommitTraverseIterNext'.+-}+repoCommitTraverseIterGetFile ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    RepoCommitTraverseIter+    {- ^ /@iter@/: An iter -}+    -> m ((T.Text, T.Text))+repoCommitTraverseIterGetFile iter = liftIO $ do+    iter' <- unsafeManagedPtrGetPtr iter+    outName <- allocMem :: IO (Ptr CString)+    outChecksum <- allocMem :: IO (Ptr CString)+    ostree_repo_commit_traverse_iter_get_file iter' outName outChecksum+    outName' <- peek outName+    outName'' <- cstringToText outName'+    outChecksum' <- peek outChecksum+    outChecksum'' <- cstringToText outChecksum'+    touchManagedPtr iter+    freeMem outName+    freeMem outChecksum+    return (outName'', outChecksum'')++#if ENABLE_OVERLOADING+data RepoCommitTraverseIterGetFileMethodInfo+instance (signature ~ (m ((T.Text, T.Text))), MonadIO m) => O.MethodInfo RepoCommitTraverseIterGetFileMethodInfo RepoCommitTraverseIter signature where+    overloadedMethod _ = repoCommitTraverseIterGetFile++#endif++-- method RepoCommitTraverseIter::init_commit+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "OSTree", name = "RepoCommitTraverseIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An iter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "repo", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "commit", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Variant of type %OSTREE_OBJECT_TYPE_COMMIT", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "OSTree", name = "RepoCommitTraverseFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Flags", 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 "ostree_repo_commit_traverse_iter_init_commit" ostree_repo_commit_traverse_iter_init_commit :: +    Ptr RepoCommitTraverseIter ->           -- iter : TInterface (Name {namespace = "OSTree", name = "RepoCommitTraverseIter"})+    Ptr OSTree.Repo.Repo ->                 -- repo : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr GVariant ->                         -- commit : TVariant+    CUInt ->                                -- flags : TInterface (Name {namespace = "OSTree", name = "RepoCommitTraverseFlags"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Initialize (in place) an iterator over the root of a commit object.+-}+repoCommitTraverseIterInitCommit ::+    (B.CallStack.HasCallStack, MonadIO m, OSTree.Repo.IsRepo a) =>+    RepoCommitTraverseIter+    {- ^ /@iter@/: An iter -}+    -> a+    {- ^ /@repo@/: A repo -}+    -> GVariant+    {- ^ /@commit@/: Variant of type 'GI.OSTree.Enums.ObjectTypeCommit' -}+    -> [OSTree.Flags.RepoCommitTraverseFlags]+    {- ^ /@flags@/: Flags -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoCommitTraverseIterInitCommit iter repo commit flags = liftIO $ do+    iter' <- unsafeManagedPtrGetPtr iter+    repo' <- unsafeManagedPtrCastPtr repo+    commit' <- unsafeManagedPtrGetPtr commit+    let flags' = gflagsToWord flags+    onException (do+        _ <- propagateGError $ ostree_repo_commit_traverse_iter_init_commit iter' repo' commit' flags'+        touchManagedPtr iter+        touchManagedPtr repo+        touchManagedPtr commit+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepoCommitTraverseIterInitCommitMethodInfo+instance (signature ~ (a -> GVariant -> [OSTree.Flags.RepoCommitTraverseFlags] -> m ()), MonadIO m, OSTree.Repo.IsRepo a) => O.MethodInfo RepoCommitTraverseIterInitCommitMethodInfo RepoCommitTraverseIter signature where+    overloadedMethod _ = repoCommitTraverseIterInitCommit++#endif++-- method RepoCommitTraverseIter::init_dirtree+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "OSTree", name = "RepoCommitTraverseIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An iter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "repo", argType = TInterface (Name {namespace = "OSTree", name = "Repo"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A repo", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "dirtree", argType = TVariant, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Variant of type %OSTREE_OBJECT_TYPE_DIR_TREE", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "flags", argType = TInterface (Name {namespace = "OSTree", name = "RepoCommitTraverseFlags"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "Flags", 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 "ostree_repo_commit_traverse_iter_init_dirtree" ostree_repo_commit_traverse_iter_init_dirtree :: +    Ptr RepoCommitTraverseIter ->           -- iter : TInterface (Name {namespace = "OSTree", name = "RepoCommitTraverseIter"})+    Ptr OSTree.Repo.Repo ->                 -- repo : TInterface (Name {namespace = "OSTree", name = "Repo"})+    Ptr GVariant ->                         -- dirtree : TVariant+    CUInt ->                                -- flags : TInterface (Name {namespace = "OSTree", name = "RepoCommitTraverseFlags"})+    Ptr (Ptr GError) ->                     -- error+    IO CInt++{- |+Initialize (in place) an iterator over a directory tree.+-}+repoCommitTraverseIterInitDirtree ::+    (B.CallStack.HasCallStack, MonadIO m, OSTree.Repo.IsRepo a) =>+    RepoCommitTraverseIter+    {- ^ /@iter@/: An iter -}+    -> a+    {- ^ /@repo@/: A repo -}+    -> GVariant+    {- ^ /@dirtree@/: Variant of type 'GI.OSTree.Enums.ObjectTypeDirTree' -}+    -> [OSTree.Flags.RepoCommitTraverseFlags]+    {- ^ /@flags@/: Flags -}+    -> m ()+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoCommitTraverseIterInitDirtree iter repo dirtree flags = liftIO $ do+    iter' <- unsafeManagedPtrGetPtr iter+    repo' <- unsafeManagedPtrCastPtr repo+    dirtree' <- unsafeManagedPtrGetPtr dirtree+    let flags' = gflagsToWord flags+    onException (do+        _ <- propagateGError $ ostree_repo_commit_traverse_iter_init_dirtree iter' repo' dirtree' flags'+        touchManagedPtr iter+        touchManagedPtr repo+        touchManagedPtr dirtree+        return ()+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepoCommitTraverseIterInitDirtreeMethodInfo+instance (signature ~ (a -> GVariant -> [OSTree.Flags.RepoCommitTraverseFlags] -> m ()), MonadIO m, OSTree.Repo.IsRepo a) => O.MethodInfo RepoCommitTraverseIterInitDirtreeMethodInfo RepoCommitTraverseIter signature where+    overloadedMethod _ = repoCommitTraverseIterInitDirtree++#endif++-- method RepoCommitTraverseIter::next+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "iter", argType = TInterface (Name {namespace = "OSTree", name = "RepoCommitTraverseIter"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "An iter", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "cancellable", argType = TInterface (Name {namespace = "Gio", name = "Cancellable"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "Cancellable", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "RepoCommitIterResult"}))+-- throws : True+-- Skip return : False++foreign import ccall "ostree_repo_commit_traverse_iter_next" ostree_repo_commit_traverse_iter_next :: +    Ptr RepoCommitTraverseIter ->           -- iter : TInterface (Name {namespace = "OSTree", name = "RepoCommitTraverseIter"})+    Ptr Gio.Cancellable.Cancellable ->      -- cancellable : TInterface (Name {namespace = "Gio", name = "Cancellable"})+    Ptr (Ptr GError) ->                     -- error+    IO CUInt++{- |+Step the interator to the next item.  Files will be returned first,+then subdirectories.  Call this in a loop; upon encountering+'GI.OSTree.Enums.RepoCommitIterResultEnd', there will be no more files or+directories.  If 'GI.OSTree.Enums.RepoCommitIterResultDir' is returned,+then call 'GI.OSTree.Structs.RepoCommitTraverseIter.repoCommitTraverseIterGetDir' to retrieve+data for that directory.  Similarly, if+'GI.OSTree.Enums.RepoCommitIterResultFile' is returned, call+'GI.OSTree.Structs.RepoCommitTraverseIter.repoCommitTraverseIterGetFile'.++If 'GI.OSTree.Enums.RepoCommitIterResultError' is returned, it is a+program error to call any further API on /@iter@/ except for+'GI.OSTree.Structs.RepoCommitTraverseIter.repoCommitTraverseIterClear'.+-}+repoCommitTraverseIterNext ::+    (B.CallStack.HasCallStack, MonadIO m, Gio.Cancellable.IsCancellable a) =>+    RepoCommitTraverseIter+    {- ^ /@iter@/: An iter -}+    -> Maybe (a)+    {- ^ /@cancellable@/: Cancellable -}+    -> m OSTree.Enums.RepoCommitIterResult+    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}+repoCommitTraverseIterNext iter cancellable = liftIO $ do+    iter' <- unsafeManagedPtrGetPtr iter+    maybeCancellable <- case cancellable of+        Nothing -> return nullPtr+        Just jCancellable -> do+            jCancellable' <- unsafeManagedPtrCastPtr jCancellable+            return jCancellable'+    onException (do+        result <- propagateGError $ ostree_repo_commit_traverse_iter_next iter' maybeCancellable+        let result' = (toEnum . fromIntegral) result+        touchManagedPtr iter+        whenJust cancellable touchManagedPtr+        return result'+     ) (do+        return ()+     )++#if ENABLE_OVERLOADING+data RepoCommitTraverseIterNextMethodInfo+instance (signature ~ (Maybe (a) -> m OSTree.Enums.RepoCommitIterResult), MonadIO m, Gio.Cancellable.IsCancellable a) => O.MethodInfo RepoCommitTraverseIterNextMethodInfo RepoCommitTraverseIter signature where+    overloadedMethod _ = repoCommitTraverseIterNext++#endif++-- method RepoCommitTraverseIter::cleanup+-- method type : MemberFunction+-- Args : [Arg {argCName = "p", argType = TBasicType TPtr, direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Nothing, sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_commit_traverse_iter_cleanup" ostree_repo_commit_traverse_iter_cleanup :: +    Ptr () ->                               -- p : TBasicType TPtr+    IO ()++{- |+/No description available in the introspection data./+-}+repoCommitTraverseIterCleanup ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    Ptr ()+    -> m ()+repoCommitTraverseIterCleanup p = liftIO $ do+    ostree_repo_commit_traverse_iter_cleanup p+    return ()++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type family ResolveRepoCommitTraverseIterMethod (t :: Symbol) (o :: *) :: * where+    ResolveRepoCommitTraverseIterMethod "clear" o = RepoCommitTraverseIterClearMethodInfo+    ResolveRepoCommitTraverseIterMethod "initCommit" o = RepoCommitTraverseIterInitCommitMethodInfo+    ResolveRepoCommitTraverseIterMethod "initDirtree" o = RepoCommitTraverseIterInitDirtreeMethodInfo+    ResolveRepoCommitTraverseIterMethod "next" o = RepoCommitTraverseIterNextMethodInfo+    ResolveRepoCommitTraverseIterMethod "getDir" o = RepoCommitTraverseIterGetDirMethodInfo+    ResolveRepoCommitTraverseIterMethod "getFile" o = RepoCommitTraverseIterGetFileMethodInfo+    ResolveRepoCommitTraverseIterMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRepoCommitTraverseIterMethod t RepoCommitTraverseIter, O.MethodInfo info RepoCommitTraverseIter p) => OL.IsLabel t (RepoCommitTraverseIter -> 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/OSTree/Structs/RepoCommitTraverseIter.hs-boot view
@@ -0,0 +1,44 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.RepoCommitTraverseIter 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 RepoCommitTraverseIter = RepoCommitTraverseIter (ManagedPtr RepoCommitTraverseIter)+instance WrappedPtr RepoCommitTraverseIter where+#if ENABLE_OVERLOADING+data RepoCommitTraverseIterClearMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoCommitTraverseIterGetDirMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoCommitTraverseIterGetFileMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoCommitTraverseIterInitCommitMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoCommitTraverseIterInitDirtreeMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoCommitTraverseIterNextMethodInfo+#endif
+ GI/OSTree/Structs/RepoDevInoCache.hs view
@@ -0,0 +1,202 @@+++{- |+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.OSTree.Structs.RepoDevInoCache+    ( ++-- * Exported types+    RepoDevInoCache(..)                     ,+    noRepoDevInoCache                       ,+++ -- * Methods+-- ** new #method:new#++    repoDevInoCacheNew                      ,+++-- ** ref #method:ref#++#if ENABLE_OVERLOADING+    RepoDevInoCacheRefMethodInfo            ,+#endif+    repoDevInoCacheRef                      ,+++-- ** unref #method:unref#++#if ENABLE_OVERLOADING+    RepoDevInoCacheUnrefMethodInfo          ,+#endif+    repoDevInoCacheUnref                    ,+++++    ) 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 RepoDevInoCache = RepoDevInoCache (ManagedPtr RepoDevInoCache)+foreign import ccall "ostree_repo_devino_cache_get_type" c_ostree_repo_devino_cache_get_type :: +    IO GType++instance BoxedObject RepoDevInoCache where+    boxedType _ = c_ostree_repo_devino_cache_get_type++-- | A convenience alias for `Nothing` :: `Maybe` `RepoDevInoCache`.+noRepoDevInoCache :: Maybe RepoDevInoCache+noRepoDevInoCache = Nothing+++#if ENABLE_OVERLOADING+instance O.HasAttributeList RepoDevInoCache+type instance O.AttributeList RepoDevInoCache = RepoDevInoCacheAttributeList+type RepoDevInoCacheAttributeList = ('[ ] :: [(Symbol, *)])+#endif++-- method RepoDevInoCache::new+-- method type : Constructor+-- Args : []+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "RepoDevInoCache"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_devino_cache_new" ostree_repo_devino_cache_new :: +    IO (Ptr RepoDevInoCache)++{- |+OSTree has support for pairing @/ostree_repo_checkout_tree_at()/@ using+hardlinks in combination with a later+'GI.OSTree.Objects.Repo.repoWriteDirectoryToMtree' using a (normally modified)+directory.  In order for OSTree to optimally detect just the new+files, use this function and fill in the @devino_to_csum_cache@+member of @OstreeRepoCheckoutAtOptions@, then call+@/ostree_repo_commit_set_devino_cache()/@.+-}+repoDevInoCacheNew ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    m RepoDevInoCache+    {- ^ __Returns:__ Newly allocated cache -}+repoDevInoCacheNew  = liftIO $ do+    result <- ostree_repo_devino_cache_new+    checkUnexpectedReturnNULL "repoDevInoCacheNew" result+    result' <- (wrapBoxed RepoDevInoCache) result+    return result'++#if ENABLE_OVERLOADING+#endif++-- method RepoDevInoCache::ref+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "cache", argType = TInterface (Name {namespace = "OSTree", name = "RepoDevInoCache"}), 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 = "OSTree", name = "RepoDevInoCache"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_devino_cache_ref" ostree_repo_devino_cache_ref :: +    Ptr RepoDevInoCache ->                  -- cache : TInterface (Name {namespace = "OSTree", name = "RepoDevInoCache"})+    IO (Ptr RepoDevInoCache)++{- |+/No description available in the introspection data./+-}+repoDevInoCacheRef ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    RepoDevInoCache+    -> m RepoDevInoCache+repoDevInoCacheRef cache = liftIO $ do+    cache' <- unsafeManagedPtrGetPtr cache+    result <- ostree_repo_devino_cache_ref cache'+    checkUnexpectedReturnNULL "repoDevInoCacheRef" result+    result' <- (wrapBoxed RepoDevInoCache) result+    touchManagedPtr cache+    return result'++#if ENABLE_OVERLOADING+data RepoDevInoCacheRefMethodInfo+instance (signature ~ (m RepoDevInoCache), MonadIO m) => O.MethodInfo RepoDevInoCacheRefMethodInfo RepoDevInoCache signature where+    overloadedMethod _ = repoDevInoCacheRef++#endif++-- method RepoDevInoCache::unref+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "cache", argType = TInterface (Name {namespace = "OSTree", name = "RepoDevInoCache"}), 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 "ostree_repo_devino_cache_unref" ostree_repo_devino_cache_unref :: +    Ptr RepoDevInoCache ->                  -- cache : TInterface (Name {namespace = "OSTree", name = "RepoDevInoCache"})+    IO ()++{- |+/No description available in the introspection data./+-}+repoDevInoCacheUnref ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    RepoDevInoCache+    -> m ()+repoDevInoCacheUnref cache = liftIO $ do+    cache' <- unsafeManagedPtrGetPtr cache+    ostree_repo_devino_cache_unref cache'+    touchManagedPtr cache+    return ()++#if ENABLE_OVERLOADING+data RepoDevInoCacheUnrefMethodInfo+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo RepoDevInoCacheUnrefMethodInfo RepoDevInoCache signature where+    overloadedMethod _ = repoDevInoCacheUnref++#endif++#if ENABLE_OVERLOADING+type family ResolveRepoDevInoCacheMethod (t :: Symbol) (o :: *) :: * where+    ResolveRepoDevInoCacheMethod "ref" o = RepoDevInoCacheRefMethodInfo+    ResolveRepoDevInoCacheMethod "unref" o = RepoDevInoCacheUnrefMethodInfo+    ResolveRepoDevInoCacheMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRepoDevInoCacheMethod t RepoDevInoCache, O.MethodInfo info RepoDevInoCache p) => OL.IsLabel t (RepoDevInoCache -> 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/OSTree/Structs/RepoDevInoCache.hs-boot view
@@ -0,0 +1,32 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.RepoDevInoCache 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 RepoDevInoCache = RepoDevInoCache (ManagedPtr RepoDevInoCache)+instance BoxedObject RepoDevInoCache where+#if ENABLE_OVERLOADING+data RepoDevInoCacheRefMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoDevInoCacheUnrefMethodInfo+#endif
+ GI/OSTree/Structs/RepoFileEnumerator.hs view
@@ -0,0 +1,77 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++/No description available in the introspection data./+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.OSTree.Structs.RepoFileEnumerator+    ( ++-- * Exported types+    RepoFileEnumerator(..)                  ,+    noRepoFileEnumerator                    ,+++    ) 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 RepoFileEnumerator = RepoFileEnumerator (ManagedPtr RepoFileEnumerator)+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?+instance WrappedPtr RepoFileEnumerator where+    wrappedPtrCalloc = return nullPtr+    wrappedPtrCopy = return+    wrappedPtrFree = Nothing++-- | A convenience alias for `Nothing` :: `Maybe` `RepoFileEnumerator`.+noRepoFileEnumerator :: Maybe RepoFileEnumerator+noRepoFileEnumerator = Nothing+++#if ENABLE_OVERLOADING+instance O.HasAttributeList RepoFileEnumerator+type instance O.AttributeList RepoFileEnumerator = RepoFileEnumeratorAttributeList+type RepoFileEnumeratorAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveRepoFileEnumeratorMethod (t :: Symbol) (o :: *) :: * where+    ResolveRepoFileEnumeratorMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRepoFileEnumeratorMethod t RepoFileEnumerator, O.MethodInfo info RepoFileEnumerator p) => OL.IsLabel t (RepoFileEnumerator -> 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/OSTree/Structs/RepoFileEnumerator.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.RepoFileEnumerator 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 RepoFileEnumerator = RepoFileEnumerator (ManagedPtr RepoFileEnumerator)+instance WrappedPtr RepoFileEnumerator where
+ GI/OSTree/Structs/RepoFinderResult.hs view
@@ -0,0 +1,565 @@+++{- |+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.OSTree.Structs.RepoFinderResult.RepoFinderResult' gives a single result from an+'GI.OSTree.Interfaces.RepoFinder.repoFinderResolveAsync' or 'GI.OSTree.Functions.repoFinderResolveAllAsync'+operation. This represents a single remote which provides none, some or all+of the refs being resolved. The structure includes various bits of metadata+which allow 'GI.OSTree.Objects.Repo.repoPullFromRemotesAsync' (for example) to prioritise+how to pull the refs.++The /@priority@/ is used as one input of many to ordering functions like+'GI.OSTree.Structs.RepoFinderResult.repoFinderResultCompare'.++/@refToChecksum@/ indicates which refs (out of the ones queried for as inputs+to 'GI.OSTree.Interfaces.RepoFinder.repoFinderResolveAsync') are provided by this remote. The refs+are present as keys (of type 'GI.OSTree.Structs.CollectionRef.CollectionRef'), and the corresponding values+are the checksums of the commits the remote currently has for those refs. (These+might not be the latest commits available out of all results.) A+checksum may be 'Nothing' if the remote does not advertise the corresponding ref.+After 'GI.OSTree.Interfaces.RepoFinder.repoFinderResolveAsync' has been called, the commit metadata+should be available locally, so the details for each checksum can be looked+up using 'GI.OSTree.Objects.Repo.repoLoadCommit'.++/@refToTimestamp@/ provides timestamps for the set of refs in+/@refToChecksum@/. The refs are keys (of type 'GI.OSTree.Structs.CollectionRef.CollectionRef') and the+values are guint64 pointers with the timestamp associated with the checksum+provided in /@refToChecksum@/. /@refToTimestamp@/ can be 'Nothing', and when it\'s+not, the timestamps are zero when any of the following conditions are met:+(1) the override-commit-ids option was used on+ostree_repo_find_remotes_async (2) there was an error in trying to get the+commit metadata (3) the checksum for this ref is 'Nothing' in /@refToChecksum@/.++/Since: 2018.6/+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.OSTree.Structs.RepoFinderResult+    ( ++-- * Exported types+    RepoFinderResult(..)                    ,+    newZeroRepoFinderResult                 ,+    noRepoFinderResult                      ,+++ -- * Methods+-- ** compare #method:compare#++#if ENABLE_OVERLOADING+    RepoFinderResultCompareMethodInfo       ,+#endif+    repoFinderResultCompare                 ,+++-- ** dup #method:dup#++#if ENABLE_OVERLOADING+    RepoFinderResultDupMethodInfo           ,+#endif+    repoFinderResultDup                     ,+++-- ** free #method:free#++#if ENABLE_OVERLOADING+    RepoFinderResultFreeMethodInfo          ,+#endif+    repoFinderResultFree                    ,+++-- ** freev #method:freev#++    repoFinderResultFreev                   ,+++++ -- * Properties+-- ** finder #attr:finder#+{- | the 'GI.OSTree.Interfaces.RepoFinder.RepoFinder' instance which produced this result+-}+    clearRepoFinderResultFinder             ,+    getRepoFinderResultFinder               ,+#if ENABLE_OVERLOADING+    repoFinderResult_finder                 ,+#endif+    setRepoFinderResultFinder               ,+++-- ** priority #attr:priority#+{- | static priority of the result, where higher numbers indicate lower+   priority+-}+    getRepoFinderResultPriority             ,+#if ENABLE_OVERLOADING+    repoFinderResult_priority               ,+#endif+    setRepoFinderResultPriority             ,+++-- ** remote #attr:remote#+{- | 'GI.OSTree.Structs.Remote.Remote' which contains the transport details for the result,+   such as its URI and GPG key+-}+    clearRepoFinderResultRemote             ,+    getRepoFinderResultRemote               ,+#if ENABLE_OVERLOADING+    repoFinderResult_remote                 ,+#endif+    setRepoFinderResultRemote               ,+++-- ** summaryLastModified #attr:summaryLastModified#+{- | Unix timestamp (seconds since the epoch, UTC) when+   the summary file on the remote was last modified, or @0@ if unknown+-}+    getRepoFinderResultSummaryLastModified  ,+#if ENABLE_OVERLOADING+    repoFinderResult_summaryLastModified    ,+#endif+    setRepoFinderResultSummaryLastModified  ,+++++    ) 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.OSTree.Interfaces.RepoFinder as OSTree.RepoFinder+import {-# SOURCE #-} qualified GI.OSTree.Structs.Remote as OSTree.Remote++-- | Memory-managed wrapper type.+newtype RepoFinderResult = RepoFinderResult (ManagedPtr RepoFinderResult)+foreign import ccall "ostree_repo_finder_result_get_type" c_ostree_repo_finder_result_get_type :: +    IO GType++instance BoxedObject RepoFinderResult where+    boxedType _ = c_ostree_repo_finder_result_get_type++-- | Construct a `RepoFinderResult` struct initialized to zero.+newZeroRepoFinderResult :: MonadIO m => m RepoFinderResult+newZeroRepoFinderResult = liftIO $ callocBoxedBytes 72 >>= wrapBoxed RepoFinderResult++instance tag ~ 'AttrSet => Constructible RepoFinderResult tag where+    new _ attrs = do+        o <- newZeroRepoFinderResult+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `RepoFinderResult`.+noRepoFinderResult :: Maybe RepoFinderResult+noRepoFinderResult = Nothing++{- |+Get the value of the “@remote@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoFinderResult #remote+@+-}+getRepoFinderResultRemote :: MonadIO m => RepoFinderResult -> m (Maybe OSTree.Remote.Remote)+getRepoFinderResultRemote s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr OSTree.Remote.Remote)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newBoxed OSTree.Remote.Remote) val'+        return val''+    return result++{- |+Set the value of the “@remote@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoFinderResult [ #remote 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoFinderResultRemote :: MonadIO m => RepoFinderResult -> Ptr OSTree.Remote.Remote -> m ()+setRepoFinderResultRemote s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Ptr OSTree.Remote.Remote)++{- |+Set the value of the “@remote@” 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' #remote+@+-}+clearRepoFinderResultRemote :: MonadIO m => RepoFinderResult -> m ()+clearRepoFinderResultRemote s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr OSTree.Remote.Remote)++#if ENABLE_OVERLOADING+data RepoFinderResultRemoteFieldInfo+instance AttrInfo RepoFinderResultRemoteFieldInfo where+    type AttrAllowedOps RepoFinderResultRemoteFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint RepoFinderResultRemoteFieldInfo = (~) (Ptr OSTree.Remote.Remote)+    type AttrBaseTypeConstraint RepoFinderResultRemoteFieldInfo = (~) RepoFinderResult+    type AttrGetType RepoFinderResultRemoteFieldInfo = Maybe OSTree.Remote.Remote+    type AttrLabel RepoFinderResultRemoteFieldInfo = "remote"+    type AttrOrigin RepoFinderResultRemoteFieldInfo = RepoFinderResult+    attrGet _ = getRepoFinderResultRemote+    attrSet _ = setRepoFinderResultRemote+    attrConstruct = undefined+    attrClear _ = clearRepoFinderResultRemote++repoFinderResult_remote :: AttrLabelProxy "remote"+repoFinderResult_remote = AttrLabelProxy++#endif+++{- |+Get the value of the “@finder@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoFinderResult #finder+@+-}+getRepoFinderResultFinder :: MonadIO m => RepoFinderResult -> m (Maybe OSTree.RepoFinder.RepoFinder)+getRepoFinderResultFinder s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr OSTree.RepoFinder.RepoFinder)+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- (newObject OSTree.RepoFinder.RepoFinder) val'+        return val''+    return result++{- |+Set the value of the “@finder@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoFinderResult [ #finder 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoFinderResultFinder :: MonadIO m => RepoFinderResult -> Ptr OSTree.RepoFinder.RepoFinder -> m ()+setRepoFinderResultFinder s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr OSTree.RepoFinder.RepoFinder)++{- |+Set the value of the “@finder@” 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' #finder+@+-}+clearRepoFinderResultFinder :: MonadIO m => RepoFinderResult -> m ()+clearRepoFinderResultFinder s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr OSTree.RepoFinder.RepoFinder)++#if ENABLE_OVERLOADING+data RepoFinderResultFinderFieldInfo+instance AttrInfo RepoFinderResultFinderFieldInfo where+    type AttrAllowedOps RepoFinderResultFinderFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint RepoFinderResultFinderFieldInfo = (~) (Ptr OSTree.RepoFinder.RepoFinder)+    type AttrBaseTypeConstraint RepoFinderResultFinderFieldInfo = (~) RepoFinderResult+    type AttrGetType RepoFinderResultFinderFieldInfo = Maybe OSTree.RepoFinder.RepoFinder+    type AttrLabel RepoFinderResultFinderFieldInfo = "finder"+    type AttrOrigin RepoFinderResultFinderFieldInfo = RepoFinderResult+    attrGet _ = getRepoFinderResultFinder+    attrSet _ = setRepoFinderResultFinder+    attrConstruct = undefined+    attrClear _ = clearRepoFinderResultFinder++repoFinderResult_finder :: AttrLabelProxy "finder"+repoFinderResult_finder = AttrLabelProxy++#endif+++{- |+Get the value of the “@priority@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoFinderResult #priority+@+-}+getRepoFinderResultPriority :: MonadIO m => RepoFinderResult -> m Int32+getRepoFinderResultPriority s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Int32+    return val++{- |+Set the value of the “@priority@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoFinderResult [ #priority 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoFinderResultPriority :: MonadIO m => RepoFinderResult -> Int32 -> m ()+setRepoFinderResultPriority s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Int32)++#if ENABLE_OVERLOADING+data RepoFinderResultPriorityFieldInfo+instance AttrInfo RepoFinderResultPriorityFieldInfo where+    type AttrAllowedOps RepoFinderResultPriorityFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RepoFinderResultPriorityFieldInfo = (~) Int32+    type AttrBaseTypeConstraint RepoFinderResultPriorityFieldInfo = (~) RepoFinderResult+    type AttrGetType RepoFinderResultPriorityFieldInfo = Int32+    type AttrLabel RepoFinderResultPriorityFieldInfo = "priority"+    type AttrOrigin RepoFinderResultPriorityFieldInfo = RepoFinderResult+    attrGet _ = getRepoFinderResultPriority+    attrSet _ = setRepoFinderResultPriority+    attrConstruct = undefined+    attrClear _ = undefined++repoFinderResult_priority :: AttrLabelProxy "priority"+repoFinderResult_priority = AttrLabelProxy++#endif+++-- XXX Skipped attribute for "RepoFinderResult:ref_to_checksum" :: Not implemented: "GHashTable element of type TInterface (Name {namespace = \"OSTree\", name = \"CollectionRef\"}) unsupported."+{- |+Get the value of the “@summary_last_modified@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoFinderResult #summaryLastModified+@+-}+getRepoFinderResultSummaryLastModified :: MonadIO m => RepoFinderResult -> m Word64+getRepoFinderResultSummaryLastModified s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO Word64+    return val++{- |+Set the value of the “@summary_last_modified@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoFinderResult [ #summaryLastModified 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoFinderResultSummaryLastModified :: MonadIO m => RepoFinderResult -> Word64 -> m ()+setRepoFinderResultSummaryLastModified s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 32) (val :: Word64)++#if ENABLE_OVERLOADING+data RepoFinderResultSummaryLastModifiedFieldInfo+instance AttrInfo RepoFinderResultSummaryLastModifiedFieldInfo where+    type AttrAllowedOps RepoFinderResultSummaryLastModifiedFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RepoFinderResultSummaryLastModifiedFieldInfo = (~) Word64+    type AttrBaseTypeConstraint RepoFinderResultSummaryLastModifiedFieldInfo = (~) RepoFinderResult+    type AttrGetType RepoFinderResultSummaryLastModifiedFieldInfo = Word64+    type AttrLabel RepoFinderResultSummaryLastModifiedFieldInfo = "summary_last_modified"+    type AttrOrigin RepoFinderResultSummaryLastModifiedFieldInfo = RepoFinderResult+    attrGet _ = getRepoFinderResultSummaryLastModified+    attrSet _ = setRepoFinderResultSummaryLastModified+    attrConstruct = undefined+    attrClear _ = undefined++repoFinderResult_summaryLastModified :: AttrLabelProxy "summaryLastModified"+repoFinderResult_summaryLastModified = AttrLabelProxy++#endif+++-- XXX Skipped attribute for "RepoFinderResult:ref_to_timestamp" :: Not implemented: "GHashTable element of type TInterface (Name {namespace = \"OSTree\", name = \"CollectionRef\"}) unsupported."++#if ENABLE_OVERLOADING+instance O.HasAttributeList RepoFinderResult+type instance O.AttributeList RepoFinderResult = RepoFinderResultAttributeList+type RepoFinderResultAttributeList = ('[ '("remote", RepoFinderResultRemoteFieldInfo), '("finder", RepoFinderResultFinderFieldInfo), '("priority", RepoFinderResultPriorityFieldInfo), '("summaryLastModified", RepoFinderResultSummaryLastModifiedFieldInfo)] :: [(Symbol, *)])+#endif++-- XXX Could not generate method RepoFinderResult::new+-- Error was : Not implemented: "GHashTable key of type TInterface (Name {namespace = \"OSTree\", name = \"CollectionRef\"}) unsupported."+-- method RepoFinderResult::compare+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "a", argType = TInterface (Name {namespace = "OSTree", name = "RepoFinderResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRepoFinderResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "b", argType = TInterface (Name {namespace = "OSTree", name = "RepoFinderResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRepoFinderResult", 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 "ostree_repo_finder_result_compare" ostree_repo_finder_result_compare :: +    Ptr RepoFinderResult ->                 -- a : TInterface (Name {namespace = "OSTree", name = "RepoFinderResult"})+    Ptr RepoFinderResult ->                 -- b : TInterface (Name {namespace = "OSTree", name = "RepoFinderResult"})+    IO Int32++{- |+Compare two 'GI.OSTree.Structs.RepoFinderResult.RepoFinderResult' instances to work out which one is better+to pull from, and hence needs to be ordered before the other.++/Since: 2018.6/+-}+repoFinderResultCompare ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    RepoFinderResult+    {- ^ /@a@/: an 'GI.OSTree.Structs.RepoFinderResult.RepoFinderResult' -}+    -> RepoFinderResult+    {- ^ /@b@/: an 'GI.OSTree.Structs.RepoFinderResult.RepoFinderResult' -}+    -> m Int32+    {- ^ __Returns:__ \<0 if /@a@/ is ordered before /@b@/, 0 if they are ordered equally,+   >0 if /@b@/ is ordered before /@a@/ -}+repoFinderResultCompare a b = liftIO $ do+    a' <- unsafeManagedPtrGetPtr a+    b' <- unsafeManagedPtrGetPtr b+    result <- ostree_repo_finder_result_compare a' b'+    touchManagedPtr a+    touchManagedPtr b+    return result++#if ENABLE_OVERLOADING+data RepoFinderResultCompareMethodInfo+instance (signature ~ (RepoFinderResult -> m Int32), MonadIO m) => O.MethodInfo RepoFinderResultCompareMethodInfo RepoFinderResult signature where+    overloadedMethod _ = repoFinderResultCompare++#endif++-- method RepoFinderResult::dup+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "result", argType = TInterface (Name {namespace = "OSTree", name = "RepoFinderResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRepoFinderResult to copy", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]+-- Lengths : []+-- returnType : Just (TInterface (Name {namespace = "OSTree", name = "RepoFinderResult"}))+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_finder_result_dup" ostree_repo_finder_result_dup :: +    Ptr RepoFinderResult ->                 -- result : TInterface (Name {namespace = "OSTree", name = "RepoFinderResult"})+    IO (Ptr RepoFinderResult)++{- |+Copy an 'GI.OSTree.Structs.RepoFinderResult.RepoFinderResult'.++/Since: 2018.6/+-}+repoFinderResultDup ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    RepoFinderResult+    {- ^ /@result@/: an 'GI.OSTree.Structs.RepoFinderResult.RepoFinderResult' to copy -}+    -> m RepoFinderResult+    {- ^ __Returns:__ a newly allocated copy of /@result@/ -}+repoFinderResultDup result_ = liftIO $ do+    result_' <- unsafeManagedPtrGetPtr result_+    result <- ostree_repo_finder_result_dup result_'+    checkUnexpectedReturnNULL "repoFinderResultDup" result+    result' <- (wrapBoxed RepoFinderResult) result+    touchManagedPtr result_+    return result'++#if ENABLE_OVERLOADING+data RepoFinderResultDupMethodInfo+instance (signature ~ (m RepoFinderResult), MonadIO m) => O.MethodInfo RepoFinderResultDupMethodInfo RepoFinderResult signature where+    overloadedMethod _ = repoFinderResultDup++#endif++-- method RepoFinderResult::free+-- method type : OrdinaryMethod+-- Args : [Arg {argCName = "result", argType = TInterface (Name {namespace = "OSTree", name = "RepoFinderResult"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRepoFinderResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_finder_result_free" ostree_repo_finder_result_free :: +    Ptr RepoFinderResult ->                 -- result : TInterface (Name {namespace = "OSTree", name = "RepoFinderResult"})+    IO ()++{- |+Free the given /@result@/.++/Since: 2018.6/+-}+repoFinderResultFree ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    RepoFinderResult+    {- ^ /@result@/: an 'GI.OSTree.Structs.RepoFinderResult.RepoFinderResult' -}+    -> m ()+repoFinderResultFree result_ = liftIO $ do+    result_' <- B.ManagedPtr.disownBoxed result_+    ostree_repo_finder_result_free result_'+    touchManagedPtr result_+    return ()++#if ENABLE_OVERLOADING+data RepoFinderResultFreeMethodInfo+instance (signature ~ (m ()), MonadIO m) => O.MethodInfo RepoFinderResultFreeMethodInfo RepoFinderResult signature where+    overloadedMethod _ = repoFinderResultFree++#endif++-- method RepoFinderResult::freev+-- method type : MemberFunction+-- Args : [Arg {argCName = "results", argType = TCArray True (-1) (-1) (TInterface (Name {namespace = "OSTree", name = "RepoFinderResult"})), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "an #OstreeRepoFinderResult", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]+-- Lengths : []+-- returnType : Nothing+-- throws : False+-- Skip return : False++foreign import ccall "ostree_repo_finder_result_freev" ostree_repo_finder_result_freev :: +    Ptr (Ptr RepoFinderResult) ->           -- results : TCArray True (-1) (-1) (TInterface (Name {namespace = "OSTree", name = "RepoFinderResult"}))+    IO ()++{- |+Free the given /@results@/ array, freeing each element and the container.++/Since: 2018.6/+-}+repoFinderResultFreev ::+    (B.CallStack.HasCallStack, MonadIO m) =>+    [RepoFinderResult]+    {- ^ /@results@/: an 'GI.OSTree.Structs.RepoFinderResult.RepoFinderResult' -}+    -> m ()+repoFinderResultFreev results = liftIO $ do+    results' <- mapM B.ManagedPtr.disownBoxed results+    results'' <- packZeroTerminatedPtrArray results'+    ostree_repo_finder_result_freev results''+    mapM_ touchManagedPtr results+    return ()++#if ENABLE_OVERLOADING+#endif++#if ENABLE_OVERLOADING+type family ResolveRepoFinderResultMethod (t :: Symbol) (o :: *) :: * where+    ResolveRepoFinderResultMethod "compare" o = RepoFinderResultCompareMethodInfo+    ResolveRepoFinderResultMethod "dup" o = RepoFinderResultDupMethodInfo+    ResolveRepoFinderResultMethod "free" o = RepoFinderResultFreeMethodInfo+    ResolveRepoFinderResultMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRepoFinderResultMethod t RepoFinderResult, O.MethodInfo info RepoFinderResult p) => OL.IsLabel t (RepoFinderResult -> 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/OSTree/Structs/RepoFinderResult.hs-boot view
@@ -0,0 +1,35 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.RepoFinderResult 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 RepoFinderResult = RepoFinderResult (ManagedPtr RepoFinderResult)+instance BoxedObject RepoFinderResult where+#if ENABLE_OVERLOADING+data RepoFinderResultCompareMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoFinderResultDupMethodInfo+#endif+#if ENABLE_OVERLOADING+data RepoFinderResultFreeMethodInfo+#endif
+ GI/OSTree/Structs/RepoPruneOptions.hs view
@@ -0,0 +1,226 @@+++{- |+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.OSTree.Structs.RepoPruneOptions+    ( ++-- * Exported types+    RepoPruneOptions(..)                    ,+    newZeroRepoPruneOptions                 ,+    noRepoPruneOptions                      ,+++ -- * Properties+-- ** flags #attr:flags#+{- | /No description available in the introspection data./+-}+    getRepoPruneOptionsFlags                ,+#if ENABLE_OVERLOADING+    repoPruneOptions_flags                  ,+#endif+    setRepoPruneOptionsFlags                ,+++-- ** reachable #attr:reachable#+{- | /No description available in the introspection data./+-}+    clearRepoPruneOptionsReachable          ,+    getRepoPruneOptionsReachable            ,+#if ENABLE_OVERLOADING+    repoPruneOptions_reachable              ,+#endif+    setRepoPruneOptionsReachable            ,+++++    ) 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.OSTree.Enums as OSTree.Enums++-- | Memory-managed wrapper type.+newtype RepoPruneOptions = RepoPruneOptions (ManagedPtr RepoPruneOptions)+instance WrappedPtr RepoPruneOptions where+    wrappedPtrCalloc = callocBytes 120+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 120 >=> wrapPtr RepoPruneOptions)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `RepoPruneOptions` struct initialized to zero.+newZeroRepoPruneOptions :: MonadIO m => m RepoPruneOptions+newZeroRepoPruneOptions = liftIO $ wrappedPtrCalloc >>= wrapPtr RepoPruneOptions++instance tag ~ 'AttrSet => Constructible RepoPruneOptions tag where+    new _ attrs = do+        o <- newZeroRepoPruneOptions+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `RepoPruneOptions`.+noRepoPruneOptions :: Maybe RepoPruneOptions+noRepoPruneOptions = Nothing++{- |+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' repoPruneOptions #flags+@+-}+getRepoPruneOptionsFlags :: MonadIO m => RepoPruneOptions -> m OSTree.Enums.RepoPruneFlags+getRepoPruneOptionsFlags 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 “@flags@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoPruneOptions [ #flags 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoPruneOptionsFlags :: MonadIO m => RepoPruneOptions -> OSTree.Enums.RepoPruneFlags -> m ()+setRepoPruneOptionsFlags s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CUInt)++#if ENABLE_OVERLOADING+data RepoPruneOptionsFlagsFieldInfo+instance AttrInfo RepoPruneOptionsFlagsFieldInfo where+    type AttrAllowedOps RepoPruneOptionsFlagsFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RepoPruneOptionsFlagsFieldInfo = (~) OSTree.Enums.RepoPruneFlags+    type AttrBaseTypeConstraint RepoPruneOptionsFlagsFieldInfo = (~) RepoPruneOptions+    type AttrGetType RepoPruneOptionsFlagsFieldInfo = OSTree.Enums.RepoPruneFlags+    type AttrLabel RepoPruneOptionsFlagsFieldInfo = "flags"+    type AttrOrigin RepoPruneOptionsFlagsFieldInfo = RepoPruneOptions+    attrGet _ = getRepoPruneOptionsFlags+    attrSet _ = setRepoPruneOptionsFlags+    attrConstruct = undefined+    attrClear _ = undefined++repoPruneOptions_flags :: AttrLabelProxy "flags"+repoPruneOptions_flags = AttrLabelProxy++#endif+++{- |+Get the value of the “@reachable@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoPruneOptions #reachable+@+-}+getRepoPruneOptionsReachable :: MonadIO m => RepoPruneOptions -> m (Maybe (Map.Map (Ptr ()) (Ptr ())))+getRepoPruneOptionsReachable s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr (GHashTable (Ptr ()) (Ptr ())))+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- unpackGHashTable val'+        let val''' = mapFirst ptrUnpackPtr val''+        let val'''' = mapSecond ptrUnpackPtr val'''+        let val''''' = Map.fromList val''''+        return val'''''+    return result++{- |+Set the value of the “@reachable@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoPruneOptions [ #reachable 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoPruneOptionsReachable :: MonadIO m => RepoPruneOptions -> Ptr (GHashTable (Ptr ()) (Ptr ())) -> m ()+setRepoPruneOptionsReachable s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr (GHashTable (Ptr ()) (Ptr ())))++{- |+Set the value of the “@reachable@” 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' #reachable+@+-}+clearRepoPruneOptionsReachable :: MonadIO m => RepoPruneOptions -> m ()+clearRepoPruneOptionsReachable s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr (GHashTable (Ptr ()) (Ptr ())))++#if ENABLE_OVERLOADING+data RepoPruneOptionsReachableFieldInfo+instance AttrInfo RepoPruneOptionsReachableFieldInfo where+    type AttrAllowedOps RepoPruneOptionsReachableFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint RepoPruneOptionsReachableFieldInfo = (~) (Ptr (GHashTable (Ptr ()) (Ptr ())))+    type AttrBaseTypeConstraint RepoPruneOptionsReachableFieldInfo = (~) RepoPruneOptions+    type AttrGetType RepoPruneOptionsReachableFieldInfo = Maybe (Map.Map (Ptr ()) (Ptr ()))+    type AttrLabel RepoPruneOptionsReachableFieldInfo = "reachable"+    type AttrOrigin RepoPruneOptionsReachableFieldInfo = RepoPruneOptions+    attrGet _ = getRepoPruneOptionsReachable+    attrSet _ = setRepoPruneOptionsReachable+    attrConstruct = undefined+    attrClear _ = clearRepoPruneOptionsReachable++repoPruneOptions_reachable :: AttrLabelProxy "reachable"+repoPruneOptions_reachable = AttrLabelProxy++#endif+++-- XXX Skipped attribute for "RepoPruneOptions:unused_bools" :: Not implemented: "Don't know how to unpack C array of type TCArray False 6 (-1) (TBasicType TBoolean)"+-- XXX Skipped attribute for "RepoPruneOptions:unused_ints" :: Not implemented: "Don't know how to unpack C array of type TCArray False 6 (-1) (TBasicType TInt)"+-- XXX Skipped attribute for "RepoPruneOptions:unused_ptrs" :: Not implemented: "Don't know how to unpack C array of type TCArray False 7 (-1) (TBasicType TPtr)"++#if ENABLE_OVERLOADING+instance O.HasAttributeList RepoPruneOptions+type instance O.AttributeList RepoPruneOptions = RepoPruneOptionsAttributeList+type RepoPruneOptionsAttributeList = ('[ '("flags", RepoPruneOptionsFlagsFieldInfo), '("reachable", RepoPruneOptionsReachableFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveRepoPruneOptionsMethod (t :: Symbol) (o :: *) :: * where+    ResolveRepoPruneOptionsMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRepoPruneOptionsMethod t RepoPruneOptions, O.MethodInfo info RepoPruneOptions p) => OL.IsLabel t (RepoPruneOptions -> 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/OSTree/Structs/RepoPruneOptions.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.RepoPruneOptions 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 RepoPruneOptions = RepoPruneOptions (ManagedPtr RepoPruneOptions)+instance WrappedPtr RepoPruneOptions where
+ GI/OSTree/Structs/RepoTransactionStats.hs view
@@ -0,0 +1,648 @@+++{- |+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 list of statistics for each transaction that may be+interesting for reporting purposes.+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.OSTree.Structs.RepoTransactionStats+    ( ++-- * Exported types+    RepoTransactionStats(..)                ,+    newZeroRepoTransactionStats             ,+    noRepoTransactionStats                  ,+++ -- * Properties+-- ** contentBytesWritten #attr:contentBytesWritten#+{- | The amount of data added to the repository,+in bytes, counting only content objects.+-}+    getRepoTransactionStatsContentBytesWritten,+#if ENABLE_OVERLOADING+    repoTransactionStats_contentBytesWritten,+#endif+    setRepoTransactionStatsContentBytesWritten,+++-- ** contentObjectsTotal #attr:contentObjectsTotal#+{- | The total number of content objects+in the repository after this transaction has completed.+-}+    getRepoTransactionStatsContentObjectsTotal,+#if ENABLE_OVERLOADING+    repoTransactionStats_contentObjectsTotal,+#endif+    setRepoTransactionStatsContentObjectsTotal,+++-- ** contentObjectsWritten #attr:contentObjectsWritten#+{- | The number of content objects that+were written to the repository in this transaction.+-}+    getRepoTransactionStatsContentObjectsWritten,+#if ENABLE_OVERLOADING+    repoTransactionStats_contentObjectsWritten,+#endif+    setRepoTransactionStatsContentObjectsWritten,+++-- ** devinoCacheHits #attr:devinoCacheHits#+{- | /No description available in the introspection data./+-}+    getRepoTransactionStatsDevinoCacheHits  ,+#if ENABLE_OVERLOADING+    repoTransactionStats_devinoCacheHits    ,+#endif+    setRepoTransactionStatsDevinoCacheHits  ,+++-- ** metadataObjectsTotal #attr:metadataObjectsTotal#+{- | The total number of metadata objects+in the repository after this transaction has completed.+-}+    getRepoTransactionStatsMetadataObjectsTotal,+#if ENABLE_OVERLOADING+    repoTransactionStats_metadataObjectsTotal,+#endif+    setRepoTransactionStatsMetadataObjectsTotal,+++-- ** metadataObjectsWritten #attr:metadataObjectsWritten#+{- | The number of metadata objects that+were written to the repository in this transaction.+-}+    getRepoTransactionStatsMetadataObjectsWritten,+#if ENABLE_OVERLOADING+    repoTransactionStats_metadataObjectsWritten,+#endif+    setRepoTransactionStatsMetadataObjectsWritten,+++-- ** padding1 #attr:padding1#+{- | reserved+-}+    getRepoTransactionStatsPadding1         ,+#if ENABLE_OVERLOADING+    repoTransactionStats_padding1           ,+#endif+    setRepoTransactionStatsPadding1         ,+++-- ** padding2 #attr:padding2#+{- | reserved+-}+    getRepoTransactionStatsPadding2         ,+#if ENABLE_OVERLOADING+    repoTransactionStats_padding2           ,+#endif+    setRepoTransactionStatsPadding2         ,+++-- ** padding3 #attr:padding3#+{- | reserved+-}+    getRepoTransactionStatsPadding3         ,+#if ENABLE_OVERLOADING+    repoTransactionStats_padding3           ,+#endif+    setRepoTransactionStatsPadding3         ,+++-- ** padding4 #attr:padding4#+{- | reserved+-}+    getRepoTransactionStatsPadding4         ,+#if ENABLE_OVERLOADING+    repoTransactionStats_padding4           ,+#endif+    setRepoTransactionStatsPadding4         ,+++++    ) 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 RepoTransactionStats = RepoTransactionStats (ManagedPtr RepoTransactionStats)+foreign import ccall "ostree_repo_transaction_stats_get_type" c_ostree_repo_transaction_stats_get_type :: +    IO GType++instance BoxedObject RepoTransactionStats where+    boxedType _ = c_ostree_repo_transaction_stats_get_type++-- | Construct a `RepoTransactionStats` struct initialized to zero.+newZeroRepoTransactionStats :: MonadIO m => m RepoTransactionStats+newZeroRepoTransactionStats = liftIO $ callocBoxedBytes 56 >>= wrapBoxed RepoTransactionStats++instance tag ~ 'AttrSet => Constructible RepoTransactionStats tag where+    new _ attrs = do+        o <- newZeroRepoTransactionStats+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `RepoTransactionStats`.+noRepoTransactionStats :: Maybe RepoTransactionStats+noRepoTransactionStats = Nothing++{- |+Get the value of the “@metadata_objects_total@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoTransactionStats #metadataObjectsTotal+@+-}+getRepoTransactionStatsMetadataObjectsTotal :: MonadIO m => RepoTransactionStats -> m Word32+getRepoTransactionStatsMetadataObjectsTotal s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO Word32+    return val++{- |+Set the value of the “@metadata_objects_total@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoTransactionStats [ #metadataObjectsTotal 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoTransactionStatsMetadataObjectsTotal :: MonadIO m => RepoTransactionStats -> Word32 -> m ()+setRepoTransactionStatsMetadataObjectsTotal s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Word32)++#if ENABLE_OVERLOADING+data RepoTransactionStatsMetadataObjectsTotalFieldInfo+instance AttrInfo RepoTransactionStatsMetadataObjectsTotalFieldInfo where+    type AttrAllowedOps RepoTransactionStatsMetadataObjectsTotalFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RepoTransactionStatsMetadataObjectsTotalFieldInfo = (~) Word32+    type AttrBaseTypeConstraint RepoTransactionStatsMetadataObjectsTotalFieldInfo = (~) RepoTransactionStats+    type AttrGetType RepoTransactionStatsMetadataObjectsTotalFieldInfo = Word32+    type AttrLabel RepoTransactionStatsMetadataObjectsTotalFieldInfo = "metadata_objects_total"+    type AttrOrigin RepoTransactionStatsMetadataObjectsTotalFieldInfo = RepoTransactionStats+    attrGet _ = getRepoTransactionStatsMetadataObjectsTotal+    attrSet _ = setRepoTransactionStatsMetadataObjectsTotal+    attrConstruct = undefined+    attrClear _ = undefined++repoTransactionStats_metadataObjectsTotal :: AttrLabelProxy "metadataObjectsTotal"+repoTransactionStats_metadataObjectsTotal = AttrLabelProxy++#endif+++{- |+Get the value of the “@metadata_objects_written@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoTransactionStats #metadataObjectsWritten+@+-}+getRepoTransactionStatsMetadataObjectsWritten :: MonadIO m => RepoTransactionStats -> m Word32+getRepoTransactionStatsMetadataObjectsWritten s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 4) :: IO Word32+    return val++{- |+Set the value of the “@metadata_objects_written@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoTransactionStats [ #metadataObjectsWritten 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoTransactionStatsMetadataObjectsWritten :: MonadIO m => RepoTransactionStats -> Word32 -> m ()+setRepoTransactionStatsMetadataObjectsWritten s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 4) (val :: Word32)++#if ENABLE_OVERLOADING+data RepoTransactionStatsMetadataObjectsWrittenFieldInfo+instance AttrInfo RepoTransactionStatsMetadataObjectsWrittenFieldInfo where+    type AttrAllowedOps RepoTransactionStatsMetadataObjectsWrittenFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RepoTransactionStatsMetadataObjectsWrittenFieldInfo = (~) Word32+    type AttrBaseTypeConstraint RepoTransactionStatsMetadataObjectsWrittenFieldInfo = (~) RepoTransactionStats+    type AttrGetType RepoTransactionStatsMetadataObjectsWrittenFieldInfo = Word32+    type AttrLabel RepoTransactionStatsMetadataObjectsWrittenFieldInfo = "metadata_objects_written"+    type AttrOrigin RepoTransactionStatsMetadataObjectsWrittenFieldInfo = RepoTransactionStats+    attrGet _ = getRepoTransactionStatsMetadataObjectsWritten+    attrSet _ = setRepoTransactionStatsMetadataObjectsWritten+    attrConstruct = undefined+    attrClear _ = undefined++repoTransactionStats_metadataObjectsWritten :: AttrLabelProxy "metadataObjectsWritten"+repoTransactionStats_metadataObjectsWritten = AttrLabelProxy++#endif+++{- |+Get the value of the “@content_objects_total@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoTransactionStats #contentObjectsTotal+@+-}+getRepoTransactionStatsContentObjectsTotal :: MonadIO m => RepoTransactionStats -> m Word32+getRepoTransactionStatsContentObjectsTotal s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO Word32+    return val++{- |+Set the value of the “@content_objects_total@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoTransactionStats [ #contentObjectsTotal 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoTransactionStatsContentObjectsTotal :: MonadIO m => RepoTransactionStats -> Word32 -> m ()+setRepoTransactionStatsContentObjectsTotal s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Word32)++#if ENABLE_OVERLOADING+data RepoTransactionStatsContentObjectsTotalFieldInfo+instance AttrInfo RepoTransactionStatsContentObjectsTotalFieldInfo where+    type AttrAllowedOps RepoTransactionStatsContentObjectsTotalFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RepoTransactionStatsContentObjectsTotalFieldInfo = (~) Word32+    type AttrBaseTypeConstraint RepoTransactionStatsContentObjectsTotalFieldInfo = (~) RepoTransactionStats+    type AttrGetType RepoTransactionStatsContentObjectsTotalFieldInfo = Word32+    type AttrLabel RepoTransactionStatsContentObjectsTotalFieldInfo = "content_objects_total"+    type AttrOrigin RepoTransactionStatsContentObjectsTotalFieldInfo = RepoTransactionStats+    attrGet _ = getRepoTransactionStatsContentObjectsTotal+    attrSet _ = setRepoTransactionStatsContentObjectsTotal+    attrConstruct = undefined+    attrClear _ = undefined++repoTransactionStats_contentObjectsTotal :: AttrLabelProxy "contentObjectsTotal"+repoTransactionStats_contentObjectsTotal = AttrLabelProxy++#endif+++{- |+Get the value of the “@content_objects_written@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoTransactionStats #contentObjectsWritten+@+-}+getRepoTransactionStatsContentObjectsWritten :: MonadIO m => RepoTransactionStats -> m Word32+getRepoTransactionStatsContentObjectsWritten s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 12) :: IO Word32+    return val++{- |+Set the value of the “@content_objects_written@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoTransactionStats [ #contentObjectsWritten 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoTransactionStatsContentObjectsWritten :: MonadIO m => RepoTransactionStats -> Word32 -> m ()+setRepoTransactionStatsContentObjectsWritten s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 12) (val :: Word32)++#if ENABLE_OVERLOADING+data RepoTransactionStatsContentObjectsWrittenFieldInfo+instance AttrInfo RepoTransactionStatsContentObjectsWrittenFieldInfo where+    type AttrAllowedOps RepoTransactionStatsContentObjectsWrittenFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RepoTransactionStatsContentObjectsWrittenFieldInfo = (~) Word32+    type AttrBaseTypeConstraint RepoTransactionStatsContentObjectsWrittenFieldInfo = (~) RepoTransactionStats+    type AttrGetType RepoTransactionStatsContentObjectsWrittenFieldInfo = Word32+    type AttrLabel RepoTransactionStatsContentObjectsWrittenFieldInfo = "content_objects_written"+    type AttrOrigin RepoTransactionStatsContentObjectsWrittenFieldInfo = RepoTransactionStats+    attrGet _ = getRepoTransactionStatsContentObjectsWritten+    attrSet _ = setRepoTransactionStatsContentObjectsWritten+    attrConstruct = undefined+    attrClear _ = undefined++repoTransactionStats_contentObjectsWritten :: AttrLabelProxy "contentObjectsWritten"+repoTransactionStats_contentObjectsWritten = AttrLabelProxy++#endif+++{- |+Get the value of the “@content_bytes_written@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoTransactionStats #contentBytesWritten+@+-}+getRepoTransactionStatsContentBytesWritten :: MonadIO m => RepoTransactionStats -> m Word64+getRepoTransactionStatsContentBytesWritten s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Word64+    return val++{- |+Set the value of the “@content_bytes_written@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoTransactionStats [ #contentBytesWritten 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoTransactionStatsContentBytesWritten :: MonadIO m => RepoTransactionStats -> Word64 -> m ()+setRepoTransactionStatsContentBytesWritten s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Word64)++#if ENABLE_OVERLOADING+data RepoTransactionStatsContentBytesWrittenFieldInfo+instance AttrInfo RepoTransactionStatsContentBytesWrittenFieldInfo where+    type AttrAllowedOps RepoTransactionStatsContentBytesWrittenFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RepoTransactionStatsContentBytesWrittenFieldInfo = (~) Word64+    type AttrBaseTypeConstraint RepoTransactionStatsContentBytesWrittenFieldInfo = (~) RepoTransactionStats+    type AttrGetType RepoTransactionStatsContentBytesWrittenFieldInfo = Word64+    type AttrLabel RepoTransactionStatsContentBytesWrittenFieldInfo = "content_bytes_written"+    type AttrOrigin RepoTransactionStatsContentBytesWrittenFieldInfo = RepoTransactionStats+    attrGet _ = getRepoTransactionStatsContentBytesWritten+    attrSet _ = setRepoTransactionStatsContentBytesWritten+    attrConstruct = undefined+    attrClear _ = undefined++repoTransactionStats_contentBytesWritten :: AttrLabelProxy "contentBytesWritten"+repoTransactionStats_contentBytesWritten = AttrLabelProxy++#endif+++{- |+Get the value of the “@devino_cache_hits@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoTransactionStats #devinoCacheHits+@+-}+getRepoTransactionStatsDevinoCacheHits :: MonadIO m => RepoTransactionStats -> m Word32+getRepoTransactionStatsDevinoCacheHits s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO Word32+    return val++{- |+Set the value of the “@devino_cache_hits@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoTransactionStats [ #devinoCacheHits 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoTransactionStatsDevinoCacheHits :: MonadIO m => RepoTransactionStats -> Word32 -> m ()+setRepoTransactionStatsDevinoCacheHits s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (val :: Word32)++#if ENABLE_OVERLOADING+data RepoTransactionStatsDevinoCacheHitsFieldInfo+instance AttrInfo RepoTransactionStatsDevinoCacheHitsFieldInfo where+    type AttrAllowedOps RepoTransactionStatsDevinoCacheHitsFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RepoTransactionStatsDevinoCacheHitsFieldInfo = (~) Word32+    type AttrBaseTypeConstraint RepoTransactionStatsDevinoCacheHitsFieldInfo = (~) RepoTransactionStats+    type AttrGetType RepoTransactionStatsDevinoCacheHitsFieldInfo = Word32+    type AttrLabel RepoTransactionStatsDevinoCacheHitsFieldInfo = "devino_cache_hits"+    type AttrOrigin RepoTransactionStatsDevinoCacheHitsFieldInfo = RepoTransactionStats+    attrGet _ = getRepoTransactionStatsDevinoCacheHits+    attrSet _ = setRepoTransactionStatsDevinoCacheHits+    attrConstruct = undefined+    attrClear _ = undefined++repoTransactionStats_devinoCacheHits :: AttrLabelProxy "devinoCacheHits"+repoTransactionStats_devinoCacheHits = AttrLabelProxy++#endif+++{- |+Get the value of the “@padding1@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoTransactionStats #padding1+@+-}+getRepoTransactionStatsPadding1 :: MonadIO m => RepoTransactionStats -> m Word32+getRepoTransactionStatsPadding1 s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 28) :: IO Word32+    return val++{- |+Set the value of the “@padding1@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoTransactionStats [ #padding1 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoTransactionStatsPadding1 :: MonadIO m => RepoTransactionStats -> Word32 -> m ()+setRepoTransactionStatsPadding1 s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 28) (val :: Word32)++#if ENABLE_OVERLOADING+data RepoTransactionStatsPadding1FieldInfo+instance AttrInfo RepoTransactionStatsPadding1FieldInfo where+    type AttrAllowedOps RepoTransactionStatsPadding1FieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RepoTransactionStatsPadding1FieldInfo = (~) Word32+    type AttrBaseTypeConstraint RepoTransactionStatsPadding1FieldInfo = (~) RepoTransactionStats+    type AttrGetType RepoTransactionStatsPadding1FieldInfo = Word32+    type AttrLabel RepoTransactionStatsPadding1FieldInfo = "padding1"+    type AttrOrigin RepoTransactionStatsPadding1FieldInfo = RepoTransactionStats+    attrGet _ = getRepoTransactionStatsPadding1+    attrSet _ = setRepoTransactionStatsPadding1+    attrConstruct = undefined+    attrClear _ = undefined++repoTransactionStats_padding1 :: AttrLabelProxy "padding1"+repoTransactionStats_padding1 = AttrLabelProxy++#endif+++{- |+Get the value of the “@padding2@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoTransactionStats #padding2+@+-}+getRepoTransactionStatsPadding2 :: MonadIO m => RepoTransactionStats -> m Word64+getRepoTransactionStatsPadding2 s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO Word64+    return val++{- |+Set the value of the “@padding2@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoTransactionStats [ #padding2 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoTransactionStatsPadding2 :: MonadIO m => RepoTransactionStats -> Word64 -> m ()+setRepoTransactionStatsPadding2 s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 32) (val :: Word64)++#if ENABLE_OVERLOADING+data RepoTransactionStatsPadding2FieldInfo+instance AttrInfo RepoTransactionStatsPadding2FieldInfo where+    type AttrAllowedOps RepoTransactionStatsPadding2FieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RepoTransactionStatsPadding2FieldInfo = (~) Word64+    type AttrBaseTypeConstraint RepoTransactionStatsPadding2FieldInfo = (~) RepoTransactionStats+    type AttrGetType RepoTransactionStatsPadding2FieldInfo = Word64+    type AttrLabel RepoTransactionStatsPadding2FieldInfo = "padding2"+    type AttrOrigin RepoTransactionStatsPadding2FieldInfo = RepoTransactionStats+    attrGet _ = getRepoTransactionStatsPadding2+    attrSet _ = setRepoTransactionStatsPadding2+    attrConstruct = undefined+    attrClear _ = undefined++repoTransactionStats_padding2 :: AttrLabelProxy "padding2"+repoTransactionStats_padding2 = AttrLabelProxy++#endif+++{- |+Get the value of the “@padding3@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoTransactionStats #padding3+@+-}+getRepoTransactionStatsPadding3 :: MonadIO m => RepoTransactionStats -> m Word64+getRepoTransactionStatsPadding3 s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO Word64+    return val++{- |+Set the value of the “@padding3@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoTransactionStats [ #padding3 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoTransactionStatsPadding3 :: MonadIO m => RepoTransactionStats -> Word64 -> m ()+setRepoTransactionStatsPadding3 s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 40) (val :: Word64)++#if ENABLE_OVERLOADING+data RepoTransactionStatsPadding3FieldInfo+instance AttrInfo RepoTransactionStatsPadding3FieldInfo where+    type AttrAllowedOps RepoTransactionStatsPadding3FieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RepoTransactionStatsPadding3FieldInfo = (~) Word64+    type AttrBaseTypeConstraint RepoTransactionStatsPadding3FieldInfo = (~) RepoTransactionStats+    type AttrGetType RepoTransactionStatsPadding3FieldInfo = Word64+    type AttrLabel RepoTransactionStatsPadding3FieldInfo = "padding3"+    type AttrOrigin RepoTransactionStatsPadding3FieldInfo = RepoTransactionStats+    attrGet _ = getRepoTransactionStatsPadding3+    attrSet _ = setRepoTransactionStatsPadding3+    attrConstruct = undefined+    attrClear _ = undefined++repoTransactionStats_padding3 :: AttrLabelProxy "padding3"+repoTransactionStats_padding3 = AttrLabelProxy++#endif+++{- |+Get the value of the “@padding4@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' repoTransactionStats #padding4+@+-}+getRepoTransactionStatsPadding4 :: MonadIO m => RepoTransactionStats -> m Word64+getRepoTransactionStatsPadding4 s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 48) :: IO Word64+    return val++{- |+Set the value of the “@padding4@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' repoTransactionStats [ #padding4 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRepoTransactionStatsPadding4 :: MonadIO m => RepoTransactionStats -> Word64 -> m ()+setRepoTransactionStatsPadding4 s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 48) (val :: Word64)++#if ENABLE_OVERLOADING+data RepoTransactionStatsPadding4FieldInfo+instance AttrInfo RepoTransactionStatsPadding4FieldInfo where+    type AttrAllowedOps RepoTransactionStatsPadding4FieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RepoTransactionStatsPadding4FieldInfo = (~) Word64+    type AttrBaseTypeConstraint RepoTransactionStatsPadding4FieldInfo = (~) RepoTransactionStats+    type AttrGetType RepoTransactionStatsPadding4FieldInfo = Word64+    type AttrLabel RepoTransactionStatsPadding4FieldInfo = "padding4"+    type AttrOrigin RepoTransactionStatsPadding4FieldInfo = RepoTransactionStats+    attrGet _ = getRepoTransactionStatsPadding4+    attrSet _ = setRepoTransactionStatsPadding4+    attrConstruct = undefined+    attrClear _ = undefined++repoTransactionStats_padding4 :: AttrLabelProxy "padding4"+repoTransactionStats_padding4 = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList RepoTransactionStats+type instance O.AttributeList RepoTransactionStats = RepoTransactionStatsAttributeList+type RepoTransactionStatsAttributeList = ('[ '("metadataObjectsTotal", RepoTransactionStatsMetadataObjectsTotalFieldInfo), '("metadataObjectsWritten", RepoTransactionStatsMetadataObjectsWrittenFieldInfo), '("contentObjectsTotal", RepoTransactionStatsContentObjectsTotalFieldInfo), '("contentObjectsWritten", RepoTransactionStatsContentObjectsWrittenFieldInfo), '("contentBytesWritten", RepoTransactionStatsContentBytesWrittenFieldInfo), '("devinoCacheHits", RepoTransactionStatsDevinoCacheHitsFieldInfo), '("padding1", RepoTransactionStatsPadding1FieldInfo), '("padding2", RepoTransactionStatsPadding2FieldInfo), '("padding3", RepoTransactionStatsPadding3FieldInfo), '("padding4", RepoTransactionStatsPadding4FieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveRepoTransactionStatsMethod (t :: Symbol) (o :: *) :: * where+    ResolveRepoTransactionStatsMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRepoTransactionStatsMethod t RepoTransactionStats, O.MethodInfo info RepoTransactionStats p) => OL.IsLabel t (RepoTransactionStats -> 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/OSTree/Structs/RepoTransactionStats.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.RepoTransactionStats 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 RepoTransactionStats = RepoTransactionStats (ManagedPtr RepoTransactionStats)+instance BoxedObject RepoTransactionStats where
+ GI/OSTree/Structs/RollsumMatches.hs view
@@ -0,0 +1,530 @@+++{- |+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.OSTree.Structs.RollsumMatches+    ( ++-- * Exported types+    RollsumMatches(..)                      ,+    newZeroRollsumMatches                   ,+    noRollsumMatches                        ,+++ -- * Properties+-- ** bufmatches #attr:bufmatches#+{- | /No description available in the introspection data./+-}+    getRollsumMatchesBufmatches             ,+#if ENABLE_OVERLOADING+    rollsumMatches_bufmatches               ,+#endif+    setRollsumMatchesBufmatches             ,+++-- ** crcmatches #attr:crcmatches#+{- | /No description available in the introspection data./+-}+    getRollsumMatchesCrcmatches             ,+#if ENABLE_OVERLOADING+    rollsumMatches_crcmatches               ,+#endif+    setRollsumMatchesCrcmatches             ,+++-- ** fromRollsums #attr:fromRollsums#+{- | /No description available in the introspection data./+-}+    clearRollsumMatchesFromRollsums         ,+    getRollsumMatchesFromRollsums           ,+#if ENABLE_OVERLOADING+    rollsumMatches_fromRollsums             ,+#endif+    setRollsumMatchesFromRollsums           ,+++-- ** matchSize #attr:matchSize#+{- | /No description available in the introspection data./+-}+    getRollsumMatchesMatchSize              ,+#if ENABLE_OVERLOADING+    rollsumMatches_matchSize                ,+#endif+    setRollsumMatchesMatchSize              ,+++-- ** matches #attr:matches#+{- | /No description available in the introspection data./+-}+    clearRollsumMatchesMatches              ,+    getRollsumMatchesMatches                ,+#if ENABLE_OVERLOADING+    rollsumMatches_matches                  ,+#endif+    setRollsumMatchesMatches                ,+++-- ** toRollsums #attr:toRollsums#+{- | /No description available in the introspection data./+-}+    clearRollsumMatchesToRollsums           ,+    getRollsumMatchesToRollsums             ,+#if ENABLE_OVERLOADING+    rollsumMatches_toRollsums               ,+#endif+    setRollsumMatchesToRollsums             ,+++-- ** total #attr:total#+{- | /No description available in the introspection data./+-}+    getRollsumMatchesTotal                  ,+#if ENABLE_OVERLOADING+    rollsumMatches_total                    ,+#endif+    setRollsumMatchesTotal                  ,+++++    ) 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 RollsumMatches = RollsumMatches (ManagedPtr RollsumMatches)+instance WrappedPtr RollsumMatches where+    wrappedPtrCalloc = callocBytes 48+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 48 >=> wrapPtr RollsumMatches)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `RollsumMatches` struct initialized to zero.+newZeroRollsumMatches :: MonadIO m => m RollsumMatches+newZeroRollsumMatches = liftIO $ wrappedPtrCalloc >>= wrapPtr RollsumMatches++instance tag ~ 'AttrSet => Constructible RollsumMatches tag where+    new _ attrs = do+        o <- newZeroRollsumMatches+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `RollsumMatches`.+noRollsumMatches :: Maybe RollsumMatches+noRollsumMatches = Nothing++{- |+Get the value of the “@from_rollsums@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' rollsumMatches #fromRollsums+@+-}+getRollsumMatchesFromRollsums :: MonadIO m => RollsumMatches -> m (Maybe (Map.Map (Ptr ()) (Ptr ())))+getRollsumMatchesFromRollsums s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO (Ptr (GHashTable (Ptr ()) (Ptr ())))+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- unpackGHashTable val'+        let val''' = mapFirst ptrUnpackPtr val''+        let val'''' = mapSecond ptrUnpackPtr val'''+        let val''''' = Map.fromList val''''+        return val'''''+    return result++{- |+Set the value of the “@from_rollsums@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' rollsumMatches [ #fromRollsums 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRollsumMatchesFromRollsums :: MonadIO m => RollsumMatches -> Ptr (GHashTable (Ptr ()) (Ptr ())) -> m ()+setRollsumMatchesFromRollsums s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (val :: Ptr (GHashTable (Ptr ()) (Ptr ())))++{- |+Set the value of the “@from_rollsums@” 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' #fromRollsums+@+-}+clearRollsumMatchesFromRollsums :: MonadIO m => RollsumMatches -> m ()+clearRollsumMatchesFromRollsums s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 0) (FP.nullPtr :: Ptr (GHashTable (Ptr ()) (Ptr ())))++#if ENABLE_OVERLOADING+data RollsumMatchesFromRollsumsFieldInfo+instance AttrInfo RollsumMatchesFromRollsumsFieldInfo where+    type AttrAllowedOps RollsumMatchesFromRollsumsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint RollsumMatchesFromRollsumsFieldInfo = (~) (Ptr (GHashTable (Ptr ()) (Ptr ())))+    type AttrBaseTypeConstraint RollsumMatchesFromRollsumsFieldInfo = (~) RollsumMatches+    type AttrGetType RollsumMatchesFromRollsumsFieldInfo = Maybe (Map.Map (Ptr ()) (Ptr ()))+    type AttrLabel RollsumMatchesFromRollsumsFieldInfo = "from_rollsums"+    type AttrOrigin RollsumMatchesFromRollsumsFieldInfo = RollsumMatches+    attrGet _ = getRollsumMatchesFromRollsums+    attrSet _ = setRollsumMatchesFromRollsums+    attrConstruct = undefined+    attrClear _ = clearRollsumMatchesFromRollsums++rollsumMatches_fromRollsums :: AttrLabelProxy "fromRollsums"+rollsumMatches_fromRollsums = AttrLabelProxy++#endif+++{- |+Get the value of the “@to_rollsums@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' rollsumMatches #toRollsums+@+-}+getRollsumMatchesToRollsums :: MonadIO m => RollsumMatches -> m (Maybe (Map.Map (Ptr ()) (Ptr ())))+getRollsumMatchesToRollsums s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 8) :: IO (Ptr (GHashTable (Ptr ()) (Ptr ())))+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- unpackGHashTable val'+        let val''' = mapFirst ptrUnpackPtr val''+        let val'''' = mapSecond ptrUnpackPtr val'''+        let val''''' = Map.fromList val''''+        return val'''''+    return result++{- |+Set the value of the “@to_rollsums@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' rollsumMatches [ #toRollsums 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRollsumMatchesToRollsums :: MonadIO m => RollsumMatches -> Ptr (GHashTable (Ptr ()) (Ptr ())) -> m ()+setRollsumMatchesToRollsums s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (val :: Ptr (GHashTable (Ptr ()) (Ptr ())))++{- |+Set the value of the “@to_rollsums@” 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' #toRollsums+@+-}+clearRollsumMatchesToRollsums :: MonadIO m => RollsumMatches -> m ()+clearRollsumMatchesToRollsums s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 8) (FP.nullPtr :: Ptr (GHashTable (Ptr ()) (Ptr ())))++#if ENABLE_OVERLOADING+data RollsumMatchesToRollsumsFieldInfo+instance AttrInfo RollsumMatchesToRollsumsFieldInfo where+    type AttrAllowedOps RollsumMatchesToRollsumsFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint RollsumMatchesToRollsumsFieldInfo = (~) (Ptr (GHashTable (Ptr ()) (Ptr ())))+    type AttrBaseTypeConstraint RollsumMatchesToRollsumsFieldInfo = (~) RollsumMatches+    type AttrGetType RollsumMatchesToRollsumsFieldInfo = Maybe (Map.Map (Ptr ()) (Ptr ()))+    type AttrLabel RollsumMatchesToRollsumsFieldInfo = "to_rollsums"+    type AttrOrigin RollsumMatchesToRollsumsFieldInfo = RollsumMatches+    attrGet _ = getRollsumMatchesToRollsums+    attrSet _ = setRollsumMatchesToRollsums+    attrConstruct = undefined+    attrClear _ = clearRollsumMatchesToRollsums++rollsumMatches_toRollsums :: AttrLabelProxy "toRollsums"+rollsumMatches_toRollsums = AttrLabelProxy++#endif+++{- |+Get the value of the “@crcmatches@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' rollsumMatches #crcmatches+@+-}+getRollsumMatchesCrcmatches :: MonadIO m => RollsumMatches -> m Word32+getRollsumMatchesCrcmatches s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 16) :: IO Word32+    return val++{- |+Set the value of the “@crcmatches@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' rollsumMatches [ #crcmatches 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRollsumMatchesCrcmatches :: MonadIO m => RollsumMatches -> Word32 -> m ()+setRollsumMatchesCrcmatches s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 16) (val :: Word32)++#if ENABLE_OVERLOADING+data RollsumMatchesCrcmatchesFieldInfo+instance AttrInfo RollsumMatchesCrcmatchesFieldInfo where+    type AttrAllowedOps RollsumMatchesCrcmatchesFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RollsumMatchesCrcmatchesFieldInfo = (~) Word32+    type AttrBaseTypeConstraint RollsumMatchesCrcmatchesFieldInfo = (~) RollsumMatches+    type AttrGetType RollsumMatchesCrcmatchesFieldInfo = Word32+    type AttrLabel RollsumMatchesCrcmatchesFieldInfo = "crcmatches"+    type AttrOrigin RollsumMatchesCrcmatchesFieldInfo = RollsumMatches+    attrGet _ = getRollsumMatchesCrcmatches+    attrSet _ = setRollsumMatchesCrcmatches+    attrConstruct = undefined+    attrClear _ = undefined++rollsumMatches_crcmatches :: AttrLabelProxy "crcmatches"+rollsumMatches_crcmatches = AttrLabelProxy++#endif+++{- |+Get the value of the “@bufmatches@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' rollsumMatches #bufmatches+@+-}+getRollsumMatchesBufmatches :: MonadIO m => RollsumMatches -> m Word32+getRollsumMatchesBufmatches s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 20) :: IO Word32+    return val++{- |+Set the value of the “@bufmatches@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' rollsumMatches [ #bufmatches 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRollsumMatchesBufmatches :: MonadIO m => RollsumMatches -> Word32 -> m ()+setRollsumMatchesBufmatches s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 20) (val :: Word32)++#if ENABLE_OVERLOADING+data RollsumMatchesBufmatchesFieldInfo+instance AttrInfo RollsumMatchesBufmatchesFieldInfo where+    type AttrAllowedOps RollsumMatchesBufmatchesFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RollsumMatchesBufmatchesFieldInfo = (~) Word32+    type AttrBaseTypeConstraint RollsumMatchesBufmatchesFieldInfo = (~) RollsumMatches+    type AttrGetType RollsumMatchesBufmatchesFieldInfo = Word32+    type AttrLabel RollsumMatchesBufmatchesFieldInfo = "bufmatches"+    type AttrOrigin RollsumMatchesBufmatchesFieldInfo = RollsumMatches+    attrGet _ = getRollsumMatchesBufmatches+    attrSet _ = setRollsumMatchesBufmatches+    attrConstruct = undefined+    attrClear _ = undefined++rollsumMatches_bufmatches :: AttrLabelProxy "bufmatches"+rollsumMatches_bufmatches = AttrLabelProxy++#endif+++{- |+Get the value of the “@total@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' rollsumMatches #total+@+-}+getRollsumMatchesTotal :: MonadIO m => RollsumMatches -> m Word32+getRollsumMatchesTotal s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 24) :: IO Word32+    return val++{- |+Set the value of the “@total@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' rollsumMatches [ #total 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRollsumMatchesTotal :: MonadIO m => RollsumMatches -> Word32 -> m ()+setRollsumMatchesTotal s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 24) (val :: Word32)++#if ENABLE_OVERLOADING+data RollsumMatchesTotalFieldInfo+instance AttrInfo RollsumMatchesTotalFieldInfo where+    type AttrAllowedOps RollsumMatchesTotalFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RollsumMatchesTotalFieldInfo = (~) Word32+    type AttrBaseTypeConstraint RollsumMatchesTotalFieldInfo = (~) RollsumMatches+    type AttrGetType RollsumMatchesTotalFieldInfo = Word32+    type AttrLabel RollsumMatchesTotalFieldInfo = "total"+    type AttrOrigin RollsumMatchesTotalFieldInfo = RollsumMatches+    attrGet _ = getRollsumMatchesTotal+    attrSet _ = setRollsumMatchesTotal+    attrConstruct = undefined+    attrClear _ = undefined++rollsumMatches_total :: AttrLabelProxy "total"+rollsumMatches_total = AttrLabelProxy++#endif+++{- |+Get the value of the “@match_size@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' rollsumMatches #matchSize+@+-}+getRollsumMatchesMatchSize :: MonadIO m => RollsumMatches -> m Word64+getRollsumMatchesMatchSize s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 32) :: IO Word64+    return val++{- |+Set the value of the “@match_size@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' rollsumMatches [ #matchSize 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRollsumMatchesMatchSize :: MonadIO m => RollsumMatches -> Word64 -> m ()+setRollsumMatchesMatchSize s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 32) (val :: Word64)++#if ENABLE_OVERLOADING+data RollsumMatchesMatchSizeFieldInfo+instance AttrInfo RollsumMatchesMatchSizeFieldInfo where+    type AttrAllowedOps RollsumMatchesMatchSizeFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint RollsumMatchesMatchSizeFieldInfo = (~) Word64+    type AttrBaseTypeConstraint RollsumMatchesMatchSizeFieldInfo = (~) RollsumMatches+    type AttrGetType RollsumMatchesMatchSizeFieldInfo = Word64+    type AttrLabel RollsumMatchesMatchSizeFieldInfo = "match_size"+    type AttrOrigin RollsumMatchesMatchSizeFieldInfo = RollsumMatches+    attrGet _ = getRollsumMatchesMatchSize+    attrSet _ = setRollsumMatchesMatchSize+    attrConstruct = undefined+    attrClear _ = undefined++rollsumMatches_matchSize :: AttrLabelProxy "matchSize"+rollsumMatches_matchSize = AttrLabelProxy++#endif+++{- |+Get the value of the “@matches@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' rollsumMatches #matches+@+-}+getRollsumMatchesMatches :: MonadIO m => RollsumMatches -> m (Maybe ([Ptr ()]))+getRollsumMatchesMatches s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 40) :: IO (Ptr (GPtrArray (Ptr ())))+    result <- SP.convertIfNonNull val $ \val' -> do+        val'' <- unpackGPtrArray val'+        return val''+    return result++{- |+Set the value of the “@matches@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' rollsumMatches [ #matches 'Data.GI.Base.Attributes.:=' value ]+@+-}+setRollsumMatchesMatches :: MonadIO m => RollsumMatches -> Ptr (GPtrArray (Ptr ())) -> m ()+setRollsumMatchesMatches s val = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 40) (val :: Ptr (GPtrArray (Ptr ())))++{- |+Set the value of the “@matches@” 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' #matches+@+-}+clearRollsumMatchesMatches :: MonadIO m => RollsumMatches -> m ()+clearRollsumMatchesMatches s = liftIO $ withManagedPtr s $ \ptr -> do+    poke (ptr `plusPtr` 40) (FP.nullPtr :: Ptr (GPtrArray (Ptr ())))++#if ENABLE_OVERLOADING+data RollsumMatchesMatchesFieldInfo+instance AttrInfo RollsumMatchesMatchesFieldInfo where+    type AttrAllowedOps RollsumMatchesMatchesFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]+    type AttrSetTypeConstraint RollsumMatchesMatchesFieldInfo = (~) (Ptr (GPtrArray (Ptr ())))+    type AttrBaseTypeConstraint RollsumMatchesMatchesFieldInfo = (~) RollsumMatches+    type AttrGetType RollsumMatchesMatchesFieldInfo = Maybe ([Ptr ()])+    type AttrLabel RollsumMatchesMatchesFieldInfo = "matches"+    type AttrOrigin RollsumMatchesMatchesFieldInfo = RollsumMatches+    attrGet _ = getRollsumMatchesMatches+    attrSet _ = setRollsumMatchesMatches+    attrConstruct = undefined+    attrClear _ = clearRollsumMatchesMatches++rollsumMatches_matches :: AttrLabelProxy "matches"+rollsumMatches_matches = AttrLabelProxy++#endif++++#if ENABLE_OVERLOADING+instance O.HasAttributeList RollsumMatches+type instance O.AttributeList RollsumMatches = RollsumMatchesAttributeList+type RollsumMatchesAttributeList = ('[ '("fromRollsums", RollsumMatchesFromRollsumsFieldInfo), '("toRollsums", RollsumMatchesToRollsumsFieldInfo), '("crcmatches", RollsumMatchesCrcmatchesFieldInfo), '("bufmatches", RollsumMatchesBufmatchesFieldInfo), '("total", RollsumMatchesTotalFieldInfo), '("matchSize", RollsumMatchesMatchSizeFieldInfo), '("matches", RollsumMatchesMatchesFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveRollsumMatchesMethod (t :: Symbol) (o :: *) :: * where+    ResolveRollsumMatchesMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveRollsumMatchesMethod t RollsumMatches, O.MethodInfo info RollsumMatches p) => OL.IsLabel t (RollsumMatches -> 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/OSTree/Structs/RollsumMatches.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.RollsumMatches 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 RollsumMatches = RollsumMatches (ManagedPtr RollsumMatches)+instance WrappedPtr RollsumMatches where
+ GI/OSTree/Structs/SysrootWriteDeploymentsOpts.hs view
@@ -0,0 +1,151 @@+++{- |+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.OSTree.Structs.SysrootWriteDeploymentsOpts+    ( ++-- * Exported types+    SysrootWriteDeploymentsOpts(..)         ,+    newZeroSysrootWriteDeploymentsOpts      ,+    noSysrootWriteDeploymentsOpts           ,+++ -- * Properties+-- ** doPostclean #attr:doPostclean#+{- | /No description available in the introspection data./+-}+    getSysrootWriteDeploymentsOptsDoPostclean,+    setSysrootWriteDeploymentsOptsDoPostclean,+#if ENABLE_OVERLOADING+    sysrootWriteDeploymentsOpts_doPostclean ,+#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 SysrootWriteDeploymentsOpts = SysrootWriteDeploymentsOpts (ManagedPtr SysrootWriteDeploymentsOpts)+instance WrappedPtr SysrootWriteDeploymentsOpts where+    wrappedPtrCalloc = callocBytes 120+    wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 120 >=> wrapPtr SysrootWriteDeploymentsOpts)+    wrappedPtrFree = Just ptr_to_g_free++-- | Construct a `SysrootWriteDeploymentsOpts` struct initialized to zero.+newZeroSysrootWriteDeploymentsOpts :: MonadIO m => m SysrootWriteDeploymentsOpts+newZeroSysrootWriteDeploymentsOpts = liftIO $ wrappedPtrCalloc >>= wrapPtr SysrootWriteDeploymentsOpts++instance tag ~ 'AttrSet => Constructible SysrootWriteDeploymentsOpts tag where+    new _ attrs = do+        o <- newZeroSysrootWriteDeploymentsOpts+        GI.Attributes.set o attrs+        return o+++-- | A convenience alias for `Nothing` :: `Maybe` `SysrootWriteDeploymentsOpts`.+noSysrootWriteDeploymentsOpts :: Maybe SysrootWriteDeploymentsOpts+noSysrootWriteDeploymentsOpts = Nothing++{- |+Get the value of the “@do_postclean@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.get' sysrootWriteDeploymentsOpts #doPostclean+@+-}+getSysrootWriteDeploymentsOptsDoPostclean :: MonadIO m => SysrootWriteDeploymentsOpts -> m Bool+getSysrootWriteDeploymentsOptsDoPostclean s = liftIO $ withManagedPtr s $ \ptr -> do+    val <- peek (ptr `plusPtr` 0) :: IO CInt+    let val' = (/= 0) val+    return val'++{- |+Set the value of the “@do_postclean@” field.+When <https://github.com/haskell-gi/haskell-gi/wiki/Overloading overloading> is enabled, this is equivalent to++@+'Data.GI.Base.Attributes.set' sysrootWriteDeploymentsOpts [ #doPostclean 'Data.GI.Base.Attributes.:=' value ]+@+-}+setSysrootWriteDeploymentsOptsDoPostclean :: MonadIO m => SysrootWriteDeploymentsOpts -> Bool -> m ()+setSysrootWriteDeploymentsOptsDoPostclean s val = liftIO $ withManagedPtr s $ \ptr -> do+    let val' = (fromIntegral . fromEnum) val+    poke (ptr `plusPtr` 0) (val' :: CInt)++#if ENABLE_OVERLOADING+data SysrootWriteDeploymentsOptsDoPostcleanFieldInfo+instance AttrInfo SysrootWriteDeploymentsOptsDoPostcleanFieldInfo where+    type AttrAllowedOps SysrootWriteDeploymentsOptsDoPostcleanFieldInfo = '[ 'AttrSet, 'AttrGet]+    type AttrSetTypeConstraint SysrootWriteDeploymentsOptsDoPostcleanFieldInfo = (~) Bool+    type AttrBaseTypeConstraint SysrootWriteDeploymentsOptsDoPostcleanFieldInfo = (~) SysrootWriteDeploymentsOpts+    type AttrGetType SysrootWriteDeploymentsOptsDoPostcleanFieldInfo = Bool+    type AttrLabel SysrootWriteDeploymentsOptsDoPostcleanFieldInfo = "do_postclean"+    type AttrOrigin SysrootWriteDeploymentsOptsDoPostcleanFieldInfo = SysrootWriteDeploymentsOpts+    attrGet _ = getSysrootWriteDeploymentsOptsDoPostclean+    attrSet _ = setSysrootWriteDeploymentsOptsDoPostclean+    attrConstruct = undefined+    attrClear _ = undefined++sysrootWriteDeploymentsOpts_doPostclean :: AttrLabelProxy "doPostclean"+sysrootWriteDeploymentsOpts_doPostclean = AttrLabelProxy++#endif+++-- XXX Skipped attribute for "SysrootWriteDeploymentsOpts:unused_bools" :: Not implemented: "Don't know how to unpack C array of type TCArray False 7 (-1) (TBasicType TBoolean)"+-- XXX Skipped attribute for "SysrootWriteDeploymentsOpts:unused_ints" :: Not implemented: "Don't know how to unpack C array of type TCArray False 7 (-1) (TBasicType TInt)"+-- XXX Skipped attribute for "SysrootWriteDeploymentsOpts:unused_ptrs" :: Not implemented: "Don't know how to unpack C array of type TCArray False 7 (-1) (TBasicType TPtr)"++#if ENABLE_OVERLOADING+instance O.HasAttributeList SysrootWriteDeploymentsOpts+type instance O.AttributeList SysrootWriteDeploymentsOpts = SysrootWriteDeploymentsOptsAttributeList+type SysrootWriteDeploymentsOptsAttributeList = ('[ '("doPostclean", SysrootWriteDeploymentsOptsDoPostcleanFieldInfo)] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveSysrootWriteDeploymentsOptsMethod (t :: Symbol) (o :: *) :: * where+    ResolveSysrootWriteDeploymentsOptsMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveSysrootWriteDeploymentsOptsMethod t SysrootWriteDeploymentsOpts, O.MethodInfo info SysrootWriteDeploymentsOpts p) => OL.IsLabel t (SysrootWriteDeploymentsOpts -> 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/OSTree/Structs/SysrootWriteDeploymentsOpts.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.SysrootWriteDeploymentsOpts 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 SysrootWriteDeploymentsOpts = SysrootWriteDeploymentsOpts (ManagedPtr SysrootWriteDeploymentsOpts)+instance WrappedPtr SysrootWriteDeploymentsOpts where
+ GI/OSTree/Structs/TlsCertInteraction.hs view
@@ -0,0 +1,77 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++/No description available in the introspection data./+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.OSTree.Structs.TlsCertInteraction+    ( ++-- * Exported types+    TlsCertInteraction(..)                  ,+    noTlsCertInteraction                    ,+++    ) 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 TlsCertInteraction = TlsCertInteraction (ManagedPtr TlsCertInteraction)+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?+instance WrappedPtr TlsCertInteraction where+    wrappedPtrCalloc = return nullPtr+    wrappedPtrCopy = return+    wrappedPtrFree = Nothing++-- | A convenience alias for `Nothing` :: `Maybe` `TlsCertInteraction`.+noTlsCertInteraction :: Maybe TlsCertInteraction+noTlsCertInteraction = Nothing+++#if ENABLE_OVERLOADING+instance O.HasAttributeList TlsCertInteraction+type instance O.AttributeList TlsCertInteraction = TlsCertInteractionAttributeList+type TlsCertInteractionAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveTlsCertInteractionMethod (t :: Symbol) (o :: *) :: * where+    ResolveTlsCertInteractionMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveTlsCertInteractionMethod t TlsCertInteraction, O.MethodInfo info TlsCertInteraction p) => OL.IsLabel t (TlsCertInteraction -> 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/OSTree/Structs/TlsCertInteraction.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.TlsCertInteraction 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 TlsCertInteraction = TlsCertInteraction (ManagedPtr TlsCertInteraction)+instance WrappedPtr TlsCertInteraction where
+ GI/OSTree/Structs/TlsCertInteractionClass.hs view
@@ -0,0 +1,77 @@+++{- |+Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte+License    : LGPL-2.1+Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc)++/No description available in the introspection data./+-}++#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))++module GI.OSTree.Structs.TlsCertInteractionClass+    ( ++-- * Exported types+    TlsCertInteractionClass(..)             ,+    noTlsCertInteractionClass               ,+++    ) 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 TlsCertInteractionClass = TlsCertInteractionClass (ManagedPtr TlsCertInteractionClass)+-- XXX Wrapping a foreign struct/union with no known destructor or size, leak?+instance WrappedPtr TlsCertInteractionClass where+    wrappedPtrCalloc = return nullPtr+    wrappedPtrCopy = return+    wrappedPtrFree = Nothing++-- | A convenience alias for `Nothing` :: `Maybe` `TlsCertInteractionClass`.+noTlsCertInteractionClass :: Maybe TlsCertInteractionClass+noTlsCertInteractionClass = Nothing+++#if ENABLE_OVERLOADING+instance O.HasAttributeList TlsCertInteractionClass+type instance O.AttributeList TlsCertInteractionClass = TlsCertInteractionClassAttributeList+type TlsCertInteractionClassAttributeList = ('[ ] :: [(Symbol, *)])+#endif++#if ENABLE_OVERLOADING+type family ResolveTlsCertInteractionClassMethod (t :: Symbol) (o :: *) :: * where+    ResolveTlsCertInteractionClassMethod l o = O.MethodResolutionFailed l o++instance (info ~ ResolveTlsCertInteractionClassMethod t TlsCertInteractionClass, O.MethodInfo info TlsCertInteractionClass p) => OL.IsLabel t (TlsCertInteractionClass -> 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/OSTree/Structs/TlsCertInteractionClass.hs-boot view
@@ -0,0 +1,26 @@+#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \+       && !defined(__HADDOCK_VERSION__))+module GI.OSTree.Structs.TlsCertInteractionClass 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 TlsCertInteractionClass = TlsCertInteractionClass (ManagedPtr TlsCertInteractionClass)+instance WrappedPtr TlsCertInteractionClass where
LICENSE view
@@ -1,3 +1,17 @@+The gi-ostree library and included works are provided under the terms of the+GNU Library General Public License (LGPL) version 2.1 with the following+exception:++Static linking of applications or any other source to the gi-ostree library+does not constitute a modified or derivative work and does not require+the author(s) to provide source code for said work, to link against the+shared gi-ostree libraries, or to link their applications against a+user-supplied version of gi-ostree. If you link applications to a modified+version of gi-ostree, then the changes to gi-ostree must be provided under the+terms of the LGPL.++----------------------------------------------------------------------------+                   GNU LESSER GENERAL PUBLIC LICENSE                        Version 2.1, February 1999 
README.md view
@@ -1,6 +1,6 @@ # Documentation Autogenerated documentation for this package can be found at -[https://hackage.haskell.org/package/gi-ostree-1.0.6/docs/GI-OSTree.html](https://hackage.haskell.org/package/gi-ostree-1.0.6/docs/GI-OSTree.html)+[https://hackage.haskell.org/package/gi-ostree-1.0.8/docs/GI-OSTree.html](https://hackage.haskell.org/package/gi-ostree-1.0.8/docs/GI-OSTree.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-ostree.cabal view
@@ -1,33 +1,33 @@ name:                 gi-ostree-version:              1.0.6+version:              1.0.8 synopsis:             OSTree bindings description:          Bindings for OSTree, autogenerated by haskell-gi. homepage:             https://github.com/haskell-gi/haskell-gi license:              LGPL-2.1 license-file:         LICENSE author:               Will Thompson, Iñaki García Etxebarria and Jonas Platte-maintainer:           Iñaki García Etxebarria (garetxe@gmail.com)+maintainer:           Iñaki García Etxebarria (inaki@blueleaf.cc) category:             Bindings build-type:           Custom-cabal-version:        >= 1.24+cabal-version:        1.24  extra-source-files: README.md ChangeLog.md stack.yaml OSTree.overrides  custom-setup-      setup-depends: base >= 4.7 && < 5,+      setup-depends: base >= 4.9 && < 5,                      Cabal >= 1.24,-                     haskell-gi == 0.21.*+                     haskell-gi >= 0.21.0 && < 0.23  library       default-language: Haskell2010-      default-extensions: NoImplicitPrelude, ScopedTypeVariables, CPP, OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts+      default-extensions: NoImplicitPrelude, ScopedTypeVariables, CPP, OverloadedStrings, NegativeLiterals, ConstraintKinds, TypeFamilies, MultiParamTypeClasses, KindSignatures, FlexibleInstances, UndecidableInstances, DataKinds, FlexibleContexts, UndecidableSuperClasses       other-extensions: PatternSynonyms, ViewPatterns       ghc-options: -fno-warn-unused-imports -fno-warn-warnings-deprecations        pkgconfig-depends: ostree-1       build-depends: base >= 4.7 && <5,-                     haskell-gi-base == 0.21.*,-                     haskell-gi == 0.21.*,+                     haskell-gi-base >= 0.21.0 && < 0.23,+                     haskell-gi >= 0.21.0 && < 0.23,                      haskell-gi-overloading < 1.1,                      gi-gio == 2.0.*,                      gi-gobject == 2.0.*,@@ -41,3 +41,56 @@       -- see https://ghc.haskell.org/trac/ghc/ticket/14382       if impl(ghc == 8.2.*)               build-depends: haskell-gi-overloading == 0.0++      exposed-modules: GI.OSTree,+                       GI.OSTree.Callbacks,+                       GI.OSTree.Constants,+                       GI.OSTree.Enums,+                       GI.OSTree.Flags,+                       GI.OSTree.Functions,+                       GI.OSTree.Interfaces,+                       GI.OSTree.Interfaces.RepoFinder,+                       GI.OSTree.Objects,+                       GI.OSTree.Objects.AsyncProgress,+                       GI.OSTree.Objects.BootconfigParser,+                       GI.OSTree.Objects.ChecksumInputStream,+                       GI.OSTree.Objects.Deployment,+                       GI.OSTree.Objects.GpgVerifyResult,+                       GI.OSTree.Objects.MutableTree,+                       GI.OSTree.Objects.Repo,+                       GI.OSTree.Objects.RepoFile,+                       GI.OSTree.Objects.RepoFinderAvahi,+                       GI.OSTree.Objects.RepoFinderConfig,+                       GI.OSTree.Objects.RepoFinderMount,+                       GI.OSTree.Objects.RepoFinderOverride,+                       GI.OSTree.Objects.SePolicy,+                       GI.OSTree.Objects.Sysroot,+                       GI.OSTree.Objects.SysrootUpgrader,+                       GI.OSTree.Structs,+                       GI.OSTree.Structs.Bootloader,+                       GI.OSTree.Structs.BootloaderGrub2,+                       GI.OSTree.Structs.BootloaderInterface,+                       GI.OSTree.Structs.BootloaderSyslinux,+                       GI.OSTree.Structs.BootloaderUboot,+                       GI.OSTree.Structs.CmdPrivateVTable,+                       GI.OSTree.Structs.CollectionRef,+                       GI.OSTree.Structs.DiffDirsOptions,+                       GI.OSTree.Structs.DiffItem,+                       GI.OSTree.Structs.GpgVerifier,+                       GI.OSTree.Structs.LibarchiveInputStream,+                       GI.OSTree.Structs.LzmaCompressor,+                       GI.OSTree.Structs.LzmaDecompressor,+                       GI.OSTree.Structs.MutableTreeIter,+                       GI.OSTree.Structs.Remote,+                       GI.OSTree.Structs.RepoCheckoutAtOptions,+                       GI.OSTree.Structs.RepoCommitModifier,+                       GI.OSTree.Structs.RepoCommitTraverseIter,+                       GI.OSTree.Structs.RepoDevInoCache,+                       GI.OSTree.Structs.RepoFileEnumerator,+                       GI.OSTree.Structs.RepoFinderResult,+                       GI.OSTree.Structs.RepoPruneOptions,+                       GI.OSTree.Structs.RepoTransactionStats,+                       GI.OSTree.Structs.RollsumMatches,+                       GI.OSTree.Structs.SysrootWriteDeploymentsOpts,+                       GI.OSTree.Structs.TlsCertInteraction,+                       GI.OSTree.Structs.TlsCertInteractionClass
stack.yaml view
@@ -1,3 +1,3 @@ packages: - '.'-resolver: lts-9.21+resolver: lts-13.7