{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GstBase.Structs.CollectData
(
CollectData(..) ,
newZeroCollectData ,
#if defined(ENABLE_OVERLOADING)
ResolveCollectDataMethod ,
#endif
clearCollectDataBuffer ,
#if defined(ENABLE_OVERLOADING)
collectData_buffer ,
#endif
getCollectDataBuffer ,
setCollectDataBuffer ,
clearCollectDataCollect ,
#if defined(ENABLE_OVERLOADING)
collectData_collect ,
#endif
getCollectDataCollect ,
setCollectDataCollect ,
clearCollectDataPad ,
#if defined(ENABLE_OVERLOADING)
collectData_pad ,
#endif
getCollectDataPad ,
setCollectDataPad ,
#if defined(ENABLE_OVERLOADING)
collectData_pos ,
#endif
getCollectDataPos ,
setCollectDataPos ,
#if defined(ENABLE_OVERLOADING)
collectData_segment ,
#endif
getCollectDataSegment ,
) 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.Coerce as Coerce
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.Gst.Objects.Pad as Gst.Pad
import qualified GI.Gst.Structs.Buffer as Gst.Buffer
import qualified GI.Gst.Structs.Segment as Gst.Segment
import {-# SOURCE #-} qualified GI.GstBase.Objects.CollectPads as GstBase.CollectPads
newtype CollectData = CollectData (SP.ManagedPtr CollectData)
deriving (CollectData -> CollectData -> Bool
(CollectData -> CollectData -> Bool)
-> (CollectData -> CollectData -> Bool) -> Eq CollectData
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CollectData -> CollectData -> Bool
$c/= :: CollectData -> CollectData -> Bool
== :: CollectData -> CollectData -> Bool
$c== :: CollectData -> CollectData -> Bool
Eq)
instance SP.ManagedPtrNewtype CollectData where
toManagedPtr :: CollectData -> ManagedPtr CollectData
toManagedPtr (CollectData ManagedPtr CollectData
p) = ManagedPtr CollectData
p
instance BoxedPtr CollectData where
boxedPtrCopy :: CollectData -> IO CollectData
boxedPtrCopy = \CollectData
p -> CollectData
-> (Ptr CollectData -> IO CollectData) -> IO CollectData
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr CollectData
p (Int -> Ptr CollectData -> IO (Ptr CollectData)
forall a. (HasCallStack, CallocPtr a) => Int -> Ptr a -> IO (Ptr a)
copyBytes Int
168 (Ptr CollectData -> IO (Ptr CollectData))
-> (Ptr CollectData -> IO CollectData)
-> Ptr CollectData
-> IO CollectData
forall (m :: * -> *) a b c.
Monad m =>
(a -> m b) -> (b -> m c) -> a -> m c
>=> (ManagedPtr CollectData -> CollectData)
-> Ptr CollectData -> IO CollectData
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.wrapPtr ManagedPtr CollectData -> CollectData
CollectData)
boxedPtrFree :: CollectData -> IO ()
boxedPtrFree = \CollectData
x -> CollectData -> (Ptr CollectData -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
SP.withManagedPtr CollectData
x Ptr CollectData -> IO ()
forall a. Ptr a -> IO ()
SP.freeMem
instance CallocPtr CollectData where
boxedPtrCalloc :: IO (Ptr CollectData)
boxedPtrCalloc = Int -> IO (Ptr CollectData)
forall a. Int -> IO (Ptr a)
callocBytes Int
168
newZeroCollectData :: MonadIO m => m CollectData
newZeroCollectData :: forall (m :: * -> *). MonadIO m => m CollectData
newZeroCollectData = IO CollectData -> m CollectData
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO CollectData -> m CollectData)
-> IO CollectData -> m CollectData
forall a b. (a -> b) -> a -> b
$ IO (Ptr CollectData)
forall a. CallocPtr a => IO (Ptr a)
boxedPtrCalloc IO (Ptr CollectData)
-> (Ptr CollectData -> IO CollectData) -> IO CollectData
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (ManagedPtr CollectData -> CollectData)
-> Ptr CollectData -> IO CollectData
forall a.
(HasCallStack, BoxedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapPtr ManagedPtr CollectData -> CollectData
CollectData
instance tag ~ 'AttrSet => Constructible CollectData tag where
new :: forall (m :: * -> *).
MonadIO m =>
(ManagedPtr CollectData -> CollectData)
-> [AttrOp CollectData tag] -> m CollectData
new ManagedPtr CollectData -> CollectData
_ [AttrOp CollectData tag]
attrs = do
CollectData
o <- m CollectData
forall (m :: * -> *). MonadIO m => m CollectData
newZeroCollectData
CollectData -> [AttrOp CollectData 'AttrSet] -> m ()
forall o (m :: * -> *).
MonadIO m =>
o -> [AttrOp o 'AttrSet] -> m ()
GI.Attributes.set CollectData
o [AttrOp CollectData tag]
[AttrOp CollectData 'AttrSet]
attrs
CollectData -> m CollectData
forall (m :: * -> *) a. Monad m => a -> m a
return CollectData
o
getCollectDataCollect :: MonadIO m => CollectData -> m (Maybe GstBase.CollectPads.CollectPads)
getCollectDataCollect :: forall (m :: * -> *).
MonadIO m =>
CollectData -> m (Maybe CollectPads)
getCollectDataCollect CollectData
s = IO (Maybe CollectPads) -> m (Maybe CollectPads)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe CollectPads) -> m (Maybe CollectPads))
-> IO (Maybe CollectPads) -> m (Maybe CollectPads)
forall a b. (a -> b) -> a -> b
$ CollectData
-> (Ptr CollectData -> IO (Maybe CollectPads))
-> IO (Maybe CollectPads)
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr CollectData
s ((Ptr CollectData -> IO (Maybe CollectPads))
-> IO (Maybe CollectPads))
-> (Ptr CollectData -> IO (Maybe CollectPads))
-> IO (Maybe CollectPads)
forall a b. (a -> b) -> a -> b
$ \Ptr CollectData
ptr -> do
Ptr CollectPads
val <- Ptr (Ptr CollectPads) -> IO (Ptr CollectPads)
forall a. Storable a => Ptr a -> IO a
peek (Ptr CollectData
ptr Ptr CollectData -> Int -> Ptr (Ptr CollectPads)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) :: IO (Ptr GstBase.CollectPads.CollectPads)
Maybe CollectPads
result <- Ptr CollectPads
-> (Ptr CollectPads -> IO CollectPads) -> IO (Maybe CollectPads)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
SP.convertIfNonNull Ptr CollectPads
val ((Ptr CollectPads -> IO CollectPads) -> IO (Maybe CollectPads))
-> (Ptr CollectPads -> IO CollectPads) -> IO (Maybe CollectPads)
forall a b. (a -> b) -> a -> b
$ \Ptr CollectPads
val' -> do
CollectPads
val'' <- ((ManagedPtr CollectPads -> CollectPads)
-> Ptr CollectPads -> IO CollectPads
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr CollectPads -> CollectPads
GstBase.CollectPads.CollectPads) Ptr CollectPads
val'
CollectPads -> IO CollectPads
forall (m :: * -> *) a. Monad m => a -> m a
return CollectPads
val''
Maybe CollectPads -> IO (Maybe CollectPads)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe CollectPads
result
setCollectDataCollect :: MonadIO m => CollectData -> Ptr GstBase.CollectPads.CollectPads -> m ()
setCollectDataCollect :: forall (m :: * -> *).
MonadIO m =>
CollectData -> Ptr CollectPads -> m ()
setCollectDataCollect CollectData
s Ptr CollectPads
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ CollectData -> (Ptr CollectData -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr CollectData
s ((Ptr CollectData -> IO ()) -> IO ())
-> (Ptr CollectData -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr CollectData
ptr -> do
Ptr (Ptr CollectPads) -> Ptr CollectPads -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CollectData
ptr Ptr CollectData -> Int -> Ptr (Ptr CollectPads)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) (Ptr CollectPads
val :: Ptr GstBase.CollectPads.CollectPads)
clearCollectDataCollect :: MonadIO m => CollectData -> m ()
clearCollectDataCollect :: forall (m :: * -> *). MonadIO m => CollectData -> m ()
clearCollectDataCollect CollectData
s = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ CollectData -> (Ptr CollectData -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr CollectData
s ((Ptr CollectData -> IO ()) -> IO ())
-> (Ptr CollectData -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr CollectData
ptr -> do
Ptr (Ptr CollectPads) -> Ptr CollectPads -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CollectData
ptr Ptr CollectData -> Int -> Ptr (Ptr CollectPads)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
0) (Ptr CollectPads
forall a. Ptr a
FP.nullPtr :: Ptr GstBase.CollectPads.CollectPads)
#if defined(ENABLE_OVERLOADING)
data CollectDataCollectFieldInfo
instance AttrInfo CollectDataCollectFieldInfo where
type AttrBaseTypeConstraint CollectDataCollectFieldInfo = (~) CollectData
type AttrAllowedOps CollectDataCollectFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint CollectDataCollectFieldInfo = (~) (Ptr GstBase.CollectPads.CollectPads)
type AttrTransferTypeConstraint CollectDataCollectFieldInfo = (~)(Ptr GstBase.CollectPads.CollectPads)
type AttrTransferType CollectDataCollectFieldInfo = (Ptr GstBase.CollectPads.CollectPads)
type AttrGetType CollectDataCollectFieldInfo = Maybe GstBase.CollectPads.CollectPads
type AttrLabel CollectDataCollectFieldInfo = "collect"
type AttrOrigin CollectDataCollectFieldInfo = CollectData
attrGet = getCollectDataCollect
attrSet = setCollectDataCollect
attrConstruct = undefined
attrClear = clearCollectDataCollect
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Structs.CollectData.collect"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Structs-CollectData.html#g:attr:collect"
})
collectData_collect :: AttrLabelProxy "collect"
collectData_collect = AttrLabelProxy
#endif
getCollectDataPad :: MonadIO m => CollectData -> m (Maybe Gst.Pad.Pad)
getCollectDataPad :: forall (m :: * -> *). MonadIO m => CollectData -> m (Maybe Pad)
getCollectDataPad CollectData
s = IO (Maybe Pad) -> m (Maybe Pad)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Pad) -> m (Maybe Pad))
-> IO (Maybe Pad) -> m (Maybe Pad)
forall a b. (a -> b) -> a -> b
$ CollectData
-> (Ptr CollectData -> IO (Maybe Pad)) -> IO (Maybe Pad)
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr CollectData
s ((Ptr CollectData -> IO (Maybe Pad)) -> IO (Maybe Pad))
-> (Ptr CollectData -> IO (Maybe Pad)) -> IO (Maybe Pad)
forall a b. (a -> b) -> a -> b
$ \Ptr CollectData
ptr -> do
Ptr Pad
val <- Ptr (Ptr Pad) -> IO (Ptr Pad)
forall a. Storable a => Ptr a -> IO a
peek (Ptr CollectData
ptr Ptr CollectData -> Int -> Ptr (Ptr Pad)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8) :: IO (Ptr Gst.Pad.Pad)
Maybe Pad
result <- Ptr Pad -> (Ptr Pad -> IO Pad) -> IO (Maybe Pad)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
SP.convertIfNonNull Ptr Pad
val ((Ptr Pad -> IO Pad) -> IO (Maybe Pad))
-> (Ptr Pad -> IO Pad) -> IO (Maybe Pad)
forall a b. (a -> b) -> a -> b
$ \Ptr Pad
val' -> do
Pad
val'' <- ((ManagedPtr Pad -> Pad) -> Ptr Pad -> IO Pad
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
newObject ManagedPtr Pad -> Pad
Gst.Pad.Pad) Ptr Pad
val'
Pad -> IO Pad
forall (m :: * -> *) a. Monad m => a -> m a
return Pad
val''
Maybe Pad -> IO (Maybe Pad)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Pad
result
setCollectDataPad :: MonadIO m => CollectData -> Ptr Gst.Pad.Pad -> m ()
setCollectDataPad :: forall (m :: * -> *). MonadIO m => CollectData -> Ptr Pad -> m ()
setCollectDataPad CollectData
s Ptr Pad
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ CollectData -> (Ptr CollectData -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr CollectData
s ((Ptr CollectData -> IO ()) -> IO ())
-> (Ptr CollectData -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr CollectData
ptr -> do
Ptr (Ptr Pad) -> Ptr Pad -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CollectData
ptr Ptr CollectData -> Int -> Ptr (Ptr Pad)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8) (Ptr Pad
val :: Ptr Gst.Pad.Pad)
clearCollectDataPad :: MonadIO m => CollectData -> m ()
clearCollectDataPad :: forall (m :: * -> *). MonadIO m => CollectData -> m ()
clearCollectDataPad CollectData
s = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ CollectData -> (Ptr CollectData -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr CollectData
s ((Ptr CollectData -> IO ()) -> IO ())
-> (Ptr CollectData -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr CollectData
ptr -> do
Ptr (Ptr Pad) -> Ptr Pad -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CollectData
ptr Ptr CollectData -> Int -> Ptr (Ptr Pad)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
8) (Ptr Pad
forall a. Ptr a
FP.nullPtr :: Ptr Gst.Pad.Pad)
#if defined(ENABLE_OVERLOADING)
data CollectDataPadFieldInfo
instance AttrInfo CollectDataPadFieldInfo where
type AttrBaseTypeConstraint CollectDataPadFieldInfo = (~) CollectData
type AttrAllowedOps CollectDataPadFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint CollectDataPadFieldInfo = (~) (Ptr Gst.Pad.Pad)
type AttrTransferTypeConstraint CollectDataPadFieldInfo = (~)(Ptr Gst.Pad.Pad)
type AttrTransferType CollectDataPadFieldInfo = (Ptr Gst.Pad.Pad)
type AttrGetType CollectDataPadFieldInfo = Maybe Gst.Pad.Pad
type AttrLabel CollectDataPadFieldInfo = "pad"
type AttrOrigin CollectDataPadFieldInfo = CollectData
attrGet = getCollectDataPad
attrSet = setCollectDataPad
attrConstruct = undefined
attrClear = clearCollectDataPad
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Structs.CollectData.pad"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Structs-CollectData.html#g:attr:pad"
})
collectData_pad :: AttrLabelProxy "pad"
collectData_pad = AttrLabelProxy
#endif
getCollectDataBuffer :: MonadIO m => CollectData -> m (Maybe Gst.Buffer.Buffer)
getCollectDataBuffer :: forall (m :: * -> *). MonadIO m => CollectData -> m (Maybe Buffer)
getCollectDataBuffer CollectData
s = IO (Maybe Buffer) -> m (Maybe Buffer)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Buffer) -> m (Maybe Buffer))
-> IO (Maybe Buffer) -> m (Maybe Buffer)
forall a b. (a -> b) -> a -> b
$ CollectData
-> (Ptr CollectData -> IO (Maybe Buffer)) -> IO (Maybe Buffer)
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr CollectData
s ((Ptr CollectData -> IO (Maybe Buffer)) -> IO (Maybe Buffer))
-> (Ptr CollectData -> IO (Maybe Buffer)) -> IO (Maybe Buffer)
forall a b. (a -> b) -> a -> b
$ \Ptr CollectData
ptr -> do
Ptr Buffer
val <- Ptr (Ptr Buffer) -> IO (Ptr Buffer)
forall a. Storable a => Ptr a -> IO a
peek (Ptr CollectData
ptr Ptr CollectData -> Int -> Ptr (Ptr Buffer)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) :: IO (Ptr Gst.Buffer.Buffer)
Maybe Buffer
result <- Ptr Buffer -> (Ptr Buffer -> IO Buffer) -> IO (Maybe Buffer)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
SP.convertIfNonNull Ptr Buffer
val ((Ptr Buffer -> IO Buffer) -> IO (Maybe Buffer))
-> (Ptr Buffer -> IO Buffer) -> IO (Maybe Buffer)
forall a b. (a -> b) -> a -> b
$ \Ptr Buffer
val' -> do
Buffer
val'' <- ((ManagedPtr Buffer -> Buffer) -> Ptr Buffer -> IO Buffer
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr Buffer -> Buffer
Gst.Buffer.Buffer) Ptr Buffer
val'
Buffer -> IO Buffer
forall (m :: * -> *) a. Monad m => a -> m a
return Buffer
val''
Maybe Buffer -> IO (Maybe Buffer)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Buffer
result
setCollectDataBuffer :: MonadIO m => CollectData -> Ptr Gst.Buffer.Buffer -> m ()
setCollectDataBuffer :: forall (m :: * -> *).
MonadIO m =>
CollectData -> Ptr Buffer -> m ()
setCollectDataBuffer CollectData
s Ptr Buffer
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ CollectData -> (Ptr CollectData -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr CollectData
s ((Ptr CollectData -> IO ()) -> IO ())
-> (Ptr CollectData -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr CollectData
ptr -> do
Ptr (Ptr Buffer) -> Ptr Buffer -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CollectData
ptr Ptr CollectData -> Int -> Ptr (Ptr Buffer)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) (Ptr Buffer
val :: Ptr Gst.Buffer.Buffer)
clearCollectDataBuffer :: MonadIO m => CollectData -> m ()
clearCollectDataBuffer :: forall (m :: * -> *). MonadIO m => CollectData -> m ()
clearCollectDataBuffer CollectData
s = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ CollectData -> (Ptr CollectData -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr CollectData
s ((Ptr CollectData -> IO ()) -> IO ())
-> (Ptr CollectData -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr CollectData
ptr -> do
Ptr (Ptr Buffer) -> Ptr Buffer -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CollectData
ptr Ptr CollectData -> Int -> Ptr (Ptr Buffer)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
16) (Ptr Buffer
forall a. Ptr a
FP.nullPtr :: Ptr Gst.Buffer.Buffer)
#if defined(ENABLE_OVERLOADING)
data CollectDataBufferFieldInfo
instance AttrInfo CollectDataBufferFieldInfo where
type AttrBaseTypeConstraint CollectDataBufferFieldInfo = (~) CollectData
type AttrAllowedOps CollectDataBufferFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint CollectDataBufferFieldInfo = (~) (Ptr Gst.Buffer.Buffer)
type AttrTransferTypeConstraint CollectDataBufferFieldInfo = (~)(Ptr Gst.Buffer.Buffer)
type AttrTransferType CollectDataBufferFieldInfo = (Ptr Gst.Buffer.Buffer)
type AttrGetType CollectDataBufferFieldInfo = Maybe Gst.Buffer.Buffer
type AttrLabel CollectDataBufferFieldInfo = "buffer"
type AttrOrigin CollectDataBufferFieldInfo = CollectData
attrGet = getCollectDataBuffer
attrSet = setCollectDataBuffer
attrConstruct = undefined
attrClear = clearCollectDataBuffer
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Structs.CollectData.buffer"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Structs-CollectData.html#g:attr:buffer"
})
collectData_buffer :: AttrLabelProxy "buffer"
collectData_buffer = AttrLabelProxy
#endif
getCollectDataPos :: MonadIO m => CollectData -> m Word32
getCollectDataPos :: forall (m :: * -> *). MonadIO m => CollectData -> m Word32
getCollectDataPos CollectData
s = IO Word32 -> m Word32
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
$ CollectData -> (Ptr CollectData -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr CollectData
s ((Ptr CollectData -> IO Word32) -> IO Word32)
-> (Ptr CollectData -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \Ptr CollectData
ptr -> do
Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr CollectData
ptr Ptr CollectData -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24) :: IO Word32
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val
setCollectDataPos :: MonadIO m => CollectData -> Word32 -> m ()
setCollectDataPos :: forall (m :: * -> *). MonadIO m => CollectData -> Word32 -> m ()
setCollectDataPos CollectData
s Word32
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ CollectData -> (Ptr CollectData -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr CollectData
s ((Ptr CollectData -> IO ()) -> IO ())
-> (Ptr CollectData -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \Ptr CollectData
ptr -> do
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr CollectData
ptr Ptr CollectData -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
24) (Word32
val :: Word32)
#if defined(ENABLE_OVERLOADING)
data CollectDataPosFieldInfo
instance AttrInfo CollectDataPosFieldInfo where
type AttrBaseTypeConstraint CollectDataPosFieldInfo = (~) CollectData
type AttrAllowedOps CollectDataPosFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint CollectDataPosFieldInfo = (~) Word32
type AttrTransferTypeConstraint CollectDataPosFieldInfo = (~)Word32
type AttrTransferType CollectDataPosFieldInfo = Word32
type AttrGetType CollectDataPosFieldInfo = Word32
type AttrLabel CollectDataPosFieldInfo = "pos"
type AttrOrigin CollectDataPosFieldInfo = CollectData
attrGet = getCollectDataPos
attrSet = setCollectDataPos
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Structs.CollectData.pos"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Structs-CollectData.html#g:attr:pos"
})
collectData_pos :: AttrLabelProxy "pos"
collectData_pos = AttrLabelProxy
#endif
getCollectDataSegment :: MonadIO m => CollectData -> m Gst.Segment.Segment
getCollectDataSegment :: forall (m :: * -> *). MonadIO m => CollectData -> m Segment
getCollectDataSegment CollectData
s = IO Segment -> m Segment
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Segment -> m Segment) -> IO Segment -> m Segment
forall a b. (a -> b) -> a -> b
$ CollectData -> (Ptr CollectData -> IO Segment) -> IO Segment
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr CollectData
s ((Ptr CollectData -> IO Segment) -> IO Segment)
-> (Ptr CollectData -> IO Segment) -> IO Segment
forall a b. (a -> b) -> a -> b
$ \Ptr CollectData
ptr -> do
let val :: Ptr Segment
val = Ptr CollectData
ptr Ptr CollectData -> Int -> Ptr Segment
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` Int
32 :: (Ptr Gst.Segment.Segment)
Segment
val' <- ((ManagedPtr Segment -> Segment) -> Ptr Segment -> IO Segment
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr Segment -> Segment
Gst.Segment.Segment) Ptr Segment
val
Segment -> IO Segment
forall (m :: * -> *) a. Monad m => a -> m a
return Segment
val'
#if defined(ENABLE_OVERLOADING)
data CollectDataSegmentFieldInfo
instance AttrInfo CollectDataSegmentFieldInfo where
type AttrBaseTypeConstraint CollectDataSegmentFieldInfo = (~) CollectData
type AttrAllowedOps CollectDataSegmentFieldInfo = '[ 'AttrGet]
type AttrSetTypeConstraint CollectDataSegmentFieldInfo = (~) (Ptr Gst.Segment.Segment)
type AttrTransferTypeConstraint CollectDataSegmentFieldInfo = (~)(Ptr Gst.Segment.Segment)
type AttrTransferType CollectDataSegmentFieldInfo = (Ptr Gst.Segment.Segment)
type AttrGetType CollectDataSegmentFieldInfo = Gst.Segment.Segment
type AttrLabel CollectDataSegmentFieldInfo = "segment"
type AttrOrigin CollectDataSegmentFieldInfo = CollectData
attrGet = getCollectDataSegment
attrSet = undefined
attrConstruct = undefined
attrClear = undefined
attrTransfer = undefined
dbgAttrInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.GstBase.Structs.CollectData.segment"
, O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gstbase-1.0.25/docs/GI-GstBase-Structs-CollectData.html#g:attr:segment"
})
collectData_segment :: AttrLabelProxy "segment"
collectData_segment = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList CollectData
type instance O.AttributeList CollectData = CollectDataAttributeList
type CollectDataAttributeList = ('[ '("collect", CollectDataCollectFieldInfo), '("pad", CollectDataPadFieldInfo), '("buffer", CollectDataBufferFieldInfo), '("pos", CollectDataPosFieldInfo), '("segment", CollectDataSegmentFieldInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveCollectDataMethod (t :: Symbol) (o :: *) :: * where
ResolveCollectDataMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveCollectDataMethod t CollectData, O.OverloadedMethod info CollectData p) => OL.IsLabel t (CollectData -> 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 ~ ResolveCollectDataMethod t CollectData, O.OverloadedMethod info CollectData p, R.HasField t CollectData p) => R.HasField t CollectData p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveCollectDataMethod t CollectData, O.OverloadedMethodInfo info CollectData) => OL.IsLabel t (O.MethodProxy info CollectData) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif