{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gst.Structs.CapsFeatures
(
CapsFeatures(..) ,
#if defined(ENABLE_OVERLOADING)
ResolveCapsFeaturesMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
CapsFeaturesAddMethodInfo ,
#endif
capsFeaturesAdd ,
#if defined(ENABLE_OVERLOADING)
CapsFeaturesAddIdMethodInfo ,
#endif
capsFeaturesAddId ,
#if defined(ENABLE_OVERLOADING)
CapsFeaturesContainsMethodInfo ,
#endif
capsFeaturesContains ,
#if defined(ENABLE_OVERLOADING)
CapsFeaturesContainsIdMethodInfo ,
#endif
capsFeaturesContainsId ,
#if defined(ENABLE_OVERLOADING)
CapsFeaturesCopyMethodInfo ,
#endif
capsFeaturesCopy ,
#if defined(ENABLE_OVERLOADING)
CapsFeaturesFreeMethodInfo ,
#endif
capsFeaturesFree ,
capsFeaturesFromString ,
#if defined(ENABLE_OVERLOADING)
CapsFeaturesGetNthMethodInfo ,
#endif
capsFeaturesGetNth ,
#if defined(ENABLE_OVERLOADING)
CapsFeaturesGetNthIdMethodInfo ,
#endif
capsFeaturesGetNthId ,
#if defined(ENABLE_OVERLOADING)
CapsFeaturesGetSizeMethodInfo ,
#endif
capsFeaturesGetSize ,
#if defined(ENABLE_OVERLOADING)
CapsFeaturesIsAnyMethodInfo ,
#endif
capsFeaturesIsAny ,
#if defined(ENABLE_OVERLOADING)
CapsFeaturesIsEqualMethodInfo ,
#endif
capsFeaturesIsEqual ,
capsFeaturesNewAny ,
capsFeaturesNewEmpty ,
capsFeaturesNewSingle ,
#if defined(ENABLE_OVERLOADING)
CapsFeaturesRemoveMethodInfo ,
#endif
capsFeaturesRemove ,
#if defined(ENABLE_OVERLOADING)
CapsFeaturesRemoveIdMethodInfo ,
#endif
capsFeaturesRemoveId ,
#if defined(ENABLE_OVERLOADING)
CapsFeaturesSetParentRefcountMethodInfo ,
#endif
capsFeaturesSetParentRefcount ,
#if defined(ENABLE_OVERLOADING)
CapsFeaturesToStringMethodInfo ,
#endif
capsFeaturesToString ,
) 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
newtype CapsFeatures = CapsFeatures (SP.ManagedPtr CapsFeatures)
deriving (CapsFeatures -> CapsFeatures -> Bool
(CapsFeatures -> CapsFeatures -> Bool)
-> (CapsFeatures -> CapsFeatures -> Bool) -> Eq CapsFeatures
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: CapsFeatures -> CapsFeatures -> Bool
== :: CapsFeatures -> CapsFeatures -> Bool
$c/= :: CapsFeatures -> CapsFeatures -> Bool
/= :: CapsFeatures -> CapsFeatures -> Bool
Eq)
instance SP.ManagedPtrNewtype CapsFeatures where
toManagedPtr :: CapsFeatures -> ManagedPtr CapsFeatures
toManagedPtr (CapsFeatures ManagedPtr CapsFeatures
p) = ManagedPtr CapsFeatures
p
foreign import ccall "gst_caps_features_get_type" c_gst_caps_features_get_type ::
IO GType
type instance O.ParentTypes CapsFeatures = '[]
instance O.HasParentTypes CapsFeatures
instance B.Types.TypedObject CapsFeatures where
glibType :: IO GType
glibType = IO GType
c_gst_caps_features_get_type
instance B.Types.GBoxed CapsFeatures
instance B.GValue.IsGValue (Maybe CapsFeatures) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gst_caps_features_get_type
gvalueSet_ :: Ptr GValue -> Maybe CapsFeatures -> IO ()
gvalueSet_ Ptr GValue
gv Maybe CapsFeatures
P.Nothing = Ptr GValue -> Ptr CapsFeatures -> IO ()
forall a. Ptr GValue -> Ptr a -> IO ()
B.GValue.set_boxed Ptr GValue
gv (Ptr CapsFeatures
forall a. Ptr a
FP.nullPtr :: FP.Ptr CapsFeatures)
gvalueSet_ Ptr GValue
gv (P.Just CapsFeatures
obj) = CapsFeatures -> (Ptr CapsFeatures -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr CapsFeatures
obj (Ptr GValue -> Ptr CapsFeatures -> IO ()
forall a. Ptr GValue -> Ptr a -> IO ()
B.GValue.set_boxed Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe CapsFeatures)
gvalueGet_ Ptr GValue
gv = do
Ptr CapsFeatures
ptr <- Ptr GValue -> IO (Ptr CapsFeatures)
forall b. Ptr GValue -> IO (Ptr b)
B.GValue.get_boxed Ptr GValue
gv :: IO (Ptr CapsFeatures)
if Ptr CapsFeatures
ptr Ptr CapsFeatures -> Ptr CapsFeatures -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr CapsFeatures
forall a. Ptr a
FP.nullPtr
then CapsFeatures -> Maybe CapsFeatures
forall a. a -> Maybe a
P.Just (CapsFeatures -> Maybe CapsFeatures)
-> IO CapsFeatures -> IO (Maybe CapsFeatures)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr CapsFeatures -> CapsFeatures)
-> Ptr CapsFeatures -> IO CapsFeatures
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.newBoxed ManagedPtr CapsFeatures -> CapsFeatures
CapsFeatures Ptr CapsFeatures
ptr
else Maybe CapsFeatures -> IO (Maybe CapsFeatures)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe CapsFeatures
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList CapsFeatures
type instance O.AttributeList CapsFeatures = CapsFeaturesAttributeList
type CapsFeaturesAttributeList = ('[ ] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "gst_caps_features_new_any" gst_caps_features_new_any ::
IO (Ptr CapsFeatures)
capsFeaturesNewAny ::
(B.CallStack.HasCallStack, MonadIO m) =>
m CapsFeatures
capsFeaturesNewAny :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m CapsFeatures
capsFeaturesNewAny = IO CapsFeatures -> m CapsFeatures
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO CapsFeatures -> m CapsFeatures)
-> IO CapsFeatures -> m CapsFeatures
forall a b. (a -> b) -> a -> b
$ do
Ptr CapsFeatures
result <- IO (Ptr CapsFeatures)
gst_caps_features_new_any
Text -> Ptr CapsFeatures -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"capsFeaturesNewAny" Ptr CapsFeatures
result
CapsFeatures
result' <- ((ManagedPtr CapsFeatures -> CapsFeatures)
-> Ptr CapsFeatures -> IO CapsFeatures
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr CapsFeatures -> CapsFeatures
CapsFeatures) Ptr CapsFeatures
result
CapsFeatures -> IO CapsFeatures
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CapsFeatures
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_caps_features_new_empty" gst_caps_features_new_empty ::
IO (Ptr CapsFeatures)
capsFeaturesNewEmpty ::
(B.CallStack.HasCallStack, MonadIO m) =>
m CapsFeatures
capsFeaturesNewEmpty :: forall (m :: * -> *). (HasCallStack, MonadIO m) => m CapsFeatures
capsFeaturesNewEmpty = IO CapsFeatures -> m CapsFeatures
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO CapsFeatures -> m CapsFeatures)
-> IO CapsFeatures -> m CapsFeatures
forall a b. (a -> b) -> a -> b
$ do
Ptr CapsFeatures
result <- IO (Ptr CapsFeatures)
gst_caps_features_new_empty
Text -> Ptr CapsFeatures -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"capsFeaturesNewEmpty" Ptr CapsFeatures
result
CapsFeatures
result' <- ((ManagedPtr CapsFeatures -> CapsFeatures)
-> Ptr CapsFeatures -> IO CapsFeatures
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr CapsFeatures -> CapsFeatures
CapsFeatures) Ptr CapsFeatures
result
CapsFeatures -> IO CapsFeatures
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CapsFeatures
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_caps_features_new_single" gst_caps_features_new_single ::
CString ->
IO (Ptr CapsFeatures)
capsFeaturesNewSingle ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m CapsFeatures
capsFeaturesNewSingle :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Text -> m CapsFeatures
capsFeaturesNewSingle Text
feature = IO CapsFeatures -> m CapsFeatures
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO CapsFeatures -> m CapsFeatures)
-> IO CapsFeatures -> m CapsFeatures
forall a b. (a -> b) -> a -> b
$ do
CString
feature' <- Text -> IO CString
textToCString Text
feature
Ptr CapsFeatures
result <- CString -> IO (Ptr CapsFeatures)
gst_caps_features_new_single CString
feature'
Text -> Ptr CapsFeatures -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"capsFeaturesNewSingle" Ptr CapsFeatures
result
CapsFeatures
result' <- ((ManagedPtr CapsFeatures -> CapsFeatures)
-> Ptr CapsFeatures -> IO CapsFeatures
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr CapsFeatures -> CapsFeatures
CapsFeatures) Ptr CapsFeatures
result
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
feature'
CapsFeatures -> IO CapsFeatures
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CapsFeatures
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_caps_features_add" gst_caps_features_add ::
Ptr CapsFeatures ->
CString ->
IO ()
capsFeaturesAdd ::
(B.CallStack.HasCallStack, MonadIO m) =>
CapsFeatures
-> T.Text
-> m ()
capsFeaturesAdd :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
CapsFeatures -> Text -> m ()
capsFeaturesAdd CapsFeatures
features Text
feature = 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 CapsFeatures
features' <- CapsFeatures -> IO (Ptr CapsFeatures)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr CapsFeatures
features
CString
feature' <- Text -> IO CString
textToCString Text
feature
Ptr CapsFeatures -> CString -> IO ()
gst_caps_features_add Ptr CapsFeatures
features' CString
feature'
CapsFeatures -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr CapsFeatures
features
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
feature'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data CapsFeaturesAddMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m) => O.OverloadedMethod CapsFeaturesAddMethodInfo CapsFeatures signature where
overloadedMethod = capsFeaturesAdd
instance O.OverloadedMethodInfo CapsFeaturesAddMethodInfo CapsFeatures where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.CapsFeatures.capsFeaturesAdd",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.28/docs/GI-Gst-Structs-CapsFeatures.html#v:capsFeaturesAdd"
})
#endif
foreign import ccall "gst_caps_features_add_id" gst_caps_features_add_id ::
Ptr CapsFeatures ->
Word32 ->
IO ()
capsFeaturesAddId ::
(B.CallStack.HasCallStack, MonadIO m) =>
CapsFeatures
-> Word32
-> m ()
capsFeaturesAddId :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
CapsFeatures -> Word32 -> m ()
capsFeaturesAddId CapsFeatures
features Word32
feature = 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 CapsFeatures
features' <- CapsFeatures -> IO (Ptr CapsFeatures)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr CapsFeatures
features
Ptr CapsFeatures -> Word32 -> IO ()
gst_caps_features_add_id Ptr CapsFeatures
features' Word32
feature
CapsFeatures -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr CapsFeatures
features
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data CapsFeaturesAddIdMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m) => O.OverloadedMethod CapsFeaturesAddIdMethodInfo CapsFeatures signature where
overloadedMethod = capsFeaturesAddId
instance O.OverloadedMethodInfo CapsFeaturesAddIdMethodInfo CapsFeatures where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.CapsFeatures.capsFeaturesAddId",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.28/docs/GI-Gst-Structs-CapsFeatures.html#v:capsFeaturesAddId"
})
#endif
foreign import ccall "gst_caps_features_contains" gst_caps_features_contains ::
Ptr CapsFeatures ->
CString ->
IO CInt
capsFeaturesContains ::
(B.CallStack.HasCallStack, MonadIO m) =>
CapsFeatures
-> T.Text
-> m Bool
capsFeaturesContains :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
CapsFeatures -> Text -> m Bool
capsFeaturesContains CapsFeatures
features Text
feature = 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
Ptr CapsFeatures
features' <- CapsFeatures -> IO (Ptr CapsFeatures)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr CapsFeatures
features
CString
feature' <- Text -> IO CString
textToCString Text
feature
CInt
result <- Ptr CapsFeatures -> CString -> IO CInt
gst_caps_features_contains Ptr CapsFeatures
features' CString
feature'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
CapsFeatures -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr CapsFeatures
features
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
feature'
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data CapsFeaturesContainsMethodInfo
instance (signature ~ (T.Text -> m Bool), MonadIO m) => O.OverloadedMethod CapsFeaturesContainsMethodInfo CapsFeatures signature where
overloadedMethod = capsFeaturesContains
instance O.OverloadedMethodInfo CapsFeaturesContainsMethodInfo CapsFeatures where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.CapsFeatures.capsFeaturesContains",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.28/docs/GI-Gst-Structs-CapsFeatures.html#v:capsFeaturesContains"
})
#endif
foreign import ccall "gst_caps_features_contains_id" gst_caps_features_contains_id ::
Ptr CapsFeatures ->
Word32 ->
IO CInt
capsFeaturesContainsId ::
(B.CallStack.HasCallStack, MonadIO m) =>
CapsFeatures
-> Word32
-> m Bool
capsFeaturesContainsId :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
CapsFeatures -> Word32 -> m Bool
capsFeaturesContainsId CapsFeatures
features Word32
feature = 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
Ptr CapsFeatures
features' <- CapsFeatures -> IO (Ptr CapsFeatures)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr CapsFeatures
features
CInt
result <- Ptr CapsFeatures -> Word32 -> IO CInt
gst_caps_features_contains_id Ptr CapsFeatures
features' Word32
feature
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
CapsFeatures -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr CapsFeatures
features
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data CapsFeaturesContainsIdMethodInfo
instance (signature ~ (Word32 -> m Bool), MonadIO m) => O.OverloadedMethod CapsFeaturesContainsIdMethodInfo CapsFeatures signature where
overloadedMethod = capsFeaturesContainsId
instance O.OverloadedMethodInfo CapsFeaturesContainsIdMethodInfo CapsFeatures where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.CapsFeatures.capsFeaturesContainsId",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.28/docs/GI-Gst-Structs-CapsFeatures.html#v:capsFeaturesContainsId"
})
#endif
foreign import ccall "gst_caps_features_copy" gst_caps_features_copy ::
Ptr CapsFeatures ->
IO (Ptr CapsFeatures)
capsFeaturesCopy ::
(B.CallStack.HasCallStack, MonadIO m) =>
CapsFeatures
-> m CapsFeatures
capsFeaturesCopy :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
CapsFeatures -> m CapsFeatures
capsFeaturesCopy CapsFeatures
features = IO CapsFeatures -> m CapsFeatures
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO CapsFeatures -> m CapsFeatures)
-> IO CapsFeatures -> m CapsFeatures
forall a b. (a -> b) -> a -> b
$ do
Ptr CapsFeatures
features' <- CapsFeatures -> IO (Ptr CapsFeatures)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr CapsFeatures
features
Ptr CapsFeatures
result <- Ptr CapsFeatures -> IO (Ptr CapsFeatures)
gst_caps_features_copy Ptr CapsFeatures
features'
Text -> Ptr CapsFeatures -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"capsFeaturesCopy" Ptr CapsFeatures
result
CapsFeatures
result' <- ((ManagedPtr CapsFeatures -> CapsFeatures)
-> Ptr CapsFeatures -> IO CapsFeatures
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr CapsFeatures -> CapsFeatures
CapsFeatures) Ptr CapsFeatures
result
CapsFeatures -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr CapsFeatures
features
CapsFeatures -> IO CapsFeatures
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CapsFeatures
result'
#if defined(ENABLE_OVERLOADING)
data CapsFeaturesCopyMethodInfo
instance (signature ~ (m CapsFeatures), MonadIO m) => O.OverloadedMethod CapsFeaturesCopyMethodInfo CapsFeatures signature where
overloadedMethod = capsFeaturesCopy
instance O.OverloadedMethodInfo CapsFeaturesCopyMethodInfo CapsFeatures where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.CapsFeatures.capsFeaturesCopy",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.28/docs/GI-Gst-Structs-CapsFeatures.html#v:capsFeaturesCopy"
})
#endif
foreign import ccall "gst_caps_features_free" gst_caps_features_free ::
Ptr CapsFeatures ->
IO ()
capsFeaturesFree ::
(B.CallStack.HasCallStack, MonadIO m) =>
CapsFeatures
-> m ()
capsFeaturesFree :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
CapsFeatures -> m ()
capsFeaturesFree CapsFeatures
features = 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 CapsFeatures
features' <- CapsFeatures -> IO (Ptr CapsFeatures)
forall a. (HasCallStack, GBoxed a) => a -> IO (Ptr a)
B.ManagedPtr.disownBoxed CapsFeatures
features
Ptr CapsFeatures -> IO ()
gst_caps_features_free Ptr CapsFeatures
features'
CapsFeatures -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr CapsFeatures
features
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data CapsFeaturesFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.OverloadedMethod CapsFeaturesFreeMethodInfo CapsFeatures signature where
overloadedMethod = capsFeaturesFree
instance O.OverloadedMethodInfo CapsFeaturesFreeMethodInfo CapsFeatures where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.CapsFeatures.capsFeaturesFree",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.28/docs/GI-Gst-Structs-CapsFeatures.html#v:capsFeaturesFree"
})
#endif
foreign import ccall "gst_caps_features_get_nth" gst_caps_features_get_nth ::
Ptr CapsFeatures ->
Word32 ->
IO CString
capsFeaturesGetNth ::
(B.CallStack.HasCallStack, MonadIO m) =>
CapsFeatures
-> Word32
-> m (Maybe T.Text)
capsFeaturesGetNth :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
CapsFeatures -> Word32 -> m (Maybe Text)
capsFeaturesGetNth CapsFeatures
features Word32
i = 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
Ptr CapsFeatures
features' <- CapsFeatures -> IO (Ptr CapsFeatures)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr CapsFeatures
features
CString
result <- Ptr CapsFeatures -> Word32 -> IO CString
gst_caps_features_get_nth Ptr CapsFeatures
features' Word32
i
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 a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result''
CapsFeatures -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr CapsFeatures
features
Maybe Text -> IO (Maybe Text)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Text
maybeResult
#if defined(ENABLE_OVERLOADING)
data CapsFeaturesGetNthMethodInfo
instance (signature ~ (Word32 -> m (Maybe T.Text)), MonadIO m) => O.OverloadedMethod CapsFeaturesGetNthMethodInfo CapsFeatures signature where
overloadedMethod = capsFeaturesGetNth
instance O.OverloadedMethodInfo CapsFeaturesGetNthMethodInfo CapsFeatures where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.CapsFeatures.capsFeaturesGetNth",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.28/docs/GI-Gst-Structs-CapsFeatures.html#v:capsFeaturesGetNth"
})
#endif
foreign import ccall "gst_caps_features_get_nth_id" gst_caps_features_get_nth_id ::
Ptr CapsFeatures ->
Word32 ->
IO Word32
capsFeaturesGetNthId ::
(B.CallStack.HasCallStack, MonadIO m) =>
CapsFeatures
-> Word32
-> m Word32
capsFeaturesGetNthId :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
CapsFeatures -> Word32 -> m Word32
capsFeaturesGetNthId CapsFeatures
features Word32
i = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
Ptr CapsFeatures
features' <- CapsFeatures -> IO (Ptr CapsFeatures)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr CapsFeatures
features
Word32
result <- Ptr CapsFeatures -> Word32 -> IO Word32
gst_caps_features_get_nth_id Ptr CapsFeatures
features' Word32
i
CapsFeatures -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr CapsFeatures
features
Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
#if defined(ENABLE_OVERLOADING)
data CapsFeaturesGetNthIdMethodInfo
instance (signature ~ (Word32 -> m Word32), MonadIO m) => O.OverloadedMethod CapsFeaturesGetNthIdMethodInfo CapsFeatures signature where
overloadedMethod = capsFeaturesGetNthId
instance O.OverloadedMethodInfo CapsFeaturesGetNthIdMethodInfo CapsFeatures where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.CapsFeatures.capsFeaturesGetNthId",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.28/docs/GI-Gst-Structs-CapsFeatures.html#v:capsFeaturesGetNthId"
})
#endif
foreign import ccall "gst_caps_features_get_size" gst_caps_features_get_size ::
Ptr CapsFeatures ->
IO Word32
capsFeaturesGetSize ::
(B.CallStack.HasCallStack, MonadIO m) =>
CapsFeatures
-> m Word32
capsFeaturesGetSize :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
CapsFeatures -> m Word32
capsFeaturesGetSize CapsFeatures
features = IO Word32 -> m Word32
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Word32 -> m Word32) -> IO Word32 -> m Word32
forall a b. (a -> b) -> a -> b
$ do
Ptr CapsFeatures
features' <- CapsFeatures -> IO (Ptr CapsFeatures)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr CapsFeatures
features
Word32
result <- Ptr CapsFeatures -> IO Word32
gst_caps_features_get_size Ptr CapsFeatures
features'
CapsFeatures -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr CapsFeatures
features
Word32 -> IO Word32
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
result
#if defined(ENABLE_OVERLOADING)
data CapsFeaturesGetSizeMethodInfo
instance (signature ~ (m Word32), MonadIO m) => O.OverloadedMethod CapsFeaturesGetSizeMethodInfo CapsFeatures signature where
overloadedMethod = capsFeaturesGetSize
instance O.OverloadedMethodInfo CapsFeaturesGetSizeMethodInfo CapsFeatures where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.CapsFeatures.capsFeaturesGetSize",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.28/docs/GI-Gst-Structs-CapsFeatures.html#v:capsFeaturesGetSize"
})
#endif
foreign import ccall "gst_caps_features_is_any" gst_caps_features_is_any ::
Ptr CapsFeatures ->
IO CInt
capsFeaturesIsAny ::
(B.CallStack.HasCallStack, MonadIO m) =>
CapsFeatures
-> m Bool
capsFeaturesIsAny :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
CapsFeatures -> m Bool
capsFeaturesIsAny CapsFeatures
features = 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
Ptr CapsFeatures
features' <- CapsFeatures -> IO (Ptr CapsFeatures)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr CapsFeatures
features
CInt
result <- Ptr CapsFeatures -> IO CInt
gst_caps_features_is_any Ptr CapsFeatures
features'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
CapsFeatures -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr CapsFeatures
features
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data CapsFeaturesIsAnyMethodInfo
instance (signature ~ (m Bool), MonadIO m) => O.OverloadedMethod CapsFeaturesIsAnyMethodInfo CapsFeatures signature where
overloadedMethod = capsFeaturesIsAny
instance O.OverloadedMethodInfo CapsFeaturesIsAnyMethodInfo CapsFeatures where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.CapsFeatures.capsFeaturesIsAny",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.28/docs/GI-Gst-Structs-CapsFeatures.html#v:capsFeaturesIsAny"
})
#endif
foreign import ccall "gst_caps_features_is_equal" gst_caps_features_is_equal ::
Ptr CapsFeatures ->
Ptr CapsFeatures ->
IO CInt
capsFeaturesIsEqual ::
(B.CallStack.HasCallStack, MonadIO m) =>
CapsFeatures
-> CapsFeatures
-> m Bool
capsFeaturesIsEqual :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
CapsFeatures -> CapsFeatures -> m Bool
capsFeaturesIsEqual CapsFeatures
features1 CapsFeatures
features2 = 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
Ptr CapsFeatures
features1' <- CapsFeatures -> IO (Ptr CapsFeatures)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr CapsFeatures
features1
Ptr CapsFeatures
features2' <- CapsFeatures -> IO (Ptr CapsFeatures)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr CapsFeatures
features2
CInt
result <- Ptr CapsFeatures -> Ptr CapsFeatures -> IO CInt
gst_caps_features_is_equal Ptr CapsFeatures
features1' Ptr CapsFeatures
features2'
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
CapsFeatures -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr CapsFeatures
features1
CapsFeatures -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr CapsFeatures
features2
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data CapsFeaturesIsEqualMethodInfo
instance (signature ~ (CapsFeatures -> m Bool), MonadIO m) => O.OverloadedMethod CapsFeaturesIsEqualMethodInfo CapsFeatures signature where
overloadedMethod = capsFeaturesIsEqual
instance O.OverloadedMethodInfo CapsFeaturesIsEqualMethodInfo CapsFeatures where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.CapsFeatures.capsFeaturesIsEqual",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.28/docs/GI-Gst-Structs-CapsFeatures.html#v:capsFeaturesIsEqual"
})
#endif
foreign import ccall "gst_caps_features_remove" gst_caps_features_remove ::
Ptr CapsFeatures ->
CString ->
IO ()
capsFeaturesRemove ::
(B.CallStack.HasCallStack, MonadIO m) =>
CapsFeatures
-> T.Text
-> m ()
capsFeaturesRemove :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
CapsFeatures -> Text -> m ()
capsFeaturesRemove CapsFeatures
features Text
feature = 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 CapsFeatures
features' <- CapsFeatures -> IO (Ptr CapsFeatures)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr CapsFeatures
features
CString
feature' <- Text -> IO CString
textToCString Text
feature
Ptr CapsFeatures -> CString -> IO ()
gst_caps_features_remove Ptr CapsFeatures
features' CString
feature'
CapsFeatures -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr CapsFeatures
features
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
feature'
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data CapsFeaturesRemoveMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m) => O.OverloadedMethod CapsFeaturesRemoveMethodInfo CapsFeatures signature where
overloadedMethod = capsFeaturesRemove
instance O.OverloadedMethodInfo CapsFeaturesRemoveMethodInfo CapsFeatures where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.CapsFeatures.capsFeaturesRemove",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.28/docs/GI-Gst-Structs-CapsFeatures.html#v:capsFeaturesRemove"
})
#endif
foreign import ccall "gst_caps_features_remove_id" gst_caps_features_remove_id ::
Ptr CapsFeatures ->
Word32 ->
IO ()
capsFeaturesRemoveId ::
(B.CallStack.HasCallStack, MonadIO m) =>
CapsFeatures
-> Word32
-> m ()
capsFeaturesRemoveId :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
CapsFeatures -> Word32 -> m ()
capsFeaturesRemoveId CapsFeatures
features Word32
feature = 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 CapsFeatures
features' <- CapsFeatures -> IO (Ptr CapsFeatures)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr CapsFeatures
features
Ptr CapsFeatures -> Word32 -> IO ()
gst_caps_features_remove_id Ptr CapsFeatures
features' Word32
feature
CapsFeatures -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr CapsFeatures
features
() -> IO ()
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data CapsFeaturesRemoveIdMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m) => O.OverloadedMethod CapsFeaturesRemoveIdMethodInfo CapsFeatures signature where
overloadedMethod = capsFeaturesRemoveId
instance O.OverloadedMethodInfo CapsFeaturesRemoveIdMethodInfo CapsFeatures where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.CapsFeatures.capsFeaturesRemoveId",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.28/docs/GI-Gst-Structs-CapsFeatures.html#v:capsFeaturesRemoveId"
})
#endif
foreign import ccall "gst_caps_features_set_parent_refcount" gst_caps_features_set_parent_refcount ::
Ptr CapsFeatures ->
Int32 ->
IO CInt
capsFeaturesSetParentRefcount ::
(B.CallStack.HasCallStack, MonadIO m) =>
CapsFeatures
-> Int32
-> m Bool
capsFeaturesSetParentRefcount :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
CapsFeatures -> Int32 -> m Bool
capsFeaturesSetParentRefcount CapsFeatures
features Int32
refcount = 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
Ptr CapsFeatures
features' <- CapsFeatures -> IO (Ptr CapsFeatures)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr CapsFeatures
features
CInt
result <- Ptr CapsFeatures -> Int32 -> IO CInt
gst_caps_features_set_parent_refcount Ptr CapsFeatures
features' Int32
refcount
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= CInt
0) CInt
result
CapsFeatures -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr CapsFeatures
features
Bool -> IO Bool
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Bool
result'
#if defined(ENABLE_OVERLOADING)
data CapsFeaturesSetParentRefcountMethodInfo
instance (signature ~ (Int32 -> m Bool), MonadIO m) => O.OverloadedMethod CapsFeaturesSetParentRefcountMethodInfo CapsFeatures signature where
overloadedMethod = capsFeaturesSetParentRefcount
instance O.OverloadedMethodInfo CapsFeaturesSetParentRefcountMethodInfo CapsFeatures where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.CapsFeatures.capsFeaturesSetParentRefcount",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.28/docs/GI-Gst-Structs-CapsFeatures.html#v:capsFeaturesSetParentRefcount"
})
#endif
foreign import ccall "gst_caps_features_to_string" gst_caps_features_to_string ::
Ptr CapsFeatures ->
IO CString
capsFeaturesToString ::
(B.CallStack.HasCallStack, MonadIO m) =>
CapsFeatures
-> m T.Text
capsFeaturesToString :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
CapsFeatures -> m Text
capsFeaturesToString CapsFeatures
features = 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
Ptr CapsFeatures
features' <- CapsFeatures -> IO (Ptr CapsFeatures)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr CapsFeatures
features
CString
result <- Ptr CapsFeatures -> IO CString
gst_caps_features_to_string Ptr CapsFeatures
features'
Text -> CString -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL Text
"capsFeaturesToString" CString
result
Text
result' <- HasCallStack => CString -> IO Text
CString -> IO Text
cstringToText CString
result
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
result
CapsFeatures -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr CapsFeatures
features
Text -> IO Text
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Text
result'
#if defined(ENABLE_OVERLOADING)
data CapsFeaturesToStringMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.OverloadedMethod CapsFeaturesToStringMethodInfo CapsFeatures signature where
overloadedMethod = capsFeaturesToString
instance O.OverloadedMethodInfo CapsFeaturesToStringMethodInfo CapsFeatures where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Structs.CapsFeatures.capsFeaturesToString",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.28/docs/GI-Gst-Structs-CapsFeatures.html#v:capsFeaturesToString"
})
#endif
foreign import ccall "gst_caps_features_from_string" gst_caps_features_from_string ::
CString ->
IO (Ptr CapsFeatures)
capsFeaturesFromString ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m (Maybe CapsFeatures)
capsFeaturesFromString :: forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
Text -> m (Maybe CapsFeatures)
capsFeaturesFromString Text
features = IO (Maybe CapsFeatures) -> m (Maybe CapsFeatures)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe CapsFeatures) -> m (Maybe CapsFeatures))
-> IO (Maybe CapsFeatures) -> m (Maybe CapsFeatures)
forall a b. (a -> b) -> a -> b
$ do
CString
features' <- Text -> IO CString
textToCString Text
features
Ptr CapsFeatures
result <- CString -> IO (Ptr CapsFeatures)
gst_caps_features_from_string CString
features'
Maybe CapsFeatures
maybeResult <- Ptr CapsFeatures
-> (Ptr CapsFeatures -> IO CapsFeatures) -> IO (Maybe CapsFeatures)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr CapsFeatures
result ((Ptr CapsFeatures -> IO CapsFeatures) -> IO (Maybe CapsFeatures))
-> (Ptr CapsFeatures -> IO CapsFeatures) -> IO (Maybe CapsFeatures)
forall a b. (a -> b) -> a -> b
$ \Ptr CapsFeatures
result' -> do
CapsFeatures
result'' <- ((ManagedPtr CapsFeatures -> CapsFeatures)
-> Ptr CapsFeatures -> IO CapsFeatures
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr CapsFeatures -> CapsFeatures
CapsFeatures) Ptr CapsFeatures
result'
CapsFeatures -> IO CapsFeatures
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return CapsFeatures
result''
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
features'
Maybe CapsFeatures -> IO (Maybe CapsFeatures)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe CapsFeatures
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveCapsFeaturesMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveCapsFeaturesMethod "add" o = CapsFeaturesAddMethodInfo
ResolveCapsFeaturesMethod "addId" o = CapsFeaturesAddIdMethodInfo
ResolveCapsFeaturesMethod "contains" o = CapsFeaturesContainsMethodInfo
ResolveCapsFeaturesMethod "containsId" o = CapsFeaturesContainsIdMethodInfo
ResolveCapsFeaturesMethod "copy" o = CapsFeaturesCopyMethodInfo
ResolveCapsFeaturesMethod "free" o = CapsFeaturesFreeMethodInfo
ResolveCapsFeaturesMethod "isAny" o = CapsFeaturesIsAnyMethodInfo
ResolveCapsFeaturesMethod "isEqual" o = CapsFeaturesIsEqualMethodInfo
ResolveCapsFeaturesMethod "remove" o = CapsFeaturesRemoveMethodInfo
ResolveCapsFeaturesMethod "removeId" o = CapsFeaturesRemoveIdMethodInfo
ResolveCapsFeaturesMethod "toString" o = CapsFeaturesToStringMethodInfo
ResolveCapsFeaturesMethod "getNth" o = CapsFeaturesGetNthMethodInfo
ResolveCapsFeaturesMethod "getNthId" o = CapsFeaturesGetNthIdMethodInfo
ResolveCapsFeaturesMethod "getSize" o = CapsFeaturesGetSizeMethodInfo
ResolveCapsFeaturesMethod "setParentRefcount" o = CapsFeaturesSetParentRefcountMethodInfo
ResolveCapsFeaturesMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveCapsFeaturesMethod t CapsFeatures, O.OverloadedMethod info CapsFeatures p) => OL.IsLabel t (CapsFeatures -> 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 ~ ResolveCapsFeaturesMethod t CapsFeatures, O.OverloadedMethod info CapsFeatures p, R.HasField t CapsFeatures p) => R.HasField t CapsFeatures p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveCapsFeaturesMethod t CapsFeatures, O.OverloadedMethodInfo info CapsFeatures) => OL.IsLabel t (O.MethodProxy info CapsFeatures) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif