{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.OSTree.Structs.KernelArgs
(
KernelArgs(..) ,
#if defined(ENABLE_OVERLOADING)
ResolveKernelArgsMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
KernelArgsAppendMethodInfo ,
#endif
kernelArgsAppend ,
#if defined(ENABLE_OVERLOADING)
KernelArgsAppendArgvMethodInfo ,
#endif
kernelArgsAppendArgv ,
#if defined(ENABLE_OVERLOADING)
KernelArgsAppendArgvFilteredMethodInfo ,
#endif
kernelArgsAppendArgvFiltered ,
#if defined(ENABLE_OVERLOADING)
KernelArgsAppendIfMissingMethodInfo ,
#endif
kernelArgsAppendIfMissing ,
#if defined(ENABLE_OVERLOADING)
KernelArgsAppendProcCmdlineMethodInfo ,
#endif
kernelArgsAppendProcCmdline ,
kernelArgsCleanup ,
#if defined(ENABLE_OVERLOADING)
KernelArgsContainsMethodInfo ,
#endif
kernelArgsContains ,
#if defined(ENABLE_OVERLOADING)
KernelArgsDeleteMethodInfo ,
#endif
kernelArgsDelete ,
#if defined(ENABLE_OVERLOADING)
KernelArgsDeleteIfPresentMethodInfo ,
#endif
kernelArgsDeleteIfPresent ,
#if defined(ENABLE_OVERLOADING)
KernelArgsDeleteKeyEntryMethodInfo ,
#endif
kernelArgsDeleteKeyEntry ,
#if defined(ENABLE_OVERLOADING)
KernelArgsFreeMethodInfo ,
#endif
kernelArgsFree ,
#if defined(ENABLE_OVERLOADING)
KernelArgsGetLastValueMethodInfo ,
#endif
kernelArgsGetLastValue ,
#if defined(ENABLE_OVERLOADING)
KernelArgsNewReplaceMethodInfo ,
#endif
kernelArgsNewReplace ,
#if defined(ENABLE_OVERLOADING)
KernelArgsParseAppendMethodInfo ,
#endif
kernelArgsParseAppend ,
#if defined(ENABLE_OVERLOADING)
KernelArgsReplaceMethodInfo ,
#endif
kernelArgsReplace ,
#if defined(ENABLE_OVERLOADING)
KernelArgsReplaceArgvMethodInfo ,
#endif
kernelArgsReplaceArgv ,
#if defined(ENABLE_OVERLOADING)
KernelArgsReplaceTakeMethodInfo ,
#endif
kernelArgsReplaceTake ,
#if defined(ENABLE_OVERLOADING)
KernelArgsToStringMethodInfo ,
#endif
kernelArgsToString ,
#if defined(ENABLE_OVERLOADING)
KernelArgsToStrvMethodInfo ,
#endif
kernelArgsToStrv ,
) 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.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GHashTable as B.GHT
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
import qualified Data.Text as T
import qualified Data.Kind as DK
import 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 GHC.Records as R
import qualified Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT
#if MIN_VERSION_base(4,18,0)
import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable
#else
import qualified GI.Gio.Objects.Cancellable as Gio.Cancellable
#endif
newtype KernelArgs = KernelArgs (SP.ManagedPtr KernelArgs)
deriving (KernelArgs -> KernelArgs -> Bool
(KernelArgs -> KernelArgs -> Bool)
-> (KernelArgs -> KernelArgs -> Bool) -> Eq KernelArgs
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: KernelArgs -> KernelArgs -> Bool
== :: KernelArgs -> KernelArgs -> Bool
$c/= :: KernelArgs -> KernelArgs -> Bool
/= :: KernelArgs -> KernelArgs -> Bool
Eq)
instance SP.ManagedPtrNewtype KernelArgs where
toManagedPtr :: KernelArgs -> ManagedPtr KernelArgs
toManagedPtr (KernelArgs ManagedPtr KernelArgs
p) = ManagedPtr KernelArgs
p
instance BoxedPtr KernelArgs where
boxedPtrCopy :: KernelArgs -> IO KernelArgs
boxedPtrCopy = KernelArgs -> IO KernelArgs
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return
boxedPtrFree :: KernelArgs -> IO ()
boxedPtrFree = \KernelArgs
_x -> () -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList KernelArgs
type instance O.AttributeList KernelArgs = KernelArgsAttributeList
type KernelArgsAttributeList = ('[ ] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "ostree_kernel_args_append" ostree_kernel_args_append ::
Ptr KernelArgs ->
CString ->
IO ()
kernelArgsAppend ::
(B.CallStack.HasCallStack, MonadIO m) =>
KernelArgs
-> T.Text
-> m ()
kernelArgsAppend :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
KernelArgs -> Text -> m ()
kernelArgsAppend KernelArgs
kargs Text
arg = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
kargs' <- KernelArgs -> IO (Ptr KernelArgs)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr KernelArgs
kargs
arg' <- textToCString arg
ostree_kernel_args_append kargs' arg'
touchManagedPtr kargs
freeMem arg'
return ()
#if defined(ENABLE_OVERLOADING)
data KernelArgsAppendMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m) => O.OverloadedMethod KernelArgsAppendMethodInfo KernelArgs signature where
overloadedMethod = kernelArgsAppend
instance O.OverloadedMethodInfo KernelArgsAppendMethodInfo KernelArgs where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.KernelArgs.kernelArgsAppend",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.19/docs/GI-OSTree-Structs-KernelArgs.html#v:kernelArgsAppend"
})
#endif
foreign import ccall "ostree_kernel_args_append_argv" ostree_kernel_args_append_argv ::
Ptr KernelArgs ->
Ptr CString ->
IO ()
kernelArgsAppendArgv ::
(B.CallStack.HasCallStack, MonadIO m) =>
KernelArgs
-> [T.Text]
-> m ()
kernelArgsAppendArgv :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
KernelArgs -> [Text] -> m ()
kernelArgsAppendArgv KernelArgs
kargs [Text]
argv = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
kargs' <- KernelArgs -> IO (Ptr KernelArgs)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr KernelArgs
kargs
argv' <- packZeroTerminatedUTF8CArray argv
ostree_kernel_args_append_argv kargs' argv'
touchManagedPtr kargs
mapZeroTerminatedCArray freeMem argv'
freeMem argv'
return ()
#if defined(ENABLE_OVERLOADING)
data KernelArgsAppendArgvMethodInfo
instance (signature ~ ([T.Text] -> m ()), MonadIO m) => O.OverloadedMethod KernelArgsAppendArgvMethodInfo KernelArgs signature where
overloadedMethod = kernelArgsAppendArgv
instance O.OverloadedMethodInfo KernelArgsAppendArgvMethodInfo KernelArgs where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.KernelArgs.kernelArgsAppendArgv",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.19/docs/GI-OSTree-Structs-KernelArgs.html#v:kernelArgsAppendArgv"
})
#endif
foreign import ccall "ostree_kernel_args_append_argv_filtered" ostree_kernel_args_append_argv_filtered ::
Ptr KernelArgs ->
Ptr CString ->
Ptr CString ->
IO ()
kernelArgsAppendArgvFiltered ::
(B.CallStack.HasCallStack, MonadIO m) =>
KernelArgs
-> [T.Text]
-> [T.Text]
-> m ()
kernelArgsAppendArgvFiltered :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
KernelArgs -> [Text] -> [Text] -> m ()
kernelArgsAppendArgvFiltered KernelArgs
kargs [Text]
argv [Text]
prefixes = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
kargs' <- KernelArgs -> IO (Ptr KernelArgs)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr KernelArgs
kargs
argv' <- packZeroTerminatedUTF8CArray argv
prefixes' <- packZeroTerminatedUTF8CArray prefixes
ostree_kernel_args_append_argv_filtered kargs' argv' prefixes'
touchManagedPtr kargs
mapZeroTerminatedCArray freeMem argv'
freeMem argv'
mapZeroTerminatedCArray freeMem prefixes'
freeMem prefixes'
return ()
#if defined(ENABLE_OVERLOADING)
data KernelArgsAppendArgvFilteredMethodInfo
instance (signature ~ ([T.Text] -> [T.Text] -> m ()), MonadIO m) => O.OverloadedMethod KernelArgsAppendArgvFilteredMethodInfo KernelArgs signature where
overloadedMethod = kernelArgsAppendArgvFiltered
instance O.OverloadedMethodInfo KernelArgsAppendArgvFilteredMethodInfo KernelArgs where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.KernelArgs.kernelArgsAppendArgvFiltered",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.19/docs/GI-OSTree-Structs-KernelArgs.html#v:kernelArgsAppendArgvFiltered"
})
#endif
foreign import ccall "ostree_kernel_args_append_if_missing" ostree_kernel_args_append_if_missing ::
Ptr KernelArgs ->
CString ->
IO ()
kernelArgsAppendIfMissing ::
(B.CallStack.HasCallStack, MonadIO m) =>
KernelArgs
-> T.Text
-> m ()
kernelArgsAppendIfMissing :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
KernelArgs -> Text -> m ()
kernelArgsAppendIfMissing KernelArgs
kargs Text
arg = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
kargs' <- KernelArgs -> IO (Ptr KernelArgs)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr KernelArgs
kargs
arg' <- textToCString arg
ostree_kernel_args_append_if_missing kargs' arg'
touchManagedPtr kargs
freeMem arg'
return ()
#if defined(ENABLE_OVERLOADING)
data KernelArgsAppendIfMissingMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m) => O.OverloadedMethod KernelArgsAppendIfMissingMethodInfo KernelArgs signature where
overloadedMethod = kernelArgsAppendIfMissing
instance O.OverloadedMethodInfo KernelArgsAppendIfMissingMethodInfo KernelArgs where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.KernelArgs.kernelArgsAppendIfMissing",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.19/docs/GI-OSTree-Structs-KernelArgs.html#v:kernelArgsAppendIfMissing"
})
#endif
foreign import ccall "ostree_kernel_args_append_proc_cmdline" ostree_kernel_args_append_proc_cmdline ::
Ptr KernelArgs ->
Ptr Gio.Cancellable.Cancellable ->
Ptr (Ptr GError) ->
IO CInt
kernelArgsAppendProcCmdline ::
(B.CallStack.HasCallStack, MonadIO m, Gio.Cancellable.IsCancellable a) =>
KernelArgs
-> Maybe (a)
-> m ()
kernelArgsAppendProcCmdline :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsCancellable a) =>
KernelArgs -> Maybe a -> m ()
kernelArgsAppendProcCmdline KernelArgs
kargs Maybe a
cancellable = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
kargs' <- KernelArgs -> IO (Ptr KernelArgs)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr KernelArgs
kargs
maybeCancellable <- case cancellable of
Maybe a
Nothing -> Ptr Cancellable -> IO (Ptr Cancellable)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Cancellable
forall a. Ptr a
FP.nullPtr
Just a
jCancellable -> do
jCancellable' <- a -> IO (Ptr Cancellable)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
jCancellable
return jCancellable'
onException (do
_ <- propagateGError $ ostree_kernel_args_append_proc_cmdline kargs' maybeCancellable
touchManagedPtr kargs
whenJust cancellable touchManagedPtr
return ()
) (do
return ()
)
#if defined(ENABLE_OVERLOADING)
data KernelArgsAppendProcCmdlineMethodInfo
instance (signature ~ (Maybe (a) -> m ()), MonadIO m, Gio.Cancellable.IsCancellable a) => O.OverloadedMethod KernelArgsAppendProcCmdlineMethodInfo KernelArgs signature where
overloadedMethod = kernelArgsAppendProcCmdline
instance O.OverloadedMethodInfo KernelArgsAppendProcCmdlineMethodInfo KernelArgs where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.KernelArgs.kernelArgsAppendProcCmdline",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.19/docs/GI-OSTree-Structs-KernelArgs.html#v:kernelArgsAppendProcCmdline"
})
#endif
foreign import ccall "ostree_kernel_args_contains" ostree_kernel_args_contains ::
Ptr KernelArgs ->
CString ->
IO CInt
kernelArgsContains ::
(B.CallStack.HasCallStack, MonadIO m) =>
KernelArgs
-> T.Text
-> m Bool
kernelArgsContains :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
KernelArgs -> Text -> m Bool
kernelArgsContains KernelArgs
kargs Text
arg = IO Bool -> m Bool
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Bool -> m Bool) -> IO Bool -> m Bool
forall a b. (a -> b) -> a -> b
$ do
kargs' <- KernelArgs -> IO (Ptr KernelArgs)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr KernelArgs
kargs
arg' <- textToCString arg
result <- ostree_kernel_args_contains kargs' arg'
let result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
touchManagedPtr kargs
freeMem arg'
return result'
#if defined(ENABLE_OVERLOADING)
data KernelArgsContainsMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.OverloadedMethod KernelArgsContainsMethodInfo KernelArgs signature where
overloadedMethod = kernelArgsContains
instance O.OverloadedMethodInfo KernelArgsContainsMethodInfo KernelArgs where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.KernelArgs.kernelArgsContains",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.19/docs/GI-OSTree-Structs-KernelArgs.html#v:kernelArgsContains"
})
#endif
foreign import ccall "ostree_kernel_args_delete" ostree_kernel_args_delete ::
Ptr KernelArgs ->
CString ->
Ptr (Ptr GError) ->
IO CInt
kernelArgsDelete ::
(B.CallStack.HasCallStack, MonadIO m) =>
KernelArgs
-> T.Text
-> m ()
kernelArgsDelete :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
KernelArgs -> Text -> m ()
kernelArgsDelete KernelArgs
kargs Text
arg = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
kargs' <- KernelArgs -> IO (Ptr KernelArgs)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr KernelArgs
kargs
arg' <- textToCString arg
onException (do
_ <- propagateGError $ ostree_kernel_args_delete kargs' arg'
touchManagedPtr kargs
freeMem arg'
return ()
) (do
freeMem arg'
)
#if defined(ENABLE_OVERLOADING)
data KernelArgsDeleteMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m) => O.OverloadedMethod KernelArgsDeleteMethodInfo KernelArgs signature where
overloadedMethod = kernelArgsDelete
instance O.OverloadedMethodInfo KernelArgsDeleteMethodInfo KernelArgs where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.KernelArgs.kernelArgsDelete",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.19/docs/GI-OSTree-Structs-KernelArgs.html#v:kernelArgsDelete"
})
#endif
foreign import ccall "ostree_kernel_args_delete_if_present" ostree_kernel_args_delete_if_present ::
Ptr KernelArgs ->
CString ->
Ptr (Ptr GError) ->
IO CInt
kernelArgsDeleteIfPresent ::
(B.CallStack.HasCallStack, MonadIO m) =>
KernelArgs
-> T.Text
-> m ()
kernelArgsDeleteIfPresent :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
KernelArgs -> Text -> m ()
kernelArgsDeleteIfPresent KernelArgs
kargs Text
arg = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
kargs' <- KernelArgs -> IO (Ptr KernelArgs)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr KernelArgs
kargs
arg' <- textToCString arg
onException (do
_ <- propagateGError $ ostree_kernel_args_delete_if_present kargs' arg'
touchManagedPtr kargs
freeMem arg'
return ()
) (do
freeMem arg'
)
#if defined(ENABLE_OVERLOADING)
data KernelArgsDeleteIfPresentMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m) => O.OverloadedMethod KernelArgsDeleteIfPresentMethodInfo KernelArgs signature where
overloadedMethod = kernelArgsDeleteIfPresent
instance O.OverloadedMethodInfo KernelArgsDeleteIfPresentMethodInfo KernelArgs where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.KernelArgs.kernelArgsDeleteIfPresent",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.19/docs/GI-OSTree-Structs-KernelArgs.html#v:kernelArgsDeleteIfPresent"
})
#endif
foreign import ccall "ostree_kernel_args_delete_key_entry" ostree_kernel_args_delete_key_entry ::
Ptr KernelArgs ->
CString ->
Ptr (Ptr GError) ->
IO CInt
kernelArgsDeleteKeyEntry ::
(B.CallStack.HasCallStack, MonadIO m) =>
KernelArgs
-> T.Text
-> m ()
kernelArgsDeleteKeyEntry :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
KernelArgs -> Text -> m ()
kernelArgsDeleteKeyEntry KernelArgs
kargs Text
key = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
kargs' <- KernelArgs -> IO (Ptr KernelArgs)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr KernelArgs
kargs
key' <- textToCString key
onException (do
_ <- propagateGError $ ostree_kernel_args_delete_key_entry kargs' key'
touchManagedPtr kargs
freeMem key'
return ()
) (do
freeMem key'
)
#if defined(ENABLE_OVERLOADING)
data KernelArgsDeleteKeyEntryMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m) => O.OverloadedMethod KernelArgsDeleteKeyEntryMethodInfo KernelArgs signature where
overloadedMethod = kernelArgsDeleteKeyEntry
instance O.OverloadedMethodInfo KernelArgsDeleteKeyEntryMethodInfo KernelArgs where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.KernelArgs.kernelArgsDeleteKeyEntry",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.19/docs/GI-OSTree-Structs-KernelArgs.html#v:kernelArgsDeleteKeyEntry"
})
#endif
foreign import ccall "ostree_kernel_args_free" ostree_kernel_args_free ::
Ptr KernelArgs ->
IO ()
kernelArgsFree ::
(B.CallStack.HasCallStack, MonadIO m) =>
KernelArgs
-> m ()
kernelArgsFree :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
KernelArgs -> m ()
kernelArgsFree KernelArgs
kargs = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
kargs' <- KernelArgs -> IO (Ptr KernelArgs)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr KernelArgs
kargs
ostree_kernel_args_free kargs'
touchManagedPtr kargs
return ()
#if defined(ENABLE_OVERLOADING)
data KernelArgsFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.OverloadedMethod KernelArgsFreeMethodInfo KernelArgs signature where
overloadedMethod = kernelArgsFree
instance O.OverloadedMethodInfo KernelArgsFreeMethodInfo KernelArgs where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.KernelArgs.kernelArgsFree",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.19/docs/GI-OSTree-Structs-KernelArgs.html#v:kernelArgsFree"
})
#endif
foreign import ccall "ostree_kernel_args_get_last_value" ostree_kernel_args_get_last_value ::
Ptr KernelArgs ->
CString ->
IO CString
kernelArgsGetLastValue ::
(B.CallStack.HasCallStack, MonadIO m) =>
KernelArgs
-> T.Text
-> m (Maybe T.Text)
kernelArgsGetLastValue :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
KernelArgs -> Text -> m (Maybe Text)
kernelArgsGetLastValue KernelArgs
kargs Text
key = IO (Maybe Text) -> m (Maybe Text)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text) -> m (Maybe Text))
-> IO (Maybe Text) -> m (Maybe Text)
forall a b. (a -> b) -> a -> b
$ do
kargs' <- KernelArgs -> IO (Ptr KernelArgs)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr KernelArgs
kargs
key' <- textToCString key
result <- ostree_kernel_args_get_last_value kargs' key'
maybeResult <- convertIfNonNull result $ \CString
result' -> do
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
return result''
touchManagedPtr kargs
freeMem key'
return maybeResult
#if defined(ENABLE_OVERLOADING)
data KernelArgsGetLastValueMethodInfo
instance (signature ~ (T.Text -> m (Maybe T.Text)), MonadIO m) => O.OverloadedMethod KernelArgsGetLastValueMethodInfo KernelArgs signature where
overloadedMethod = kernelArgsGetLastValue
instance O.OverloadedMethodInfo KernelArgsGetLastValueMethodInfo KernelArgs where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.KernelArgs.kernelArgsGetLastValue",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.19/docs/GI-OSTree-Structs-KernelArgs.html#v:kernelArgsGetLastValue"
})
#endif
foreign import ccall "ostree_kernel_args_new_replace" ostree_kernel_args_new_replace ::
Ptr KernelArgs ->
CString ->
Ptr (Ptr GError) ->
IO CInt
kernelArgsNewReplace ::
(B.CallStack.HasCallStack, MonadIO m) =>
KernelArgs
-> T.Text
-> m ()
kernelArgsNewReplace :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
KernelArgs -> Text -> m ()
kernelArgsNewReplace KernelArgs
kargs Text
arg = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
kargs' <- KernelArgs -> IO (Ptr KernelArgs)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr KernelArgs
kargs
arg' <- textToCString arg
onException (do
_ <- propagateGError $ ostree_kernel_args_new_replace kargs' arg'
touchManagedPtr kargs
freeMem arg'
return ()
) (do
freeMem arg'
)
#if defined(ENABLE_OVERLOADING)
data KernelArgsNewReplaceMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m) => O.OverloadedMethod KernelArgsNewReplaceMethodInfo KernelArgs signature where
overloadedMethod = kernelArgsNewReplace
instance O.OverloadedMethodInfo KernelArgsNewReplaceMethodInfo KernelArgs where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.KernelArgs.kernelArgsNewReplace",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.19/docs/GI-OSTree-Structs-KernelArgs.html#v:kernelArgsNewReplace"
})
#endif
foreign import ccall "ostree_kernel_args_parse_append" ostree_kernel_args_parse_append ::
Ptr KernelArgs ->
CString ->
IO ()
kernelArgsParseAppend ::
(B.CallStack.HasCallStack, MonadIO m) =>
KernelArgs
-> T.Text
-> m ()
kernelArgsParseAppend :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
KernelArgs -> Text -> m ()
kernelArgsParseAppend KernelArgs
kargs Text
options = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
kargs' <- KernelArgs -> IO (Ptr KernelArgs)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr KernelArgs
kargs
options' <- textToCString options
ostree_kernel_args_parse_append kargs' options'
touchManagedPtr kargs
freeMem options'
return ()
#if defined(ENABLE_OVERLOADING)
data KernelArgsParseAppendMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m) => O.OverloadedMethod KernelArgsParseAppendMethodInfo KernelArgs signature where
overloadedMethod = kernelArgsParseAppend
instance O.OverloadedMethodInfo KernelArgsParseAppendMethodInfo KernelArgs where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.KernelArgs.kernelArgsParseAppend",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.19/docs/GI-OSTree-Structs-KernelArgs.html#v:kernelArgsParseAppend"
})
#endif
foreign import ccall "ostree_kernel_args_replace" ostree_kernel_args_replace ::
Ptr KernelArgs ->
CString ->
IO ()
kernelArgsReplace ::
(B.CallStack.HasCallStack, MonadIO m) =>
KernelArgs
-> T.Text
-> m ()
kernelArgsReplace :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
KernelArgs -> Text -> m ()
kernelArgsReplace KernelArgs
kargs Text
arg = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
kargs' <- KernelArgs -> IO (Ptr KernelArgs)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr KernelArgs
kargs
arg' <- textToCString arg
ostree_kernel_args_replace kargs' arg'
touchManagedPtr kargs
freeMem arg'
return ()
#if defined(ENABLE_OVERLOADING)
data KernelArgsReplaceMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m) => O.OverloadedMethod KernelArgsReplaceMethodInfo KernelArgs signature where
overloadedMethod = kernelArgsReplace
instance O.OverloadedMethodInfo KernelArgsReplaceMethodInfo KernelArgs where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.KernelArgs.kernelArgsReplace",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.19/docs/GI-OSTree-Structs-KernelArgs.html#v:kernelArgsReplace"
})
#endif
foreign import ccall "ostree_kernel_args_replace_argv" ostree_kernel_args_replace_argv ::
Ptr KernelArgs ->
CString ->
IO ()
kernelArgsReplaceArgv ::
(B.CallStack.HasCallStack, MonadIO m) =>
KernelArgs
-> T.Text
-> m ()
kernelArgsReplaceArgv :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
KernelArgs -> Text -> m ()
kernelArgsReplaceArgv KernelArgs
kargs Text
argv = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
kargs' <- KernelArgs -> IO (Ptr KernelArgs)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr KernelArgs
kargs
argv' <- textToCString argv
ostree_kernel_args_replace_argv kargs' argv'
touchManagedPtr kargs
freeMem argv'
return ()
#if defined(ENABLE_OVERLOADING)
data KernelArgsReplaceArgvMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m) => O.OverloadedMethod KernelArgsReplaceArgvMethodInfo KernelArgs signature where
overloadedMethod = kernelArgsReplaceArgv
instance O.OverloadedMethodInfo KernelArgsReplaceArgvMethodInfo KernelArgs where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.KernelArgs.kernelArgsReplaceArgv",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.19/docs/GI-OSTree-Structs-KernelArgs.html#v:kernelArgsReplaceArgv"
})
#endif
foreign import ccall "ostree_kernel_args_replace_take" ostree_kernel_args_replace_take ::
Ptr KernelArgs ->
CString ->
IO ()
kernelArgsReplaceTake ::
(B.CallStack.HasCallStack, MonadIO m) =>
KernelArgs
-> T.Text
-> m ()
kernelArgsReplaceTake :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
KernelArgs -> Text -> m ()
kernelArgsReplaceTake KernelArgs
kargs Text
arg = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
kargs' <- KernelArgs -> IO (Ptr KernelArgs)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr KernelArgs
kargs
arg' <- textToCString arg
ostree_kernel_args_replace_take kargs' arg'
touchManagedPtr kargs
return ()
#if defined(ENABLE_OVERLOADING)
data KernelArgsReplaceTakeMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m) => O.OverloadedMethod KernelArgsReplaceTakeMethodInfo KernelArgs signature where
overloadedMethod = kernelArgsReplaceTake
instance O.OverloadedMethodInfo KernelArgsReplaceTakeMethodInfo KernelArgs where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.KernelArgs.kernelArgsReplaceTake",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.19/docs/GI-OSTree-Structs-KernelArgs.html#v:kernelArgsReplaceTake"
})
#endif
foreign import ccall "ostree_kernel_args_to_string" ostree_kernel_args_to_string ::
Ptr KernelArgs ->
IO CString
kernelArgsToString ::
(B.CallStack.HasCallStack, MonadIO m) =>
KernelArgs
-> m T.Text
kernelArgsToString :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
KernelArgs -> m Text
kernelArgsToString KernelArgs
kargs = IO Text -> m Text
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Text -> m Text) -> IO Text -> m Text
forall a b. (a -> b) -> a -> b
$ do
kargs' <- KernelArgs -> IO (Ptr KernelArgs)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr KernelArgs
kargs
result <- ostree_kernel_args_to_string kargs'
checkUnexpectedReturnNULL "kernelArgsToString" result
result' <- cstringToText result
freeMem result
touchManagedPtr kargs
return result'
#if defined(ENABLE_OVERLOADING)
data KernelArgsToStringMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.OverloadedMethod KernelArgsToStringMethodInfo KernelArgs signature where
overloadedMethod = kernelArgsToString
instance O.OverloadedMethodInfo KernelArgsToStringMethodInfo KernelArgs where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.KernelArgs.kernelArgsToString",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.19/docs/GI-OSTree-Structs-KernelArgs.html#v:kernelArgsToString"
})
#endif
foreign import ccall "ostree_kernel_args_to_strv" ostree_kernel_args_to_strv ::
Ptr KernelArgs ->
IO (Ptr CString)
kernelArgsToStrv ::
(B.CallStack.HasCallStack, MonadIO m) =>
KernelArgs
-> m [T.Text]
kernelArgsToStrv :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
KernelArgs -> m [Text]
kernelArgsToStrv KernelArgs
kargs = IO [Text] -> m [Text]
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO [Text] -> m [Text]) -> IO [Text] -> m [Text]
forall a b. (a -> b) -> a -> b
$ do
kargs' <- KernelArgs -> IO (Ptr KernelArgs)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr KernelArgs
kargs
result <- ostree_kernel_args_to_strv kargs'
checkUnexpectedReturnNULL "kernelArgsToStrv" result
result' <- unpackZeroTerminatedUTF8CArray result
mapZeroTerminatedCArray freeMem result
freeMem result
touchManagedPtr kargs
return result'
#if defined(ENABLE_OVERLOADING)
data KernelArgsToStrvMethodInfo
instance (signature ~ (m [T.Text]), MonadIO m) => O.OverloadedMethod KernelArgsToStrvMethodInfo KernelArgs signature where
overloadedMethod = kernelArgsToStrv
instance O.OverloadedMethodInfo KernelArgsToStrvMethodInfo KernelArgs where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.OSTree.Structs.KernelArgs.kernelArgsToStrv",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-ostree-1.0.19/docs/GI-OSTree-Structs-KernelArgs.html#v:kernelArgsToStrv"
})
#endif
foreign import ccall "ostree_kernel_args_cleanup" ostree_kernel_args_cleanup ::
Ptr () ->
IO ()
kernelArgsCleanup ::
(B.CallStack.HasCallStack, MonadIO m) =>
Ptr ()
-> m ()
kernelArgsCleanup :: forall (m :: * -> *). (HasCallStack, MonadIO m) => Ptr () -> m ()
kernelArgsCleanup Ptr ()
loc = IO () -> m ()
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr () -> IO ()
ostree_kernel_args_cleanup Ptr ()
loc
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveKernelArgsMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveKernelArgsMethod "append" o = KernelArgsAppendMethodInfo
ResolveKernelArgsMethod "appendArgv" o = KernelArgsAppendArgvMethodInfo
ResolveKernelArgsMethod "appendArgvFiltered" o = KernelArgsAppendArgvFilteredMethodInfo
ResolveKernelArgsMethod "appendIfMissing" o = KernelArgsAppendIfMissingMethodInfo
ResolveKernelArgsMethod "appendProcCmdline" o = KernelArgsAppendProcCmdlineMethodInfo
ResolveKernelArgsMethod "contains" o = KernelArgsContainsMethodInfo
ResolveKernelArgsMethod "delete" o = KernelArgsDeleteMethodInfo
ResolveKernelArgsMethod "deleteIfPresent" o = KernelArgsDeleteIfPresentMethodInfo
ResolveKernelArgsMethod "deleteKeyEntry" o = KernelArgsDeleteKeyEntryMethodInfo
ResolveKernelArgsMethod "free" o = KernelArgsFreeMethodInfo
ResolveKernelArgsMethod "newReplace" o = KernelArgsNewReplaceMethodInfo
ResolveKernelArgsMethod "parseAppend" o = KernelArgsParseAppendMethodInfo
ResolveKernelArgsMethod "replace" o = KernelArgsReplaceMethodInfo
ResolveKernelArgsMethod "replaceArgv" o = KernelArgsReplaceArgvMethodInfo
ResolveKernelArgsMethod "replaceTake" o = KernelArgsReplaceTakeMethodInfo
ResolveKernelArgsMethod "toString" o = KernelArgsToStringMethodInfo
ResolveKernelArgsMethod "toStrv" o = KernelArgsToStrvMethodInfo
ResolveKernelArgsMethod "getLastValue" o = KernelArgsGetLastValueMethodInfo
ResolveKernelArgsMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveKernelArgsMethod t KernelArgs, O.OverloadedMethod info KernelArgs p) => OL.IsLabel t (KernelArgs -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveKernelArgsMethod t KernelArgs, O.OverloadedMethod info KernelArgs p, R.HasField t KernelArgs p) => R.HasField t KernelArgs p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveKernelArgsMethod t KernelArgs, O.OverloadedMethodInfo info KernelArgs) => OL.IsLabel t (O.MethodProxy info KernelArgs) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif