{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gst.Objects.ProxyPad
(
ProxyPad(..) ,
IsProxyPad ,
toProxyPad ,
#if defined(ENABLE_OVERLOADING)
ResolveProxyPadMethod ,
#endif
proxyPadChainDefault ,
proxyPadChainListDefault ,
#if defined(ENABLE_OVERLOADING)
ProxyPadGetInternalMethodInfo ,
#endif
proxyPadGetInternal ,
proxyPadGetrangeDefault ,
proxyPadIterateInternalLinksDefault ,
) 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 Data.Word as DW
import qualified Data.Int as DI
import qualified System.Posix.Types as SPT
import qualified Foreign.C.Types as FCT
#if MIN_VERSION_base(4,18,0)
import qualified GI.GLib.Callbacks as GLib.Callbacks
import qualified GI.GLib.Structs.Bytes as GLib.Bytes
import qualified GI.GLib.Structs.Date as GLib.Date
import qualified GI.GLib.Structs.DateTime as GLib.DateTime
import qualified GI.GLib.Structs.PollFD as GLib.PollFD
import qualified GI.GLib.Structs.Source as GLib.Source
import qualified GI.GLib.Unions.Mutex as GLib.Mutex
import qualified GI.GObject.Objects.Object as GObject.Object
import qualified GI.GObject.Structs.ValueArray as GObject.ValueArray
import qualified GI.Gst.Callbacks as Gst.Callbacks
import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums
import {-# SOURCE #-} qualified GI.Gst.Flags as Gst.Flags
import {-# SOURCE #-} qualified GI.Gst.Objects.Allocator as Gst.Allocator
import {-# SOURCE #-} qualified GI.Gst.Objects.BufferPool as Gst.BufferPool
import {-# SOURCE #-} qualified GI.Gst.Objects.Bus as Gst.Bus
import {-# SOURCE #-} qualified GI.Gst.Objects.Clock as Gst.Clock
import {-# SOURCE #-} qualified GI.Gst.Objects.ControlBinding as Gst.ControlBinding
import {-# SOURCE #-} qualified GI.Gst.Objects.Device as Gst.Device
import {-# SOURCE #-} qualified GI.Gst.Objects.Element as Gst.Element
import {-# SOURCE #-} qualified GI.Gst.Objects.ElementFactory as Gst.ElementFactory
import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object
import {-# SOURCE #-} qualified GI.Gst.Objects.Pad as Gst.Pad
import {-# SOURCE #-} qualified GI.Gst.Objects.PadTemplate as Gst.PadTemplate
import {-# SOURCE #-} qualified GI.Gst.Objects.Plugin as Gst.Plugin
import {-# SOURCE #-} qualified GI.Gst.Objects.PluginFeature as Gst.PluginFeature
import {-# SOURCE #-} qualified GI.Gst.Objects.Stream as Gst.Stream
import {-# SOURCE #-} qualified GI.Gst.Objects.StreamCollection as Gst.StreamCollection
import {-# SOURCE #-} qualified GI.Gst.Structs.AllocationParams as Gst.AllocationParams
import {-# SOURCE #-} qualified GI.Gst.Structs.Buffer as Gst.Buffer
import {-# SOURCE #-} qualified GI.Gst.Structs.BufferList as Gst.BufferList
import {-# SOURCE #-} qualified GI.Gst.Structs.BufferPoolAcquireParams as Gst.BufferPoolAcquireParams
import {-# SOURCE #-} qualified GI.Gst.Structs.ByteArrayInterface as Gst.ByteArrayInterface
import {-# SOURCE #-} qualified GI.Gst.Structs.Caps as Gst.Caps
import {-# SOURCE #-} qualified GI.Gst.Structs.CapsFeatures as Gst.CapsFeatures
import {-# SOURCE #-} qualified GI.Gst.Structs.Context as Gst.Context
import {-# SOURCE #-} qualified GI.Gst.Structs.CustomMeta as Gst.CustomMeta
import {-# SOURCE #-} qualified GI.Gst.Structs.DateTime as Gst.DateTime
import {-# SOURCE #-} qualified GI.Gst.Structs.Event as Gst.Event
import {-# SOURCE #-} qualified GI.Gst.Structs.Iterator as Gst.Iterator
import {-# SOURCE #-} qualified GI.Gst.Structs.MapInfo as Gst.MapInfo
import {-# SOURCE #-} qualified GI.Gst.Structs.Memory as Gst.Memory
import {-# SOURCE #-} qualified GI.Gst.Structs.Message as Gst.Message
import {-# SOURCE #-} qualified GI.Gst.Structs.Meta as Gst.Meta
import {-# SOURCE #-} qualified GI.Gst.Structs.MetaInfo as Gst.MetaInfo
import {-# SOURCE #-} qualified GI.Gst.Structs.MiniObject as Gst.MiniObject
import {-# SOURCE #-} qualified GI.Gst.Structs.ParentBufferMeta as Gst.ParentBufferMeta
import {-# SOURCE #-} qualified GI.Gst.Structs.ProtectionMeta as Gst.ProtectionMeta
import {-# SOURCE #-} qualified GI.Gst.Structs.Query as Gst.Query
import {-# SOURCE #-} qualified GI.Gst.Structs.ReferenceTimestampMeta as Gst.ReferenceTimestampMeta
import {-# SOURCE #-} qualified GI.Gst.Structs.Sample as Gst.Sample
import {-# SOURCE #-} qualified GI.Gst.Structs.Segment as Gst.Segment
import {-# SOURCE #-} qualified GI.Gst.Structs.StaticCaps as Gst.StaticCaps
import {-# SOURCE #-} qualified GI.Gst.Structs.StaticPadTemplate as Gst.StaticPadTemplate
import {-# SOURCE #-} qualified GI.Gst.Structs.Structure as Gst.Structure
import {-# SOURCE #-} qualified GI.Gst.Structs.TagList as Gst.TagList
import {-# SOURCE #-} qualified GI.Gst.Structs.Toc as Gst.Toc
import {-# SOURCE #-} qualified GI.Gst.Structs.TocEntry as Gst.TocEntry
#else
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gst.Enums as Gst.Enums
import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object
import {-# SOURCE #-} qualified GI.Gst.Objects.Pad as Gst.Pad
import {-# SOURCE #-} qualified GI.Gst.Structs.Buffer as Gst.Buffer
import {-# SOURCE #-} qualified GI.Gst.Structs.BufferList as Gst.BufferList
import {-# SOURCE #-} qualified GI.Gst.Structs.Iterator as Gst.Iterator
#endif
newtype ProxyPad = ProxyPad (SP.ManagedPtr ProxyPad)
deriving (ProxyPad -> ProxyPad -> Bool
(ProxyPad -> ProxyPad -> Bool)
-> (ProxyPad -> ProxyPad -> Bool) -> Eq ProxyPad
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: ProxyPad -> ProxyPad -> Bool
== :: ProxyPad -> ProxyPad -> Bool
$c/= :: ProxyPad -> ProxyPad -> Bool
/= :: ProxyPad -> ProxyPad -> Bool
Eq)
instance SP.ManagedPtrNewtype ProxyPad where
toManagedPtr :: ProxyPad -> ManagedPtr ProxyPad
toManagedPtr (ProxyPad ManagedPtr ProxyPad
p) = ManagedPtr ProxyPad
p
foreign import ccall "gst_proxy_pad_get_type"
c_gst_proxy_pad_get_type :: IO B.Types.GType
instance B.Types.TypedObject ProxyPad where
glibType :: IO GType
glibType = IO GType
c_gst_proxy_pad_get_type
instance B.Types.GObject ProxyPad
class (SP.GObject o, O.IsDescendantOf ProxyPad o) => IsProxyPad o
instance (SP.GObject o, O.IsDescendantOf ProxyPad o) => IsProxyPad o
instance O.HasParentTypes ProxyPad
type instance O.ParentTypes ProxyPad = '[Gst.Pad.Pad, Gst.Object.Object, GObject.Object.Object]
toProxyPad :: (MIO.MonadIO m, IsProxyPad o) => o -> m ProxyPad
toProxyPad :: forall (m :: * -> *) o.
(MonadIO m, IsProxyPad o) =>
o -> m ProxyPad
toProxyPad = IO ProxyPad -> m ProxyPad
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO ProxyPad -> m ProxyPad)
-> (o -> IO ProxyPad) -> o -> m ProxyPad
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr ProxyPad -> ProxyPad) -> o -> IO ProxyPad
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr ProxyPad -> ProxyPad
ProxyPad
instance B.GValue.IsGValue (Maybe ProxyPad) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gst_proxy_pad_get_type
gvalueSet_ :: Ptr GValue -> Maybe ProxyPad -> IO ()
gvalueSet_ Ptr GValue
gv Maybe ProxyPad
P.Nothing = Ptr GValue -> Ptr ProxyPad -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr ProxyPad
forall a. Ptr a
FP.nullPtr :: FP.Ptr ProxyPad)
gvalueSet_ Ptr GValue
gv (P.Just ProxyPad
obj) = ProxyPad -> (Ptr ProxyPad -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr ProxyPad
obj (Ptr GValue -> Ptr ProxyPad -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe ProxyPad)
gvalueGet_ Ptr GValue
gv = do
Ptr ProxyPad
ptr <- Ptr GValue -> IO (Ptr ProxyPad)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr ProxyPad)
if Ptr ProxyPad
ptr Ptr ProxyPad -> Ptr ProxyPad -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr ProxyPad
forall a. Ptr a
FP.nullPtr
then ProxyPad -> Maybe ProxyPad
forall a. a -> Maybe a
P.Just (ProxyPad -> Maybe ProxyPad) -> IO ProxyPad -> IO (Maybe ProxyPad)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr ProxyPad -> ProxyPad) -> Ptr ProxyPad -> IO ProxyPad
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr ProxyPad -> ProxyPad
ProxyPad Ptr ProxyPad
ptr
else Maybe ProxyPad -> IO (Maybe ProxyPad)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe ProxyPad
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveProxyPadMethod (t :: Symbol) (o :: DK.Type) :: DK.Type where
ResolveProxyPadMethod "activateMode" o = Gst.Pad.PadActivateModeMethodInfo
ResolveProxyPadMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo
ResolveProxyPadMethod "addProbe" o = Gst.Pad.PadAddProbeMethodInfo
ResolveProxyPadMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveProxyPadMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveProxyPadMethod "canLink" o = Gst.Pad.PadCanLinkMethodInfo
ResolveProxyPadMethod "chain" o = Gst.Pad.PadChainMethodInfo
ResolveProxyPadMethod "chainList" o = Gst.Pad.PadChainListMethodInfo
ResolveProxyPadMethod "checkReconfigure" o = Gst.Pad.PadCheckReconfigureMethodInfo
ResolveProxyPadMethod "createStreamId" o = Gst.Pad.PadCreateStreamIdMethodInfo
ResolveProxyPadMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo
ResolveProxyPadMethod "eventDefault" o = Gst.Pad.PadEventDefaultMethodInfo
ResolveProxyPadMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveProxyPadMethod "forward" o = Gst.Pad.PadForwardMethodInfo
ResolveProxyPadMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveProxyPadMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveProxyPadMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo
ResolveProxyPadMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo
ResolveProxyPadMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo
ResolveProxyPadMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo
ResolveProxyPadMethod "hasCurrentCaps" o = Gst.Pad.PadHasCurrentCapsMethodInfo
ResolveProxyPadMethod "isActive" o = Gst.Pad.PadIsActiveMethodInfo
ResolveProxyPadMethod "isBlocked" o = Gst.Pad.PadIsBlockedMethodInfo
ResolveProxyPadMethod "isBlocking" o = Gst.Pad.PadIsBlockingMethodInfo
ResolveProxyPadMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveProxyPadMethod "isLinked" o = Gst.Pad.PadIsLinkedMethodInfo
ResolveProxyPadMethod "iterateInternalLinks" o = Gst.Pad.PadIterateInternalLinksMethodInfo
ResolveProxyPadMethod "link" o = Gst.Pad.PadLinkMethodInfo
ResolveProxyPadMethod "linkFull" o = Gst.Pad.PadLinkFullMethodInfo
ResolveProxyPadMethod "linkMaybeGhosting" o = Gst.Pad.PadLinkMaybeGhostingMethodInfo
ResolveProxyPadMethod "linkMaybeGhostingFull" o = Gst.Pad.PadLinkMaybeGhostingFullMethodInfo
ResolveProxyPadMethod "markReconfigure" o = Gst.Pad.PadMarkReconfigureMethodInfo
ResolveProxyPadMethod "needsReconfigure" o = Gst.Pad.PadNeedsReconfigureMethodInfo
ResolveProxyPadMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveProxyPadMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveProxyPadMethod "pauseTask" o = Gst.Pad.PadPauseTaskMethodInfo
ResolveProxyPadMethod "peerQuery" o = Gst.Pad.PadPeerQueryMethodInfo
ResolveProxyPadMethod "peerQueryAcceptCaps" o = Gst.Pad.PadPeerQueryAcceptCapsMethodInfo
ResolveProxyPadMethod "peerQueryCaps" o = Gst.Pad.PadPeerQueryCapsMethodInfo
ResolveProxyPadMethod "peerQueryConvert" o = Gst.Pad.PadPeerQueryConvertMethodInfo
ResolveProxyPadMethod "peerQueryDuration" o = Gst.Pad.PadPeerQueryDurationMethodInfo
ResolveProxyPadMethod "peerQueryPosition" o = Gst.Pad.PadPeerQueryPositionMethodInfo
ResolveProxyPadMethod "proxyQueryAcceptCaps" o = Gst.Pad.PadProxyQueryAcceptCapsMethodInfo
ResolveProxyPadMethod "proxyQueryCaps" o = Gst.Pad.PadProxyQueryCapsMethodInfo
ResolveProxyPadMethod "pullRange" o = Gst.Pad.PadPullRangeMethodInfo
ResolveProxyPadMethod "push" o = Gst.Pad.PadPushMethodInfo
ResolveProxyPadMethod "pushEvent" o = Gst.Pad.PadPushEventMethodInfo
ResolveProxyPadMethod "pushList" o = Gst.Pad.PadPushListMethodInfo
ResolveProxyPadMethod "query" o = Gst.Pad.PadQueryMethodInfo
ResolveProxyPadMethod "queryAcceptCaps" o = Gst.Pad.PadQueryAcceptCapsMethodInfo
ResolveProxyPadMethod "queryCaps" o = Gst.Pad.PadQueryCapsMethodInfo
ResolveProxyPadMethod "queryConvert" o = Gst.Pad.PadQueryConvertMethodInfo
ResolveProxyPadMethod "queryDefault" o = Gst.Pad.PadQueryDefaultMethodInfo
ResolveProxyPadMethod "queryDuration" o = Gst.Pad.PadQueryDurationMethodInfo
ResolveProxyPadMethod "queryPosition" o = Gst.Pad.PadQueryPositionMethodInfo
ResolveProxyPadMethod "ref" o = Gst.Object.ObjectRefMethodInfo
ResolveProxyPadMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveProxyPadMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo
ResolveProxyPadMethod "removeProbe" o = Gst.Pad.PadRemoveProbeMethodInfo
ResolveProxyPadMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveProxyPadMethod "sendEvent" o = Gst.Pad.PadSendEventMethodInfo
ResolveProxyPadMethod "startTask" o = Gst.Pad.PadStartTaskMethodInfo
ResolveProxyPadMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveProxyPadMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveProxyPadMethod "stickyEventsForeach" o = Gst.Pad.PadStickyEventsForeachMethodInfo
ResolveProxyPadMethod "stopTask" o = Gst.Pad.PadStopTaskMethodInfo
ResolveProxyPadMethod "storeStickyEvent" o = Gst.Pad.PadStoreStickyEventMethodInfo
ResolveProxyPadMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo
ResolveProxyPadMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo
ResolveProxyPadMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveProxyPadMethod "unlink" o = Gst.Pad.PadUnlinkMethodInfo
ResolveProxyPadMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo
ResolveProxyPadMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo
ResolveProxyPadMethod "useFixedCaps" o = Gst.Pad.PadUseFixedCapsMethodInfo
ResolveProxyPadMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveProxyPadMethod "getAllowedCaps" o = Gst.Pad.PadGetAllowedCapsMethodInfo
ResolveProxyPadMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo
ResolveProxyPadMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo
ResolveProxyPadMethod "getCurrentCaps" o = Gst.Pad.PadGetCurrentCapsMethodInfo
ResolveProxyPadMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveProxyPadMethod "getDirection" o = Gst.Pad.PadGetDirectionMethodInfo
ResolveProxyPadMethod "getElementPrivate" o = Gst.Pad.PadGetElementPrivateMethodInfo
ResolveProxyPadMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo
ResolveProxyPadMethod "getInternal" o = ProxyPadGetInternalMethodInfo
ResolveProxyPadMethod "getLastFlowReturn" o = Gst.Pad.PadGetLastFlowReturnMethodInfo
ResolveProxyPadMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo
ResolveProxyPadMethod "getOffset" o = Gst.Pad.PadGetOffsetMethodInfo
ResolveProxyPadMethod "getPadTemplate" o = Gst.Pad.PadGetPadTemplateMethodInfo
ResolveProxyPadMethod "getPadTemplateCaps" o = Gst.Pad.PadGetPadTemplateCapsMethodInfo
ResolveProxyPadMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo
ResolveProxyPadMethod "getParentElement" o = Gst.Pad.PadGetParentElementMethodInfo
ResolveProxyPadMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo
ResolveProxyPadMethod "getPeer" o = Gst.Pad.PadGetPeerMethodInfo
ResolveProxyPadMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveProxyPadMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveProxyPadMethod "getRange" o = Gst.Pad.PadGetRangeMethodInfo
ResolveProxyPadMethod "getSingleInternalLink" o = Gst.Pad.PadGetSingleInternalLinkMethodInfo
ResolveProxyPadMethod "getStickyEvent" o = Gst.Pad.PadGetStickyEventMethodInfo
ResolveProxyPadMethod "getStream" o = Gst.Pad.PadGetStreamMethodInfo
ResolveProxyPadMethod "getStreamId" o = Gst.Pad.PadGetStreamIdMethodInfo
ResolveProxyPadMethod "getTaskState" o = Gst.Pad.PadGetTaskStateMethodInfo
ResolveProxyPadMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo
ResolveProxyPadMethod "setActivateFunctionFull" o = Gst.Pad.PadSetActivateFunctionFullMethodInfo
ResolveProxyPadMethod "setActivatemodeFunctionFull" o = Gst.Pad.PadSetActivatemodeFunctionFullMethodInfo
ResolveProxyPadMethod "setActive" o = Gst.Pad.PadSetActiveMethodInfo
ResolveProxyPadMethod "setChainFunctionFull" o = Gst.Pad.PadSetChainFunctionFullMethodInfo
ResolveProxyPadMethod "setChainListFunctionFull" o = Gst.Pad.PadSetChainListFunctionFullMethodInfo
ResolveProxyPadMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo
ResolveProxyPadMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo
ResolveProxyPadMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo
ResolveProxyPadMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveProxyPadMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveProxyPadMethod "setElementPrivate" o = Gst.Pad.PadSetElementPrivateMethodInfo
ResolveProxyPadMethod "setEventFullFunctionFull" o = Gst.Pad.PadSetEventFullFunctionFullMethodInfo
ResolveProxyPadMethod "setEventFunctionFull" o = Gst.Pad.PadSetEventFunctionFullMethodInfo
ResolveProxyPadMethod "setGetrangeFunctionFull" o = Gst.Pad.PadSetGetrangeFunctionFullMethodInfo
ResolveProxyPadMethod "setIterateInternalLinksFunctionFull" o = Gst.Pad.PadSetIterateInternalLinksFunctionFullMethodInfo
ResolveProxyPadMethod "setLinkFunctionFull" o = Gst.Pad.PadSetLinkFunctionFullMethodInfo
ResolveProxyPadMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo
ResolveProxyPadMethod "setOffset" o = Gst.Pad.PadSetOffsetMethodInfo
ResolveProxyPadMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo
ResolveProxyPadMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveProxyPadMethod "setQueryFunctionFull" o = Gst.Pad.PadSetQueryFunctionFullMethodInfo
ResolveProxyPadMethod "setUnlinkFunctionFull" o = Gst.Pad.PadSetUnlinkFunctionFullMethodInfo
ResolveProxyPadMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveProxyPadMethod t ProxyPad, O.OverloadedMethod info ProxyPad p) => OL.IsLabel t (ProxyPad -> 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 ~ ResolveProxyPadMethod t ProxyPad, O.OverloadedMethod info ProxyPad p, R.HasField t ProxyPad p) => R.HasField t ProxyPad p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveProxyPadMethod t ProxyPad, O.OverloadedMethodInfo info ProxyPad) => OL.IsLabel t (O.MethodProxy info ProxyPad) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList ProxyPad
type instance O.AttributeList ProxyPad = ProxyPadAttributeList
type ProxyPadAttributeList = ('[ '("caps", Gst.Pad.PadCapsPropertyInfo), '("direction", Gst.Pad.PadDirectionPropertyInfo), '("name", Gst.Object.ObjectNamePropertyInfo), '("offset", Gst.Pad.PadOffsetPropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo), '("template", Gst.Pad.PadTemplatePropertyInfo)] :: [(Symbol, DK.Type)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList ProxyPad = ProxyPadSignalList
type ProxyPadSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("linked", Gst.Pad.PadLinkedSignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo), '("unlinked", Gst.Pad.PadUnlinkedSignalInfo)] :: [(Symbol, DK.Type)])
#endif
foreign import ccall "gst_proxy_pad_get_internal" gst_proxy_pad_get_internal ::
Ptr ProxyPad ->
IO (Ptr ProxyPad)
proxyPadGetInternal ::
(B.CallStack.HasCallStack, MonadIO m, IsProxyPad a) =>
a
-> m (Maybe ProxyPad)
proxyPadGetInternal :: forall (m :: * -> *) a.
(HasCallStack, MonadIO m, IsProxyPad a) =>
a -> m (Maybe ProxyPad)
proxyPadGetInternal a
pad = IO (Maybe ProxyPad) -> m (Maybe ProxyPad)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe ProxyPad) -> m (Maybe ProxyPad))
-> IO (Maybe ProxyPad) -> m (Maybe ProxyPad)
forall a b. (a -> b) -> a -> b
$ do
Ptr ProxyPad
pad' <- a -> IO (Ptr ProxyPad)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
pad
Ptr ProxyPad
result <- Ptr ProxyPad -> IO (Ptr ProxyPad)
gst_proxy_pad_get_internal Ptr ProxyPad
pad'
Maybe ProxyPad
maybeResult <- Ptr ProxyPad
-> (Ptr ProxyPad -> IO ProxyPad) -> IO (Maybe ProxyPad)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr ProxyPad
result ((Ptr ProxyPad -> IO ProxyPad) -> IO (Maybe ProxyPad))
-> (Ptr ProxyPad -> IO ProxyPad) -> IO (Maybe ProxyPad)
forall a b. (a -> b) -> a -> b
$ \Ptr ProxyPad
result' -> do
ProxyPad
result'' <- ((ManagedPtr ProxyPad -> ProxyPad) -> Ptr ProxyPad -> IO ProxyPad
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
wrapObject ManagedPtr ProxyPad -> ProxyPad
ProxyPad) Ptr ProxyPad
result'
ProxyPad -> IO ProxyPad
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return ProxyPad
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
pad
Maybe ProxyPad -> IO (Maybe ProxyPad)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe ProxyPad
maybeResult
#if defined(ENABLE_OVERLOADING)
data ProxyPadGetInternalMethodInfo
instance (signature ~ (m (Maybe ProxyPad)), MonadIO m, IsProxyPad a) => O.OverloadedMethod ProxyPadGetInternalMethodInfo a signature where
overloadedMethod = proxyPadGetInternal
instance O.OverloadedMethodInfo ProxyPadGetInternalMethodInfo a where
overloadedMethodInfo = P.Just (O.ResolvedSymbolInfo {
O.resolvedSymbolName = "GI.Gst.Objects.ProxyPad.proxyPadGetInternal",
O.resolvedSymbolURL = "https://hackage.haskell.org/package/gi-gst-1.0.30/docs/GI-Gst-Objects-ProxyPad.html#v:proxyPadGetInternal"
})
#endif
foreign import ccall "gst_proxy_pad_chain_default" gst_proxy_pad_chain_default ::
Ptr Gst.Pad.Pad ->
Ptr Gst.Object.Object ->
Ptr Gst.Buffer.Buffer ->
IO CInt
proxyPadChainDefault ::
(B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a, Gst.Object.IsObject b) =>
a
-> Maybe (b)
-> Gst.Buffer.Buffer
-> m Gst.Enums.FlowReturn
proxyPadChainDefault :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsPad a, IsObject b) =>
a -> Maybe b -> Buffer -> m FlowReturn
proxyPadChainDefault a
pad Maybe b
parent Buffer
buffer = IO FlowReturn -> m FlowReturn
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FlowReturn -> m FlowReturn) -> IO FlowReturn -> m FlowReturn
forall a b. (a -> b) -> a -> b
$ do
Ptr Pad
pad' <- a -> IO (Ptr Pad)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
pad
Ptr Object
maybeParent <- case Maybe b
parent of
Maybe b
Nothing -> Ptr Object -> IO (Ptr Object)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Object
forall a. Ptr a
nullPtr
Just b
jParent -> do
Ptr Object
jParent' <- b -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
jParent
Ptr Object -> IO (Ptr Object)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Object
jParent'
Ptr Buffer
buffer' <- Buffer -> IO (Ptr Buffer)
forall a. (HasCallStack, GBoxed a) => a -> IO (Ptr a)
B.ManagedPtr.disownBoxed Buffer
buffer
CInt
result <- Ptr Pad -> Ptr Object -> Ptr Buffer -> IO CInt
gst_proxy_pad_chain_default Ptr Pad
pad' Ptr Object
maybeParent Ptr Buffer
buffer'
let result' :: FlowReturn
result' = (Int -> FlowReturn
forall a. Enum a => Int -> a
toEnum (Int -> FlowReturn) -> (CInt -> Int) -> CInt -> FlowReturn
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
pad
Maybe b -> (b -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe b
parent b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
Buffer -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr Buffer
buffer
FlowReturn -> IO FlowReturn
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return FlowReturn
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_proxy_pad_chain_list_default" gst_proxy_pad_chain_list_default ::
Ptr Gst.Pad.Pad ->
Ptr Gst.Object.Object ->
Ptr Gst.BufferList.BufferList ->
IO CInt
proxyPadChainListDefault ::
(B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a, Gst.Object.IsObject b) =>
a
-> Maybe (b)
-> Gst.BufferList.BufferList
-> m Gst.Enums.FlowReturn
proxyPadChainListDefault :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsPad a, IsObject b) =>
a -> Maybe b -> BufferList -> m FlowReturn
proxyPadChainListDefault a
pad Maybe b
parent BufferList
list = IO FlowReturn -> m FlowReturn
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO FlowReturn -> m FlowReturn) -> IO FlowReturn -> m FlowReturn
forall a b. (a -> b) -> a -> b
$ do
Ptr Pad
pad' <- a -> IO (Ptr Pad)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
pad
Ptr Object
maybeParent <- case Maybe b
parent of
Maybe b
Nothing -> Ptr Object -> IO (Ptr Object)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Object
forall a. Ptr a
nullPtr
Just b
jParent -> do
Ptr Object
jParent' <- b -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
jParent
Ptr Object -> IO (Ptr Object)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Object
jParent'
Ptr BufferList
list' <- BufferList -> IO (Ptr BufferList)
forall a. (HasCallStack, GBoxed a) => a -> IO (Ptr a)
B.ManagedPtr.disownBoxed BufferList
list
CInt
result <- Ptr Pad -> Ptr Object -> Ptr BufferList -> IO CInt
gst_proxy_pad_chain_list_default Ptr Pad
pad' Ptr Object
maybeParent Ptr BufferList
list'
let result' :: FlowReturn
result' = (Int -> FlowReturn
forall a. Enum a => Int -> a
toEnum (Int -> FlowReturn) -> (CInt -> Int) -> CInt -> FlowReturn
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CInt
result
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
pad
Maybe b -> (b -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe b
parent b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
BufferList -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr BufferList
list
FlowReturn -> IO FlowReturn
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return FlowReturn
result'
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_proxy_pad_getrange_default" gst_proxy_pad_getrange_default ::
Ptr Gst.Pad.Pad ->
Ptr Gst.Object.Object ->
Word64 ->
Word32 ->
Ptr (Ptr Gst.Buffer.Buffer) ->
IO CInt
proxyPadGetrangeDefault ::
(B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a, Gst.Object.IsObject b) =>
a
-> b
-> Word64
-> Word32
-> m ((Gst.Enums.FlowReturn, Gst.Buffer.Buffer))
proxyPadGetrangeDefault :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsPad a, IsObject b) =>
a -> b -> Word64 -> Word32 -> m (FlowReturn, Buffer)
proxyPadGetrangeDefault a
pad b
parent Word64
offset Word32
size = IO (FlowReturn, Buffer) -> m (FlowReturn, Buffer)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (FlowReturn, Buffer) -> m (FlowReturn, Buffer))
-> IO (FlowReturn, Buffer) -> m (FlowReturn, Buffer)
forall a b. (a -> b) -> a -> b
$ do
Ptr Pad
pad' <- a -> IO (Ptr Pad)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
pad
Ptr Object
parent' <- b -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
parent
Ptr (Ptr Buffer)
buffer <- IO (Ptr (Ptr Buffer))
forall a. Storable a => IO (Ptr a)
callocMem :: IO (Ptr (Ptr Gst.Buffer.Buffer))
CInt
result <- Ptr Pad
-> Ptr Object -> Word64 -> Word32 -> Ptr (Ptr Buffer) -> IO CInt
gst_proxy_pad_getrange_default Ptr Pad
pad' Ptr Object
parent' Word64
offset Word32
size Ptr (Ptr Buffer)
buffer
let result' :: FlowReturn
result' = (Int -> FlowReturn
forall a. Enum a => Int -> a
toEnum (Int -> FlowReturn) -> (CInt -> Int) -> CInt -> FlowReturn
forall b c a. (b -> c) -> (a -> b) -> a -> c
. CInt -> Int
forall a b. (Integral a, Num b) => a -> b
fromIntegral) CInt
result
Ptr Buffer
buffer' <- Ptr (Ptr Buffer) -> IO (Ptr Buffer)
forall a. Storable a => Ptr a -> IO a
peek Ptr (Ptr Buffer)
buffer
Buffer
buffer'' <- ((ManagedPtr Buffer -> Buffer) -> Ptr Buffer -> IO Buffer
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Buffer -> Buffer
Gst.Buffer.Buffer) Ptr Buffer
buffer'
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
pad
b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr b
parent
Ptr (Ptr Buffer) -> IO ()
forall a. Ptr a -> IO ()
freeMem Ptr (Ptr Buffer)
buffer
(FlowReturn, Buffer) -> IO (FlowReturn, Buffer)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return (FlowReturn
result', Buffer
buffer'')
#if defined(ENABLE_OVERLOADING)
#endif
foreign import ccall "gst_proxy_pad_iterate_internal_links_default" gst_proxy_pad_iterate_internal_links_default ::
Ptr Gst.Pad.Pad ->
Ptr Gst.Object.Object ->
IO (Ptr Gst.Iterator.Iterator)
proxyPadIterateInternalLinksDefault ::
(B.CallStack.HasCallStack, MonadIO m, Gst.Pad.IsPad a, Gst.Object.IsObject b) =>
a
-> Maybe (b)
-> m (Maybe Gst.Iterator.Iterator)
proxyPadIterateInternalLinksDefault :: forall (m :: * -> *) a b.
(HasCallStack, MonadIO m, IsPad a, IsObject b) =>
a -> Maybe b -> m (Maybe Iterator)
proxyPadIterateInternalLinksDefault a
pad Maybe b
parent = IO (Maybe Iterator) -> m (Maybe Iterator)
forall a. IO a -> m a
forall (m :: * -> *) a. MonadIO m => IO a -> m a
liftIO (IO (Maybe Iterator) -> m (Maybe Iterator))
-> IO (Maybe Iterator) -> m (Maybe Iterator)
forall a b. (a -> b) -> a -> b
$ do
Ptr Pad
pad' <- a -> IO (Ptr Pad)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr a
pad
Ptr Object
maybeParent <- case Maybe b
parent of
Maybe b
Nothing -> Ptr Object -> IO (Ptr Object)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Object
forall a. Ptr a
nullPtr
Just b
jParent -> do
Ptr Object
jParent' <- b -> IO (Ptr Object)
forall a b. (HasCallStack, ManagedPtrNewtype a) => a -> IO (Ptr b)
unsafeManagedPtrCastPtr b
jParent
Ptr Object -> IO (Ptr Object)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Ptr Object
jParent'
Ptr Iterator
result <- Ptr Pad -> Ptr Object -> IO (Ptr Iterator)
gst_proxy_pad_iterate_internal_links_default Ptr Pad
pad' Ptr Object
maybeParent
Maybe Iterator
maybeResult <- Ptr Iterator
-> (Ptr Iterator -> IO Iterator) -> IO (Maybe Iterator)
forall a b. Ptr a -> (Ptr a -> IO b) -> IO (Maybe b)
convertIfNonNull Ptr Iterator
result ((Ptr Iterator -> IO Iterator) -> IO (Maybe Iterator))
-> (Ptr Iterator -> IO Iterator) -> IO (Maybe Iterator)
forall a b. (a -> b) -> a -> b
$ \Ptr Iterator
result' -> do
Iterator
result'' <- ((ManagedPtr Iterator -> Iterator) -> Ptr Iterator -> IO Iterator
forall a.
(HasCallStack, GBoxed a) =>
(ManagedPtr a -> a) -> Ptr a -> IO a
wrapBoxed ManagedPtr Iterator -> Iterator
Gst.Iterator.Iterator) Ptr Iterator
result'
Iterator -> IO Iterator
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Iterator
result''
a -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr a
pad
Maybe b -> (b -> IO ()) -> IO ()
forall (m :: * -> *) a. Monad m => Maybe a -> (a -> m ()) -> m ()
whenJust Maybe b
parent b -> IO ()
forall a. ManagedPtrNewtype a => a -> IO ()
touchManagedPtr
Maybe Iterator -> IO (Maybe Iterator)
forall a. a -> IO a
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe Iterator
maybeResult
#if defined(ENABLE_OVERLOADING)
#endif