module GI.OSTree.Objects.SysrootUpgrader
(
SysrootUpgrader(..) ,
IsSysrootUpgrader ,
toSysrootUpgrader ,
noSysrootUpgrader ,
sysrootUpgraderCheckTimestamps ,
SysrootUpgraderDeployMethodInfo ,
sysrootUpgraderDeploy ,
SysrootUpgraderDupOriginMethodInfo ,
sysrootUpgraderDupOrigin ,
SysrootUpgraderGetOriginMethodInfo ,
sysrootUpgraderGetOrigin ,
SysrootUpgraderGetOriginDescriptionMethodInfo,
sysrootUpgraderGetOriginDescription ,
sysrootUpgraderNew ,
sysrootUpgraderNewForOs ,
sysrootUpgraderNewForOsWithFlags ,
SysrootUpgraderPullMethodInfo ,
sysrootUpgraderPull ,
SysrootUpgraderPullOneDirMethodInfo ,
sysrootUpgraderPullOneDir ,
SysrootUpgraderSetOriginMethodInfo ,
sysrootUpgraderSetOrigin ,
SysrootUpgraderFlagsPropertyInfo ,
constructSysrootUpgraderFlags ,
getSysrootUpgraderFlags ,
sysrootUpgraderFlags ,
SysrootUpgraderOsnamePropertyInfo ,
constructSysrootUpgraderOsname ,
getSysrootUpgraderOsname ,
sysrootUpgraderOsname ,
SysrootUpgraderSysrootPropertyInfo ,
constructSysrootUpgraderSysroot ,
getSysrootUpgraderSysroot ,
sysrootUpgraderSysroot ,
) 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.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
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 qualified GI.OSTree.Flags as OSTree.Flags
import qualified GI.OSTree.Objects.AsyncProgress as OSTree.AsyncProgress
import qualified GI.OSTree.Objects.Repo as OSTree.Repo
import 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 => IsSysrootUpgrader o
#if MIN_VERSION_base(4,9,0)
instance (GObject a, O.UnknownAncestorError SysrootUpgrader a) =>
IsSysrootUpgrader a
#endif
instance IsSysrootUpgrader SysrootUpgrader
instance GObject.Object.IsObject SysrootUpgrader
instance Gio.Initable.IsInitable SysrootUpgrader
toSysrootUpgrader :: IsSysrootUpgrader o => o -> IO SysrootUpgrader
toSysrootUpgrader = unsafeCastTo SysrootUpgrader
noSysrootUpgrader :: Maybe SysrootUpgrader
noSysrootUpgrader = Nothing
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 "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 "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
ResolveSysrootUpgraderMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
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) => O.IsLabelProxy t (SysrootUpgrader -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveSysrootUpgraderMethod t SysrootUpgrader, O.MethodInfo info SysrootUpgrader p) => O.IsLabel t (SysrootUpgrader -> p) where
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
getSysrootUpgraderFlags :: (MonadIO m, IsSysrootUpgrader o) => o -> m [OSTree.Flags.SysrootUpgraderFlags]
getSysrootUpgraderFlags obj = liftIO $ getObjectPropertyFlags obj "flags"
constructSysrootUpgraderFlags :: (IsSysrootUpgrader o) => [OSTree.Flags.SysrootUpgraderFlags] -> IO (GValueConstruct o)
constructSysrootUpgraderFlags val = constructObjectPropertyFlags "flags" val
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
getSysrootUpgraderOsname :: (MonadIO m, IsSysrootUpgrader o) => o -> m (Maybe T.Text)
getSysrootUpgraderOsname obj = liftIO $ getObjectPropertyString obj "osname"
constructSysrootUpgraderOsname :: (IsSysrootUpgrader o) => T.Text -> IO (GValueConstruct o)
constructSysrootUpgraderOsname val = constructObjectPropertyString "osname" (Just val)
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
getSysrootUpgraderSysroot :: (MonadIO m, IsSysrootUpgrader o) => o -> m (Maybe OSTree.Sysroot.Sysroot)
getSysrootUpgraderSysroot obj = liftIO $ getObjectPropertyObject obj "sysroot" OSTree.Sysroot.Sysroot
constructSysrootUpgraderSysroot :: (IsSysrootUpgrader o, OSTree.Sysroot.IsSysroot a) => a -> IO (GValueConstruct o)
constructSysrootUpgraderSysroot val = constructObjectPropertyObject "sysroot" (Just val)
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
instance O.HasAttributeList SysrootUpgrader
type instance O.AttributeList SysrootUpgrader = SysrootUpgraderAttributeList
type SysrootUpgraderAttributeList = ('[ '("flags", SysrootUpgraderFlagsPropertyInfo), '("osname", SysrootUpgraderOsnamePropertyInfo), '("sysroot", SysrootUpgraderSysrootPropertyInfo)] :: [(Symbol, *)])
sysrootUpgraderFlags :: AttrLabelProxy "flags"
sysrootUpgraderFlags = AttrLabelProxy
sysrootUpgraderOsname :: AttrLabelProxy "osname"
sysrootUpgraderOsname = AttrLabelProxy
sysrootUpgraderSysroot :: AttrLabelProxy "sysroot"
sysrootUpgraderSysroot = AttrLabelProxy
type instance O.SignalList SysrootUpgrader = SysrootUpgraderSignalList
type SysrootUpgraderSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
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 ()
)
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
)
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
)
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 ()
)
data SysrootUpgraderDeployMethodInfo
instance (signature ~ (Maybe (b) -> m ()), MonadIO m, IsSysrootUpgrader a, Gio.Cancellable.IsCancellable b) => O.MethodInfo SysrootUpgraderDeployMethodInfo a signature where
overloadedMethod _ = sysrootUpgraderDeploy
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'
data SysrootUpgraderDupOriginMethodInfo
instance (signature ~ (m GLib.KeyFile.KeyFile), MonadIO m, IsSysrootUpgrader a) => O.MethodInfo SysrootUpgraderDupOriginMethodInfo a signature where
overloadedMethod _ = sysrootUpgraderDupOrigin
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'
data SysrootUpgraderGetOriginMethodInfo
instance (signature ~ (m GLib.KeyFile.KeyFile), MonadIO m, IsSysrootUpgrader a) => O.MethodInfo SysrootUpgraderGetOriginMethodInfo a signature where
overloadedMethod _ = sysrootUpgraderGetOrigin
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'
data SysrootUpgraderGetOriginDescriptionMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsSysrootUpgrader a) => O.MethodInfo SysrootUpgraderGetOriginDescriptionMethodInfo a signature where
overloadedMethod _ = sysrootUpgraderGetOriginDescription
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
)
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
foreign import ccall "ostree_sysroot_upgrader_pull_one_dir" ostree_sysroot_upgrader_pull_one_dir ::
Ptr SysrootUpgrader ->
CString ->
CUInt ->
CUInt ->
Ptr OSTree.AsyncProgress.AsyncProgress ->
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]
-> b
-> Bool
-> Maybe (c)
-> m ()
sysrootUpgraderPullOneDir self dirToPull flags upgraderFlags progress outChanged cancellable = liftIO $ do
self' <- unsafeManagedPtrCastPtr self
dirToPull' <- textToCString dirToPull
let flags' = gflagsToWord flags
let upgraderFlags' = gflagsToWord upgraderFlags
progress' <- unsafeManagedPtrCastPtr progress
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_upgrader_pull_one_dir self' dirToPull' flags' upgraderFlags' progress' outChanged' maybeCancellable
touchManagedPtr self
touchManagedPtr progress
whenJust cancellable touchManagedPtr
freeMem dirToPull'
return ()
) (do
freeMem dirToPull'
)
data SysrootUpgraderPullOneDirMethodInfo
instance (signature ~ (T.Text -> [OSTree.Flags.RepoPullFlags] -> [OSTree.Flags.SysrootUpgraderPullFlags] -> b -> Bool -> Maybe (c) -> m ()), MonadIO m, IsSysrootUpgrader a, OSTree.AsyncProgress.IsAsyncProgress b, Gio.Cancellable.IsCancellable c) => O.MethodInfo SysrootUpgraderPullOneDirMethodInfo a signature where
overloadedMethod _ = sysrootUpgraderPullOneDir
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 ()
)
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
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'
)