{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gst.Structs.Iterator
(
Iterator(..) ,
newZeroIterator ,
noIterator ,
#if defined(ENABLE_OVERLOADING)
ResolveIteratorMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
IteratorCopyMethodInfo ,
#endif
iteratorCopy ,
#if defined(ENABLE_OVERLOADING)
IteratorFilterMethodInfo ,
#endif
iteratorFilter ,
#if defined(ENABLE_OVERLOADING)
IteratorFindCustomMethodInfo ,
#endif
iteratorFindCustom ,
#if defined(ENABLE_OVERLOADING)
IteratorFoldMethodInfo ,
#endif
iteratorFold ,
#if defined(ENABLE_OVERLOADING)
IteratorForeachMethodInfo ,
#endif
iteratorForeach ,
#if defined(ENABLE_OVERLOADING)
IteratorFreeMethodInfo ,
#endif
iteratorFree ,
iteratorNewSingle ,
#if defined(ENABLE_OVERLOADING)
IteratorNextMethodInfo ,
#endif
iteratorNext ,
#if defined(ENABLE_OVERLOADING)
IteratorPushMethodInfo ,
#endif
iteratorPush ,
#if defined(ENABLE_OVERLOADING)
IteratorResyncMethodInfo ,
#endif
iteratorResync ,
getIteratorCookie ,
#if defined(ENABLE_OVERLOADING)
iterator_cookie ,
#endif
setIteratorCookie ,
clearIteratorCopy ,
getIteratorCopy ,
#if defined(ENABLE_OVERLOADING)
iterator_copy ,
#endif
setIteratorCopy ,
clearIteratorFree ,
getIteratorFree ,
#if defined(ENABLE_OVERLOADING)
iterator_free ,
#endif
setIteratorFree ,
clearIteratorItem ,
getIteratorItem ,
#if defined(ENABLE_OVERLOADING)
iterator_item ,
#endif
setIteratorItem ,
clearIteratorLock ,
getIteratorLock ,
#if defined(ENABLE_OVERLOADING)
iterator_lock ,
#endif
setIteratorLock ,
getIteratorMasterCookie ,
#if defined(ENABLE_OVERLOADING)
iterator_masterCookie ,
#endif
setIteratorMasterCookie ,
clearIteratorNext ,
getIteratorNext ,
#if defined(ENABLE_OVERLOADING)
iterator_next ,
#endif
setIteratorNext ,
clearIteratorPushed ,
getIteratorPushed ,
#if defined(ENABLE_OVERLOADING)
iterator_pushed ,
#endif
setIteratorPushed ,
clearIteratorResync ,
getIteratorResync ,
#if defined(ENABLE_OVERLOADING)
iterator_resync ,
#endif
setIteratorResync ,
getIteratorSize ,
#if defined(ENABLE_OVERLOADING)
iterator_size ,
#endif
setIteratorSize ,
getIteratorType ,
#if defined(ENABLE_OVERLOADING)
iterator_type ,
#endif
setIteratorType ,
) 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.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 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 GI.GLib.Callbacks as GLib.Callbacks
import qualified GI.GLib.Unions.Mutex as GLib.Mutex
import qualified GI.Gst.Callbacks as Gst.Callbacks
import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums
newtype Iterator = Iterator (ManagedPtr Iterator)
deriving (Iterator -> Iterator -> Bool
(Iterator -> Iterator -> Bool)
-> (Iterator -> Iterator -> Bool) -> Eq Iterator
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: Iterator -> Iterator -> Bool
$c/= :: Iterator -> Iterator -> Bool
== :: Iterator -> Iterator -> Bool
$c== :: Iterator -> Iterator -> Bool
Eq)
foreign import ccall "gst_iterator_get_type" c_gst_iterator_get_type ::
IO GType
instance BoxedObject Iterator where
boxedType :: Iterator -> IO GType
boxedType _ = IO GType
c_gst_iterator_get_type
instance B.GValue.IsGValue Iterator where
toGValue :: Iterator -> IO GValue
toGValue o :: Iterator
o = do
GType
gtype <- IO GType
c_gst_iterator_get_type
Iterator -> (Ptr Iterator -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr Iterator
o (GType
-> (GValue -> Ptr Iterator -> IO ()) -> Ptr Iterator -> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr Iterator -> IO ()
forall a. GValue -> Ptr a -> IO ()
B.GValue.set_boxed)
fromGValue :: GValue -> IO Iterator
fromGValue gv :: GValue
gv = do
Ptr Iterator
ptr <- GValue -> IO (Ptr Iterator)
forall b. GValue -> IO (Ptr b)
B.GValue.get_boxed GValue
gv :: IO (Ptr Iterator)
(ManagedPtr Iterator -> Iterator) -> Ptr Iterator -> IO Iterator
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
B.ManagedPtr.newBoxed ManagedPtr Iterator -> Iterator
Iterator Ptr Iterator
ptr
newZeroIterator :: MonadIO m => m Iterator
newZeroIterator :: m Iterator
newZeroIterator = IO Iterator -> m Iterator
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Iterator -> m Iterator) -> IO Iterator -> m Iterator
forall a b. (a -> b) -> a -> b
$ Int -> IO (Ptr Iterator)
forall a. BoxedObject a => Int -> IO (Ptr a)
callocBoxedBytes 120 IO (Ptr Iterator) -> (Ptr Iterator -> IO Iterator) -> IO Iterator
forall (m :: * -> *) a b. Monad m => m a -> (a -> m b) -> m b
>>= (ManagedPtr Iterator -> Iterator) -> Ptr Iterator -> IO Iterator
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Iterator -> Iterator
Iterator
instance tag ~ 'AttrSet => Constructible Iterator tag where
new :: (ManagedPtr Iterator -> Iterator)
-> [AttrOp Iterator tag] -> m Iterator
new _ attrs :: [AttrOp Iterator tag]
attrs = do
Iterator
o <- m Iterator
forall (m :: * -> *). MonadIO m => m Iterator
newZeroIterator
Iterator -> [AttrOp Iterator 'AttrSet] -> m ()
forall o (m :: * -> *).
MonadIO m =>
o -> [AttrOp o 'AttrSet] -> m ()
GI.Attributes.set Iterator
o [AttrOp Iterator tag]
[AttrOp Iterator 'AttrSet]
attrs
Iterator -> m Iterator
forall (m :: * -> *) a. Monad m => a -> m a
return Iterator
o
noIterator :: Maybe Iterator
noIterator :: Maybe Iterator
noIterator = Maybe Iterator
forall a. Maybe a
Nothing
getIteratorCopy :: MonadIO m => Iterator -> m (Maybe Gst.Callbacks.IteratorCopyFunction)
getIteratorCopy :: Iterator -> m (Maybe IteratorCopyFunction)
getIteratorCopy s :: Iterator
s = IO (Maybe IteratorCopyFunction) -> m (Maybe IteratorCopyFunction)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe IteratorCopyFunction) -> m (Maybe IteratorCopyFunction))
-> IO (Maybe IteratorCopyFunction)
-> m (Maybe IteratorCopyFunction)
forall a b. (a -> b) -> a -> b
$ Iterator
-> (Ptr Iterator -> IO (Maybe IteratorCopyFunction))
-> IO (Maybe IteratorCopyFunction)
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO (Maybe IteratorCopyFunction))
-> IO (Maybe IteratorCopyFunction))
-> (Ptr Iterator -> IO (Maybe IteratorCopyFunction))
-> IO (Maybe IteratorCopyFunction)
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
FunPtr C_IteratorCopyFunction
val <- Ptr (FunPtr C_IteratorCopyFunction)
-> IO (FunPtr C_IteratorCopyFunction)
forall a. Storable a => Ptr a -> IO a
peek (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr (FunPtr C_IteratorCopyFunction)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0) :: IO (FunPtr Gst.Callbacks.C_IteratorCopyFunction)
Maybe IteratorCopyFunction
result <- FunPtr C_IteratorCopyFunction
-> (FunPtr C_IteratorCopyFunction -> IO IteratorCopyFunction)
-> IO (Maybe IteratorCopyFunction)
forall a b. FunPtr a -> (FunPtr a -> IO b) -> IO (Maybe b)
SP.convertFunPtrIfNonNull FunPtr C_IteratorCopyFunction
val ((FunPtr C_IteratorCopyFunction -> IO IteratorCopyFunction)
-> IO (Maybe IteratorCopyFunction))
-> (FunPtr C_IteratorCopyFunction -> IO IteratorCopyFunction)
-> IO (Maybe IteratorCopyFunction)
forall a b. (a -> b) -> a -> b
$ \val' :: FunPtr C_IteratorCopyFunction
val' -> do
let val'' :: IteratorCopyFunction
val'' = FunPtr C_IteratorCopyFunction -> IteratorCopyFunction
forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
FunPtr C_IteratorCopyFunction -> Iterator -> Iterator -> m ()
Gst.Callbacks.dynamic_IteratorCopyFunction FunPtr C_IteratorCopyFunction
val'
IteratorCopyFunction -> IO IteratorCopyFunction
forall (m :: * -> *) a. Monad m => a -> m a
return IteratorCopyFunction
val''
Maybe IteratorCopyFunction -> IO (Maybe IteratorCopyFunction)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe IteratorCopyFunction
result
setIteratorCopy :: MonadIO m => Iterator -> FunPtr Gst.Callbacks.C_IteratorCopyFunction -> m ()
setIteratorCopy :: Iterator -> FunPtr C_IteratorCopyFunction -> m ()
setIteratorCopy s :: Iterator
s val :: FunPtr C_IteratorCopyFunction
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ Iterator -> (Ptr Iterator -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO ()) -> IO ())
-> (Ptr Iterator -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
Ptr (FunPtr C_IteratorCopyFunction)
-> FunPtr C_IteratorCopyFunction -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr (FunPtr C_IteratorCopyFunction)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0) (FunPtr C_IteratorCopyFunction
val :: FunPtr Gst.Callbacks.C_IteratorCopyFunction)
clearIteratorCopy :: MonadIO m => Iterator -> m ()
clearIteratorCopy :: Iterator -> m ()
clearIteratorCopy s :: Iterator
s = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ Iterator -> (Ptr Iterator -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO ()) -> IO ())
-> (Ptr Iterator -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
Ptr (FunPtr C_IteratorCopyFunction)
-> FunPtr C_IteratorCopyFunction -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr (FunPtr C_IteratorCopyFunction)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 0) (FunPtr C_IteratorCopyFunction
forall a. FunPtr a
FP.nullFunPtr :: FunPtr Gst.Callbacks.C_IteratorCopyFunction)
#if defined(ENABLE_OVERLOADING)
data IteratorCopyFieldInfo
instance AttrInfo IteratorCopyFieldInfo where
type AttrBaseTypeConstraint IteratorCopyFieldInfo = (~) Iterator
type AttrAllowedOps IteratorCopyFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint IteratorCopyFieldInfo = (~) (FunPtr Gst.Callbacks.C_IteratorCopyFunction)
type AttrTransferTypeConstraint IteratorCopyFieldInfo = (~)Gst.Callbacks.IteratorCopyFunction
type AttrTransferType IteratorCopyFieldInfo = (FunPtr Gst.Callbacks.C_IteratorCopyFunction)
type AttrGetType IteratorCopyFieldInfo = Maybe Gst.Callbacks.IteratorCopyFunction
type AttrLabel IteratorCopyFieldInfo = "copy"
type AttrOrigin IteratorCopyFieldInfo = Iterator
attrGet = getIteratorCopy
attrSet = setIteratorCopy
attrConstruct = undefined
attrClear = clearIteratorCopy
attrTransfer _ v = do
Gst.Callbacks.mk_IteratorCopyFunction (Gst.Callbacks.wrap_IteratorCopyFunction Nothing v)
iterator_copy :: AttrLabelProxy "copy"
iterator_copy = AttrLabelProxy
#endif
getIteratorNext :: MonadIO m => Iterator -> m (Maybe Gst.Callbacks.IteratorNextFunction)
getIteratorNext :: Iterator -> m (Maybe IteratorNextFunction)
getIteratorNext s :: Iterator
s = IO (Maybe IteratorNextFunction) -> m (Maybe IteratorNextFunction)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe IteratorNextFunction) -> m (Maybe IteratorNextFunction))
-> IO (Maybe IteratorNextFunction)
-> m (Maybe IteratorNextFunction)
forall a b. (a -> b) -> a -> b
$ Iterator
-> (Ptr Iterator -> IO (Maybe IteratorNextFunction))
-> IO (Maybe IteratorNextFunction)
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO (Maybe IteratorNextFunction))
-> IO (Maybe IteratorNextFunction))
-> (Ptr Iterator -> IO (Maybe IteratorNextFunction))
-> IO (Maybe IteratorNextFunction)
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
FunPtr C_IteratorNextFunction
val <- Ptr (FunPtr C_IteratorNextFunction)
-> IO (FunPtr C_IteratorNextFunction)
forall a. Storable a => Ptr a -> IO a
peek (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr (FunPtr C_IteratorNextFunction)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8) :: IO (FunPtr Gst.Callbacks.C_IteratorNextFunction)
Maybe IteratorNextFunction
result <- FunPtr C_IteratorNextFunction
-> (FunPtr C_IteratorNextFunction -> IO IteratorNextFunction)
-> IO (Maybe IteratorNextFunction)
forall a b. FunPtr a -> (FunPtr a -> IO b) -> IO (Maybe b)
SP.convertFunPtrIfNonNull FunPtr C_IteratorNextFunction
val ((FunPtr C_IteratorNextFunction -> IO IteratorNextFunction)
-> IO (Maybe IteratorNextFunction))
-> (FunPtr C_IteratorNextFunction -> IO IteratorNextFunction)
-> IO (Maybe IteratorNextFunction)
forall a b. (a -> b) -> a -> b
$ \val' :: FunPtr C_IteratorNextFunction
val' -> do
let val'' :: IteratorNextFunction
val'' = FunPtr C_IteratorNextFunction -> IteratorNextFunction
forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
FunPtr C_IteratorNextFunction
-> Iterator -> GValue -> m IteratorResult
Gst.Callbacks.dynamic_IteratorNextFunction FunPtr C_IteratorNextFunction
val'
IteratorNextFunction -> IO IteratorNextFunction
forall (m :: * -> *) a. Monad m => a -> m a
return IteratorNextFunction
val''
Maybe IteratorNextFunction -> IO (Maybe IteratorNextFunction)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe IteratorNextFunction
result
setIteratorNext :: MonadIO m => Iterator -> FunPtr Gst.Callbacks.C_IteratorNextFunction -> m ()
setIteratorNext :: Iterator -> FunPtr C_IteratorNextFunction -> m ()
setIteratorNext s :: Iterator
s val :: FunPtr C_IteratorNextFunction
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ Iterator -> (Ptr Iterator -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO ()) -> IO ())
-> (Ptr Iterator -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
Ptr (FunPtr C_IteratorNextFunction)
-> FunPtr C_IteratorNextFunction -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr (FunPtr C_IteratorNextFunction)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8) (FunPtr C_IteratorNextFunction
val :: FunPtr Gst.Callbacks.C_IteratorNextFunction)
clearIteratorNext :: MonadIO m => Iterator -> m ()
clearIteratorNext :: Iterator -> m ()
clearIteratorNext s :: Iterator
s = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ Iterator -> (Ptr Iterator -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO ()) -> IO ())
-> (Ptr Iterator -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
Ptr (FunPtr C_IteratorNextFunction)
-> FunPtr C_IteratorNextFunction -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr (FunPtr C_IteratorNextFunction)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 8) (FunPtr C_IteratorNextFunction
forall a. FunPtr a
FP.nullFunPtr :: FunPtr Gst.Callbacks.C_IteratorNextFunction)
#if defined(ENABLE_OVERLOADING)
data IteratorNextFieldInfo
instance AttrInfo IteratorNextFieldInfo where
type AttrBaseTypeConstraint IteratorNextFieldInfo = (~) Iterator
type AttrAllowedOps IteratorNextFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint IteratorNextFieldInfo = (~) (FunPtr Gst.Callbacks.C_IteratorNextFunction)
type AttrTransferTypeConstraint IteratorNextFieldInfo = (~)Gst.Callbacks.IteratorNextFunction
type AttrTransferType IteratorNextFieldInfo = (FunPtr Gst.Callbacks.C_IteratorNextFunction)
type AttrGetType IteratorNextFieldInfo = Maybe Gst.Callbacks.IteratorNextFunction
type AttrLabel IteratorNextFieldInfo = "next"
type AttrOrigin IteratorNextFieldInfo = Iterator
attrGet = getIteratorNext
attrSet = setIteratorNext
attrConstruct = undefined
attrClear = clearIteratorNext
attrTransfer _ v = do
Gst.Callbacks.mk_IteratorNextFunction (Gst.Callbacks.wrap_IteratorNextFunction Nothing v)
iterator_next :: AttrLabelProxy "next"
iterator_next = AttrLabelProxy
#endif
getIteratorItem :: MonadIO m => Iterator -> m (Maybe Gst.Callbacks.IteratorItemFunction)
getIteratorItem :: Iterator -> m (Maybe IteratorItemFunction)
getIteratorItem s :: Iterator
s = IO (Maybe IteratorItemFunction) -> m (Maybe IteratorItemFunction)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe IteratorItemFunction) -> m (Maybe IteratorItemFunction))
-> IO (Maybe IteratorItemFunction)
-> m (Maybe IteratorItemFunction)
forall a b. (a -> b) -> a -> b
$ Iterator
-> (Ptr Iterator -> IO (Maybe IteratorItemFunction))
-> IO (Maybe IteratorItemFunction)
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO (Maybe IteratorItemFunction))
-> IO (Maybe IteratorItemFunction))
-> (Ptr Iterator -> IO (Maybe IteratorItemFunction))
-> IO (Maybe IteratorItemFunction)
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
FunPtr C_IteratorNextFunction
val <- Ptr (FunPtr C_IteratorNextFunction)
-> IO (FunPtr C_IteratorNextFunction)
forall a. Storable a => Ptr a -> IO a
peek (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr (FunPtr C_IteratorNextFunction)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16) :: IO (FunPtr Gst.Callbacks.C_IteratorItemFunction)
Maybe IteratorItemFunction
result <- FunPtr C_IteratorNextFunction
-> (FunPtr C_IteratorNextFunction -> IO IteratorItemFunction)
-> IO (Maybe IteratorItemFunction)
forall a b. FunPtr a -> (FunPtr a -> IO b) -> IO (Maybe b)
SP.convertFunPtrIfNonNull FunPtr C_IteratorNextFunction
val ((FunPtr C_IteratorNextFunction -> IO IteratorItemFunction)
-> IO (Maybe IteratorItemFunction))
-> (FunPtr C_IteratorNextFunction -> IO IteratorItemFunction)
-> IO (Maybe IteratorItemFunction)
forall a b. (a -> b) -> a -> b
$ \val' :: FunPtr C_IteratorNextFunction
val' -> do
let val'' :: IteratorItemFunction
val'' = FunPtr C_IteratorNextFunction -> IteratorItemFunction
forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
FunPtr C_IteratorNextFunction
-> Iterator -> GValue -> m IteratorItem
Gst.Callbacks.dynamic_IteratorItemFunction FunPtr C_IteratorNextFunction
val'
IteratorItemFunction -> IO IteratorItemFunction
forall (m :: * -> *) a. Monad m => a -> m a
return IteratorItemFunction
val''
Maybe IteratorItemFunction -> IO (Maybe IteratorItemFunction)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe IteratorItemFunction
result
setIteratorItem :: MonadIO m => Iterator -> FunPtr Gst.Callbacks.C_IteratorItemFunction -> m ()
setIteratorItem :: Iterator -> FunPtr C_IteratorNextFunction -> m ()
setIteratorItem s :: Iterator
s val :: FunPtr C_IteratorNextFunction
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ Iterator -> (Ptr Iterator -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO ()) -> IO ())
-> (Ptr Iterator -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
Ptr (FunPtr C_IteratorNextFunction)
-> FunPtr C_IteratorNextFunction -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr (FunPtr C_IteratorNextFunction)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16) (FunPtr C_IteratorNextFunction
val :: FunPtr Gst.Callbacks.C_IteratorItemFunction)
clearIteratorItem :: MonadIO m => Iterator -> m ()
clearIteratorItem :: Iterator -> m ()
clearIteratorItem s :: Iterator
s = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ Iterator -> (Ptr Iterator -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO ()) -> IO ())
-> (Ptr Iterator -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
Ptr (FunPtr C_IteratorNextFunction)
-> FunPtr C_IteratorNextFunction -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr (FunPtr C_IteratorNextFunction)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 16) (FunPtr C_IteratorNextFunction
forall a. FunPtr a
FP.nullFunPtr :: FunPtr Gst.Callbacks.C_IteratorItemFunction)
#if defined(ENABLE_OVERLOADING)
data IteratorItemFieldInfo
instance AttrInfo IteratorItemFieldInfo where
type AttrBaseTypeConstraint IteratorItemFieldInfo = (~) Iterator
type AttrAllowedOps IteratorItemFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint IteratorItemFieldInfo = (~) (FunPtr Gst.Callbacks.C_IteratorItemFunction)
type AttrTransferTypeConstraint IteratorItemFieldInfo = (~)Gst.Callbacks.IteratorItemFunction
type AttrTransferType IteratorItemFieldInfo = (FunPtr Gst.Callbacks.C_IteratorItemFunction)
type AttrGetType IteratorItemFieldInfo = Maybe Gst.Callbacks.IteratorItemFunction
type AttrLabel IteratorItemFieldInfo = "item"
type AttrOrigin IteratorItemFieldInfo = Iterator
attrGet = getIteratorItem
attrSet = setIteratorItem
attrConstruct = undefined
attrClear = clearIteratorItem
attrTransfer _ v = do
Gst.Callbacks.mk_IteratorItemFunction (Gst.Callbacks.wrap_IteratorItemFunction Nothing v)
iterator_item :: AttrLabelProxy "item"
iterator_item = AttrLabelProxy
#endif
getIteratorResync :: MonadIO m => Iterator -> m (Maybe Gst.Callbacks.IteratorResyncFunction)
getIteratorResync :: Iterator -> m (Maybe IteratorResyncFunction)
getIteratorResync s :: Iterator
s = IO (Maybe IteratorResyncFunction)
-> m (Maybe IteratorResyncFunction)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe IteratorResyncFunction)
-> m (Maybe IteratorResyncFunction))
-> IO (Maybe IteratorResyncFunction)
-> m (Maybe IteratorResyncFunction)
forall a b. (a -> b) -> a -> b
$ Iterator
-> (Ptr Iterator -> IO (Maybe IteratorResyncFunction))
-> IO (Maybe IteratorResyncFunction)
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO (Maybe IteratorResyncFunction))
-> IO (Maybe IteratorResyncFunction))
-> (Ptr Iterator -> IO (Maybe IteratorResyncFunction))
-> IO (Maybe IteratorResyncFunction)
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
FunPtr (Ptr Iterator -> IO ())
val <- Ptr (FunPtr (Ptr Iterator -> IO ()))
-> IO (FunPtr (Ptr Iterator -> IO ()))
forall a. Storable a => Ptr a -> IO a
peek (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr (FunPtr (Ptr Iterator -> IO ()))
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24) :: IO (FunPtr Gst.Callbacks.C_IteratorResyncFunction)
Maybe IteratorResyncFunction
result <- FunPtr (Ptr Iterator -> IO ())
-> (FunPtr (Ptr Iterator -> IO ()) -> IO IteratorResyncFunction)
-> IO (Maybe IteratorResyncFunction)
forall a b. FunPtr a -> (FunPtr a -> IO b) -> IO (Maybe b)
SP.convertFunPtrIfNonNull FunPtr (Ptr Iterator -> IO ())
val ((FunPtr (Ptr Iterator -> IO ()) -> IO IteratorResyncFunction)
-> IO (Maybe IteratorResyncFunction))
-> (FunPtr (Ptr Iterator -> IO ()) -> IO IteratorResyncFunction)
-> IO (Maybe IteratorResyncFunction)
forall a b. (a -> b) -> a -> b
$ \val' :: FunPtr (Ptr Iterator -> IO ())
val' -> do
let val'' :: IteratorResyncFunction
val'' = FunPtr (Ptr Iterator -> IO ()) -> IteratorResyncFunction
forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
FunPtr (Ptr Iterator -> IO ()) -> Iterator -> m ()
Gst.Callbacks.dynamic_IteratorResyncFunction FunPtr (Ptr Iterator -> IO ())
val'
IteratorResyncFunction -> IO IteratorResyncFunction
forall (m :: * -> *) a. Monad m => a -> m a
return IteratorResyncFunction
val''
Maybe IteratorResyncFunction -> IO (Maybe IteratorResyncFunction)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe IteratorResyncFunction
result
setIteratorResync :: MonadIO m => Iterator -> FunPtr Gst.Callbacks.C_IteratorResyncFunction -> m ()
setIteratorResync :: Iterator -> FunPtr (Ptr Iterator -> IO ()) -> m ()
setIteratorResync s :: Iterator
s val :: FunPtr (Ptr Iterator -> IO ())
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ Iterator -> (Ptr Iterator -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO ()) -> IO ())
-> (Ptr Iterator -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
Ptr (FunPtr (Ptr Iterator -> IO ()))
-> FunPtr (Ptr Iterator -> IO ()) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr (FunPtr (Ptr Iterator -> IO ()))
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24) (FunPtr (Ptr Iterator -> IO ())
val :: FunPtr Gst.Callbacks.C_IteratorResyncFunction)
clearIteratorResync :: MonadIO m => Iterator -> m ()
clearIteratorResync :: Iterator -> m ()
clearIteratorResync s :: Iterator
s = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ Iterator -> (Ptr Iterator -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO ()) -> IO ())
-> (Ptr Iterator -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
Ptr (FunPtr (Ptr Iterator -> IO ()))
-> FunPtr (Ptr Iterator -> IO ()) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr (FunPtr (Ptr Iterator -> IO ()))
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 24) (FunPtr (Ptr Iterator -> IO ())
forall a. FunPtr a
FP.nullFunPtr :: FunPtr Gst.Callbacks.C_IteratorResyncFunction)
#if defined(ENABLE_OVERLOADING)
data IteratorResyncFieldInfo
instance AttrInfo IteratorResyncFieldInfo where
type AttrBaseTypeConstraint IteratorResyncFieldInfo = (~) Iterator
type AttrAllowedOps IteratorResyncFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint IteratorResyncFieldInfo = (~) (FunPtr Gst.Callbacks.C_IteratorResyncFunction)
type AttrTransferTypeConstraint IteratorResyncFieldInfo = (~)Gst.Callbacks.IteratorResyncFunction
type AttrTransferType IteratorResyncFieldInfo = (FunPtr Gst.Callbacks.C_IteratorResyncFunction)
type AttrGetType IteratorResyncFieldInfo = Maybe Gst.Callbacks.IteratorResyncFunction
type AttrLabel IteratorResyncFieldInfo = "resync"
type AttrOrigin IteratorResyncFieldInfo = Iterator
attrGet = getIteratorResync
attrSet = setIteratorResync
attrConstruct = undefined
attrClear = clearIteratorResync
attrTransfer _ v = do
Gst.Callbacks.mk_IteratorResyncFunction (Gst.Callbacks.wrap_IteratorResyncFunction Nothing v)
iterator_resync :: AttrLabelProxy "resync"
iterator_resync = AttrLabelProxy
#endif
getIteratorFree :: MonadIO m => Iterator -> m (Maybe Gst.Callbacks.IteratorFreeFunction)
getIteratorFree :: Iterator -> m (Maybe IteratorResyncFunction)
getIteratorFree s :: Iterator
s = IO (Maybe IteratorResyncFunction)
-> m (Maybe IteratorResyncFunction)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe IteratorResyncFunction)
-> m (Maybe IteratorResyncFunction))
-> IO (Maybe IteratorResyncFunction)
-> m (Maybe IteratorResyncFunction)
forall a b. (a -> b) -> a -> b
$ Iterator
-> (Ptr Iterator -> IO (Maybe IteratorResyncFunction))
-> IO (Maybe IteratorResyncFunction)
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO (Maybe IteratorResyncFunction))
-> IO (Maybe IteratorResyncFunction))
-> (Ptr Iterator -> IO (Maybe IteratorResyncFunction))
-> IO (Maybe IteratorResyncFunction)
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
FunPtr (Ptr Iterator -> IO ())
val <- Ptr (FunPtr (Ptr Iterator -> IO ()))
-> IO (FunPtr (Ptr Iterator -> IO ()))
forall a. Storable a => Ptr a -> IO a
peek (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr (FunPtr (Ptr Iterator -> IO ()))
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32) :: IO (FunPtr Gst.Callbacks.C_IteratorFreeFunction)
Maybe IteratorResyncFunction
result <- FunPtr (Ptr Iterator -> IO ())
-> (FunPtr (Ptr Iterator -> IO ()) -> IO IteratorResyncFunction)
-> IO (Maybe IteratorResyncFunction)
forall a b. FunPtr a -> (FunPtr a -> IO b) -> IO (Maybe b)
SP.convertFunPtrIfNonNull FunPtr (Ptr Iterator -> IO ())
val ((FunPtr (Ptr Iterator -> IO ()) -> IO IteratorResyncFunction)
-> IO (Maybe IteratorResyncFunction))
-> (FunPtr (Ptr Iterator -> IO ()) -> IO IteratorResyncFunction)
-> IO (Maybe IteratorResyncFunction)
forall a b. (a -> b) -> a -> b
$ \val' :: FunPtr (Ptr Iterator -> IO ())
val' -> do
let val'' :: IteratorResyncFunction
val'' = FunPtr (Ptr Iterator -> IO ()) -> IteratorResyncFunction
forall (m :: * -> *).
(HasCallStack, MonadIO m) =>
FunPtr (Ptr Iterator -> IO ()) -> Iterator -> m ()
Gst.Callbacks.dynamic_IteratorFreeFunction FunPtr (Ptr Iterator -> IO ())
val'
IteratorResyncFunction -> IO IteratorResyncFunction
forall (m :: * -> *) a. Monad m => a -> m a
return IteratorResyncFunction
val''
Maybe IteratorResyncFunction -> IO (Maybe IteratorResyncFunction)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe IteratorResyncFunction
result
setIteratorFree :: MonadIO m => Iterator -> FunPtr Gst.Callbacks.C_IteratorFreeFunction -> m ()
setIteratorFree :: Iterator -> FunPtr (Ptr Iterator -> IO ()) -> m ()
setIteratorFree s :: Iterator
s val :: FunPtr (Ptr Iterator -> IO ())
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ Iterator -> (Ptr Iterator -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO ()) -> IO ())
-> (Ptr Iterator -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
Ptr (FunPtr (Ptr Iterator -> IO ()))
-> FunPtr (Ptr Iterator -> IO ()) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr (FunPtr (Ptr Iterator -> IO ()))
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32) (FunPtr (Ptr Iterator -> IO ())
val :: FunPtr Gst.Callbacks.C_IteratorFreeFunction)
clearIteratorFree :: MonadIO m => Iterator -> m ()
clearIteratorFree :: Iterator -> m ()
clearIteratorFree s :: Iterator
s = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ Iterator -> (Ptr Iterator -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO ()) -> IO ())
-> (Ptr Iterator -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
Ptr (FunPtr (Ptr Iterator -> IO ()))
-> FunPtr (Ptr Iterator -> IO ()) -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr (FunPtr (Ptr Iterator -> IO ()))
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 32) (FunPtr (Ptr Iterator -> IO ())
forall a. FunPtr a
FP.nullFunPtr :: FunPtr Gst.Callbacks.C_IteratorFreeFunction)
#if defined(ENABLE_OVERLOADING)
data IteratorFreeFieldInfo
instance AttrInfo IteratorFreeFieldInfo where
type AttrBaseTypeConstraint IteratorFreeFieldInfo = (~) Iterator
type AttrAllowedOps IteratorFreeFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint IteratorFreeFieldInfo = (~) (FunPtr Gst.Callbacks.C_IteratorFreeFunction)
type AttrTransferTypeConstraint IteratorFreeFieldInfo = (~)Gst.Callbacks.IteratorFreeFunction
type AttrTransferType IteratorFreeFieldInfo = (FunPtr Gst.Callbacks.C_IteratorFreeFunction)
type AttrGetType IteratorFreeFieldInfo = Maybe Gst.Callbacks.IteratorFreeFunction
type AttrLabel IteratorFreeFieldInfo = "free"
type AttrOrigin IteratorFreeFieldInfo = Iterator
attrGet = getIteratorFree
attrSet = setIteratorFree
attrConstruct = undefined
attrClear = clearIteratorFree
attrTransfer _ v = do
Gst.Callbacks.mk_IteratorFreeFunction (Gst.Callbacks.wrap_IteratorFreeFunction Nothing v)
iterator_free :: AttrLabelProxy "free"
iterator_free = AttrLabelProxy
#endif
getIteratorPushed :: MonadIO m => Iterator -> m (Maybe Iterator)
getIteratorPushed :: Iterator -> m (Maybe Iterator)
getIteratorPushed s :: Iterator
s = IO (Maybe Iterator) -> m (Maybe Iterator)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Iterator) -> m (Maybe Iterator))
-> IO (Maybe Iterator) -> m (Maybe Iterator)
forall a b. (a -> b) -> a -> b
$ Iterator
-> (Ptr Iterator -> IO (Maybe Iterator)) -> IO (Maybe Iterator)
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO (Maybe Iterator)) -> IO (Maybe Iterator))
-> (Ptr Iterator -> IO (Maybe Iterator)) -> IO (Maybe Iterator)
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
Ptr Iterator
val <- Ptr (Ptr Iterator) -> IO (Ptr Iterator)
forall a. Storable a => Ptr a -> IO a
peek (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr (Ptr Iterator)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 40) :: IO (Ptr Iterator)
Maybe Iterator
result <- Ptr Iterator
-> (Ptr Iterator -> IO Iterator) -> IO (Maybe Iterator)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
SP.convertIfNonNull Ptr Iterator
val ((Ptr Iterator -> IO Iterator) -> IO (Maybe Iterator))
-> (Ptr Iterator -> IO Iterator) -> IO (Maybe Iterator)
forall a b. (a -> b) -> a -> b
$ \val' :: Ptr Iterator
val' -> do
Iterator
val'' <- ((ManagedPtr Iterator -> Iterator) -> Ptr Iterator -> IO Iterator
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr Iterator -> Iterator
Iterator) Ptr Iterator
val'
Iterator -> IO Iterator
forall (m :: * -> *) a. Monad m => a -> m a
return Iterator
val''
Maybe Iterator -> IO (Maybe Iterator)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Iterator
result
setIteratorPushed :: MonadIO m => Iterator -> Ptr Iterator -> m ()
setIteratorPushed :: Iterator -> Ptr Iterator -> m ()
setIteratorPushed s :: Iterator
s val :: Ptr Iterator
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ Iterator -> (Ptr Iterator -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO ()) -> IO ())
-> (Ptr Iterator -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
Ptr (Ptr Iterator) -> Ptr Iterator -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr (Ptr Iterator)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 40) (Ptr Iterator
val :: Ptr Iterator)
clearIteratorPushed :: MonadIO m => Iterator -> m ()
clearIteratorPushed :: Iterator -> m ()
clearIteratorPushed s :: Iterator
s = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ Iterator -> (Ptr Iterator -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO ()) -> IO ())
-> (Ptr Iterator -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
Ptr (Ptr Iterator) -> Ptr Iterator -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr (Ptr Iterator)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 40) (Ptr Iterator
forall a. Ptr a
FP.nullPtr :: Ptr Iterator)
#if defined(ENABLE_OVERLOADING)
data IteratorPushedFieldInfo
instance AttrInfo IteratorPushedFieldInfo where
type AttrBaseTypeConstraint IteratorPushedFieldInfo = (~) Iterator
type AttrAllowedOps IteratorPushedFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint IteratorPushedFieldInfo = (~) (Ptr Iterator)
type AttrTransferTypeConstraint IteratorPushedFieldInfo = (~)(Ptr Iterator)
type AttrTransferType IteratorPushedFieldInfo = (Ptr Iterator)
type AttrGetType IteratorPushedFieldInfo = Maybe Iterator
type AttrLabel IteratorPushedFieldInfo = "pushed"
type AttrOrigin IteratorPushedFieldInfo = Iterator
attrGet = getIteratorPushed
attrSet = setIteratorPushed
attrConstruct = undefined
attrClear = clearIteratorPushed
attrTransfer _ v = do
return v
iterator_pushed :: AttrLabelProxy "pushed"
iterator_pushed = AttrLabelProxy
#endif
getIteratorType :: MonadIO m => Iterator -> m GType
getIteratorType :: Iterator -> m GType
getIteratorType s :: Iterator
s = IO GType -> m GType
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO GType -> m GType) -> IO GType -> m GType
forall a b. (a -> b) -> a -> b
$ Iterator -> (Ptr Iterator -> IO GType) -> IO GType
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO GType) -> IO GType)
-> (Ptr Iterator -> IO GType) -> IO GType
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
CGType
val <- Ptr CGType -> IO CGType
forall a. Storable a => Ptr a -> IO a
peek (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr CGType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 48) :: IO CGType
let val' :: GType
val' = CGType -> GType
GType CGType
val
GType -> IO GType
forall (m :: * -> *) a. Monad m => a -> m a
return GType
val'
setIteratorType :: MonadIO m => Iterator -> GType -> m ()
setIteratorType :: Iterator -> GType -> m ()
setIteratorType s :: Iterator
s val :: GType
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ Iterator -> (Ptr Iterator -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO ()) -> IO ())
-> (Ptr Iterator -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
let val' :: CGType
val' = GType -> CGType
gtypeToCGType GType
val
Ptr CGType -> CGType -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr CGType
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 48) (CGType
val' :: CGType)
#if defined(ENABLE_OVERLOADING)
data IteratorTypeFieldInfo
instance AttrInfo IteratorTypeFieldInfo where
type AttrBaseTypeConstraint IteratorTypeFieldInfo = (~) Iterator
type AttrAllowedOps IteratorTypeFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint IteratorTypeFieldInfo = (~) GType
type AttrTransferTypeConstraint IteratorTypeFieldInfo = (~)GType
type AttrTransferType IteratorTypeFieldInfo = GType
type AttrGetType IteratorTypeFieldInfo = GType
type AttrLabel IteratorTypeFieldInfo = "type"
type AttrOrigin IteratorTypeFieldInfo = Iterator
attrGet = getIteratorType
attrSet = setIteratorType
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
iterator_type :: AttrLabelProxy "type"
iterator_type = AttrLabelProxy
#endif
getIteratorLock :: MonadIO m => Iterator -> m (Maybe GLib.Mutex.Mutex)
getIteratorLock :: Iterator -> m (Maybe Mutex)
getIteratorLock s :: Iterator
s = IO (Maybe Mutex) -> m (Maybe Mutex)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Mutex) -> m (Maybe Mutex))
-> IO (Maybe Mutex) -> m (Maybe Mutex)
forall a b. (a -> b) -> a -> b
$ Iterator -> (Ptr Iterator -> IO (Maybe Mutex)) -> IO (Maybe Mutex)
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO (Maybe Mutex)) -> IO (Maybe Mutex))
-> (Ptr Iterator -> IO (Maybe Mutex)) -> IO (Maybe Mutex)
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
Ptr Mutex
val <- Ptr (Ptr Mutex) -> IO (Ptr Mutex)
forall a. Storable a => Ptr a -> IO a
peek (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr (Ptr Mutex)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 56) :: IO (Ptr GLib.Mutex.Mutex)
Maybe Mutex
result <- Ptr Mutex -> (Ptr Mutex -> IO Mutex) -> IO (Maybe Mutex)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
SP.convertIfNonNull Ptr Mutex
val ((Ptr Mutex -> IO Mutex) -> IO (Maybe Mutex))
-> (Ptr Mutex -> IO Mutex) -> IO (Maybe Mutex)
forall a b. (a -> b) -> a -> b
$ \val' :: Ptr Mutex
val' -> do
Mutex
val'' <- ((ManagedPtr Mutex -> Mutex) -> Ptr Mutex -> IO Mutex
forall a.
(HasCallStack, WrappedPtr a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newPtr ManagedPtr Mutex -> Mutex
GLib.Mutex.Mutex) Ptr Mutex
val'
Mutex -> IO Mutex
forall (m :: * -> *) a. Monad m => a -> m a
return Mutex
val''
Maybe Mutex -> IO (Maybe Mutex)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Mutex
result
setIteratorLock :: MonadIO m => Iterator -> Ptr GLib.Mutex.Mutex -> m ()
setIteratorLock :: Iterator -> Ptr Mutex -> m ()
setIteratorLock s :: Iterator
s val :: Ptr Mutex
val = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ Iterator -> (Ptr Iterator -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO ()) -> IO ())
-> (Ptr Iterator -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
Ptr (Ptr Mutex) -> Ptr Mutex -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr (Ptr Mutex)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 56) (Ptr Mutex
val :: Ptr GLib.Mutex.Mutex)
clearIteratorLock :: MonadIO m => Iterator -> m ()
clearIteratorLock :: Iterator -> m ()
clearIteratorLock s :: Iterator
s = IO () -> m ()
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO () -> m ()) -> IO () -> m ()
forall a b. (a -> b) -> a -> b
$ Iterator -> (Ptr Iterator -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO ()) -> IO ())
-> (Ptr Iterator -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
Ptr (Ptr Mutex) -> Ptr Mutex -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr (Ptr Mutex)
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 56) (Ptr Mutex
forall a. Ptr a
FP.nullPtr :: Ptr GLib.Mutex.Mutex)
#if defined(ENABLE_OVERLOADING)
data IteratorLockFieldInfo
instance AttrInfo IteratorLockFieldInfo where
type AttrBaseTypeConstraint IteratorLockFieldInfo = (~) Iterator
type AttrAllowedOps IteratorLockFieldInfo = '[ 'AttrSet, 'AttrGet, 'AttrClear]
type AttrSetTypeConstraint IteratorLockFieldInfo = (~) (Ptr GLib.Mutex.Mutex)
type AttrTransferTypeConstraint IteratorLockFieldInfo = (~)(Ptr GLib.Mutex.Mutex)
type AttrTransferType IteratorLockFieldInfo = (Ptr GLib.Mutex.Mutex)
type AttrGetType IteratorLockFieldInfo = Maybe GLib.Mutex.Mutex
type AttrLabel IteratorLockFieldInfo = "lock"
type AttrOrigin IteratorLockFieldInfo = Iterator
attrGet = getIteratorLock
attrSet = setIteratorLock
attrConstruct = undefined
attrClear = clearIteratorLock
attrTransfer _ v = do
return v
iterator_lock :: AttrLabelProxy "lock"
iterator_lock = AttrLabelProxy
#endif
getIteratorCookie :: MonadIO m => Iterator -> m Word32
getIteratorCookie :: Iterator -> m Word32
getIteratorCookie s :: Iterator
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
$ Iterator -> (Ptr Iterator -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO Word32) -> IO Word32)
-> (Ptr Iterator -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 64) :: IO Word32
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val
setIteratorCookie :: MonadIO m => Iterator -> Word32 -> m ()
setIteratorCookie :: Iterator -> Word32 -> m ()
setIteratorCookie s :: Iterator
s val :: 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
$ Iterator -> (Ptr Iterator -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO ()) -> IO ())
-> (Ptr Iterator -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 64) (Word32
val :: Word32)
#if defined(ENABLE_OVERLOADING)
data IteratorCookieFieldInfo
instance AttrInfo IteratorCookieFieldInfo where
type AttrBaseTypeConstraint IteratorCookieFieldInfo = (~) Iterator
type AttrAllowedOps IteratorCookieFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint IteratorCookieFieldInfo = (~) Word32
type AttrTransferTypeConstraint IteratorCookieFieldInfo = (~)Word32
type AttrTransferType IteratorCookieFieldInfo = Word32
type AttrGetType IteratorCookieFieldInfo = Word32
type AttrLabel IteratorCookieFieldInfo = "cookie"
type AttrOrigin IteratorCookieFieldInfo = Iterator
attrGet = getIteratorCookie
attrSet = setIteratorCookie
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
iterator_cookie :: AttrLabelProxy "cookie"
iterator_cookie = AttrLabelProxy
#endif
getIteratorMasterCookie :: MonadIO m => Iterator -> m Word32
getIteratorMasterCookie :: Iterator -> m Word32
getIteratorMasterCookie s :: Iterator
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
$ Iterator -> (Ptr Iterator -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO Word32) -> IO Word32)
-> (Ptr Iterator -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 72) :: IO Word32
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val
setIteratorMasterCookie :: MonadIO m => Iterator -> Word32 -> m ()
setIteratorMasterCookie :: Iterator -> Word32 -> m ()
setIteratorMasterCookie s :: Iterator
s val :: 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
$ Iterator -> (Ptr Iterator -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO ()) -> IO ())
-> (Ptr Iterator -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 72) (Word32
val :: Word32)
#if defined(ENABLE_OVERLOADING)
data IteratorMasterCookieFieldInfo
instance AttrInfo IteratorMasterCookieFieldInfo where
type AttrBaseTypeConstraint IteratorMasterCookieFieldInfo = (~) Iterator
type AttrAllowedOps IteratorMasterCookieFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint IteratorMasterCookieFieldInfo = (~) Word32
type AttrTransferTypeConstraint IteratorMasterCookieFieldInfo = (~)Word32
type AttrTransferType IteratorMasterCookieFieldInfo = Word32
type AttrGetType IteratorMasterCookieFieldInfo = Word32
type AttrLabel IteratorMasterCookieFieldInfo = "master_cookie"
type AttrOrigin IteratorMasterCookieFieldInfo = Iterator
attrGet = getIteratorMasterCookie
attrSet = setIteratorMasterCookie
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
iterator_masterCookie :: AttrLabelProxy "masterCookie"
iterator_masterCookie = AttrLabelProxy
#endif
getIteratorSize :: MonadIO m => Iterator -> m Word32
getIteratorSize :: Iterator -> m Word32
getIteratorSize s :: Iterator
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
$ Iterator -> (Ptr Iterator -> IO Word32) -> IO Word32
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO Word32) -> IO Word32)
-> (Ptr Iterator -> IO Word32) -> IO Word32
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
Word32
val <- Ptr Word32 -> IO Word32
forall a. Storable a => Ptr a -> IO a
peek (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 80) :: IO Word32
Word32 -> IO Word32
forall (m :: * -> *) a. Monad m => a -> m a
return Word32
val
setIteratorSize :: MonadIO m => Iterator -> Word32 -> m ()
setIteratorSize :: Iterator -> Word32 -> m ()
setIteratorSize s :: Iterator
s val :: 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
$ Iterator -> (Ptr Iterator -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
withManagedPtr Iterator
s ((Ptr Iterator -> IO ()) -> IO ())
-> (Ptr Iterator -> IO ()) -> IO ()
forall a b. (a -> b) -> a -> b
$ \ptr :: Ptr Iterator
ptr -> do
Ptr Word32 -> Word32 -> IO ()
forall a. Storable a => Ptr a -> a -> IO ()
poke (Ptr Iterator
ptr Ptr Iterator -> Int -> Ptr Word32
forall a b. Ptr a -> Int -> Ptr b
`plusPtr` 80) (Word32
val :: Word32)
#if defined(ENABLE_OVERLOADING)
data IteratorSizeFieldInfo
instance AttrInfo IteratorSizeFieldInfo where
type AttrBaseTypeConstraint IteratorSizeFieldInfo = (~) Iterator
type AttrAllowedOps IteratorSizeFieldInfo = '[ 'AttrSet, 'AttrGet]
type AttrSetTypeConstraint IteratorSizeFieldInfo = (~) Word32
type AttrTransferTypeConstraint IteratorSizeFieldInfo = (~)Word32
type AttrTransferType IteratorSizeFieldInfo = Word32
type AttrGetType IteratorSizeFieldInfo = Word32
type AttrLabel IteratorSizeFieldInfo = "size"
type AttrOrigin IteratorSizeFieldInfo = Iterator
attrGet = getIteratorSize
attrSet = setIteratorSize
attrConstruct = undefined
attrClear = undefined
attrTransfer _ v = do
return v
iterator_size :: AttrLabelProxy "size"
iterator_size = AttrLabelProxy
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList Iterator
type instance O.AttributeList Iterator = IteratorAttributeList
type IteratorAttributeList = ('[ '("copy", IteratorCopyFieldInfo), '("next", IteratorNextFieldInfo), '("item", IteratorItemFieldInfo), '("resync", IteratorResyncFieldInfo), '("free", IteratorFreeFieldInfo), '("pushed", IteratorPushedFieldInfo), '("type", IteratorTypeFieldInfo), '("lock", IteratorLockFieldInfo), '("cookie", IteratorCookieFieldInfo), '("masterCookie", IteratorMasterCookieFieldInfo), '("size", IteratorSizeFieldInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gst_iterator_new_single" gst_iterator_new_single ::
CGType ->
Ptr GValue ->
IO (Ptr Iterator)
iteratorNewSingle ::
(B.CallStack.HasCallStack, MonadIO m) =>
GType
-> GValue
-> m Iterator
iteratorNewSingle :: GType -> GValue -> m Iterator
iteratorNewSingle type_ :: GType
type_ object :: GValue
object = IO Iterator -> m Iterator
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Iterator -> m Iterator) -> IO Iterator -> m Iterator
forall a b. (a -> b) -> a -> b
$ do
let type_' :: CGType
type_' = GType -> CGType
gtypeToCGType GType
type_
Ptr GValue
object' <- GValue -> IO (Ptr GValue)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GValue
object
Ptr Iterator
result <- CGType -> Ptr GValue -> IO (Ptr Iterator)
gst_iterator_new_single CGType
type_' Ptr GValue
object'
Text -> Ptr Iterator -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "iteratorNewSingle" Ptr Iterator
result
Iterator
result' <- ((ManagedPtr Iterator -> Iterator) -> Ptr Iterator -> IO Iterator
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Iterator -> Iterator
Iterator) Ptr Iterator
result
GValue -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GValue
object
Iterator -> IO Iterator
forall (m :: * -> *) a. Monad m => a -> m a
return Iterator
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_iterator_copy" gst_iterator_copy ::
Ptr Iterator ->
IO (Ptr Iterator)
iteratorCopy ::
(B.CallStack.HasCallStack, MonadIO m) =>
Iterator
-> m Iterator
iteratorCopy :: Iterator -> m Iterator
iteratorCopy it :: Iterator
it = IO Iterator -> m Iterator
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Iterator -> m Iterator) -> IO Iterator -> m Iterator
forall a b. (a -> b) -> a -> b
$ do
Ptr Iterator
it' <- Iterator -> IO (Ptr Iterator)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Iterator
it
Ptr Iterator
result <- Ptr Iterator -> IO (Ptr Iterator)
gst_iterator_copy Ptr Iterator
it'
Text -> Ptr Iterator -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "iteratorCopy" Ptr Iterator
result
Iterator
result' <- ((ManagedPtr Iterator -> Iterator) -> Ptr Iterator -> IO Iterator
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Iterator -> Iterator
Iterator) Ptr Iterator
result
IteratorResyncFunction
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Iterator
it
Iterator -> IO Iterator
forall (m :: * -> *) a. Monad m => a -> m a
return Iterator
result'
#if defined(ENABLE_OVERLOADING)
data IteratorCopyMethodInfo
instance (signature ~ (m Iterator), MonadIO m) => O.MethodInfo IteratorCopyMethodInfo Iterator signature where
overloadedMethod = iteratorCopy
#endif
foreign import ccall "gst_iterator_filter" gst_iterator_filter ::
Ptr Iterator ->
FunPtr GLib.Callbacks.C_CompareFunc ->
Ptr GValue ->
IO (Ptr Iterator)
iteratorFilter ::
(B.CallStack.HasCallStack, MonadIO m) =>
Iterator
-> GLib.Callbacks.CompareFunc
-> GValue
-> m Iterator
iteratorFilter :: Iterator -> CompareFunc -> GValue -> m Iterator
iteratorFilter it :: Iterator
it func :: CompareFunc
func userData :: GValue
userData = IO Iterator -> m Iterator
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO Iterator -> m Iterator) -> IO Iterator -> m Iterator
forall a b. (a -> b) -> a -> b
$ do
Ptr Iterator
it' <- Iterator -> IO (Ptr Iterator)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Iterator
it
FunPtr CompareFunc
func' <- CompareFunc -> IO (FunPtr CompareFunc)
GLib.Callbacks.mk_CompareFunc (Maybe (Ptr (FunPtr CompareFunc)) -> CompareFunc -> CompareFunc
GLib.Callbacks.wrap_CompareFunc Maybe (Ptr (FunPtr CompareFunc))
forall a. Maybe a
Nothing CompareFunc
func)
Ptr GValue
userData' <- GValue -> IO (Ptr GValue)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GValue
userData
Ptr Iterator
result <- Ptr Iterator
-> FunPtr CompareFunc -> Ptr GValue -> IO (Ptr Iterator)
gst_iterator_filter Ptr Iterator
it' FunPtr CompareFunc
func' Ptr GValue
userData'
Text -> Ptr Iterator -> IO ()
forall a. HasCallStack => Text -> Ptr a -> IO ()
checkUnexpectedReturnNULL "iteratorFilter" Ptr Iterator
result
Iterator
result' <- ((ManagedPtr Iterator -> Iterator) -> Ptr Iterator -> IO Iterator
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Iterator -> Iterator
Iterator) Ptr Iterator
result
Ptr Any -> IO ()
forall a. Ptr a -> IO ()
safeFreeFunPtr (Ptr Any -> IO ()) -> Ptr Any -> IO ()
forall a b. (a -> b) -> a -> b
$ FunPtr CompareFunc -> Ptr Any
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr CompareFunc
func'
IteratorResyncFunction
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Iterator
it
GValue -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GValue
userData
Iterator -> IO Iterator
forall (m :: * -> *) a. Monad m => a -> m a
return Iterator
result'
#if defined(ENABLE_OVERLOADING)
data IteratorFilterMethodInfo
instance (signature ~ (GLib.Callbacks.CompareFunc -> GValue -> m Iterator), MonadIO m) => O.MethodInfo IteratorFilterMethodInfo Iterator signature where
overloadedMethod = iteratorFilter
#endif
foreign import ccall "gst_iterator_find_custom" gst_iterator_find_custom ::
Ptr Iterator ->
FunPtr GLib.Callbacks.C_CompareFunc ->
Ptr GValue ->
Ptr () ->
IO CInt
iteratorFindCustom ::
(B.CallStack.HasCallStack, MonadIO m) =>
Iterator
-> GLib.Callbacks.CompareFunc
-> m ((Bool, GValue))
iteratorFindCustom :: Iterator -> CompareFunc -> m (Bool, GValue)
iteratorFindCustom it :: Iterator
it func :: CompareFunc
func = IO (Bool, GValue) -> m (Bool, GValue)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Bool, GValue) -> m (Bool, GValue))
-> IO (Bool, GValue) -> m (Bool, GValue)
forall a b. (a -> b) -> a -> b
$ do
Ptr Iterator
it' <- Iterator -> IO (Ptr Iterator)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Iterator
it
FunPtr CompareFunc
func' <- CompareFunc -> IO (FunPtr CompareFunc)
GLib.Callbacks.mk_CompareFunc (Maybe (Ptr (FunPtr CompareFunc)) -> CompareFunc -> CompareFunc
GLib.Callbacks.wrap_CompareFunc Maybe (Ptr (FunPtr CompareFunc))
forall a. Maybe a
Nothing CompareFunc
func)
Ptr GValue
elem <- Int -> IO (Ptr GValue)
forall a. BoxedObject a => Int -> IO (Ptr a)
callocBoxedBytes 24 :: IO (Ptr GValue)
let userData :: Ptr a
userData = Ptr a
forall a. Ptr a
nullPtr
CInt
result <- Ptr Iterator
-> FunPtr CompareFunc -> Ptr GValue -> Ptr () -> IO CInt
gst_iterator_find_custom Ptr Iterator
it' FunPtr CompareFunc
func' Ptr GValue
elem Ptr ()
forall a. Ptr a
userData
let result' :: Bool
result' = (CInt -> CInt -> Bool
forall a. Eq a => a -> a -> Bool
/= 0) CInt
result
GValue
elem' <- ((ManagedPtr GValue -> GValue) -> Ptr GValue -> IO GValue
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr GValue -> GValue
GValue) Ptr GValue
elem
Ptr Any -> IO ()
forall a. Ptr a -> IO ()
safeFreeFunPtr (Ptr Any -> IO ()) -> Ptr Any -> IO ()
forall a b. (a -> b) -> a -> b
$ FunPtr CompareFunc -> Ptr Any
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr CompareFunc
func'
IteratorResyncFunction
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Iterator
it
(Bool, GValue) -> IO (Bool, GValue)
forall (m :: * -> *) a. Monad m => a -> m a
return (Bool
result', GValue
elem')
#if defined(ENABLE_OVERLOADING)
data IteratorFindCustomMethodInfo
instance (signature ~ (GLib.Callbacks.CompareFunc -> m ((Bool, GValue))), MonadIO m) => O.MethodInfo IteratorFindCustomMethodInfo Iterator signature where
overloadedMethod = iteratorFindCustom
#endif
foreign import ccall "gst_iterator_fold" gst_iterator_fold ::
Ptr Iterator ->
FunPtr Gst.Callbacks.C_IteratorFoldFunction ->
Ptr GValue ->
Ptr () ->
IO CUInt
iteratorFold ::
(B.CallStack.HasCallStack, MonadIO m) =>
Iterator
-> Gst.Callbacks.IteratorFoldFunction
-> GValue
-> m Gst.Enums.IteratorResult
iteratorFold :: Iterator -> IteratorFoldFunction -> GValue -> m IteratorResult
iteratorFold it :: Iterator
it func :: IteratorFoldFunction
func ret :: GValue
ret = IO IteratorResult -> m IteratorResult
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO IteratorResult -> m IteratorResult)
-> IO IteratorResult -> m IteratorResult
forall a b. (a -> b) -> a -> b
$ do
Ptr Iterator
it' <- Iterator -> IO (Ptr Iterator)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Iterator
it
FunPtr C_IteratorFoldFunction
func' <- C_IteratorFoldFunction -> IO (FunPtr C_IteratorFoldFunction)
Gst.Callbacks.mk_IteratorFoldFunction (Maybe (Ptr (FunPtr C_IteratorFoldFunction))
-> IteratorFoldFunction_WithClosures -> C_IteratorFoldFunction
Gst.Callbacks.wrap_IteratorFoldFunction Maybe (Ptr (FunPtr C_IteratorFoldFunction))
forall a. Maybe a
Nothing (IteratorFoldFunction -> IteratorFoldFunction_WithClosures
Gst.Callbacks.drop_closures_IteratorFoldFunction IteratorFoldFunction
func))
Ptr GValue
ret' <- GValue -> IO (Ptr GValue)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GValue
ret
let userData :: Ptr a
userData = Ptr a
forall a. Ptr a
nullPtr
CUInt
result <- Ptr Iterator
-> FunPtr C_IteratorFoldFunction
-> Ptr GValue
-> Ptr ()
-> IO CUInt
gst_iterator_fold Ptr Iterator
it' FunPtr C_IteratorFoldFunction
func' Ptr GValue
ret' Ptr ()
forall a. Ptr a
userData
let result' :: IteratorResult
result' = (Int -> IteratorResult
forall a. Enum a => Int -> a
toEnum (Int -> IteratorResult)
-> (CUInt -> Int) -> CUInt -> IteratorResult
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
Ptr Any -> IO ()
forall a. Ptr a -> IO ()
safeFreeFunPtr (Ptr Any -> IO ()) -> Ptr Any -> IO ()
forall a b. (a -> b) -> a -> b
$ FunPtr C_IteratorFoldFunction -> Ptr Any
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_IteratorFoldFunction
func'
IteratorResyncFunction
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Iterator
it
GValue -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GValue
ret
IteratorResult -> IO IteratorResult
forall (m :: * -> *) a. Monad m => a -> m a
return IteratorResult
result'
#if defined(ENABLE_OVERLOADING)
data IteratorFoldMethodInfo
instance (signature ~ (Gst.Callbacks.IteratorFoldFunction -> GValue -> m Gst.Enums.IteratorResult), MonadIO m) => O.MethodInfo IteratorFoldMethodInfo Iterator signature where
overloadedMethod = iteratorFold
#endif
foreign import ccall "gst_iterator_foreach" gst_iterator_foreach ::
Ptr Iterator ->
FunPtr Gst.Callbacks.C_IteratorForeachFunction ->
Ptr () ->
IO CUInt
iteratorForeach ::
(B.CallStack.HasCallStack, MonadIO m) =>
Iterator
-> Gst.Callbacks.IteratorForeachFunction
-> m Gst.Enums.IteratorResult
iteratorForeach :: Iterator -> (GValue -> IO ()) -> m IteratorResult
iteratorForeach it :: Iterator
it func :: GValue -> IO ()
func = IO IteratorResult -> m IteratorResult
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO IteratorResult -> m IteratorResult)
-> IO IteratorResult -> m IteratorResult
forall a b. (a -> b) -> a -> b
$ do
Ptr Iterator
it' <- Iterator -> IO (Ptr Iterator)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Iterator
it
FunPtr C_IteratorForeachFunction
func' <- C_IteratorForeachFunction -> IO (FunPtr C_IteratorForeachFunction)
Gst.Callbacks.mk_IteratorForeachFunction (Maybe (Ptr (FunPtr C_IteratorForeachFunction))
-> IteratorForeachFunction_WithClosures
-> C_IteratorForeachFunction
Gst.Callbacks.wrap_IteratorForeachFunction Maybe (Ptr (FunPtr C_IteratorForeachFunction))
forall a. Maybe a
Nothing ((GValue -> IO ()) -> IteratorForeachFunction_WithClosures
Gst.Callbacks.drop_closures_IteratorForeachFunction GValue -> IO ()
func))
let userData :: Ptr a
userData = Ptr a
forall a. Ptr a
nullPtr
CUInt
result <- Ptr Iterator
-> FunPtr C_IteratorForeachFunction -> Ptr () -> IO CUInt
gst_iterator_foreach Ptr Iterator
it' FunPtr C_IteratorForeachFunction
func' Ptr ()
forall a. Ptr a
userData
let result' :: IteratorResult
result' = (Int -> IteratorResult
forall a. Enum a => Int -> a
toEnum (Int -> IteratorResult)
-> (CUInt -> Int) -> CUInt -> IteratorResult
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
Ptr Any -> IO ()
forall a. Ptr a -> IO ()
safeFreeFunPtr (Ptr Any -> IO ()) -> Ptr Any -> IO ()
forall a b. (a -> b) -> a -> b
$ FunPtr C_IteratorForeachFunction -> Ptr Any
forall a b. FunPtr a -> Ptr b
castFunPtrToPtr FunPtr C_IteratorForeachFunction
func'
IteratorResyncFunction
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Iterator
it
IteratorResult -> IO IteratorResult
forall (m :: * -> *) a. Monad m => a -> m a
return IteratorResult
result'
#if defined(ENABLE_OVERLOADING)
data IteratorForeachMethodInfo
instance (signature ~ (Gst.Callbacks.IteratorForeachFunction -> m Gst.Enums.IteratorResult), MonadIO m) => O.MethodInfo IteratorForeachMethodInfo Iterator signature where
overloadedMethod = iteratorForeach
#endif
foreign import ccall "gst_iterator_free" gst_iterator_free ::
Ptr Iterator ->
IO ()
iteratorFree ::
(B.CallStack.HasCallStack, MonadIO m) =>
Iterator
-> m ()
iteratorFree :: Iterator -> m ()
iteratorFree it :: Iterator
it = 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 Iterator
it' <- Iterator -> IO (Ptr Iterator)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Iterator
it
Ptr Iterator -> IO ()
gst_iterator_free Ptr Iterator
it'
IteratorResyncFunction
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Iterator
it
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data IteratorFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo IteratorFreeMethodInfo Iterator signature where
overloadedMethod = iteratorFree
#endif
foreign import ccall "gst_iterator_next" gst_iterator_next ::
Ptr Iterator ->
Ptr GValue ->
IO CUInt
iteratorNext ::
(B.CallStack.HasCallStack, MonadIO m) =>
Iterator
-> m ((Gst.Enums.IteratorResult, GValue))
iteratorNext :: Iterator -> m (IteratorResult, GValue)
iteratorNext it :: Iterator
it = IO (IteratorResult, GValue) -> m (IteratorResult, GValue)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (IteratorResult, GValue) -> m (IteratorResult, GValue))
-> IO (IteratorResult, GValue) -> m (IteratorResult, GValue)
forall a b. (a -> b) -> a -> b
$ do
Ptr Iterator
it' <- Iterator -> IO (Ptr Iterator)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Iterator
it
Ptr GValue
elem <- Int -> IO (Ptr GValue)
forall a. BoxedObject a => Int -> IO (Ptr a)
callocBoxedBytes 24 :: IO (Ptr GValue)
CUInt
result <- C_IteratorNextFunction
gst_iterator_next Ptr Iterator
it' Ptr GValue
elem
let result' :: IteratorResult
result' = (Int -> IteratorResult
forall a. Enum a => Int -> a
toEnum (Int -> IteratorResult)
-> (CUInt -> Int) -> CUInt -> IteratorResult
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
GValue
elem' <- ((ManagedPtr GValue -> GValue) -> Ptr GValue -> IO GValue
forall a.
(HasCallStack, BoxedObject a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr GValue -> GValue
GValue) Ptr GValue
elem
IteratorResyncFunction
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Iterator
it
(IteratorResult, GValue) -> IO (IteratorResult, GValue)
forall (m :: * -> *) a. Monad m => a -> m a
return (IteratorResult
result', GValue
elem')
#if defined(ENABLE_OVERLOADING)
data IteratorNextMethodInfo
instance (signature ~ (m ((Gst.Enums.IteratorResult, GValue))), MonadIO m) => O.MethodInfo IteratorNextMethodInfo Iterator signature where
overloadedMethod = iteratorNext
#endif
foreign import ccall "gst_iterator_push" gst_iterator_push ::
Ptr Iterator ->
Ptr Iterator ->
IO ()
iteratorPush ::
(B.CallStack.HasCallStack, MonadIO m) =>
Iterator
-> Iterator
-> m ()
iteratorPush :: Iterator -> Iterator -> m ()
iteratorPush it :: Iterator
it other :: Iterator
other = 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 Iterator
it' <- Iterator -> IO (Ptr Iterator)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Iterator
it
Ptr Iterator
other' <- Iterator -> IO (Ptr Iterator)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Iterator
other
C_IteratorCopyFunction
gst_iterator_push Ptr Iterator
it' Ptr Iterator
other'
IteratorResyncFunction
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Iterator
it
IteratorResyncFunction
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Iterator
other
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data IteratorPushMethodInfo
instance (signature ~ (Iterator -> m ()), MonadIO m) => O.MethodInfo IteratorPushMethodInfo Iterator signature where
overloadedMethod = iteratorPush
#endif
foreign import ccall "gst_iterator_resync" gst_iterator_resync ::
Ptr Iterator ->
IO ()
iteratorResync ::
(B.CallStack.HasCallStack, MonadIO m) =>
Iterator
-> m ()
iteratorResync :: Iterator -> m ()
iteratorResync it :: Iterator
it = 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 Iterator
it' <- Iterator -> IO (Ptr Iterator)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr Iterator
it
Ptr Iterator -> IO ()
gst_iterator_resync Ptr Iterator
it'
IteratorResyncFunction
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Iterator
it
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data IteratorResyncMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo IteratorResyncMethodInfo Iterator signature where
overloadedMethod = iteratorResync
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveIteratorMethod (t :: Symbol) (o :: *) :: * where
ResolveIteratorMethod "copy" o = IteratorCopyMethodInfo
ResolveIteratorMethod "filter" o = IteratorFilterMethodInfo
ResolveIteratorMethod "findCustom" o = IteratorFindCustomMethodInfo
ResolveIteratorMethod "fold" o = IteratorFoldMethodInfo
ResolveIteratorMethod "foreach" o = IteratorForeachMethodInfo
ResolveIteratorMethod "free" o = IteratorFreeMethodInfo
ResolveIteratorMethod "next" o = IteratorNextMethodInfo
ResolveIteratorMethod "push" o = IteratorPushMethodInfo
ResolveIteratorMethod "resync" o = IteratorResyncMethodInfo
ResolveIteratorMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveIteratorMethod t Iterator, O.MethodInfo info Iterator p) => OL.IsLabel t (Iterator -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif