{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.GstTag.Objects.TagMux
(
TagMux(..) ,
IsTagMux ,
toTagMux ,
#if defined(ENABLE_OVERLOADING)
ResolveTagMuxMethod ,
#endif
) 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 qualified GI.Gst.Interfaces.TagSetter as Gst.TagSetter
import qualified GI.Gst.Objects.Element as Gst.Element
import qualified GI.Gst.Objects.Object as Gst.Object
newtype TagMux = TagMux (SP.ManagedPtr TagMux)
deriving (TagMux -> TagMux -> Bool
(TagMux -> TagMux -> Bool)
-> (TagMux -> TagMux -> Bool) -> Eq TagMux
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TagMux -> TagMux -> Bool
$c/= :: TagMux -> TagMux -> Bool
== :: TagMux -> TagMux -> Bool
$c== :: TagMux -> TagMux -> Bool
Eq)
instance SP.ManagedPtrNewtype TagMux where
toManagedPtr :: TagMux -> ManagedPtr TagMux
toManagedPtr (TagMux ManagedPtr TagMux
p) = ManagedPtr TagMux
p
foreign import ccall "gst_tag_mux_get_type"
c_gst_tag_mux_get_type :: IO B.Types.GType
instance B.Types.TypedObject TagMux where
glibType :: IO GType
glibType = IO GType
c_gst_tag_mux_get_type
instance B.Types.GObject TagMux
instance B.GValue.IsGValue TagMux where
toGValue :: TagMux -> IO GValue
toGValue TagMux
o = do
GType
gtype <- IO GType
c_gst_tag_mux_get_type
TagMux -> (Ptr TagMux -> IO GValue) -> IO GValue
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr TagMux
o (GType -> (GValue -> Ptr TagMux -> IO ()) -> Ptr TagMux -> IO GValue
forall a. GType -> (GValue -> a -> IO ()) -> a -> IO GValue
B.GValue.buildGValue GType
gtype GValue -> Ptr TagMux -> IO ()
forall a. GObject a => GValue -> Ptr a -> IO ()
B.GValue.set_object)
fromGValue :: GValue -> IO TagMux
fromGValue GValue
gv = do
Ptr TagMux
ptr <- GValue -> IO (Ptr TagMux)
forall b. GObject b => GValue -> IO (Ptr b)
B.GValue.get_object GValue
gv :: IO (Ptr TagMux)
(ManagedPtr TagMux -> TagMux) -> Ptr TagMux -> IO TagMux
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr TagMux -> TagMux
TagMux Ptr TagMux
ptr
class (SP.GObject o, O.IsDescendantOf TagMux o) => IsTagMux o
instance (SP.GObject o, O.IsDescendantOf TagMux o) => IsTagMux o
instance O.HasParentTypes TagMux
type instance O.ParentTypes TagMux = '[Gst.Element.Element, Gst.Object.Object, GObject.Object.Object, Gst.TagSetter.TagSetter]
toTagMux :: (MonadIO m, IsTagMux o) => o -> m TagMux
toTagMux :: o -> m TagMux
toTagMux = IO TagMux -> m TagMux
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO TagMux -> m TagMux) -> (o -> IO TagMux) -> o -> m TagMux
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr TagMux -> TagMux) -> o -> IO TagMux
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
unsafeCastTo ManagedPtr TagMux -> TagMux
TagMux
#if defined(ENABLE_OVERLOADING)
type family ResolveTagMuxMethod (t :: Symbol) (o :: *) :: * where
ResolveTagMuxMethod "abortState" o = Gst.Element.ElementAbortStateMethodInfo
ResolveTagMuxMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo
ResolveTagMuxMethod "addPad" o = Gst.Element.ElementAddPadMethodInfo
ResolveTagMuxMethod "addPropertyDeepNotifyWatch" o = Gst.Element.ElementAddPropertyDeepNotifyWatchMethodInfo
ResolveTagMuxMethod "addPropertyNotifyWatch" o = Gst.Element.ElementAddPropertyNotifyWatchMethodInfo
ResolveTagMuxMethod "addTagValue" o = Gst.TagSetter.TagSetterAddTagValueMethodInfo
ResolveTagMuxMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveTagMuxMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveTagMuxMethod "callAsync" o = Gst.Element.ElementCallAsyncMethodInfo
ResolveTagMuxMethod "changeState" o = Gst.Element.ElementChangeStateMethodInfo
ResolveTagMuxMethod "continueState" o = Gst.Element.ElementContinueStateMethodInfo
ResolveTagMuxMethod "createAllPads" o = Gst.Element.ElementCreateAllPadsMethodInfo
ResolveTagMuxMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo
ResolveTagMuxMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveTagMuxMethod "foreachPad" o = Gst.Element.ElementForeachPadMethodInfo
ResolveTagMuxMethod "foreachSinkPad" o = Gst.Element.ElementForeachSinkPadMethodInfo
ResolveTagMuxMethod "foreachSrcPad" o = Gst.Element.ElementForeachSrcPadMethodInfo
ResolveTagMuxMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveTagMuxMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveTagMuxMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo
ResolveTagMuxMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo
ResolveTagMuxMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo
ResolveTagMuxMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo
ResolveTagMuxMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveTagMuxMethod "isLockedState" o = Gst.Element.ElementIsLockedStateMethodInfo
ResolveTagMuxMethod "iteratePads" o = Gst.Element.ElementIteratePadsMethodInfo
ResolveTagMuxMethod "iterateSinkPads" o = Gst.Element.ElementIterateSinkPadsMethodInfo
ResolveTagMuxMethod "iterateSrcPads" o = Gst.Element.ElementIterateSrcPadsMethodInfo
ResolveTagMuxMethod "link" o = Gst.Element.ElementLinkMethodInfo
ResolveTagMuxMethod "linkFiltered" o = Gst.Element.ElementLinkFilteredMethodInfo
ResolveTagMuxMethod "linkPads" o = Gst.Element.ElementLinkPadsMethodInfo
ResolveTagMuxMethod "linkPadsFiltered" o = Gst.Element.ElementLinkPadsFilteredMethodInfo
ResolveTagMuxMethod "linkPadsFull" o = Gst.Element.ElementLinkPadsFullMethodInfo
ResolveTagMuxMethod "lostState" o = Gst.Element.ElementLostStateMethodInfo
ResolveTagMuxMethod "mergeTags" o = Gst.TagSetter.TagSetterMergeTagsMethodInfo
ResolveTagMuxMethod "messageFull" o = Gst.Element.ElementMessageFullMethodInfo
ResolveTagMuxMethod "messageFullWithDetails" o = Gst.Element.ElementMessageFullWithDetailsMethodInfo
ResolveTagMuxMethod "noMorePads" o = Gst.Element.ElementNoMorePadsMethodInfo
ResolveTagMuxMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveTagMuxMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveTagMuxMethod "postMessage" o = Gst.Element.ElementPostMessageMethodInfo
ResolveTagMuxMethod "provideClock" o = Gst.Element.ElementProvideClockMethodInfo
ResolveTagMuxMethod "query" o = Gst.Element.ElementQueryMethodInfo
ResolveTagMuxMethod "queryConvert" o = Gst.Element.ElementQueryConvertMethodInfo
ResolveTagMuxMethod "queryDuration" o = Gst.Element.ElementQueryDurationMethodInfo
ResolveTagMuxMethod "queryPosition" o = Gst.Element.ElementQueryPositionMethodInfo
ResolveTagMuxMethod "ref" o = Gst.Object.ObjectRefMethodInfo
ResolveTagMuxMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveTagMuxMethod "releaseRequestPad" o = Gst.Element.ElementReleaseRequestPadMethodInfo
ResolveTagMuxMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo
ResolveTagMuxMethod "removePad" o = Gst.Element.ElementRemovePadMethodInfo
ResolveTagMuxMethod "removePropertyNotifyWatch" o = Gst.Element.ElementRemovePropertyNotifyWatchMethodInfo
ResolveTagMuxMethod "requestPad" o = Gst.Element.ElementRequestPadMethodInfo
ResolveTagMuxMethod "resetTags" o = Gst.TagSetter.TagSetterResetTagsMethodInfo
ResolveTagMuxMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveTagMuxMethod "seek" o = Gst.Element.ElementSeekMethodInfo
ResolveTagMuxMethod "seekSimple" o = Gst.Element.ElementSeekSimpleMethodInfo
ResolveTagMuxMethod "sendEvent" o = Gst.Element.ElementSendEventMethodInfo
ResolveTagMuxMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveTagMuxMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveTagMuxMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo
ResolveTagMuxMethod "syncStateWithParent" o = Gst.Element.ElementSyncStateWithParentMethodInfo
ResolveTagMuxMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo
ResolveTagMuxMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveTagMuxMethod "unlink" o = Gst.Element.ElementUnlinkMethodInfo
ResolveTagMuxMethod "unlinkPads" o = Gst.Element.ElementUnlinkPadsMethodInfo
ResolveTagMuxMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo
ResolveTagMuxMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo
ResolveTagMuxMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveTagMuxMethod "getBaseTime" o = Gst.Element.ElementGetBaseTimeMethodInfo
ResolveTagMuxMethod "getBus" o = Gst.Element.ElementGetBusMethodInfo
ResolveTagMuxMethod "getClock" o = Gst.Element.ElementGetClockMethodInfo
ResolveTagMuxMethod "getCompatiblePad" o = Gst.Element.ElementGetCompatiblePadMethodInfo
ResolveTagMuxMethod "getCompatiblePadTemplate" o = Gst.Element.ElementGetCompatiblePadTemplateMethodInfo
ResolveTagMuxMethod "getContext" o = Gst.Element.ElementGetContextMethodInfo
ResolveTagMuxMethod "getContextUnlocked" o = Gst.Element.ElementGetContextUnlockedMethodInfo
ResolveTagMuxMethod "getContexts" o = Gst.Element.ElementGetContextsMethodInfo
ResolveTagMuxMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo
ResolveTagMuxMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo
ResolveTagMuxMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveTagMuxMethod "getFactory" o = Gst.Element.ElementGetFactoryMethodInfo
ResolveTagMuxMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo
ResolveTagMuxMethod "getMetadata" o = Gst.Element.ElementGetMetadataMethodInfo
ResolveTagMuxMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo
ResolveTagMuxMethod "getPadTemplate" o = Gst.Element.ElementGetPadTemplateMethodInfo
ResolveTagMuxMethod "getPadTemplateList" o = Gst.Element.ElementGetPadTemplateListMethodInfo
ResolveTagMuxMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo
ResolveTagMuxMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo
ResolveTagMuxMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveTagMuxMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveTagMuxMethod "getRequestPad" o = Gst.Element.ElementGetRequestPadMethodInfo
ResolveTagMuxMethod "getStartTime" o = Gst.Element.ElementGetStartTimeMethodInfo
ResolveTagMuxMethod "getState" o = Gst.Element.ElementGetStateMethodInfo
ResolveTagMuxMethod "getStaticPad" o = Gst.Element.ElementGetStaticPadMethodInfo
ResolveTagMuxMethod "getTagList" o = Gst.TagSetter.TagSetterGetTagListMethodInfo
ResolveTagMuxMethod "getTagMergeMode" o = Gst.TagSetter.TagSetterGetTagMergeModeMethodInfo
ResolveTagMuxMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo
ResolveTagMuxMethod "setBaseTime" o = Gst.Element.ElementSetBaseTimeMethodInfo
ResolveTagMuxMethod "setBus" o = Gst.Element.ElementSetBusMethodInfo
ResolveTagMuxMethod "setClock" o = Gst.Element.ElementSetClockMethodInfo
ResolveTagMuxMethod "setContext" o = Gst.Element.ElementSetContextMethodInfo
ResolveTagMuxMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo
ResolveTagMuxMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo
ResolveTagMuxMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo
ResolveTagMuxMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveTagMuxMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveTagMuxMethod "setLockedState" o = Gst.Element.ElementSetLockedStateMethodInfo
ResolveTagMuxMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo
ResolveTagMuxMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo
ResolveTagMuxMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveTagMuxMethod "setStartTime" o = Gst.Element.ElementSetStartTimeMethodInfo
ResolveTagMuxMethod "setState" o = Gst.Element.ElementSetStateMethodInfo
ResolveTagMuxMethod "setTagMergeMode" o = Gst.TagSetter.TagSetterSetTagMergeModeMethodInfo
ResolveTagMuxMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveTagMuxMethod t TagMux, O.MethodInfo info TagMux p) => OL.IsLabel t (TagMux -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList TagMux
type instance O.AttributeList TagMux = TagMuxAttributeList
type TagMuxAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList TagMux = TagMuxSignalList
type TagMuxSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("noMorePads", Gst.Element.ElementNoMorePadsSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("padAdded", Gst.Element.ElementPadAddedSignalInfo), '("padRemoved", Gst.Element.ElementPadRemovedSignalInfo)] :: [(Symbol, *)])
#endif