#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.OSTree.Objects.SysrootUpgrader
(
SysrootUpgrader(..) ,
IsSysrootUpgrader ,
toSysrootUpgrader ,
noSysrootUpgrader ,
sysrootUpgraderCheckTimestamps ,
#if ENABLE_OVERLOADING
SysrootUpgraderDeployMethodInfo ,
#endif
sysrootUpgraderDeploy ,
#if ENABLE_OVERLOADING
SysrootUpgraderDupOriginMethodInfo ,
#endif
sysrootUpgraderDupOrigin ,
#if ENABLE_OVERLOADING
SysrootUpgraderGetOriginMethodInfo ,
#endif
sysrootUpgraderGetOrigin ,
#if ENABLE_OVERLOADING
SysrootUpgraderGetOriginDescriptionMethodInfo,
#endif
sysrootUpgraderGetOriginDescription ,
sysrootUpgraderNew ,
sysrootUpgraderNewForOs ,
sysrootUpgraderNewForOsWithFlags ,
#if ENABLE_OVERLOADING
SysrootUpgraderPullMethodInfo ,
#endif
sysrootUpgraderPull ,
#if ENABLE_OVERLOADING
SysrootUpgraderPullOneDirMethodInfo ,
#endif
sysrootUpgraderPullOneDir ,
#if ENABLE_OVERLOADING
SysrootUpgraderSetOriginMethodInfo ,
#endif
sysrootUpgraderSetOrigin ,
#if ENABLE_OVERLOADING
SysrootUpgraderFlagsPropertyInfo ,
#endif
constructSysrootUpgraderFlags ,
getSysrootUpgraderFlags ,
#if ENABLE_OVERLOADING
sysrootUpgraderFlags ,
#endif
#if ENABLE_OVERLOADING
SysrootUpgraderOsnamePropertyInfo ,
#endif
constructSysrootUpgraderOsname ,
getSysrootUpgraderOsname ,
#if ENABLE_OVERLOADING
sysrootUpgraderOsname ,
#endif
#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
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
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]
toSysrootUpgrader :: (MonadIO m, IsSysrootUpgrader o) => o -> m SysrootUpgrader
toSysrootUpgrader = liftIO . unsafeCastTo 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 "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
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
getSysrootUpgraderFlags :: (MonadIO m, IsSysrootUpgrader o) => o -> m [OSTree.Flags.SysrootUpgraderFlags]
getSysrootUpgraderFlags obj = liftIO $ B.Properties.getObjectPropertyFlags obj "flags"
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
getSysrootUpgraderOsname :: (MonadIO m, IsSysrootUpgrader o) => o -> m (Maybe T.Text)
getSysrootUpgraderOsname obj = liftIO $ B.Properties.getObjectPropertyString obj "osname"
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
getSysrootUpgraderSysroot :: (MonadIO m, IsSysrootUpgrader o) => o -> m (Maybe OSTree.Sysroot.Sysroot)
getSysrootUpgraderSysroot obj = liftIO $ B.Properties.getObjectPropertyObject obj "sysroot" OSTree.Sysroot.Sysroot
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
foreign import ccall "ostree_sysroot_upgrader_new" ostree_sysroot_upgrader_new ::
Ptr OSTree.Sysroot.Sysroot ->
Ptr Gio.Cancellable.Cancellable ->
Ptr (Ptr GError) ->
IO (Ptr SysrootUpgrader)
sysrootUpgraderNew ::
(B.CallStack.HasCallStack, MonadIO m, OSTree.Sysroot.IsSysroot a, Gio.Cancellable.IsCancellable b) =>
a
-> Maybe (b)
-> m SysrootUpgrader
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
foreign import ccall "ostree_sysroot_upgrader_new_for_os" ostree_sysroot_upgrader_new_for_os ::
Ptr OSTree.Sysroot.Sysroot ->
CString ->
Ptr Gio.Cancellable.Cancellable ->
Ptr (Ptr GError) ->
IO (Ptr SysrootUpgrader)
sysrootUpgraderNewForOs ::
(B.CallStack.HasCallStack, MonadIO m, OSTree.Sysroot.IsSysroot a, Gio.Cancellable.IsCancellable b) =>
a
-> Maybe (T.Text)
-> Maybe (b)
-> m SysrootUpgrader
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
foreign import ccall "ostree_sysroot_upgrader_new_for_os_with_flags" ostree_sysroot_upgrader_new_for_os_with_flags ::
Ptr OSTree.Sysroot.Sysroot ->
CString ->
CUInt ->
Ptr Gio.Cancellable.Cancellable ->
Ptr (Ptr GError) ->
IO (Ptr SysrootUpgrader)
sysrootUpgraderNewForOsWithFlags ::
(B.CallStack.HasCallStack, MonadIO m, OSTree.Sysroot.IsSysroot a, Gio.Cancellable.IsCancellable b) =>
a
-> Maybe (T.Text)
-> [OSTree.Flags.SysrootUpgraderFlags]
-> Maybe (b)
-> m SysrootUpgrader
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
foreign import ccall "ostree_sysroot_upgrader_deploy" ostree_sysroot_upgrader_deploy ::
Ptr SysrootUpgrader ->
Ptr Gio.Cancellable.Cancellable ->
Ptr (Ptr GError) ->
IO CInt
sysrootUpgraderDeploy ::
(B.CallStack.HasCallStack, MonadIO m, IsSysrootUpgrader a, Gio.Cancellable.IsCancellable b) =>
a
-> Maybe (b)
-> m ()
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
foreign import ccall "ostree_sysroot_upgrader_dup_origin" ostree_sysroot_upgrader_dup_origin ::
Ptr SysrootUpgrader ->
IO (Ptr GLib.KeyFile.KeyFile)
sysrootUpgraderDupOrigin ::
(B.CallStack.HasCallStack, MonadIO m, IsSysrootUpgrader a) =>
a
-> m GLib.KeyFile.KeyFile
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
foreign import ccall "ostree_sysroot_upgrader_get_origin" ostree_sysroot_upgrader_get_origin ::
Ptr SysrootUpgrader ->
IO (Ptr GLib.KeyFile.KeyFile)
sysrootUpgraderGetOrigin ::
(B.CallStack.HasCallStack, MonadIO m, IsSysrootUpgrader a) =>
a
-> m GLib.KeyFile.KeyFile
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
foreign import ccall "ostree_sysroot_upgrader_get_origin_description" ostree_sysroot_upgrader_get_origin_description ::
Ptr SysrootUpgrader ->
IO CString
sysrootUpgraderGetOriginDescription ::
(B.CallStack.HasCallStack, MonadIO m, IsSysrootUpgrader a) =>
a
-> m T.Text
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
foreign import ccall "ostree_sysroot_upgrader_pull" ostree_sysroot_upgrader_pull ::
Ptr SysrootUpgrader ->
CUInt ->
CUInt ->
Ptr OSTree.AsyncProgress.AsyncProgress ->
Ptr CInt ->
Ptr Gio.Cancellable.Cancellable ->
Ptr (Ptr GError) ->
IO CInt
sysrootUpgraderPull ::
(B.CallStack.HasCallStack, MonadIO m, IsSysrootUpgrader a, OSTree.AsyncProgress.IsAsyncProgress b, Gio.Cancellable.IsCancellable c) =>
a
-> [OSTree.Flags.RepoPullFlags]
-> [OSTree.Flags.SysrootUpgraderPullFlags]
-> Maybe (b)
-> Maybe (c)
-> m (Bool)
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
foreign import ccall "ostree_sysroot_upgrader_pull_one_dir" ostree_sysroot_upgrader_pull_one_dir ::
Ptr SysrootUpgrader ->
CString ->
CUInt ->
CUInt ->
Ptr OSTree.AsyncProgress.AsyncProgress ->
Ptr CInt ->
Ptr Gio.Cancellable.Cancellable ->
Ptr (Ptr GError) ->
IO CInt
sysrootUpgraderPullOneDir ::
(B.CallStack.HasCallStack, MonadIO m, IsSysrootUpgrader a, OSTree.AsyncProgress.IsAsyncProgress b, Gio.Cancellable.IsCancellable c) =>
a
-> T.Text
-> [OSTree.Flags.RepoPullFlags]
-> [OSTree.Flags.SysrootUpgraderPullFlags]
-> Maybe (b)
-> Maybe (c)
-> m (Bool)
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
foreign import ccall "ostree_sysroot_upgrader_set_origin" ostree_sysroot_upgrader_set_origin ::
Ptr SysrootUpgrader ->
Ptr GLib.KeyFile.KeyFile ->
Ptr Gio.Cancellable.Cancellable ->
Ptr (Ptr GError) ->
IO CInt
sysrootUpgraderSetOrigin ::
(B.CallStack.HasCallStack, MonadIO m, IsSysrootUpgrader a, Gio.Cancellable.IsCancellable b) =>
a
-> Maybe (GLib.KeyFile.KeyFile)
-> Maybe (b)
-> m ()
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
foreign import ccall "ostree_sysroot_upgrader_check_timestamps" ostree_sysroot_upgrader_check_timestamps ::
Ptr OSTree.Repo.Repo ->
CString ->
CString ->
Ptr (Ptr GError) ->
IO CInt
sysrootUpgraderCheckTimestamps ::
(B.CallStack.HasCallStack, MonadIO m, OSTree.Repo.IsRepo a) =>
a
-> T.Text
-> T.Text
-> m ()
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