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