{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gst.Interfaces.TagSetter
(
TagSetter(..) ,
IsTagSetter ,
toTagSetter ,
#if defined(ENABLE_OVERLOADING)
ResolveTagSetterMethod ,
#endif
#if defined(ENABLE_OVERLOADING)
TagSetterAddTagValueMethodInfo ,
#endif
tagSetterAddTagValue ,
#if defined(ENABLE_OVERLOADING)
TagSetterGetTagListMethodInfo ,
#endif
tagSetterGetTagList ,
#if defined(ENABLE_OVERLOADING)
TagSetterGetTagMergeModeMethodInfo ,
#endif
tagSetterGetTagMergeMode ,
#if defined(ENABLE_OVERLOADING)
TagSetterMergeTagsMethodInfo ,
#endif
tagSetterMergeTags ,
#if defined(ENABLE_OVERLOADING)
TagSetterResetTagsMethodInfo ,
#endif
tagSetterResetTags ,
#if defined(ENABLE_OVERLOADING)
TagSetterSetTagMergeModeMethodInfo ,
#endif
tagSetterSetTagMergeMode ,
) where
import Data.GI.Base.ShortPrelude
import qualified Data.GI.Base.ShortPrelude as SP
import qualified Data.GI.Base.Overloading as O
import qualified Prelude as P
import qualified Data.GI.Base.Attributes as GI.Attributes
import qualified Data.GI.Base.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GClosure as B.GClosure
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GValue as B.GValue
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
import qualified Data.GI.Base.Properties as B.Properties
import qualified Data.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import qualified Foreign.Ptr as FP
import qualified GHC.OverloadedLabels as OL
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums
import {-# SOURCE #-} qualified GI.Gst.Objects.Element as Gst.Element
import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object
import {-# SOURCE #-} qualified GI.Gst.Structs.TagList as Gst.TagList
newtype TagSetter = TagSetter (SP.ManagedPtr TagSetter)
deriving (TagSetter -> TagSetter -> Bool
(TagSetter -> TagSetter -> Bool)
-> (TagSetter -> TagSetter -> Bool) -> Eq TagSetter
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TagSetter -> TagSetter -> Bool
$c/= :: TagSetter -> TagSetter -> Bool
== :: TagSetter -> TagSetter -> Bool
$c== :: TagSetter -> TagSetter -> Bool
Eq)
instance SP.ManagedPtrNewtype TagSetter where
toManagedPtr :: TagSetter -> ManagedPtr TagSetter
toManagedPtr (TagSetter ManagedPtr TagSetter
p) = ManagedPtr TagSetter
p
foreign import ccall "gst_tag_setter_get_type"
c_gst_tag_setter_get_type :: IO B.Types.GType
instance B.Types.TypedObject TagSetter where
glibType :: IO GType
glibType = IO GType
c_gst_tag_setter_get_type
instance B.Types.GObject TagSetter
instance B.GValue.IsGValue TagSetter where
toGValue :: TagSetter -> IO GValue
toGValue TagSetter
o = do
GType
gtype <- IO GType
c_gst_tag_setter_get_type
TagSetter -> (Ptr TagSetter -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr TagSetter
o (GType
-> (GValue -> Ptr TagSetter -> IO ()) -> Ptr TagSetter -> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr TagSetter -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO TagSetter
fromGValue GValue
gv = do
Ptr TagSetter
ptr <- GValue -> IO (Ptr TagSetter)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr TagSetter)
(ManagedPtr TagSetter -> TagSetter)
-> Ptr TagSetter -> IO TagSetter
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr TagSetter -> TagSetter
TagSetter Ptr TagSetter
ptr
class (SP.GObject o, O.IsDescendantOf TagSetter o) => IsTagSetter o
instance (SP.GObject o, O.IsDescendantOf TagSetter o) => IsTagSetter o
instance O.HasParentTypes TagSetter
type instance O.ParentTypes TagSetter = '[Gst.Element.Element, Gst.Object.Object, GObject.Object.Object]
toTagSetter :: (MonadIO m, IsTagSetter o) => o -> m TagSetter
toTagSetter :: o -> m TagSetter
toTagSetter = IO TagSetter -> m TagSetter
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO TagSetter -> m TagSetter)
-> (o -> IO TagSetter) -> o -> m TagSetter
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr TagSetter -> TagSetter) -> o -> IO TagSetter
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr TagSetter -> TagSetter
TagSetter
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList TagSetter
type instance O.AttributeList TagSetter = TagSetterAttributeList
type TagSetterAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type family ResolveTagSetterMethod (t :: Symbol) (o :: *) :: * where
ResolveTagSetterMethod "abortState" o = Gst.Element.ElementAbortStateMethodInfo
ResolveTagSetterMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo
ResolveTagSetterMethod "addPad" o = Gst.Element.ElementAddPadMethodInfo
ResolveTagSetterMethod "addPropertyDeepNotifyWatch" o = Gst.Element.ElementAddPropertyDeepNotifyWatchMethodInfo
ResolveTagSetterMethod "addPropertyNotifyWatch" o = Gst.Element.ElementAddPropertyNotifyWatchMethodInfo
ResolveTagSetterMethod "addTagValue" o = TagSetterAddTagValueMethodInfo
ResolveTagSetterMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveTagSetterMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveTagSetterMethod "callAsync" o = Gst.Element.ElementCallAsyncMethodInfo
ResolveTagSetterMethod "changeState" o = Gst.Element.ElementChangeStateMethodInfo
ResolveTagSetterMethod "continueState" o = Gst.Element.ElementContinueStateMethodInfo
ResolveTagSetterMethod "createAllPads" o = Gst.Element.ElementCreateAllPadsMethodInfo
ResolveTagSetterMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo
ResolveTagSetterMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveTagSetterMethod "foreachPad" o = Gst.Element.ElementForeachPadMethodInfo
ResolveTagSetterMethod "foreachSinkPad" o = Gst.Element.ElementForeachSinkPadMethodInfo
ResolveTagSetterMethod "foreachSrcPad" o = Gst.Element.ElementForeachSrcPadMethodInfo
ResolveTagSetterMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveTagSetterMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveTagSetterMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo
ResolveTagSetterMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo
ResolveTagSetterMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo
ResolveTagSetterMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo
ResolveTagSetterMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveTagSetterMethod "isLockedState" o = Gst.Element.ElementIsLockedStateMethodInfo
ResolveTagSetterMethod "iteratePads" o = Gst.Element.ElementIteratePadsMethodInfo
ResolveTagSetterMethod "iterateSinkPads" o = Gst.Element.ElementIterateSinkPadsMethodInfo
ResolveTagSetterMethod "iterateSrcPads" o = Gst.Element.ElementIterateSrcPadsMethodInfo
ResolveTagSetterMethod "link" o = Gst.Element.ElementLinkMethodInfo
ResolveTagSetterMethod "linkFiltered" o = Gst.Element.ElementLinkFilteredMethodInfo
ResolveTagSetterMethod "linkPads" o = Gst.Element.ElementLinkPadsMethodInfo
ResolveTagSetterMethod "linkPadsFiltered" o = Gst.Element.ElementLinkPadsFilteredMethodInfo
ResolveTagSetterMethod "linkPadsFull" o = Gst.Element.ElementLinkPadsFullMethodInfo
ResolveTagSetterMethod "lostState" o = Gst.Element.ElementLostStateMethodInfo
ResolveTagSetterMethod "mergeTags" o = TagSetterMergeTagsMethodInfo
ResolveTagSetterMethod "messageFull" o = Gst.Element.ElementMessageFullMethodInfo
ResolveTagSetterMethod "messageFullWithDetails" o = Gst.Element.ElementMessageFullWithDetailsMethodInfo
ResolveTagSetterMethod "noMorePads" o = Gst.Element.ElementNoMorePadsMethodInfo
ResolveTagSetterMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveTagSetterMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveTagSetterMethod "postMessage" o = Gst.Element.ElementPostMessageMethodInfo
ResolveTagSetterMethod "provideClock" o = Gst.Element.ElementProvideClockMethodInfo
ResolveTagSetterMethod "query" o = Gst.Element.ElementQueryMethodInfo
ResolveTagSetterMethod "queryConvert" o = Gst.Element.ElementQueryConvertMethodInfo
ResolveTagSetterMethod "queryDuration" o = Gst.Element.ElementQueryDurationMethodInfo
ResolveTagSetterMethod "queryPosition" o = Gst.Element.ElementQueryPositionMethodInfo
ResolveTagSetterMethod "ref" o = Gst.Object.ObjectRefMethodInfo
ResolveTagSetterMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveTagSetterMethod "releaseRequestPad" o = Gst.Element.ElementReleaseRequestPadMethodInfo
ResolveTagSetterMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo
ResolveTagSetterMethod "removePad" o = Gst.Element.ElementRemovePadMethodInfo
ResolveTagSetterMethod "removePropertyNotifyWatch" o = Gst.Element.ElementRemovePropertyNotifyWatchMethodInfo
ResolveTagSetterMethod "requestPad" o = Gst.Element.ElementRequestPadMethodInfo
ResolveTagSetterMethod "resetTags" o = TagSetterResetTagsMethodInfo
ResolveTagSetterMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveTagSetterMethod "seek" o = Gst.Element.ElementSeekMethodInfo
ResolveTagSetterMethod "seekSimple" o = Gst.Element.ElementSeekSimpleMethodInfo
ResolveTagSetterMethod "sendEvent" o = Gst.Element.ElementSendEventMethodInfo
ResolveTagSetterMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveTagSetterMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveTagSetterMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo
ResolveTagSetterMethod "syncStateWithParent" o = Gst.Element.ElementSyncStateWithParentMethodInfo
ResolveTagSetterMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo
ResolveTagSetterMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveTagSetterMethod "unlink" o = Gst.Element.ElementUnlinkMethodInfo
ResolveTagSetterMethod "unlinkPads" o = Gst.Element.ElementUnlinkPadsMethodInfo
ResolveTagSetterMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo
ResolveTagSetterMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo
ResolveTagSetterMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveTagSetterMethod "getBaseTime" o = Gst.Element.ElementGetBaseTimeMethodInfo
ResolveTagSetterMethod "getBus" o = Gst.Element.ElementGetBusMethodInfo
ResolveTagSetterMethod "getClock" o = Gst.Element.ElementGetClockMethodInfo
ResolveTagSetterMethod "getCompatiblePad" o = Gst.Element.ElementGetCompatiblePadMethodInfo
ResolveTagSetterMethod "getCompatiblePadTemplate" o = Gst.Element.ElementGetCompatiblePadTemplateMethodInfo
ResolveTagSetterMethod "getContext" o = Gst.Element.ElementGetContextMethodInfo
ResolveTagSetterMethod "getContextUnlocked" o = Gst.Element.ElementGetContextUnlockedMethodInfo
ResolveTagSetterMethod "getContexts" o = Gst.Element.ElementGetContextsMethodInfo
ResolveTagSetterMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo
ResolveTagSetterMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo
ResolveTagSetterMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveTagSetterMethod "getFactory" o = Gst.Element.ElementGetFactoryMethodInfo
ResolveTagSetterMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo
ResolveTagSetterMethod "getMetadata" o = Gst.Element.ElementGetMetadataMethodInfo
ResolveTagSetterMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo
ResolveTagSetterMethod "getPadTemplate" o = Gst.Element.ElementGetPadTemplateMethodInfo
ResolveTagSetterMethod "getPadTemplateList" o = Gst.Element.ElementGetPadTemplateListMethodInfo
ResolveTagSetterMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo
ResolveTagSetterMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo
ResolveTagSetterMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveTagSetterMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveTagSetterMethod "getRequestPad" o = Gst.Element.ElementGetRequestPadMethodInfo
ResolveTagSetterMethod "getStartTime" o = Gst.Element.ElementGetStartTimeMethodInfo
ResolveTagSetterMethod "getState" o = Gst.Element.ElementGetStateMethodInfo
ResolveTagSetterMethod "getStaticPad" o = Gst.Element.ElementGetStaticPadMethodInfo
ResolveTagSetterMethod "getTagList" o = TagSetterGetTagListMethodInfo
ResolveTagSetterMethod "getTagMergeMode" o = TagSetterGetTagMergeModeMethodInfo
ResolveTagSetterMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo
ResolveTagSetterMethod "setBaseTime" o = Gst.Element.ElementSetBaseTimeMethodInfo
ResolveTagSetterMethod "setBus" o = Gst.Element.ElementSetBusMethodInfo
ResolveTagSetterMethod "setClock" o = Gst.Element.ElementSetClockMethodInfo
ResolveTagSetterMethod "setContext" o = Gst.Element.ElementSetContextMethodInfo
ResolveTagSetterMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo
ResolveTagSetterMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo
ResolveTagSetterMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo
ResolveTagSetterMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveTagSetterMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveTagSetterMethod "setLockedState" o = Gst.Element.ElementSetLockedStateMethodInfo
ResolveTagSetterMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo
ResolveTagSetterMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo
ResolveTagSetterMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveTagSetterMethod "setStartTime" o = Gst.Element.ElementSetStartTimeMethodInfo
ResolveTagSetterMethod "setState" o = Gst.Element.ElementSetStateMethodInfo
ResolveTagSetterMethod "setTagMergeMode" o = TagSetterSetTagMergeModeMethodInfo
ResolveTagSetterMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveTagSetterMethod t TagSetter, O.MethodInfo info TagSetter p) => OL.IsLabel t (TagSetter -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
foreign import ccall "gst_tag_setter_add_tag_value" gst_tag_setter_add_tag_value ::
Ptr TagSetter ->
CUInt ->
CString ->
Ptr GValue ->
IO ()
tagSetterAddTagValue ::
(B.CallStack.HasCallStack, MonadIO m, IsTagSetter a) =>
a
-> Gst.Enums.TagMergeMode
-> T.Text
-> GValue
-> m ()
tagSetterAddTagValue :: a -> TagMergeMode -> Text -> GValue -> m ()
tagSetterAddTagValue a
setter TagMergeMode
mode Text
tag GValue
value = 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 TagSetter
setter' <- a -> IO (Ptr TagSetter)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setter
let mode' :: CUInt
mode' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt) -> (TagMergeMode -> Int) -> TagMergeMode -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. TagMergeMode -> Int
forall a. Enum a => a -> Int
fromEnum) TagMergeMode
mode
CString
tag' <- Text -> IO CString
textToCString Text
tag
Ptr GValue
value' <- GValue -> IO (Ptr GValue)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr GValue
value
Ptr TagSetter -> CUInt -> CString -> Ptr GValue -> IO ()
gst_tag_setter_add_tag_value Ptr TagSetter
setter' CUInt
mode' CString
tag' Ptr GValue
value'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setter
GValue -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr GValue
value
CString -> IO ()
forall a. Ptr a -> IO ()
freeMem CString
tag'
Ptr GValue -> IO ()
B.GValue.unsetGValue Ptr GValue
value'
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data TagSetterAddTagValueMethodInfo
instance (signature ~ (Gst.Enums.TagMergeMode -> T.Text -> GValue -> m ()), MonadIO m, IsTagSetter a) => O.MethodInfo TagSetterAddTagValueMethodInfo a signature where
overloadedMethod = tagSetterAddTagValue
#endif
foreign import ccall "gst_tag_setter_get_tag_list" gst_tag_setter_get_tag_list ::
Ptr TagSetter ->
IO (Ptr Gst.TagList.TagList)
tagSetterGetTagList ::
(B.CallStack.HasCallStack, MonadIO m, IsTagSetter a) =>
a
-> m (Maybe Gst.TagList.TagList)
tagSetterGetTagList :: a -> m (Maybe TagList)
tagSetterGetTagList a
setter = IO (Maybe TagList) -> m (Maybe TagList)
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe TagList) -> m (Maybe TagList))
-> IO (Maybe TagList) -> m (Maybe TagList)
forall a b. (a -> b) -> a -> b
$ do
Ptr TagSetter
setter' <- a -> IO (Ptr TagSetter)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setter
Ptr TagList
result <- Ptr TagSetter -> IO (Ptr TagList)
gst_tag_setter_get_tag_list Ptr TagSetter
setter'
Maybe TagList
maybeResult <- Ptr TagList -> (Ptr TagList -> IO TagList) -> IO (Maybe TagList)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr TagList
result ((Ptr TagList -> IO TagList) -> IO (Maybe TagList))
-> (Ptr TagList -> IO TagList) -> IO (Maybe TagList)
forall a b. (a -> b) -> a -> b
$ \Ptr TagList
result' -> do
TagList
result'' <- ((ManagedPtr TagList -> TagList) -> Ptr TagList -> IO TagList
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
newBoxed ManagedPtr TagList -> TagList
Gst.TagList.TagList) Ptr TagList
result'
TagList -> IO TagList
forall (m :: * -> *) a. Monad m => a -> m a
return TagList
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setter
Maybe TagList -> IO (Maybe TagList)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe TagList
maybeResult
#if defined(ENABLE_OVERLOADING)
data TagSetterGetTagListMethodInfo
instance (signature ~ (m (Maybe Gst.TagList.TagList)), MonadIO m, IsTagSetter a) => O.MethodInfo TagSetterGetTagListMethodInfo a signature where
overloadedMethod = tagSetterGetTagList
#endif
foreign import ccall "gst_tag_setter_get_tag_merge_mode" gst_tag_setter_get_tag_merge_mode ::
Ptr TagSetter ->
IO CUInt
tagSetterGetTagMergeMode ::
(B.CallStack.HasCallStack, MonadIO m, IsTagSetter a) =>
a
-> m Gst.Enums.TagMergeMode
tagSetterGetTagMergeMode :: a -> m TagMergeMode
tagSetterGetTagMergeMode a
setter = IO TagMergeMode -> m TagMergeMode
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO TagMergeMode -> m TagMergeMode)
-> IO TagMergeMode -> m TagMergeMode
forall a b. (a -> b) -> a -> b
$ do
Ptr TagSetter
setter' <- a -> IO (Ptr TagSetter)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setter
CUInt
result <- Ptr TagSetter -> IO CUInt
gst_tag_setter_get_tag_merge_mode Ptr TagSetter
setter'
let result' :: TagMergeMode
result' = (Int -> TagMergeMode
forall a. Enum a => Int -> a
toEnum (Int -> TagMergeMode) -> (CUInt -> Int) -> CUInt -> TagMergeMode
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CUInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CUInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setter
TagMergeMode -> IO TagMergeMode
forall (m :: * -> *) a. Monad m => a -> m a
return TagMergeMode
result'
#if defined(ENABLE_OVERLOADING)
data TagSetterGetTagMergeModeMethodInfo
instance (signature ~ (m Gst.Enums.TagMergeMode), MonadIO m, IsTagSetter a) => O.MethodInfo TagSetterGetTagMergeModeMethodInfo a signature where
overloadedMethod = tagSetterGetTagMergeMode
#endif
foreign import ccall "gst_tag_setter_merge_tags" gst_tag_setter_merge_tags ::
Ptr TagSetter ->
Ptr Gst.TagList.TagList ->
CUInt ->
IO ()
tagSetterMergeTags ::
(B.CallStack.HasCallStack, MonadIO m, IsTagSetter a) =>
a
-> Gst.TagList.TagList
-> Gst.Enums.TagMergeMode
-> m ()
tagSetterMergeTags :: a -> TagList -> TagMergeMode -> m ()
tagSetterMergeTags a
setter TagList
list TagMergeMode
mode = 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 TagSetter
setter' <- a -> IO (Ptr TagSetter)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setter
Ptr TagList
list' <- TagList -> IO (Ptr TagList)
forall a. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr a)
unsafeManagedPtrGetPtr TagList
list
let mode' :: CUInt
mode' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt) -> (TagMergeMode -> Int) -> TagMergeMode -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. TagMergeMode -> Int
forall a. Enum a => a -> Int
fromEnum) TagMergeMode
mode
Ptr TagSetter -> Ptr TagList -> CUInt -> IO ()
gst_tag_setter_merge_tags Ptr TagSetter
setter' Ptr TagList
list' CUInt
mode'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setter
TagList -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr TagList
list
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data TagSetterMergeTagsMethodInfo
instance (signature ~ (Gst.TagList.TagList -> Gst.Enums.TagMergeMode -> m ()), MonadIO m, IsTagSetter a) => O.MethodInfo TagSetterMergeTagsMethodInfo a signature where
overloadedMethod = tagSetterMergeTags
#endif
foreign import ccall "gst_tag_setter_reset_tags" gst_tag_setter_reset_tags ::
Ptr TagSetter ->
IO ()
tagSetterResetTags ::
(B.CallStack.HasCallStack, MonadIO m, IsTagSetter a) =>
a
-> m ()
tagSetterResetTags :: a -> m ()
tagSetterResetTags a
setter = 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 TagSetter
setter' <- a -> IO (Ptr TagSetter)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setter
Ptr TagSetter -> IO ()
gst_tag_setter_reset_tags Ptr TagSetter
setter'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setter
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data TagSetterResetTagsMethodInfo
instance (signature ~ (m ()), MonadIO m, IsTagSetter a) => O.MethodInfo TagSetterResetTagsMethodInfo a signature where
overloadedMethod = tagSetterResetTags
#endif
foreign import ccall "gst_tag_setter_set_tag_merge_mode" gst_tag_setter_set_tag_merge_mode ::
Ptr TagSetter ->
CUInt ->
IO ()
tagSetterSetTagMergeMode ::
(B.CallStack.HasCallStack, MonadIO m, IsTagSetter a) =>
a
-> Gst.Enums.TagMergeMode
-> m ()
tagSetterSetTagMergeMode :: a -> TagMergeMode -> m ()
tagSetterSetTagMergeMode a
setter TagMergeMode
mode = 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 TagSetter
setter' <- a -> IO (Ptr TagSetter)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
setter
let mode' :: CUInt
mode' = (Int -> CUInt
forall a b. (Integral a, Num b) => a -> b
fromIntegral (Int -> CUInt) -> (TagMergeMode -> Int) -> TagMergeMode -> CUInt
forall b c a. (b -> c) -> (a -> b) -> a -> c
. TagMergeMode -> Int
forall a. Enum a => a -> Int
fromEnum) TagMergeMode
mode
Ptr TagSetter -> CUInt -> IO ()
gst_tag_setter_set_tag_merge_mode Ptr TagSetter
setter' CUInt
mode'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
setter
() -> IO ()
forall (m :: * -> *) a. Monad m => a -> m a
return ()
#if defined(ENABLE_OVERLOADING)
data TagSetterSetTagMergeModeMethodInfo
instance (signature ~ (Gst.Enums.TagMergeMode -> m ()), MonadIO m, IsTagSetter a) => O.MethodInfo TagSetterSetTagMergeModeMethodInfo a signature where
overloadedMethod = tagSetterSetTagMergeMode
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList TagSetter = TagSetterSignalList
type TagSetterSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.Element.ElementNoMorePadsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("padAdded", Gst.Element.ElementPadAddedSignalInfo), '("padRemoved", Gst.Element.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])
#endif