#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Gst.Objects.ProxyPad
(
ProxyPad(..) ,
IsProxyPad ,
toProxyPad ,
noProxyPad ,
proxyPadChainDefault ,
proxyPadChainListDefault ,
#if 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.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.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 {-# 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
newtype ProxyPad = ProxyPad (ManagedPtr ProxyPad)
foreign import ccall "gst_proxy_pad_get_type"
c_gst_proxy_pad_get_type :: IO GType
instance GObject ProxyPad where
gobjectType = c_gst_proxy_pad_get_type
class (GObject o, O.IsDescendantOf ProxyPad o) => IsProxyPad o
instance (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 :: (MonadIO m, IsProxyPad o) => o -> m ProxyPad
toProxyPad = liftIO . unsafeCastTo ProxyPad
noProxyPad :: Maybe ProxyPad
noProxyPad = Nothing
#if ENABLE_OVERLOADING
type family ResolveProxyPadMethod (t :: Symbol) (o :: *) :: * 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 "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 "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.MethodInfo info ProxyPad p) => OL.IsLabel t (ProxyPad -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#else
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
#endif
#if 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, *)])
#endif
#if ENABLE_OVERLOADING
#endif
#if 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, *)])
#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 pad = liftIO $ do
pad' <- unsafeManagedPtrCastPtr pad
result <- gst_proxy_pad_get_internal pad'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (wrapObject ProxyPad) result'
return result''
touchManagedPtr pad
return maybeResult
#if ENABLE_OVERLOADING
data ProxyPadGetInternalMethodInfo
instance (signature ~ (m (Maybe ProxyPad)), MonadIO m, IsProxyPad a) => O.MethodInfo ProxyPadGetInternalMethodInfo a signature where
overloadedMethod _ = 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 pad parent buffer = liftIO $ do
pad' <- unsafeManagedPtrCastPtr pad
maybeParent <- case parent of
Nothing -> return nullPtr
Just jParent -> do
jParent' <- unsafeManagedPtrCastPtr jParent
return jParent'
buffer' <- B.ManagedPtr.disownBoxed buffer
result <- gst_proxy_pad_chain_default pad' maybeParent buffer'
let result' = (toEnum . fromIntegral) result
touchManagedPtr pad
whenJust parent touchManagedPtr
touchManagedPtr buffer
return result'
#if 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 pad parent list = liftIO $ do
pad' <- unsafeManagedPtrCastPtr pad
maybeParent <- case parent of
Nothing -> return nullPtr
Just jParent -> do
jParent' <- unsafeManagedPtrCastPtr jParent
return jParent'
list' <- B.ManagedPtr.disownBoxed list
result <- gst_proxy_pad_chain_list_default pad' maybeParent list'
let result' = (toEnum . fromIntegral) result
touchManagedPtr pad
whenJust parent touchManagedPtr
touchManagedPtr list
return result'
#if 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 pad parent offset size = liftIO $ do
pad' <- unsafeManagedPtrCastPtr pad
parent' <- unsafeManagedPtrCastPtr parent
buffer <- allocMem :: IO (Ptr (Ptr Gst.Buffer.Buffer))
result <- gst_proxy_pad_getrange_default pad' parent' offset size buffer
let result' = (toEnum . fromIntegral) result
buffer' <- peek buffer
buffer'' <- (wrapBoxed Gst.Buffer.Buffer) buffer'
touchManagedPtr pad
touchManagedPtr parent
freeMem buffer
return (result', buffer'')
#if 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 pad parent = liftIO $ do
pad' <- unsafeManagedPtrCastPtr pad
maybeParent <- case parent of
Nothing -> return nullPtr
Just jParent -> do
jParent' <- unsafeManagedPtrCastPtr jParent
return jParent'
result <- gst_proxy_pad_iterate_internal_links_default pad' maybeParent
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (wrapBoxed Gst.Iterator.Iterator) result'
return result''
touchManagedPtr pad
whenJust parent touchManagedPtr
return maybeResult
#if ENABLE_OVERLOADING
#endif