module GI.Gst.Interfaces.TagSetter
(
TagSetter(..) ,
noTagSetter ,
IsTagSetter ,
toTagSetter ,
TagSetterAddTagValueMethodInfo ,
tagSetterAddTagValue ,
TagSetterGetTagListMethodInfo ,
tagSetterGetTagList ,
TagSetterGetTagMergeModeMethodInfo ,
tagSetterGetTagMergeMode ,
TagSetterMergeTagsMethodInfo ,
tagSetterMergeTags ,
TagSetterResetTagsMethodInfo ,
tagSetterResetTags ,
TagSetterSetTagMergeModeMethodInfo ,
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.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
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 GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gst.Enums as Gst.Enums
import qualified GI.Gst.Objects.Element as Gst.Element
import qualified GI.Gst.Objects.Object as Gst.Object
import qualified GI.Gst.Structs.TagList as Gst.TagList
newtype TagSetter = TagSetter (ManagedPtr TagSetter)
noTagSetter :: Maybe TagSetter
noTagSetter = Nothing
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 "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
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 "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
ResolveTagSetterMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
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 "getName" o = Gst.Object.ObjectGetNameMethodInfo
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 "getValueArray" o = Gst.Object.ObjectGetValueArrayMethodInfo
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 "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) => O.IsLabelProxy t (TagSetter -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveTagSetterMethod t TagSetter, O.MethodInfo info TagSetter p) => O.IsLabel t (TagSetter -> p) where
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
instance O.HasAttributeList TagSetter
type instance O.AttributeList TagSetter = TagSetterAttributeList
type TagSetterAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])
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, *)])
foreign import ccall "gst_tag_setter_get_type"
c_gst_tag_setter_get_type :: IO GType
instance GObject TagSetter where
gobjectType _ = c_gst_tag_setter_get_type
class GObject o => IsTagSetter o
#if MIN_VERSION_base(4,9,0)
instance (GObject a, O.UnknownAncestorError TagSetter a) =>
IsTagSetter a
#endif
instance IsTagSetter TagSetter
instance Gst.Element.IsElement TagSetter
instance Gst.Object.IsObject TagSetter
instance GObject.Object.IsObject TagSetter
toTagSetter :: IsTagSetter o => o -> IO TagSetter
toTagSetter = unsafeCastTo TagSetter
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 setter mode tag value = liftIO $ do
setter' <- unsafeManagedPtrCastPtr setter
let mode' = (fromIntegral . fromEnum) mode
tag' <- textToCString tag
value' <- unsafeManagedPtrGetPtr value
gst_tag_setter_add_tag_value setter' mode' tag' value'
touchManagedPtr setter
touchManagedPtr value
freeMem tag'
return ()
data TagSetterAddTagValueMethodInfo
instance (signature ~ (Gst.Enums.TagMergeMode -> T.Text -> GValue -> m ()), MonadIO m, IsTagSetter a) => O.MethodInfo TagSetterAddTagValueMethodInfo a signature where
overloadedMethod _ = tagSetterAddTagValue
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 setter = liftIO $ do
setter' <- unsafeManagedPtrCastPtr setter
result <- gst_tag_setter_get_tag_list setter'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (newBoxed Gst.TagList.TagList) result'
return result''
touchManagedPtr setter
return maybeResult
data TagSetterGetTagListMethodInfo
instance (signature ~ (m (Maybe Gst.TagList.TagList)), MonadIO m, IsTagSetter a) => O.MethodInfo TagSetterGetTagListMethodInfo a signature where
overloadedMethod _ = tagSetterGetTagList
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 setter = liftIO $ do
setter' <- unsafeManagedPtrCastPtr setter
result <- gst_tag_setter_get_tag_merge_mode setter'
let result' = (toEnum . fromIntegral) result
touchManagedPtr setter
return result'
data TagSetterGetTagMergeModeMethodInfo
instance (signature ~ (m Gst.Enums.TagMergeMode), MonadIO m, IsTagSetter a) => O.MethodInfo TagSetterGetTagMergeModeMethodInfo a signature where
overloadedMethod _ = tagSetterGetTagMergeMode
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 setter list mode = liftIO $ do
setter' <- unsafeManagedPtrCastPtr setter
list' <- unsafeManagedPtrGetPtr list
let mode' = (fromIntegral . fromEnum) mode
gst_tag_setter_merge_tags setter' list' mode'
touchManagedPtr setter
touchManagedPtr list
return ()
data TagSetterMergeTagsMethodInfo
instance (signature ~ (Gst.TagList.TagList -> Gst.Enums.TagMergeMode -> m ()), MonadIO m, IsTagSetter a) => O.MethodInfo TagSetterMergeTagsMethodInfo a signature where
overloadedMethod _ = tagSetterMergeTags
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 setter = liftIO $ do
setter' <- unsafeManagedPtrCastPtr setter
gst_tag_setter_reset_tags setter'
touchManagedPtr setter
return ()
data TagSetterResetTagsMethodInfo
instance (signature ~ (m ()), MonadIO m, IsTagSetter a) => O.MethodInfo TagSetterResetTagsMethodInfo a signature where
overloadedMethod _ = tagSetterResetTags
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 setter mode = liftIO $ do
setter' <- unsafeManagedPtrCastPtr setter
let mode' = (fromIntegral . fromEnum) mode
gst_tag_setter_set_tag_merge_mode setter' mode'
touchManagedPtr setter
return ()
data TagSetterSetTagMergeModeMethodInfo
instance (signature ~ (Gst.Enums.TagMergeMode -> m ()), MonadIO m, IsTagSetter a) => O.MethodInfo TagSetterSetTagMergeModeMethodInfo a signature where
overloadedMethod _ = tagSetterSetTagMergeMode