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