{- | Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte License : LGPL-2.1 Maintainer : Iñaki García Etxebarria (inaki@blueleaf.cc) /No description available in the introspection data./ -} #define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \ && !defined(__HADDOCK_VERSION__)) module GI.Gst.Structs.TocEntry ( -- * Exported types TocEntry(..) , noTocEntry , -- * Methods -- ** appendSubEntry #method:appendSubEntry# #if ENABLE_OVERLOADING TocEntryAppendSubEntryMethodInfo , #endif tocEntryAppendSubEntry , -- ** getEntryType #method:getEntryType# #if ENABLE_OVERLOADING TocEntryGetEntryTypeMethodInfo , #endif tocEntryGetEntryType , -- ** getLoop #method:getLoop# #if ENABLE_OVERLOADING TocEntryGetLoopMethodInfo , #endif tocEntryGetLoop , -- ** getParent #method:getParent# #if ENABLE_OVERLOADING TocEntryGetParentMethodInfo , #endif tocEntryGetParent , -- ** getStartStopTimes #method:getStartStopTimes# #if ENABLE_OVERLOADING TocEntryGetStartStopTimesMethodInfo , #endif tocEntryGetStartStopTimes , -- ** getSubEntries #method:getSubEntries# #if ENABLE_OVERLOADING TocEntryGetSubEntriesMethodInfo , #endif tocEntryGetSubEntries , -- ** getTags #method:getTags# #if ENABLE_OVERLOADING TocEntryGetTagsMethodInfo , #endif tocEntryGetTags , -- ** getToc #method:getToc# #if ENABLE_OVERLOADING TocEntryGetTocMethodInfo , #endif tocEntryGetToc , -- ** getUid #method:getUid# #if ENABLE_OVERLOADING TocEntryGetUidMethodInfo , #endif tocEntryGetUid , -- ** isAlternative #method:isAlternative# #if ENABLE_OVERLOADING TocEntryIsAlternativeMethodInfo , #endif tocEntryIsAlternative , -- ** isSequence #method:isSequence# #if ENABLE_OVERLOADING TocEntryIsSequenceMethodInfo , #endif tocEntryIsSequence , -- ** mergeTags #method:mergeTags# #if ENABLE_OVERLOADING TocEntryMergeTagsMethodInfo , #endif tocEntryMergeTags , -- ** new #method:new# tocEntryNew , -- ** setLoop #method:setLoop# #if ENABLE_OVERLOADING TocEntrySetLoopMethodInfo , #endif tocEntrySetLoop , -- ** setStartStopTimes #method:setStartStopTimes# #if ENABLE_OVERLOADING TocEntrySetStartStopTimesMethodInfo , #endif tocEntrySetStartStopTimes , -- ** setTags #method:setTags# #if ENABLE_OVERLOADING TocEntrySetTagsMethodInfo , #endif tocEntrySetTags , ) 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.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 {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums import {-# SOURCE #-} qualified GI.Gst.Structs.TagList as Gst.TagList import {-# SOURCE #-} qualified GI.Gst.Structs.Toc as Gst.Toc -- | Memory-managed wrapper type. newtype TocEntry = TocEntry (ManagedPtr TocEntry) foreign import ccall "gst_toc_entry_get_type" c_gst_toc_entry_get_type :: IO GType instance BoxedObject TocEntry where boxedType _ = c_gst_toc_entry_get_type -- | A convenience alias for `Nothing` :: `Maybe` `TocEntry`. noTocEntry :: Maybe TocEntry noTocEntry = Nothing #if ENABLE_OVERLOADING instance O.HasAttributeList TocEntry type instance O.AttributeList TocEntry = TocEntryAttributeList type TocEntryAttributeList = ('[ ] :: [(Symbol, *)]) #endif -- method TocEntry::new -- method type : Constructor -- Args : [Arg {argCName = "type", argType = TInterface (Name {namespace = "Gst", name = "TocEntryType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "entry type.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "uid", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "unique ID (UID) in the whole TOC.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gst", name = "TocEntry"})) -- throws : False -- Skip return : False foreign import ccall "gst_toc_entry_new" gst_toc_entry_new :: CInt -> -- type : TInterface (Name {namespace = "Gst", name = "TocEntryType"}) CString -> -- uid : TBasicType TUTF8 IO (Ptr TocEntry) {- | Create new 'GI.Gst.Structs.TocEntry.TocEntry' structure. -} tocEntryNew :: (B.CallStack.HasCallStack, MonadIO m) => Gst.Enums.TocEntryType {- ^ /@type@/: entry type. -} -> T.Text {- ^ /@uid@/: unique ID (UID) in the whole TOC. -} -> m TocEntry {- ^ __Returns:__ newly allocated 'GI.Gst.Structs.TocEntry.TocEntry' structure, free it with @/gst_toc_entry_unref()/@. -} tocEntryNew type_ uid = liftIO $ do let type_' = (fromIntegral . fromEnum) type_ uid' <- textToCString uid result <- gst_toc_entry_new type_' uid' checkUnexpectedReturnNULL "tocEntryNew" result result' <- (wrapBoxed TocEntry) result freeMem uid' return result' #if ENABLE_OVERLOADING #endif -- method TocEntry::append_sub_entry -- method type : OrdinaryMethod -- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTocEntry instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "subentry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTocEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gst_toc_entry_append_sub_entry" gst_toc_entry_append_sub_entry :: Ptr TocEntry -> -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"}) Ptr TocEntry -> -- subentry : TInterface (Name {namespace = "Gst", name = "TocEntry"}) IO () {- | Appends the 'GI.Gst.Structs.TocEntry.TocEntry' /@subentry@/ to /@entry@/. -} tocEntryAppendSubEntry :: (B.CallStack.HasCallStack, MonadIO m) => TocEntry {- ^ /@entry@/: A 'GI.Gst.Structs.TocEntry.TocEntry' instance -} -> TocEntry {- ^ /@subentry@/: A 'GI.Gst.Structs.TocEntry.TocEntry' -} -> m () tocEntryAppendSubEntry entry subentry = liftIO $ do entry' <- unsafeManagedPtrGetPtr entry subentry' <- B.ManagedPtr.disownBoxed subentry gst_toc_entry_append_sub_entry entry' subentry' touchManagedPtr entry touchManagedPtr subentry return () #if ENABLE_OVERLOADING data TocEntryAppendSubEntryMethodInfo instance (signature ~ (TocEntry -> m ()), MonadIO m) => O.MethodInfo TocEntryAppendSubEntryMethodInfo TocEntry signature where overloadedMethod _ = tocEntryAppendSubEntry #endif -- method TocEntry::get_entry_type -- method type : OrdinaryMethod -- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTocEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gst", name = "TocEntryType"})) -- throws : False -- Skip return : False foreign import ccall "gst_toc_entry_get_entry_type" gst_toc_entry_get_entry_type :: Ptr TocEntry -> -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"}) IO CInt {- | /No description available in the introspection data./ -} tocEntryGetEntryType :: (B.CallStack.HasCallStack, MonadIO m) => TocEntry {- ^ /@entry@/: a 'GI.Gst.Structs.TocEntry.TocEntry' -} -> m Gst.Enums.TocEntryType {- ^ __Returns:__ /@entry@/\'s entry type -} tocEntryGetEntryType entry = liftIO $ do entry' <- unsafeManagedPtrGetPtr entry result <- gst_toc_entry_get_entry_type entry' let result' = (toEnum . fromIntegral) result touchManagedPtr entry return result' #if ENABLE_OVERLOADING data TocEntryGetEntryTypeMethodInfo instance (signature ~ (m Gst.Enums.TocEntryType), MonadIO m) => O.MethodInfo TocEntryGetEntryTypeMethodInfo TocEntry signature where overloadedMethod _ = tocEntryGetEntryType #endif -- method TocEntry::get_loop -- method type : OrdinaryMethod -- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstTocEntry to get values from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "loop_type", argType = TInterface (Name {namespace = "Gst", name = "TocLoopType"}), direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the loop_type\n value, leave %NULL if not need.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "repeat_count", argType = TBasicType TInt, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the repeat_count\n value, leave %NULL if not need.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}] -- Lengths : [] -- returnType : Just (TBasicType TBoolean) -- throws : False -- Skip return : False foreign import ccall "gst_toc_entry_get_loop" gst_toc_entry_get_loop :: Ptr TocEntry -> -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"}) Ptr CUInt -> -- loop_type : TInterface (Name {namespace = "Gst", name = "TocLoopType"}) Ptr Int32 -> -- repeat_count : TBasicType TInt IO CInt {- | Get /@loopType@/ and /@repeatCount@/ values from the /@entry@/ and write them into appropriate storages. Loops are e.g. used by sampled instruments. GStreamer is not automatically applying the loop. The application can process this meta data and use it e.g. to send a seek-event to loop a section. /Since: 1.4/ -} tocEntryGetLoop :: (B.CallStack.HasCallStack, MonadIO m) => TocEntry {- ^ /@entry@/: 'GI.Gst.Structs.TocEntry.TocEntry' to get values from. -} -> m ((Bool, Gst.Enums.TocLoopType, Int32)) {- ^ __Returns:__ 'True' if all non-'Nothing' storage pointers were filled with appropriate values, 'False' otherwise. -} tocEntryGetLoop entry = liftIO $ do entry' <- unsafeManagedPtrGetPtr entry loopType <- allocMem :: IO (Ptr CUInt) repeatCount <- allocMem :: IO (Ptr Int32) result <- gst_toc_entry_get_loop entry' loopType repeatCount let result' = (/= 0) result loopType' <- peek loopType let loopType'' = (toEnum . fromIntegral) loopType' repeatCount' <- peek repeatCount touchManagedPtr entry freeMem loopType freeMem repeatCount return (result', loopType'', repeatCount') #if ENABLE_OVERLOADING data TocEntryGetLoopMethodInfo instance (signature ~ (m ((Bool, Gst.Enums.TocLoopType, Int32))), MonadIO m) => O.MethodInfo TocEntryGetLoopMethodInfo TocEntry signature where overloadedMethod _ = tocEntryGetLoop #endif -- method TocEntry::get_parent -- method type : OrdinaryMethod -- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTocEntry instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gst", name = "TocEntry"})) -- throws : False -- Skip return : False foreign import ccall "gst_toc_entry_get_parent" gst_toc_entry_get_parent :: Ptr TocEntry -> -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"}) IO (Ptr TocEntry) {- | Gets the parent 'GI.Gst.Structs.TocEntry.TocEntry' of /@entry@/. -} tocEntryGetParent :: (B.CallStack.HasCallStack, MonadIO m) => TocEntry {- ^ /@entry@/: A 'GI.Gst.Structs.TocEntry.TocEntry' instance -} -> m (Maybe TocEntry) {- ^ __Returns:__ The parent 'GI.Gst.Structs.TocEntry.TocEntry' of /@entry@/ -} tocEntryGetParent entry = liftIO $ do entry' <- unsafeManagedPtrGetPtr entry result <- gst_toc_entry_get_parent entry' maybeResult <- convertIfNonNull result $ \result' -> do result'' <- (newBoxed TocEntry) result' return result'' touchManagedPtr entry return maybeResult #if ENABLE_OVERLOADING data TocEntryGetParentMethodInfo instance (signature ~ (m (Maybe TocEntry)), MonadIO m) => O.MethodInfo TocEntryGetParentMethodInfo TocEntry signature where overloadedMethod _ = tocEntryGetParent #endif -- method TocEntry::get_start_stop_times -- method type : OrdinaryMethod -- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstTocEntry to get values from.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the start value, leave\n %NULL if not need.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything},Arg {argCName = "stop", argType = TBasicType TInt64, direction = DirectionOut, mayBeNull = False, argDoc = Documentation {rawDocText = Just "the storage for the stop value, leave\n %NULL if not need.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}] -- Lengths : [] -- returnType : Just (TBasicType TBoolean) -- throws : False -- Skip return : False foreign import ccall "gst_toc_entry_get_start_stop_times" gst_toc_entry_get_start_stop_times :: Ptr TocEntry -> -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"}) Ptr Int64 -> -- start : TBasicType TInt64 Ptr Int64 -> -- stop : TBasicType TInt64 IO CInt {- | Get /@start@/ and /@stop@/ values from the /@entry@/ and write them into appropriate storages. -} tocEntryGetStartStopTimes :: (B.CallStack.HasCallStack, MonadIO m) => TocEntry {- ^ /@entry@/: 'GI.Gst.Structs.TocEntry.TocEntry' to get values from. -} -> m ((Bool, Int64, Int64)) {- ^ __Returns:__ 'True' if all non-'Nothing' storage pointers were filled with appropriate values, 'False' otherwise. -} tocEntryGetStartStopTimes entry = liftIO $ do entry' <- unsafeManagedPtrGetPtr entry start <- allocMem :: IO (Ptr Int64) stop <- allocMem :: IO (Ptr Int64) result <- gst_toc_entry_get_start_stop_times entry' start stop let result' = (/= 0) result start' <- peek start stop' <- peek stop touchManagedPtr entry freeMem start freeMem stop return (result', start', stop') #if ENABLE_OVERLOADING data TocEntryGetStartStopTimesMethodInfo instance (signature ~ (m ((Bool, Int64, Int64))), MonadIO m) => O.MethodInfo TocEntryGetStartStopTimesMethodInfo TocEntry signature where overloadedMethod _ = tocEntryGetStartStopTimes #endif -- method TocEntry::get_sub_entries -- method type : OrdinaryMethod -- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTocEntry instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TGList (TInterface (Name {namespace = "Gst", name = "TocEntry"}))) -- throws : False -- Skip return : False foreign import ccall "gst_toc_entry_get_sub_entries" gst_toc_entry_get_sub_entries :: Ptr TocEntry -> -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"}) IO (Ptr (GList (Ptr TocEntry))) {- | Gets the sub-entries of /@entry@/. -} tocEntryGetSubEntries :: (B.CallStack.HasCallStack, MonadIO m) => TocEntry {- ^ /@entry@/: A 'GI.Gst.Structs.TocEntry.TocEntry' instance -} -> m [TocEntry] {- ^ __Returns:__ A 'GI.GLib.Structs.List.List' of 'GI.Gst.Structs.TocEntry.TocEntry' of /@entry@/ -} tocEntryGetSubEntries entry = liftIO $ do entry' <- unsafeManagedPtrGetPtr entry result <- gst_toc_entry_get_sub_entries entry' result' <- unpackGList result result'' <- mapM (newBoxed TocEntry) result' touchManagedPtr entry return result'' #if ENABLE_OVERLOADING data TocEntryGetSubEntriesMethodInfo instance (signature ~ (m [TocEntry]), MonadIO m) => O.MethodInfo TocEntryGetSubEntriesMethodInfo TocEntry signature where overloadedMethod _ = tocEntryGetSubEntries #endif -- method TocEntry::get_tags -- method type : OrdinaryMethod -- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTocEntry instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gst", name = "TagList"})) -- throws : False -- Skip return : False foreign import ccall "gst_toc_entry_get_tags" gst_toc_entry_get_tags :: Ptr TocEntry -> -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"}) IO (Ptr Gst.TagList.TagList) {- | Gets the tags for /@entry@/. -} tocEntryGetTags :: (B.CallStack.HasCallStack, MonadIO m) => TocEntry {- ^ /@entry@/: A 'GI.Gst.Structs.TocEntry.TocEntry' instance -} -> m Gst.TagList.TagList {- ^ __Returns:__ A 'GI.Gst.Structs.TagList.TagList' for /@entry@/ -} tocEntryGetTags entry = liftIO $ do entry' <- unsafeManagedPtrGetPtr entry result <- gst_toc_entry_get_tags entry' checkUnexpectedReturnNULL "tocEntryGetTags" result result' <- (newBoxed Gst.TagList.TagList) result touchManagedPtr entry return result' #if ENABLE_OVERLOADING data TocEntryGetTagsMethodInfo instance (signature ~ (m Gst.TagList.TagList), MonadIO m) => O.MethodInfo TocEntryGetTagsMethodInfo TocEntry signature where overloadedMethod _ = tocEntryGetTags #endif -- method TocEntry::get_toc -- method type : OrdinaryMethod -- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTocEntry instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TInterface (Name {namespace = "Gst", name = "Toc"})) -- throws : False -- Skip return : False foreign import ccall "gst_toc_entry_get_toc" gst_toc_entry_get_toc :: Ptr TocEntry -> -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"}) IO (Ptr Gst.Toc.Toc) {- | Gets the parent 'GI.Gst.Structs.Toc.Toc' of /@entry@/. -} tocEntryGetToc :: (B.CallStack.HasCallStack, MonadIO m) => TocEntry {- ^ /@entry@/: A 'GI.Gst.Structs.TocEntry.TocEntry' instance -} -> m Gst.Toc.Toc {- ^ __Returns:__ The parent 'GI.Gst.Structs.Toc.Toc' of /@entry@/ -} tocEntryGetToc entry = liftIO $ do entry' <- unsafeManagedPtrGetPtr entry result <- gst_toc_entry_get_toc entry' checkUnexpectedReturnNULL "tocEntryGetToc" result result' <- (newBoxed Gst.Toc.Toc) result touchManagedPtr entry return result' #if ENABLE_OVERLOADING data TocEntryGetTocMethodInfo instance (signature ~ (m Gst.Toc.Toc), MonadIO m) => O.MethodInfo TocEntryGetTocMethodInfo TocEntry signature where overloadedMethod _ = tocEntryGetToc #endif -- method TocEntry::get_uid -- method type : OrdinaryMethod -- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTocEntry instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TUTF8) -- throws : False -- Skip return : False foreign import ccall "gst_toc_entry_get_uid" gst_toc_entry_get_uid :: Ptr TocEntry -> -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"}) IO CString {- | Gets the UID of /@entry@/. -} tocEntryGetUid :: (B.CallStack.HasCallStack, MonadIO m) => TocEntry {- ^ /@entry@/: A 'GI.Gst.Structs.TocEntry.TocEntry' instance -} -> m T.Text {- ^ __Returns:__ The UID of /@entry@/ -} tocEntryGetUid entry = liftIO $ do entry' <- unsafeManagedPtrGetPtr entry result <- gst_toc_entry_get_uid entry' checkUnexpectedReturnNULL "tocEntryGetUid" result result' <- cstringToText result touchManagedPtr entry return result' #if ENABLE_OVERLOADING data TocEntryGetUidMethodInfo instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo TocEntryGetUidMethodInfo TocEntry signature where overloadedMethod _ = tocEntryGetUid #endif -- method TocEntry::is_alternative -- method type : OrdinaryMethod -- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTocEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TBoolean) -- throws : False -- Skip return : False foreign import ccall "gst_toc_entry_is_alternative" gst_toc_entry_is_alternative :: Ptr TocEntry -> -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"}) IO CInt {- | /No description available in the introspection data./ -} tocEntryIsAlternative :: (B.CallStack.HasCallStack, MonadIO m) => TocEntry {- ^ /@entry@/: a 'GI.Gst.Structs.TocEntry.TocEntry' -} -> m Bool {- ^ __Returns:__ 'True' if /@entry@/\'s type is an alternative type, otherwise 'False' -} tocEntryIsAlternative entry = liftIO $ do entry' <- unsafeManagedPtrGetPtr entry result <- gst_toc_entry_is_alternative entry' let result' = (/= 0) result touchManagedPtr entry return result' #if ENABLE_OVERLOADING data TocEntryIsAlternativeMethodInfo instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TocEntryIsAlternativeMethodInfo TocEntry signature where overloadedMethod _ = tocEntryIsAlternative #endif -- method TocEntry::is_sequence -- method type : OrdinaryMethod -- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "a #GstTocEntry", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Just (TBasicType TBoolean) -- throws : False -- Skip return : False foreign import ccall "gst_toc_entry_is_sequence" gst_toc_entry_is_sequence :: Ptr TocEntry -> -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"}) IO CInt {- | /No description available in the introspection data./ -} tocEntryIsSequence :: (B.CallStack.HasCallStack, MonadIO m) => TocEntry {- ^ /@entry@/: a 'GI.Gst.Structs.TocEntry.TocEntry' -} -> m Bool {- ^ __Returns:__ 'True' if /@entry@/\'s type is a sequence type, otherwise 'False' -} tocEntryIsSequence entry = liftIO $ do entry' <- unsafeManagedPtrGetPtr entry result <- gst_toc_entry_is_sequence entry' let result' = (/= 0) result touchManagedPtr entry return result' #if ENABLE_OVERLOADING data TocEntryIsSequenceMethodInfo instance (signature ~ (m Bool), MonadIO m) => O.MethodInfo TocEntryIsSequenceMethodInfo TocEntry signature where overloadedMethod _ = tocEntryIsSequence #endif -- method TocEntry::merge_tags -- method type : OrdinaryMethod -- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTocEntry instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tags", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GstTagList or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "mode", argType = TInterface (Name {namespace = "Gst", name = "TagMergeMode"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTagMergeMode", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gst_toc_entry_merge_tags" gst_toc_entry_merge_tags :: Ptr TocEntry -> -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"}) Ptr Gst.TagList.TagList -> -- tags : TInterface (Name {namespace = "Gst", name = "TagList"}) CUInt -> -- mode : TInterface (Name {namespace = "Gst", name = "TagMergeMode"}) IO () {- | Merge /@tags@/ into the existing tags of /@entry@/ using /@mode@/. -} tocEntryMergeTags :: (B.CallStack.HasCallStack, MonadIO m) => TocEntry {- ^ /@entry@/: A 'GI.Gst.Structs.TocEntry.TocEntry' instance -} -> Maybe (Gst.TagList.TagList) {- ^ /@tags@/: A 'GI.Gst.Structs.TagList.TagList' or 'Nothing' -} -> Gst.Enums.TagMergeMode {- ^ /@mode@/: A 'GI.Gst.Enums.TagMergeMode' -} -> m () tocEntryMergeTags entry tags mode = liftIO $ do entry' <- unsafeManagedPtrGetPtr entry maybeTags <- case tags of Nothing -> return nullPtr Just jTags -> do jTags' <- unsafeManagedPtrGetPtr jTags return jTags' let mode' = (fromIntegral . fromEnum) mode gst_toc_entry_merge_tags entry' maybeTags mode' touchManagedPtr entry whenJust tags touchManagedPtr return () #if ENABLE_OVERLOADING data TocEntryMergeTagsMethodInfo instance (signature ~ (Maybe (Gst.TagList.TagList) -> Gst.Enums.TagMergeMode -> m ()), MonadIO m) => O.MethodInfo TocEntryMergeTagsMethodInfo TocEntry signature where overloadedMethod _ = tocEntryMergeTags #endif -- method TocEntry::set_loop -- method type : OrdinaryMethod -- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstTocEntry to set values.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "loop_type", argType = TInterface (Name {namespace = "Gst", name = "TocLoopType"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "loop_type value to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "repeat_count", argType = TBasicType TInt, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "repeat_count value to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gst_toc_entry_set_loop" gst_toc_entry_set_loop :: Ptr TocEntry -> -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"}) CUInt -> -- loop_type : TInterface (Name {namespace = "Gst", name = "TocLoopType"}) Int32 -> -- repeat_count : TBasicType TInt IO () {- | Set /@loopType@/ and /@repeatCount@/ values for the /@entry@/. /Since: 1.4/ -} tocEntrySetLoop :: (B.CallStack.HasCallStack, MonadIO m) => TocEntry {- ^ /@entry@/: 'GI.Gst.Structs.TocEntry.TocEntry' to set values. -} -> Gst.Enums.TocLoopType {- ^ /@loopType@/: loop_type value to set. -} -> Int32 {- ^ /@repeatCount@/: repeat_count value to set. -} -> m () tocEntrySetLoop entry loopType repeatCount = liftIO $ do entry' <- unsafeManagedPtrGetPtr entry let loopType' = (fromIntegral . fromEnum) loopType gst_toc_entry_set_loop entry' loopType' repeatCount touchManagedPtr entry return () #if ENABLE_OVERLOADING data TocEntrySetLoopMethodInfo instance (signature ~ (Gst.Enums.TocLoopType -> Int32 -> m ()), MonadIO m) => O.MethodInfo TocEntrySetLoopMethodInfo TocEntry signature where overloadedMethod _ = tocEntrySetLoop #endif -- method TocEntry::set_start_stop_times -- method type : OrdinaryMethod -- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "#GstTocEntry to set values.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "start", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "start value to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "stop", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "stop value to set.", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gst_toc_entry_set_start_stop_times" gst_toc_entry_set_start_stop_times :: Ptr TocEntry -> -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"}) Int64 -> -- start : TBasicType TInt64 Int64 -> -- stop : TBasicType TInt64 IO () {- | Set /@start@/ and /@stop@/ values for the /@entry@/. -} tocEntrySetStartStopTimes :: (B.CallStack.HasCallStack, MonadIO m) => TocEntry {- ^ /@entry@/: 'GI.Gst.Structs.TocEntry.TocEntry' to set values. -} -> Int64 {- ^ /@start@/: start value to set. -} -> Int64 {- ^ /@stop@/: stop value to set. -} -> m () tocEntrySetStartStopTimes entry start stop = liftIO $ do entry' <- unsafeManagedPtrGetPtr entry gst_toc_entry_set_start_stop_times entry' start stop touchManagedPtr entry return () #if ENABLE_OVERLOADING data TocEntrySetStartStopTimesMethodInfo instance (signature ~ (Int64 -> Int64 -> m ()), MonadIO m) => O.MethodInfo TocEntrySetStartStopTimesMethodInfo TocEntry signature where overloadedMethod _ = tocEntrySetStartStopTimes #endif -- method TocEntry::set_tags -- method type : OrdinaryMethod -- Args : [Arg {argCName = "entry", argType = TInterface (Name {namespace = "Gst", name = "TocEntry"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #GstTocEntry instance", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "tags", argType = TInterface (Name {namespace = "Gst", name = "TagList"}), direction = DirectionIn, mayBeNull = True, argDoc = Documentation {rawDocText = Just "A #GstTagList or %NULL", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}] -- Lengths : [] -- returnType : Nothing -- throws : False -- Skip return : False foreign import ccall "gst_toc_entry_set_tags" gst_toc_entry_set_tags :: Ptr TocEntry -> -- entry : TInterface (Name {namespace = "Gst", name = "TocEntry"}) Ptr Gst.TagList.TagList -> -- tags : TInterface (Name {namespace = "Gst", name = "TagList"}) IO () {- | Set a 'GI.Gst.Structs.TagList.TagList' with tags for the complete /@entry@/. -} tocEntrySetTags :: (B.CallStack.HasCallStack, MonadIO m) => TocEntry {- ^ /@entry@/: A 'GI.Gst.Structs.TocEntry.TocEntry' instance -} -> Maybe (Gst.TagList.TagList) {- ^ /@tags@/: A 'GI.Gst.Structs.TagList.TagList' or 'Nothing' -} -> m () tocEntrySetTags entry tags = liftIO $ do entry' <- unsafeManagedPtrGetPtr entry maybeTags <- case tags of Nothing -> return nullPtr Just jTags -> do jTags' <- B.ManagedPtr.disownBoxed jTags return jTags' gst_toc_entry_set_tags entry' maybeTags touchManagedPtr entry whenJust tags touchManagedPtr return () #if ENABLE_OVERLOADING data TocEntrySetTagsMethodInfo instance (signature ~ (Maybe (Gst.TagList.TagList) -> m ()), MonadIO m) => O.MethodInfo TocEntrySetTagsMethodInfo TocEntry signature where overloadedMethod _ = tocEntrySetTags #endif #if ENABLE_OVERLOADING type family ResolveTocEntryMethod (t :: Symbol) (o :: *) :: * where ResolveTocEntryMethod "appendSubEntry" o = TocEntryAppendSubEntryMethodInfo ResolveTocEntryMethod "isAlternative" o = TocEntryIsAlternativeMethodInfo ResolveTocEntryMethod "isSequence" o = TocEntryIsSequenceMethodInfo ResolveTocEntryMethod "mergeTags" o = TocEntryMergeTagsMethodInfo ResolveTocEntryMethod "getEntryType" o = TocEntryGetEntryTypeMethodInfo ResolveTocEntryMethod "getLoop" o = TocEntryGetLoopMethodInfo ResolveTocEntryMethod "getParent" o = TocEntryGetParentMethodInfo ResolveTocEntryMethod "getStartStopTimes" o = TocEntryGetStartStopTimesMethodInfo ResolveTocEntryMethod "getSubEntries" o = TocEntryGetSubEntriesMethodInfo ResolveTocEntryMethod "getTags" o = TocEntryGetTagsMethodInfo ResolveTocEntryMethod "getToc" o = TocEntryGetTocMethodInfo ResolveTocEntryMethod "getUid" o = TocEntryGetUidMethodInfo ResolveTocEntryMethod "setLoop" o = TocEntrySetLoopMethodInfo ResolveTocEntryMethod "setStartStopTimes" o = TocEntrySetStartStopTimesMethodInfo ResolveTocEntryMethod "setTags" o = TocEntrySetTagsMethodInfo ResolveTocEntryMethod l o = O.MethodResolutionFailed l o instance (info ~ ResolveTocEntryMethod t TocEntry, O.MethodInfo info TocEntry p) => OL.IsLabel t (TocEntry -> p) where #if MIN_VERSION_base(4,10,0) fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info) #else fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info) #endif #endif