{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Ggit.Objects.Config
(
Config(..) ,
IsConfig ,
toConfig ,
#if defined(ENABLE_OVERLOADING)
ResolveConfigMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
ConfigAddFileMethodInfo ,
#endif
configAddFile ,
#if defined(ENABLE_OVERLOADING)
ConfigDeleteEntryMethodInfo ,
#endif
configDeleteEntry ,
configFindGlobal ,
configFindSystem ,
#if defined(ENABLE_OVERLOADING)
ConfigForeachMethodInfo ,
#endif
configForeach ,
#if defined(ENABLE_OVERLOADING)
ConfigGetBoolMethodInfo ,
#endif
configGetBool ,
#if defined(ENABLE_OVERLOADING)
ConfigGetEntryMethodInfo ,
#endif
configGetEntry ,
#if defined(ENABLE_OVERLOADING)
ConfigGetInt32MethodInfo ,
#endif
configGetInt32 ,
#if defined(ENABLE_OVERLOADING)
ConfigGetInt64MethodInfo ,
#endif
configGetInt64 ,
#if defined(ENABLE_OVERLOADING)
ConfigGetStringMethodInfo ,
#endif
configGetString ,
#if defined(ENABLE_OVERLOADING)
ConfigMatchMethodInfo ,
#endif
configMatch ,
#if defined(ENABLE_OVERLOADING)
ConfigMatchForeachMethodInfo ,
#endif
configMatchForeach ,
configNew ,
configNewDefault ,
configNewFromFile ,
#if defined(ENABLE_OVERLOADING)
ConfigOpenLevelMethodInfo ,
#endif
configOpenLevel ,
#if defined(ENABLE_OVERLOADING)
ConfigSetBoolMethodInfo ,
#endif
configSetBool ,
#if defined(ENABLE_OVERLOADING)
ConfigSetInt32MethodInfo ,
#endif
configSetInt32 ,
#if defined(ENABLE_OVERLOADING)
ConfigSetInt64MethodInfo ,
#endif
configSetInt64 ,
#if defined(ENABLE_OVERLOADING)
ConfigSetStringMethodInfo ,
#endif
configSetString ,
#if defined(ENABLE_OVERLOADING)
ConfigSnapshotMethodInfo ,
#endif
configSnapshot ,
) 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.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.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 GHC.Records as R
import qualified GI.GLib.Structs.MatchInfo as GLib.MatchInfo
import qualified GI.GLib.Structs.Regex as GLib.Regex
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.Ggit.Callbacks as Ggit.Callbacks
import {-# SOURCE #-} qualified GI.Ggit.Enums as Ggit.Enums
import {-# SOURCE #-} qualified GI.Ggit.Objects.Native as Ggit.Native
import {-# SOURCE #-} qualified GI.Ggit.Objects.ObjectFactoryBase as Ggit.ObjectFactoryBase
import {-# SOURCE #-} qualified GI.Ggit.Structs.ConfigEntry as Ggit.ConfigEntry
import qualified GI.Gio.Interfaces.File as Gio.File
newtype Config = Config (SP.ManagedPtr Config)
deriving (Config -> Config -> Bool
(Config -> Config -> Bool)
-> (Config -> Config -> Bool) -> Eq Config
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Config -> Config -> Bool
$c/= :: Config -> Config -> Bool
== :: Config -> Config -> Bool
$c== :: Config -> Config -> Bool
Eq)
instance SP.ManagedPtrNewtype Config where
toManagedPtr :: Config -> ManagedPtr Config
toManagedPtr (Config ManagedPtr Config
p) = ManagedPtr Config
p
foreign import ccall "ggit_config_get_type"
c_ggit_config_get_type :: IO B.Types.GType
instance B.Types.TypedObject Config where
glibType :: IO GType
glibType = IO GType
c_ggit_config_get_type
instance B.Types.GObject Config
class (SP.GObject o, O.IsDescendantOf Config o) => IsConfig o
instance (SP.GObject o, O.IsDescendantOf Config o) => IsConfig o
instance O.HasParentTypes Config
type instance O.ParentTypes Config = '[Ggit.Native.Native, Ggit.ObjectFactoryBase.ObjectFactoryBase, GObject.Object.Object]
toConfig :: (MIO.MonadIO m, IsConfig o) => o -> m Config
toConfig :: forall (m :: * -> *) o. (MonadIO m, IsConfig o) => o -> m Config
toConfig = IO Config -> m Config
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO Config -> m Config) -> (o -> IO Config) -> o -> m Config
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr Config -> Config) -> o -> IO Config
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr Config -> Config
Config
instance B.GValue.IsGValue (Maybe Config) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_ggit_config_get_type
gvalueSet_ :: Ptr GValue -> Maybe Config -> IO ()
gvalueSet_ Ptr GValue
gv Maybe Config
P.Nothing = Ptr GValue -> Ptr Config -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr Config
forall a. Ptr a
FP.nullPtr :: FP.Ptr Config)
gvalueSet_ Ptr GValue
gv (P.Just Config
obj) = Config -> (Ptr Config -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Config
obj (Ptr GValue -> Ptr Config -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe Config)
gvalueGet_ Ptr GValue
gv = do
Ptr Config
ptr <- Ptr GValue -> IO (Ptr Config)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr Config)
if Ptr Config
ptr Ptr Config -> Ptr Config -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr Config
forall a. Ptr a
FP.nullPtr
then Config -> Maybe Config
forall a. a -> Maybe a
P.Just (Config -> Maybe Config) -> IO Config -> IO (Maybe Config)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr Config -> Config) -> Ptr Config -> IO Config
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr Config -> Config
Config Ptr Config
ptr
else Maybe Config -> IO (Maybe Config)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Config
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveConfigMethod (t :: Symbol) (o :: *) :: * where
ResolveConfigMethod "addFile" o = ConfigAddFileMethodInfo
ResolveConfigMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveConfigMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveConfigMethod "deleteEntry" o = ConfigDeleteEntryMethodInfo
ResolveConfigMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveConfigMethod "foreach" o = ConfigForeachMethodInfo
ResolveConfigMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveConfigMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveConfigMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveConfigMethod "match" o = ConfigMatchMethodInfo
ResolveConfigMethod "matchForeach" o = ConfigMatchForeachMethodInfo
ResolveConfigMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveConfigMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveConfigMethod "openLevel" o = ConfigOpenLevelMethodInfo
ResolveConfigMethod "ref" o = GObject.Object.ObjectRefMethodInfo
ResolveConfigMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveConfigMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveConfigMethod "snapshot" o = ConfigSnapshotMethodInfo
ResolveConfigMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveConfigMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveConfigMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveConfigMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
ResolveConfigMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveConfigMethod "getBool" o = ConfigGetBoolMethodInfo
ResolveConfigMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveConfigMethod "getEntry" o = ConfigGetEntryMethodInfo
ResolveConfigMethod "getInt32" o = ConfigGetInt32MethodInfo
ResolveConfigMethod "getInt64" o = ConfigGetInt64MethodInfo
ResolveConfigMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveConfigMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveConfigMethod "getString" o = ConfigGetStringMethodInfo
ResolveConfigMethod "setBool" o = ConfigSetBoolMethodInfo
ResolveConfigMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveConfigMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveConfigMethod "setInt32" o = ConfigSetInt32MethodInfo
ResolveConfigMethod "setInt64" o = ConfigSetInt64MethodInfo
ResolveConfigMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveConfigMethod "setString" o = ConfigSetStringMethodInfo
ResolveConfigMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveConfigMethod t Config, O.OverloadedMethod info Config p) => OL.IsLabel t (Config -> 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 ~ ResolveConfigMethod t Config, O.OverloadedMethod info Config p, R.HasField t Config p) => R.HasField t Config p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveConfigMethod t Config, O.OverloadedMethodInfo info Config) => OL.IsLabel t (O.MethodProxy info Config) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Config
type instance O.AttributeList Config = ConfigAttributeList
type ConfigAttributeList = ('[ '("native", Ggit.Native.NativeNativePropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Config = ConfigSignalList
type ConfigSignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "ggit_config_new" ggit_config_new ::
IO (Ptr Config)
configNew ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Config
configNew :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Config
configNew = IO Config -> m Config
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Config -> m Config) -> IO Config -> m Config
forall a b. (a -> b) -> a -> b
$ do
Ptr Config
result <- IO (Ptr Config)
ggit_config_new
Text -> Ptr Config -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"configNew" Ptr Config
result
Config
result' <- ((ManagedPtr Config -> Config) -> Ptr Config -> IO Config
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Config -> Config
Config) Ptr Config
result
Config -> IO Config
forall (m :: * -> *) a. Monad m => a -> m a
return Config
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "ggit_config_new_default" ggit_config_new_default ::
Ptr (Ptr GError) ->
IO (Ptr Config)
configNewDefault ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Config
configNewDefault :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m Config
configNewDefault = IO Config -> m Config
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Config -> m Config) -> IO Config -> m Config
forall a b. (a -> b) -> a -> b
$ do
IO Config -> IO () -> IO Config
forall a b. IO a -> IO b -> IO a
onException (do
Ptr Config
result <- (Ptr (Ptr GError) -> IO (Ptr Config)) -> IO (Ptr Config)
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO (Ptr Config)) -> IO (Ptr Config))
-> (Ptr (Ptr GError) -> IO (Ptr Config)) -> IO (Ptr Config)
forall a b. (a -> b) -> a -> b
$ Ptr (Ptr GError) -> IO (Ptr Config)
ggit_config_new_default
Text -> Ptr Config -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"configNewDefault" Ptr Config
result
Config
result' <- ((ManagedPtr Config -> Config) -> Ptr Config -> IO Config
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Config -> Config
Config) Ptr Config
result
Config -> IO Config
forall (m :: * -> *) a. Monad m => a -> m a
return Config
result'
) (do
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "ggit_config_new_from_file" ggit_config_new_from_file ::
Ptr Gio.File.File ->
Ptr (Ptr GError) ->
IO (Ptr Config)
configNewFromFile ::
(B.CallStack.HasCallStack, MonadIO m, Gio.File.IsFile a) =>
a
-> m Config
configNewFromFile :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsFile a) =>
a -> m Config
configNewFromFile a
file = IO Config -> m Config
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Config -> m Config) -> IO Config -> m Config
forall a b. (a -> b) -> a -> b
$ do
Ptr File
file' <- a -> IO (Ptr File)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
file
IO Config -> IO () -> IO Config
forall a b. IO a -> IO b -> IO a
onException (do
Ptr Config
result <- (Ptr (Ptr GError) -> IO (Ptr Config)) -> IO (Ptr Config)
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO (Ptr Config)) -> IO (Ptr Config))
-> (Ptr (Ptr GError) -> IO (Ptr Config)) -> IO (Ptr Config)
forall a b. (a -> b) -> a -> b
$ Ptr File -> Ptr (Ptr GError) -> IO (Ptr Config)
ggit_config_new_from_file Ptr File
file'
Text -> Ptr Config -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"configNewFromFile" Ptr Config
result
Config
result' <- ((ManagedPtr Config -> Config) -> Ptr Config -> IO Config
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Config -> Config
Config) Ptr Config
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
file
Config -> IO Config
forall (m :: * -> *) a. Monad m => a -> m a
return Config
result'
) (do
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "ggit_config_add_file" ggit_config_add_file ::
Ptr Config ->
Ptr Gio.File.File ->
CInt ->
CInt ->
Ptr (Ptr GError) ->
IO ()
configAddFile ::
(B.CallStack.HasCallStack, MonadIO m, IsConfig a, Gio.File.IsFile b) =>
a
-> b
-> Ggit.Enums.ConfigLevel
-> Bool
-> m ()
configAddFile :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsConfig a, IsFile b) =>
a -> b -> ConfigLevel -> Bool -> m ()
configAddFile a
config b
file ConfigLevel
level Bool
force = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Config
config' <- a -> IO (Ptr Config)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
config
Ptr File
file' <- b -> IO (Ptr File)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
file
let level' :: CInt
level' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (ConfigLevel -> Int) -> ConfigLevel -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConfigLevel -> Int
forall a. Enum a => a -> Int
fromEnum) ConfigLevel
level
let force' :: CInt
force' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
force
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
(Ptr (Ptr GError) -> IO ()) -> IO ()
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO ()) -> IO ())
-> (Ptr (Ptr GError) -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ Ptr Config -> Ptr File -> CInt -> CInt -> Ptr (Ptr GError) -> IO ()
ggit_config_add_file Ptr Config
config' Ptr File
file' CInt
level' CInt
force'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
config
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
file
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
data ConfigAddFileMethodInfo
instance (signature ~ (b -> Ggit.Enums.ConfigLevel -> Bool -> m ()), MonadIO m, IsConfig a, Gio.File.IsFile b) => O.OverloadedMethod ConfigAddFileMethodInfo a signature where
overloadedMethod = configAddFile
instance O.OverloadedMethodInfo ConfigAddFileMethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.Ggit.Objects.Config.configAddFile",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-ggit-1.0.10/docs/GI-Ggit-Objects-Config.html#v:configAddFile"
}
#endif
foreign import ccall "ggit_config_delete_entry" ggit_config_delete_entry ::
Ptr Config ->
CString ->
Ptr (Ptr GError) ->
IO CInt
configDeleteEntry ::
(B.CallStack.HasCallStack, MonadIO m, IsConfig a) =>
a
-> T.Text
-> m ()
configDeleteEntry :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsConfig a) =>
a -> Text -> m ()
configDeleteEntry a
config Text
name = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Config
config' <- a -> IO (Ptr Config)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
config
CString
name' <- Text -> IO CString
textToCString Text
name
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Config -> CString -> Ptr (Ptr GError) -> IO CInt
ggit_config_delete_entry Ptr Config
config' CString
name'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
config
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
)
#if defined(ENABLE_OVERLOADING)
data ConfigDeleteEntryMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsConfig a) => O.OverloadedMethod ConfigDeleteEntryMethodInfo a signature where
overloadedMethod = configDeleteEntry
instance O.OverloadedMethodInfo ConfigDeleteEntryMethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.Ggit.Objects.Config.configDeleteEntry",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-ggit-1.0.10/docs/GI-Ggit-Objects-Config.html#v:configDeleteEntry"
}
#endif
foreign import ccall "ggit_config_foreach" ggit_config_foreach ::
Ptr Config ->
FunPtr Ggit.Callbacks.C_ConfigCallback ->
Ptr () ->
Ptr (Ptr GError) ->
IO CInt
configForeach ::
(B.CallStack.HasCallStack, MonadIO m, IsConfig a) =>
a
-> Ggit.Callbacks.ConfigCallback
-> m ()
configForeach :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsConfig a) =>
a -> ConfigCallback -> m ()
configForeach a
config ConfigCallback
callback = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Config
config' <- a -> IO (Ptr Config)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
config
FunPtr C_ConfigCallback
callback' <- C_ConfigCallback -> IO (FunPtr C_ConfigCallback)
Ggit.Callbacks.mk_ConfigCallback (Maybe (Ptr (FunPtr C_ConfigCallback))
-> ConfigCallback_WithClosures -> C_ConfigCallback
Ggit.Callbacks.wrap_ConfigCallback Maybe (Ptr (FunPtr C_ConfigCallback))
forall a. Maybe a
Nothing (ConfigCallback -> ConfigCallback_WithClosures
Ggit.Callbacks.drop_closures_ConfigCallback ConfigCallback
callback))
let userData :: Ptr a
userData = Ptr a
forall a. Ptr a
nullPtr
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Config
-> FunPtr C_ConfigCallback -> Ptr () -> Ptr (Ptr GError) -> IO CInt
ggit_config_foreach Ptr Config
config' FunPtr C_ConfigCallback
callback' Ptr ()
forall a. Ptr a
userData
Ptr Any -> IO ()
forall a. Ptr a -> IO ()
safeFreeFunPtr (Ptr Any -> IO ()) -> Ptr Any -> IO ()
forall a b. (a -> b) -> a -> b
$ FunPtr C_ConfigCallback -> Ptr Any
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_ConfigCallback
callback'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
config
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
Ptr Any -> IO ()
forall a. Ptr a -> IO ()
safeFreeFunPtr (Ptr Any -> IO ()) -> Ptr Any -> IO ()
forall a b. (a -> b) -> a -> b
$ FunPtr C_ConfigCallback -> Ptr Any
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_ConfigCallback
callback'
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
data ConfigForeachMethodInfo
instance (signature ~ (Ggit.Callbacks.ConfigCallback -> m ()), MonadIO m, IsConfig a) => O.OverloadedMethod ConfigForeachMethodInfo a signature where
overloadedMethod = configForeach
instance O.OverloadedMethodInfo ConfigForeachMethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.Ggit.Objects.Config.configForeach",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-ggit-1.0.10/docs/GI-Ggit-Objects-Config.html#v:configForeach"
}
#endif
foreign import ccall "ggit_config_get_bool" ggit_config_get_bool ::
Ptr Config ->
CString ->
Ptr (Ptr GError) ->
IO CInt
configGetBool ::
(B.CallStack.HasCallStack, MonadIO m, IsConfig a) =>
a
-> T.Text
-> m ()
configGetBool :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsConfig a) =>
a -> Text -> m ()
configGetBool a
config Text
name = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Config
config' <- a -> IO (Ptr Config)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
config
CString
name' <- Text -> IO CString
textToCString Text
name
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Config -> CString -> Ptr (Ptr GError) -> IO CInt
ggit_config_get_bool Ptr Config
config' CString
name'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
config
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
)
#if defined(ENABLE_OVERLOADING)
data ConfigGetBoolMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, IsConfig a) => O.OverloadedMethod ConfigGetBoolMethodInfo a signature where
overloadedMethod = configGetBool
instance O.OverloadedMethodInfo ConfigGetBoolMethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.Ggit.Objects.Config.configGetBool",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-ggit-1.0.10/docs/GI-Ggit-Objects-Config.html#v:configGetBool"
}
#endif
foreign import ccall "ggit_config_get_entry" ggit_config_get_entry ::
Ptr Config ->
CString ->
Ptr (Ptr GError) ->
IO (Ptr Ggit.ConfigEntry.ConfigEntry)
configGetEntry ::
(B.CallStack.HasCallStack, MonadIO m, IsConfig a) =>
a
-> T.Text
-> m Ggit.ConfigEntry.ConfigEntry
configGetEntry :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsConfig a) =>
a -> Text -> m ConfigEntry
configGetEntry a
config Text
name = IO ConfigEntry -> m ConfigEntry
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO ConfigEntry -> m ConfigEntry)
-> IO ConfigEntry -> m ConfigEntry
forall a b. (a -> b) -> a -> b
$ do
Ptr Config
config' <- a -> IO (Ptr Config)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
config
CString
name' <- Text -> IO CString
textToCString Text
name
IO ConfigEntry -> IO () -> IO ConfigEntry
forall a b. IO a -> IO b -> IO a
onException (do
Ptr ConfigEntry
result <- (Ptr (Ptr GError) -> IO (Ptr ConfigEntry)) -> IO (Ptr ConfigEntry)
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO (Ptr ConfigEntry))
-> IO (Ptr ConfigEntry))
-> (Ptr (Ptr GError) -> IO (Ptr ConfigEntry))
-> IO (Ptr ConfigEntry)
forall a b. (a -> b) -> a -> b
$ Ptr Config -> CString -> Ptr (Ptr GError) -> IO (Ptr ConfigEntry)
ggit_config_get_entry Ptr Config
config' CString
name'
Text -> Ptr ConfigEntry -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"configGetEntry" Ptr ConfigEntry
result
ConfigEntry
result' <- ((ManagedPtr ConfigEntry -> ConfigEntry)
-> Ptr ConfigEntry -> IO ConfigEntry
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr ConfigEntry -> ConfigEntry
Ggit.ConfigEntry.ConfigEntry) Ptr ConfigEntry
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
config
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
ConfigEntry -> IO ConfigEntry
forall (m :: * -> *) a. Monad m => a -> m a
return ConfigEntry
result'
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
)
#if defined(ENABLE_OVERLOADING)
data ConfigGetEntryMethodInfo
instance (signature ~ (T.Text -> m Ggit.ConfigEntry.ConfigEntry), MonadIO m, IsConfig a) => O.OverloadedMethod ConfigGetEntryMethodInfo a signature where
overloadedMethod = configGetEntry
instance O.OverloadedMethodInfo ConfigGetEntryMethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.Ggit.Objects.Config.configGetEntry",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-ggit-1.0.10/docs/GI-Ggit-Objects-Config.html#v:configGetEntry"
}
#endif
foreign import ccall "ggit_config_get_int32" ggit_config_get_int32 ::
Ptr Config ->
CString ->
Ptr (Ptr GError) ->
IO Int32
configGetInt32 ::
(B.CallStack.HasCallStack, MonadIO m, IsConfig a) =>
a
-> T.Text
-> m Int32
configGetInt32 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsConfig a) =>
a -> Text -> m Int32
configGetInt32 a
config Text
name = IO Int32 -> m Int32
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int32 -> m Int32) -> IO Int32 -> m Int32
forall a b. (a -> b) -> a -> b
$ do
Ptr Config
config' <- a -> IO (Ptr Config)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
config
CString
name' <- Text -> IO CString
textToCString Text
name
IO Int32 -> IO () -> IO Int32
forall a b. IO a -> IO b -> IO a
onException (do
Int32
result <- (Ptr (Ptr GError) -> IO Int32) -> IO Int32
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO Int32) -> IO Int32)
-> (Ptr (Ptr GError) -> IO Int32) -> IO Int32
forall a b. (a -> b) -> a -> b
$ Ptr Config -> CString -> Ptr (Ptr GError) -> IO Int32
ggit_config_get_int32 Ptr Config
config' CString
name'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
config
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
Int32 -> IO Int32
forall (m :: * -> *) a. Monad m => a -> m a
return Int32
result
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
)
#if defined(ENABLE_OVERLOADING)
data ConfigGetInt32MethodInfo
instance (signature ~ (T.Text -> m Int32), MonadIO m, IsConfig a) => O.OverloadedMethod ConfigGetInt32MethodInfo a signature where
overloadedMethod = configGetInt32
instance O.OverloadedMethodInfo ConfigGetInt32MethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.Ggit.Objects.Config.configGetInt32",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-ggit-1.0.10/docs/GI-Ggit-Objects-Config.html#v:configGetInt32"
}
#endif
foreign import ccall "ggit_config_get_int64" ggit_config_get_int64 ::
Ptr Config ->
CString ->
Ptr (Ptr GError) ->
IO Int64
configGetInt64 ::
(B.CallStack.HasCallStack, MonadIO m, IsConfig a) =>
a
-> T.Text
-> m Int64
configGetInt64 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsConfig a) =>
a -> Text -> m Int64
configGetInt64 a
config Text
name = IO Int64 -> m Int64
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Int64 -> m Int64) -> IO Int64 -> m Int64
forall a b. (a -> b) -> a -> b
$ do
Ptr Config
config' <- a -> IO (Ptr Config)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
config
CString
name' <- Text -> IO CString
textToCString Text
name
IO Int64 -> IO () -> IO Int64
forall a b. IO a -> IO b -> IO a
onException (do
Int64
result <- (Ptr (Ptr GError) -> IO Int64) -> IO Int64
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO Int64) -> IO Int64)
-> (Ptr (Ptr GError) -> IO Int64) -> IO Int64
forall a b. (a -> b) -> a -> b
$ Ptr Config -> CString -> Ptr (Ptr GError) -> IO Int64
ggit_config_get_int64 Ptr Config
config' CString
name'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
config
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
Int64 -> IO Int64
forall (m :: * -> *) a. Monad m => a -> m a
return Int64
result
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
)
#if defined(ENABLE_OVERLOADING)
data ConfigGetInt64MethodInfo
instance (signature ~ (T.Text -> m Int64), MonadIO m, IsConfig a) => O.OverloadedMethod ConfigGetInt64MethodInfo a signature where
overloadedMethod = configGetInt64
instance O.OverloadedMethodInfo ConfigGetInt64MethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.Ggit.Objects.Config.configGetInt64",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-ggit-1.0.10/docs/GI-Ggit-Objects-Config.html#v:configGetInt64"
}
#endif
foreign import ccall "ggit_config_get_string" ggit_config_get_string ::
Ptr Config ->
CString ->
Ptr (Ptr GError) ->
IO CString
configGetString ::
(B.CallStack.HasCallStack, MonadIO m, IsConfig a) =>
a
-> T.Text
-> m (Maybe T.Text)
configGetString :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsConfig a) =>
a -> Text -> m (Maybe Text)
configGetString a
config Text
name = IO (Maybe Text) -> m (Maybe Text)
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
Ptr Config
config' <- a -> IO (Ptr Config)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
config
CString
name' <- Text -> IO CString
textToCString Text
name
IO (Maybe Text) -> IO () -> IO (Maybe Text)
forall a b. IO a -> IO b -> IO a
onException (do
CString
result <- (Ptr (Ptr GError) -> IO CString) -> IO CString
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CString) -> IO CString)
-> (Ptr (Ptr GError) -> IO CString) -> IO CString
forall a b. (a -> b) -> a -> b
$ Ptr Config -> CString -> Ptr (Ptr GError) -> IO CString
ggit_config_get_string Ptr Config
config' CString
name'
Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
config
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
Maybe Text -> IO (Maybe Text)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
)
#if defined(ENABLE_OVERLOADING)
data ConfigGetStringMethodInfo
instance (signature ~ (T.Text -> m (Maybe T.Text)), MonadIO m, IsConfig a) => O.OverloadedMethod ConfigGetStringMethodInfo a signature where
overloadedMethod = configGetString
instance O.OverloadedMethodInfo ConfigGetStringMethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.Ggit.Objects.Config.configGetString",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-ggit-1.0.10/docs/GI-Ggit-Objects-Config.html#v:configGetString"
}
#endif
foreign import ccall "ggit_config_match" ggit_config_match ::
Ptr Config ->
Ptr GLib.Regex.Regex ->
Ptr (Ptr GLib.MatchInfo.MatchInfo) ->
Ptr (Ptr GError) ->
IO CString
configMatch ::
(B.CallStack.HasCallStack, MonadIO m, IsConfig a) =>
a
-> GLib.Regex.Regex
-> m ((Maybe T.Text, GLib.MatchInfo.MatchInfo))
configMatch :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsConfig a) =>
a -> Regex -> m (Maybe Text, MatchInfo)
configMatch a
config Regex
regex = IO (Maybe Text, MatchInfo) -> m (Maybe Text, MatchInfo)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Text, MatchInfo) -> m (Maybe Text, MatchInfo))
-> IO (Maybe Text, MatchInfo) -> m (Maybe Text, MatchInfo)
forall a b. (a -> b) -> a -> b
$ do
Ptr Config
config' <- a -> IO (Ptr Config)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
config
Ptr Regex
regex' <- Regex -> IO (Ptr Regex)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Regex
regex
Ptr (Ptr MatchInfo)
matchInfo <- IO (Ptr (Ptr MatchInfo))
forall a. Storable a => IO (Ptr a)
callocMem :: IO (Ptr (Ptr GLib.MatchInfo.MatchInfo))
IO (Maybe Text, MatchInfo) -> IO () -> IO (Maybe Text, MatchInfo)
forall a b. IO a -> IO b -> IO a
onException (do
CString
result <- (Ptr (Ptr GError) -> IO CString) -> IO CString
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CString) -> IO CString)
-> (Ptr (Ptr GError) -> IO CString) -> IO CString
forall a b. (a -> b) -> a -> b
$ Ptr Config
-> Ptr Regex
-> Ptr (Ptr MatchInfo)
-> Ptr (Ptr GError)
-> IO CString
ggit_config_match Ptr Config
config' Ptr Regex
regex' Ptr (Ptr MatchInfo)
matchInfo
Maybe Text
maybeResult <- CString -> (CString -> IO Text) -> IO (Maybe Text)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO Text) -> IO (Maybe Text))
-> (CString -> IO Text) -> IO (Maybe Text)
forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
Text
result'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result'
Text -> IO Text
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
Ptr MatchInfo
matchInfo' <- Ptr (Ptr MatchInfo) -> IO (Ptr MatchInfo)
forall a. Storable a => Ptr a -> IO a
peek Ptr (Ptr MatchInfo)
matchInfo
MatchInfo
matchInfo'' <- ((ManagedPtr MatchInfo -> MatchInfo)
-> Ptr MatchInfo -> IO MatchInfo
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr MatchInfo -> MatchInfo
GLib.MatchInfo.MatchInfo) Ptr MatchInfo
matchInfo'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
config
Regex -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Regex
regex
Ptr (Ptr MatchInfo) -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr (Ptr MatchInfo)
matchInfo
(Maybe Text, MatchInfo) -> IO (Maybe Text, MatchInfo)
forall (m :: * -> *) a. Monad m => a -> m a
return (Maybe Text
maybeResult, MatchInfo
matchInfo'')
) (do
Ptr (Ptr MatchInfo) -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr (Ptr MatchInfo)
matchInfo
)
#if defined(ENABLE_OVERLOADING)
data ConfigMatchMethodInfo
instance (signature ~ (GLib.Regex.Regex -> m ((Maybe T.Text, GLib.MatchInfo.MatchInfo))), MonadIO m, IsConfig a) => O.OverloadedMethod ConfigMatchMethodInfo a signature where
overloadedMethod = configMatch
instance O.OverloadedMethodInfo ConfigMatchMethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.Ggit.Objects.Config.configMatch",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-ggit-1.0.10/docs/GI-Ggit-Objects-Config.html#v:configMatch"
}
#endif
foreign import ccall "ggit_config_match_foreach" ggit_config_match_foreach ::
Ptr Config ->
Ptr GLib.Regex.Regex ->
FunPtr Ggit.Callbacks.C_ConfigMatchCallback ->
Ptr () ->
Ptr (Ptr GError) ->
IO CInt
configMatchForeach ::
(B.CallStack.HasCallStack, MonadIO m, IsConfig a) =>
a
-> GLib.Regex.Regex
-> Ggit.Callbacks.ConfigMatchCallback
-> m ()
configMatchForeach :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsConfig a) =>
a -> Regex -> ConfigMatchCallback -> m ()
configMatchForeach a
config Regex
regex ConfigMatchCallback
callback = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Config
config' <- a -> IO (Ptr Config)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
config
Ptr Regex
regex' <- Regex -> IO (Ptr Regex)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Regex
regex
FunPtr C_ConfigMatchCallback
callback' <- C_ConfigMatchCallback -> IO (FunPtr C_ConfigMatchCallback)
Ggit.Callbacks.mk_ConfigMatchCallback (Maybe (Ptr (FunPtr C_ConfigMatchCallback))
-> ConfigMatchCallback_WithClosures -> C_ConfigMatchCallback
Ggit.Callbacks.wrap_ConfigMatchCallback Maybe (Ptr (FunPtr C_ConfigMatchCallback))
forall a. Maybe a
Nothing (ConfigMatchCallback -> ConfigMatchCallback_WithClosures
Ggit.Callbacks.drop_closures_ConfigMatchCallback ConfigMatchCallback
callback))
let userData :: Ptr a
userData = Ptr a
forall a. Ptr a
nullPtr
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Config
-> Ptr Regex
-> FunPtr C_ConfigMatchCallback
-> Ptr ()
-> Ptr (Ptr GError)
-> IO CInt
ggit_config_match_foreach Ptr Config
config' Ptr Regex
regex' FunPtr C_ConfigMatchCallback
callback' Ptr ()
forall a. Ptr a
userData
Ptr Any -> IO ()
forall a. Ptr a -> IO ()
safeFreeFunPtr (Ptr Any -> IO ()) -> Ptr Any -> IO ()
forall a b. (a -> b) -> a -> b
$ FunPtr C_ConfigMatchCallback -> Ptr Any
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_ConfigMatchCallback
callback'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
config
Regex -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Regex
regex
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
Ptr Any -> IO ()
forall a. Ptr a -> IO ()
safeFreeFunPtr (Ptr Any -> IO ()) -> Ptr Any -> IO ()
forall a b. (a -> b) -> a -> b
$ FunPtr C_ConfigMatchCallback -> Ptr Any
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_ConfigMatchCallback
callback'
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
data ConfigMatchForeachMethodInfo
instance (signature ~ (GLib.Regex.Regex -> Ggit.Callbacks.ConfigMatchCallback -> m ()), MonadIO m, IsConfig a) => O.OverloadedMethod ConfigMatchForeachMethodInfo a signature where
overloadedMethod = configMatchForeach
instance O.OverloadedMethodInfo ConfigMatchForeachMethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.Ggit.Objects.Config.configMatchForeach",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-ggit-1.0.10/docs/GI-Ggit-Objects-Config.html#v:configMatchForeach"
}
#endif
foreign import ccall "ggit_config_open_level" ggit_config_open_level ::
Ptr Config ->
CInt ->
Ptr (Ptr GError) ->
IO (Ptr Config)
configOpenLevel ::
(B.CallStack.HasCallStack, MonadIO m, IsConfig a) =>
a
-> Ggit.Enums.ConfigLevel
-> m Config
configOpenLevel :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsConfig a) =>
a -> ConfigLevel -> m Config
configOpenLevel a
config ConfigLevel
level = IO Config -> m Config
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Config -> m Config) -> IO Config -> m Config
forall a b. (a -> b) -> a -> b
$ do
Ptr Config
config' <- a -> IO (Ptr Config)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
config
let level' :: CInt
level' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (ConfigLevel -> Int) -> ConfigLevel -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. ConfigLevel -> Int
forall a. Enum a => a -> Int
fromEnum) ConfigLevel
level
IO Config -> IO () -> IO Config
forall a b. IO a -> IO b -> IO a
onException (do
Ptr Config
result <- (Ptr (Ptr GError) -> IO (Ptr Config)) -> IO (Ptr Config)
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO (Ptr Config)) -> IO (Ptr Config))
-> (Ptr (Ptr GError) -> IO (Ptr Config)) -> IO (Ptr Config)
forall a b. (a -> b) -> a -> b
$ Ptr Config -> CInt -> Ptr (Ptr GError) -> IO (Ptr Config)
ggit_config_open_level Ptr Config
config' CInt
level'
Text -> Ptr Config -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"configOpenLevel" Ptr Config
result
Config
result' <- ((ManagedPtr Config -> Config) -> Ptr Config -> IO Config
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Config -> Config
Config) Ptr Config
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
config
Config -> IO Config
forall (m :: * -> *) a. Monad m => a -> m a
return Config
result'
) (do
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
data ConfigOpenLevelMethodInfo
instance (signature ~ (Ggit.Enums.ConfigLevel -> m Config), MonadIO m, IsConfig a) => O.OverloadedMethod ConfigOpenLevelMethodInfo a signature where
overloadedMethod = configOpenLevel
instance O.OverloadedMethodInfo ConfigOpenLevelMethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.Ggit.Objects.Config.configOpenLevel",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-ggit-1.0.10/docs/GI-Ggit-Objects-Config.html#v:configOpenLevel"
}
#endif
foreign import ccall "ggit_config_set_bool" ggit_config_set_bool ::
Ptr Config ->
CString ->
CInt ->
Ptr (Ptr GError) ->
IO CInt
configSetBool ::
(B.CallStack.HasCallStack, MonadIO m, IsConfig a) =>
a
-> T.Text
-> Bool
-> m ()
configSetBool :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsConfig a) =>
a -> Text -> Bool -> m ()
configSetBool a
config Text
name Bool
value = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Config
config' <- a -> IO (Ptr Config)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
config
CString
name' <- Text -> IO CString
textToCString Text
name
let value' :: CInt
value' = (Int -> CInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CInt) -> (Bool -> Int) -> Bool -> CInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. Bool -> Int
forall a. Enum a => a -> Int
fromEnum) Bool
value
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Config -> CString -> CInt -> Ptr (Ptr GError) -> IO CInt
ggit_config_set_bool Ptr Config
config' CString
name' CInt
value'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
config
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
)
#if defined(ENABLE_OVERLOADING)
data ConfigSetBoolMethodInfo
instance (signature ~ (T.Text -> Bool -> m ()), MonadIO m, IsConfig a) => O.OverloadedMethod ConfigSetBoolMethodInfo a signature where
overloadedMethod = configSetBool
instance O.OverloadedMethodInfo ConfigSetBoolMethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.Ggit.Objects.Config.configSetBool",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-ggit-1.0.10/docs/GI-Ggit-Objects-Config.html#v:configSetBool"
}
#endif
foreign import ccall "ggit_config_set_int32" ggit_config_set_int32 ::
Ptr Config ->
CString ->
Int32 ->
Ptr (Ptr GError) ->
IO CInt
configSetInt32 ::
(B.CallStack.HasCallStack, MonadIO m, IsConfig a) =>
a
-> T.Text
-> Int32
-> m ()
configSetInt32 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsConfig a) =>
a -> Text -> Int32 -> m ()
configSetInt32 a
config Text
name Int32
value = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Config
config' <- a -> IO (Ptr Config)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
config
CString
name' <- Text -> IO CString
textToCString Text
name
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Config -> CString -> Int32 -> Ptr (Ptr GError) -> IO CInt
ggit_config_set_int32 Ptr Config
config' CString
name' Int32
value
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
config
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
)
#if defined(ENABLE_OVERLOADING)
data ConfigSetInt32MethodInfo
instance (signature ~ (T.Text -> Int32 -> m ()), MonadIO m, IsConfig a) => O.OverloadedMethod ConfigSetInt32MethodInfo a signature where
overloadedMethod = configSetInt32
instance O.OverloadedMethodInfo ConfigSetInt32MethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.Ggit.Objects.Config.configSetInt32",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-ggit-1.0.10/docs/GI-Ggit-Objects-Config.html#v:configSetInt32"
}
#endif
foreign import ccall "ggit_config_set_int64" ggit_config_set_int64 ::
Ptr Config ->
CString ->
Int64 ->
Ptr (Ptr GError) ->
IO CInt
configSetInt64 ::
(B.CallStack.HasCallStack, MonadIO m, IsConfig a) =>
a
-> T.Text
-> Int64
-> m ()
configSetInt64 :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsConfig a) =>
a -> Text -> Int64 -> m ()
configSetInt64 a
config Text
name Int64
value = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Config
config' <- a -> IO (Ptr Config)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
config
CString
name' <- Text -> IO CString
textToCString Text
name
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Config -> CString -> Int64 -> Ptr (Ptr GError) -> IO CInt
ggit_config_set_int64 Ptr Config
config' CString
name' Int64
value
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
config
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
)
#if defined(ENABLE_OVERLOADING)
data ConfigSetInt64MethodInfo
instance (signature ~ (T.Text -> Int64 -> m ()), MonadIO m, IsConfig a) => O.OverloadedMethod ConfigSetInt64MethodInfo a signature where
overloadedMethod = configSetInt64
instance O.OverloadedMethodInfo ConfigSetInt64MethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.Ggit.Objects.Config.configSetInt64",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-ggit-1.0.10/docs/GI-Ggit-Objects-Config.html#v:configSetInt64"
}
#endif
foreign import ccall "ggit_config_set_string" ggit_config_set_string ::
Ptr Config ->
CString ->
CString ->
Ptr (Ptr GError) ->
IO CInt
configSetString ::
(B.CallStack.HasCallStack, MonadIO m, IsConfig a) =>
a
-> T.Text
-> T.Text
-> m ()
configSetString :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsConfig a) =>
a -> Text -> Text -> m ()
configSetString a
config Text
name Text
value = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ do
Ptr Config
config' <- a -> IO (Ptr Config)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
config
CString
name' <- Text -> IO CString
textToCString Text
name
CString
value' <- Text -> IO CString
textToCString Text
value
IO () -> IO () -> IO ()
forall a b. IO a -> IO b -> IO a
onException (do
CInt
_ <- (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO CInt) -> IO CInt)
-> (Ptr (Ptr GError) -> IO CInt) -> IO CInt
forall a b. (a -> b) -> a -> b
$ Ptr Config -> CString -> CString -> Ptr (Ptr GError) -> IO CInt
ggit_config_set_string Ptr Config
config' CString
name' CString
value'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
config
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
) (do
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
)
#if defined(ENABLE_OVERLOADING)
data ConfigSetStringMethodInfo
instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m, IsConfig a) => O.OverloadedMethod ConfigSetStringMethodInfo a signature where
overloadedMethod = configSetString
instance O.OverloadedMethodInfo ConfigSetStringMethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.Ggit.Objects.Config.configSetString",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-ggit-1.0.10/docs/GI-Ggit-Objects-Config.html#v:configSetString"
}
#endif
foreign import ccall "ggit_config_snapshot" ggit_config_snapshot ::
Ptr Config ->
Ptr (Ptr GError) ->
IO (Ptr Config)
configSnapshot ::
(B.CallStack.HasCallStack, MonadIO m, IsConfig a) =>
a
-> m Config
configSnapshot :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsConfig a) =>
a -> m Config
configSnapshot a
config = IO Config -> m Config
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Config -> m Config) -> IO Config -> m Config
forall a b. (a -> b) -> a -> b
$ do
Ptr Config
config' <- a -> IO (Ptr Config)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
config
IO Config -> IO () -> IO Config
forall a b. IO a -> IO b -> IO a
onException (do
Ptr Config
result <- (Ptr (Ptr GError) -> IO (Ptr Config)) -> IO (Ptr Config)
forall a. (Ptr (Ptr GError) -> IO a) -> IO a
propagateGError ((Ptr (Ptr GError) -> IO (Ptr Config)) -> IO (Ptr Config))
-> (Ptr (Ptr GError) -> IO (Ptr Config)) -> IO (Ptr Config)
forall a b. (a -> b) -> a -> b
$ Ptr Config -> Ptr (Ptr GError) -> IO (Ptr Config)
ggit_config_snapshot Ptr Config
config'
Text -> Ptr Config -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"configSnapshot" Ptr Config
result
Config
result' <- ((ManagedPtr Config -> Config) -> Ptr Config -> IO Config
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr Config -> Config
Config) Ptr Config
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
config
Config -> IO Config
forall (m :: * -> *) a. Monad m => a -> m a
return Config
result'
) (do
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
)
#if defined(ENABLE_OVERLOADING)
data ConfigSnapshotMethodInfo
instance (signature ~ (m Config), MonadIO m, IsConfig a) => O.OverloadedMethod ConfigSnapshotMethodInfo a signature where
overloadedMethod = configSnapshot
instance O.OverloadedMethodInfo ConfigSnapshotMethodInfo a where
overloadedMethodInfo = O.MethodInfo {
O.overloadedMethodName = "GI.Ggit.Objects.Config.configSnapshot",
O.overloadedMethodURL = "https://hackage.haskell.org/package/gi-ggit-1.0.10/docs/GI-Ggit-Objects-Config.html#v:configSnapshot"
}
#endif
foreign import ccall "ggit_config_find_global" ggit_config_find_global ::
IO (Ptr Gio.File.File)
configFindGlobal ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Gio.File.File
configFindGlobal :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m File
configFindGlobal = IO File -> m File
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO File -> m File) -> IO File -> m File
forall a b. (a -> b) -> a -> b
$ do
Ptr File
result <- IO (Ptr File)
ggit_config_find_global
Text -> Ptr File -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"configFindGlobal" Ptr File
result
File
result' <- ((ManagedPtr File -> File) -> Ptr File -> IO File
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr File -> File
Gio.File.File) Ptr File
result
File -> IO File
forall (m :: * -> *) a. Monad m => a -> m a
return File
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "ggit_config_find_system" ggit_config_find_system ::
IO (Ptr Gio.File.File)
configFindSystem ::
(B.CallStack.HasCallStack, MonadIO m) =>
m Gio.File.File
configFindSystem :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m File
configFindSystem = IO File -> m File
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO File -> m File) -> IO File -> m File
forall a b. (a -> b) -> a -> b
$ do
Ptr File
result <- IO (Ptr File)
ggit_config_find_system
Text -> Ptr File -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"configFindSystem" Ptr File
result
File
result' <- ((ManagedPtr File -> File) -> Ptr File -> IO File
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr File -> File
Gio.File.File) Ptr File
result
File -> IO File
forall (m :: * -> *) a. Monad m => a -> m a
return File
result'
#if defined(ENABLE_OVERLOADING)
#endif