{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gst.Interfaces.Preset
(
Preset(..) ,
IsPreset ,
#if defined(ENABLE_OVERLOADING)
ResolvePresetMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
PresetDeletePresetMethodInfo ,
#endif
presetDeletePreset ,
presetGetAppDir ,
#if defined(ENABLE_OVERLOADING)
PresetGetMetaMethodInfo ,
#endif
presetGetMeta ,
#if defined(ENABLE_OVERLOADING)
PresetGetPresetNamesMethodInfo ,
#endif
presetGetPresetNames ,
#if defined(ENABLE_OVERLOADING)
PresetGetPropertyNamesMethodInfo ,
#endif
presetGetPropertyNames ,
#if defined(ENABLE_OVERLOADING)
PresetIsEditableMethodInfo ,
#endif
presetIsEditable ,
#if defined(ENABLE_OVERLOADING)
PresetLoadPresetMethodInfo ,
#endif
presetLoadPreset ,
#if defined(ENABLE_OVERLOADING)
PresetRenamePresetMethodInfo ,
#endif
presetRenamePreset ,
#if defined(ENABLE_OVERLOADING)
PresetSavePresetMethodInfo ,
#endif
presetSavePreset ,
presetSetAppDir ,
#if defined(ENABLE_OVERLOADING)
PresetSetMetaMethodInfo ,
#endif
presetSetMeta ,
) 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.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
newtype Preset = Preset (SP.ManagedPtr Preset)
deriving (Preset -> Preset -> Bool
(Preset -> Preset -> Bool)
-> (Preset -> Preset -> Bool) -> Eq Preset
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Preset -> Preset -> Bool
$c/= :: Preset -> Preset -> Bool
== :: Preset -> Preset -> Bool
$c== :: Preset -> Preset -> Bool
Eq)
instance SP.ManagedPtrNewtype Preset where
toManagedPtr :: Preset -> ManagedPtr Preset
toManagedPtr (Preset ManagedPtr Preset
p) = ManagedPtr Preset
p
class (ManagedPtrNewtype o, O.IsDescendantOf Preset o) => IsPreset o
instance (ManagedPtrNewtype o, O.IsDescendantOf Preset o) => IsPreset o
instance BoxedPtr Preset where
boxedPtrCopy :: Preset -> IO Preset
boxedPtrCopy = Preset -> IO Preset
forall (m :: * -> *) a. Monad m => a -> m a
return
boxedPtrFree :: Preset -> IO ()
boxedPtrFree = \Preset
_x -> () -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
type family ResolvePresetMethod (t :: Symbol) (o :: *) :: * where
ResolvePresetMethod "deletePreset" o = PresetDeletePresetMethodInfo
ResolvePresetMethod "isEditable" o = PresetIsEditableMethodInfo
ResolvePresetMethod "loadPreset" o = PresetLoadPresetMethodInfo
ResolvePresetMethod "renamePreset" o = PresetRenamePresetMethodInfo
ResolvePresetMethod "savePreset" o = PresetSavePresetMethodInfo
ResolvePresetMethod "getMeta" o = PresetGetMetaMethodInfo
ResolvePresetMethod "getPresetNames" o = PresetGetPresetNamesMethodInfo
ResolvePresetMethod "getPropertyNames" o = PresetGetPropertyNamesMethodInfo
ResolvePresetMethod "setMeta" o = PresetSetMetaMethodInfo
ResolvePresetMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolvePresetMethod t Preset, O.MethodInfo info Preset p) => OL.IsLabel t (Preset -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
foreign import ccall "gst_preset_delete_preset" gst_preset_delete_preset ::
Ptr Preset ->
CString ->
IO CInt
presetDeletePreset ::
(B.CallStack.HasCallStack, MonadIO m, IsPreset a) =>
a
-> T.Text
-> m Bool
presetDeletePreset :: a -> Text -> m Bool
presetDeletePreset a
preset Text
name = IO Bool -> m Bool
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
Ptr Preset
preset' <- a -> IO (Ptr Preset)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
preset
CString
name' <- Text -> IO CString
textToCString Text
name
CInt
result <- Ptr Preset -> CString -> IO CInt
gst_preset_delete_preset Ptr Preset
preset' CString
name'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
preset
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data PresetDeletePresetMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsPreset a) => O.MethodInfo PresetDeletePresetMethodInfo a signature where
overloadedMethod = presetDeletePreset
#endif
foreign import ccall "gst_preset_get_meta" gst_preset_get_meta ::
Ptr Preset ->
CString ->
CString ->
Ptr CString ->
IO CInt
presetGetMeta ::
(B.CallStack.HasCallStack, MonadIO m, IsPreset a) =>
a
-> T.Text
-> T.Text
-> m ((Bool, T.Text))
presetGetMeta :: a -> Text -> Text -> m (Bool, Text)
presetGetMeta a
preset Text
name Text
tag = IO (Bool, Text) -> m (Bool, Text)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, Text) -> m (Bool, Text))
-> IO (Bool, Text) -> m (Bool, Text)
forall a b. (a -> b) -> a -> b
$ do
Ptr Preset
preset' <- a -> IO (Ptr Preset)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
preset
CString
name' <- Text -> IO CString
textToCString Text
name
CString
tag' <- Text -> IO CString
textToCString Text
tag
Ptr CString
value <- IO (Ptr CString)
forall a. Storable a => IO (Ptr a)
callocMem :: IO (Ptr CString)
CInt
result <- Ptr Preset -> CString -> CString -> Ptr CString -> IO CInt
gst_preset_get_meta Ptr Preset
preset' CString
name' CString
tag' Ptr CString
value
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
CString
value' <- Ptr CString -> IO CString
forall a. Storable a => Ptr a -> IO a
peek Ptr CString
value
Text
value'' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
value'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
value'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
preset
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
tag'
Ptr CString -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CString
value
(Bool, Text) -> IO (Bool, Text)
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', Text
value'')
#if defined(ENABLE_OVERLOADING)
data PresetGetMetaMethodInfo
instance (signature ~ (T.Text -> T.Text -> m ((Bool, T.Text))), MonadIO m, IsPreset a) => O.MethodInfo PresetGetMetaMethodInfo a signature where
overloadedMethod = presetGetMeta
#endif
foreign import ccall "gst_preset_get_preset_names" gst_preset_get_preset_names ::
Ptr Preset ->
IO (Ptr CString)
presetGetPresetNames ::
(B.CallStack.HasCallStack, MonadIO m, IsPreset a) =>
a
-> m [T.Text]
presetGetPresetNames :: a -> m [Text]
presetGetPresetNames a
preset = IO [Text] -> m [Text]
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
Ptr Preset
preset' <- a -> IO (Ptr Preset)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
preset
Ptr CString
result <- Ptr Preset -> IO (Ptr CString)
gst_preset_get_preset_names Ptr Preset
preset'
Text -> Ptr CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"presetGetPresetNames" Ptr CString
result
[Text]
result' <- HasCallStack => Ptr CString -> IO [Text]
Ptr CString -> IO [Text]
unpackZeroTerminatedUTF8CArray Ptr CString
result
(CString -> IO ()) -> Ptr CString -> IO ()
forall a b. (Ptr a -> IO b) -> Ptr (Ptr a) -> IO ()
mapZeroTerminatedCArray CString -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CString
result
Ptr CString -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
preset
[Text] -> IO [Text]
forall (m :: * -> *) a. Monad m => a -> m a
return [Text]
result'
#if defined(ENABLE_OVERLOADING)
data PresetGetPresetNamesMethodInfo
instance (signature ~ (m [T.Text]), MonadIO m, IsPreset a) => O.MethodInfo PresetGetPresetNamesMethodInfo a signature where
overloadedMethod = presetGetPresetNames
#endif
foreign import ccall "gst_preset_get_property_names" gst_preset_get_property_names ::
Ptr Preset ->
IO (Ptr CString)
presetGetPropertyNames ::
(B.CallStack.HasCallStack, MonadIO m, IsPreset a) =>
a
-> m [T.Text]
presetGetPropertyNames :: a -> m [Text]
presetGetPropertyNames a
preset = IO [Text] -> m [Text]
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
Ptr Preset
preset' <- a -> IO (Ptr Preset)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
preset
Ptr CString
result <- Ptr Preset -> IO (Ptr CString)
gst_preset_get_property_names Ptr Preset
preset'
Text -> Ptr CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"presetGetPropertyNames" Ptr CString
result
[Text]
result' <- HasCallStack => Ptr CString -> IO [Text]
Ptr CString -> IO [Text]
unpackZeroTerminatedUTF8CArray Ptr CString
result
(CString -> IO ()) -> Ptr CString -> IO ()
forall a b. (Ptr a -> IO b) -> Ptr (Ptr a) -> IO ()
mapZeroTerminatedCArray CString -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CString
result
Ptr CString -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr CString
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
preset
[Text] -> IO [Text]
forall (m :: * -> *) a. Monad m => a -> m a
return [Text]
result'
#if defined(ENABLE_OVERLOADING)
data PresetGetPropertyNamesMethodInfo
instance (signature ~ (m [T.Text]), MonadIO m, IsPreset a) => O.MethodInfo PresetGetPropertyNamesMethodInfo a signature where
overloadedMethod = presetGetPropertyNames
#endif
foreign import ccall "gst_preset_is_editable" gst_preset_is_editable ::
Ptr Preset ->
IO CInt
presetIsEditable ::
(B.CallStack.HasCallStack, MonadIO m, IsPreset a) =>
a
-> m Bool
presetIsEditable :: a -> m Bool
presetIsEditable a
preset = IO Bool -> m Bool
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
Ptr Preset
preset' <- a -> IO (Ptr Preset)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
preset
CInt
result <- Ptr Preset -> IO CInt
gst_preset_is_editable Ptr Preset
preset'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
preset
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data PresetIsEditableMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsPreset a) => O.MethodInfo PresetIsEditableMethodInfo a signature where
overloadedMethod = presetIsEditable
#endif
foreign import ccall "gst_preset_load_preset" gst_preset_load_preset ::
Ptr Preset ->
CString ->
IO CInt
presetLoadPreset ::
(B.CallStack.HasCallStack, MonadIO m, IsPreset a) =>
a
-> T.Text
-> m Bool
presetLoadPreset :: a -> Text -> m Bool
presetLoadPreset a
preset Text
name = IO Bool -> m Bool
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
Ptr Preset
preset' <- a -> IO (Ptr Preset)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
preset
CString
name' <- Text -> IO CString
textToCString Text
name
CInt
result <- Ptr Preset -> CString -> IO CInt
gst_preset_load_preset Ptr Preset
preset' CString
name'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
preset
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data PresetLoadPresetMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsPreset a) => O.MethodInfo PresetLoadPresetMethodInfo a signature where
overloadedMethod = presetLoadPreset
#endif
foreign import ccall "gst_preset_rename_preset" gst_preset_rename_preset ::
Ptr Preset ->
CString ->
CString ->
IO CInt
presetRenamePreset ::
(B.CallStack.HasCallStack, MonadIO m, IsPreset a) =>
a
-> T.Text
-> T.Text
-> m Bool
presetRenamePreset :: a -> Text -> Text -> m Bool
presetRenamePreset a
preset Text
oldName Text
newName = IO Bool -> m Bool
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
Ptr Preset
preset' <- a -> IO (Ptr Preset)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
preset
CString
oldName' <- Text -> IO CString
textToCString Text
oldName
CString
newName' <- Text -> IO CString
textToCString Text
newName
CInt
result <- Ptr Preset -> CString -> CString -> IO CInt
gst_preset_rename_preset Ptr Preset
preset' CString
oldName' CString
newName'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
preset
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
oldName'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
newName'
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data PresetRenamePresetMethodInfo
instance (signature ~ (T.Text -> T.Text -> m Bool), MonadIO m, IsPreset a) => O.MethodInfo PresetRenamePresetMethodInfo a signature where
overloadedMethod = presetRenamePreset
#endif
foreign import ccall "gst_preset_save_preset" gst_preset_save_preset ::
Ptr Preset ->
CString ->
IO CInt
presetSavePreset ::
(B.CallStack.HasCallStack, MonadIO m, IsPreset a) =>
a
-> T.Text
-> m Bool
presetSavePreset :: a -> Text -> m Bool
presetSavePreset a
preset Text
name = IO Bool -> m Bool
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
Ptr Preset
preset' <- a -> IO (Ptr Preset)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
preset
CString
name' <- Text -> IO CString
textToCString Text
name
CInt
result <- Ptr Preset -> CString -> IO CInt
gst_preset_save_preset Ptr Preset
preset' CString
name'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
preset
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data PresetSavePresetMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m, IsPreset a) => O.MethodInfo PresetSavePresetMethodInfo a signature where
overloadedMethod = presetSavePreset
#endif
foreign import ccall "gst_preset_set_meta" gst_preset_set_meta ::
Ptr Preset ->
CString ->
CString ->
CString ->
IO CInt
presetSetMeta ::
(B.CallStack.HasCallStack, MonadIO m, IsPreset a) =>
a
-> T.Text
-> T.Text
-> Maybe (T.Text)
-> m Bool
presetSetMeta :: a -> Text -> Text -> Maybe Text -> m Bool
presetSetMeta a
preset Text
name Text
tag Maybe Text
value = IO Bool -> m Bool
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
Ptr Preset
preset' <- a -> IO (Ptr Preset)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
preset
CString
name' <- Text -> IO CString
textToCString Text
name
CString
tag' <- Text -> IO CString
textToCString Text
tag
CString
maybeValue <- case Maybe Text
value of
Maybe Text
Nothing -> CString -> IO CString
forall (m :: * -> *) a. Monad m => a -> m a
return CString
forall a. Ptr a
nullPtr
Just Text
jValue -> do
CString
jValue' <- Text -> IO CString
textToCString Text
jValue
CString -> IO CString
forall (m :: * -> *) a. Monad m => a -> m a
return CString
jValue'
CInt
result <- Ptr Preset -> CString -> CString -> CString -> IO CInt
gst_preset_set_meta Ptr Preset
preset' CString
name' CString
tag' CString
maybeValue
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
preset
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
name'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
tag'
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
maybeValue
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data PresetSetMetaMethodInfo
instance (signature ~ (T.Text -> T.Text -> Maybe (T.Text) -> m Bool), MonadIO m, IsPreset a) => O.MethodInfo PresetSetMetaMethodInfo a signature where
overloadedMethod = presetSetMeta
#endif
foreign import ccall "gst_preset_get_app_dir" gst_preset_get_app_dir ::
IO CString
presetGetAppDir ::
(B.CallStack.HasCallStack, MonadIO m) =>
m (Maybe [Char])
presetGetAppDir :: m (Maybe [Char])
presetGetAppDir = IO (Maybe [Char]) -> m (Maybe [Char])
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe [Char]) -> m (Maybe [Char]))
-> IO (Maybe [Char]) -> m (Maybe [Char])
forall a b. (a -> b) -> a -> b
$ do
CString
result <- IO CString
gst_preset_get_app_dir
Maybe [Char]
maybeResult <- CString -> (CString -> IO [Char]) -> IO (Maybe [Char])
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull CString
result ((CString -> IO [Char]) -> IO (Maybe [Char]))
-> (CString -> IO [Char]) -> IO (Maybe [Char])
forall a b. (a -> b) -> a -> b
$ \CString
result' -> do
[Char]
result'' <- HasCallStack => CString -> IO [Char]
CString -> IO [Char]
cstringToString CString
result'
[Char] -> IO [Char]
forall (m :: * -> *) a. Monad m => a -> m a
return [Char]
result''
Maybe [Char] -> IO (Maybe [Char])
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe [Char]
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_preset_set_app_dir" gst_preset_set_app_dir ::
CString ->
IO CInt
presetSetAppDir ::
(B.CallStack.HasCallStack, MonadIO m) =>
[Char]
-> m Bool
presetSetAppDir :: [Char] -> m Bool
presetSetAppDir [Char]
appDir = IO Bool -> m Bool
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
CString
appDir' <- [Char] -> IO CString
stringToCString [Char]
appDir
CInt
result <- CString -> IO CInt
gst_preset_set_app_dir CString
appDir'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
appDir'
Bool -> IO Bool
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList Preset = PresetSignalList
type PresetSignalList = ('[ ] :: [(Symbol, *)])
#endif