gi-gst-0.1.6.13: GI/Gst/Objects/DeviceProvider.hs
{- |
Copyright : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}
module GI.Gst.Objects.DeviceProvider
(
-- * Exported types
DeviceProvider(..) ,
DeviceProviderK ,
toDeviceProvider ,
noDeviceProvider ,
-- * Methods
-- ** deviceProviderCanMonitor
DeviceProviderCanMonitorMethodInfo ,
deviceProviderCanMonitor ,
-- ** deviceProviderDeviceAdd
DeviceProviderDeviceAddMethodInfo ,
deviceProviderDeviceAdd ,
-- ** deviceProviderDeviceRemove
DeviceProviderDeviceRemoveMethodInfo ,
deviceProviderDeviceRemove ,
-- ** deviceProviderGetBus
DeviceProviderGetBusMethodInfo ,
deviceProviderGetBus ,
-- ** deviceProviderGetDevices
DeviceProviderGetDevicesMethodInfo ,
deviceProviderGetDevices ,
-- ** deviceProviderGetFactory
DeviceProviderGetFactoryMethodInfo ,
deviceProviderGetFactory ,
-- ** deviceProviderGetHiddenProviders
DeviceProviderGetHiddenProvidersMethodInfo,
deviceProviderGetHiddenProviders ,
-- ** deviceProviderHideProvider
DeviceProviderHideProviderMethodInfo ,
deviceProviderHideProvider ,
-- ** deviceProviderRegister
deviceProviderRegister ,
-- ** deviceProviderStart
DeviceProviderStartMethodInfo ,
deviceProviderStart ,
-- ** deviceProviderStop
DeviceProviderStopMethodInfo ,
deviceProviderStop ,
-- ** deviceProviderUnhideProvider
DeviceProviderUnhideProviderMethodInfo ,
deviceProviderUnhideProvider ,
-- * Signals
-- ** ProviderHidden
DeviceProviderProviderHiddenCallback ,
DeviceProviderProviderHiddenCallbackC ,
DeviceProviderProviderHiddenSignalInfo ,
afterDeviceProviderProviderHidden ,
deviceProviderProviderHiddenCallbackWrapper,
deviceProviderProviderHiddenClosure ,
mkDeviceProviderProviderHiddenCallback ,
noDeviceProviderProviderHiddenCallback ,
onDeviceProviderProviderHidden ,
-- ** ProviderUnhidden
DeviceProviderProviderUnhiddenCallback ,
DeviceProviderProviderUnhiddenCallbackC ,
DeviceProviderProviderUnhiddenSignalInfo,
afterDeviceProviderProviderUnhidden ,
deviceProviderProviderUnhiddenCallbackWrapper,
deviceProviderProviderUnhiddenClosure ,
mkDeviceProviderProviderUnhiddenCallback,
noDeviceProviderProviderUnhiddenCallback,
onDeviceProviderProviderUnhidden ,
) where
import Prelude ()
import Data.GI.Base.ShortPrelude
import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map
import GI.Gst.Types
import GI.Gst.Callbacks
import qualified GI.GObject as GObject
newtype DeviceProvider = DeviceProvider (ForeignPtr DeviceProvider)
foreign import ccall "gst_device_provider_get_type"
c_gst_device_provider_get_type :: IO GType
type instance ParentTypes DeviceProvider = DeviceProviderParentTypes
type DeviceProviderParentTypes = '[Object, GObject.Object]
instance GObject DeviceProvider where
gobjectIsInitiallyUnowned _ = True
gobjectType _ = c_gst_device_provider_get_type
class GObject o => DeviceProviderK o
instance (GObject o, IsDescendantOf DeviceProvider o) => DeviceProviderK o
toDeviceProvider :: DeviceProviderK o => o -> IO DeviceProvider
toDeviceProvider = unsafeCastTo DeviceProvider
noDeviceProvider :: Maybe DeviceProvider
noDeviceProvider = Nothing
type family ResolveDeviceProviderMethod (t :: Symbol) (o :: *) :: * where
ResolveDeviceProviderMethod "addControlBinding" o = ObjectAddControlBindingMethodInfo
ResolveDeviceProviderMethod "bindProperty" o = GObject.ObjectBindPropertyMethodInfo
ResolveDeviceProviderMethod "bindPropertyFull" o = GObject.ObjectBindPropertyFullMethodInfo
ResolveDeviceProviderMethod "canMonitor" o = DeviceProviderCanMonitorMethodInfo
ResolveDeviceProviderMethod "defaultError" o = ObjectDefaultErrorMethodInfo
ResolveDeviceProviderMethod "deviceAdd" o = DeviceProviderDeviceAddMethodInfo
ResolveDeviceProviderMethod "deviceRemove" o = DeviceProviderDeviceRemoveMethodInfo
ResolveDeviceProviderMethod "forceFloating" o = GObject.ObjectForceFloatingMethodInfo
ResolveDeviceProviderMethod "freezeNotify" o = GObject.ObjectFreezeNotifyMethodInfo
ResolveDeviceProviderMethod "hasActiveControlBindings" o = ObjectHasActiveControlBindingsMethodInfo
ResolveDeviceProviderMethod "hasAncestor" o = ObjectHasAncestorMethodInfo
ResolveDeviceProviderMethod "hasAsAncestor" o = ObjectHasAsAncestorMethodInfo
ResolveDeviceProviderMethod "hasAsParent" o = ObjectHasAsParentMethodInfo
ResolveDeviceProviderMethod "hideProvider" o = DeviceProviderHideProviderMethodInfo
ResolveDeviceProviderMethod "isFloating" o = GObject.ObjectIsFloatingMethodInfo
ResolveDeviceProviderMethod "notify" o = GObject.ObjectNotifyMethodInfo
ResolveDeviceProviderMethod "notifyByPspec" o = GObject.ObjectNotifyByPspecMethodInfo
ResolveDeviceProviderMethod "refSink" o = GObject.ObjectRefSinkMethodInfo
ResolveDeviceProviderMethod "removeControlBinding" o = ObjectRemoveControlBindingMethodInfo
ResolveDeviceProviderMethod "replaceData" o = GObject.ObjectReplaceDataMethodInfo
ResolveDeviceProviderMethod "replaceQdata" o = GObject.ObjectReplaceQdataMethodInfo
ResolveDeviceProviderMethod "runDispose" o = GObject.ObjectRunDisposeMethodInfo
ResolveDeviceProviderMethod "start" o = DeviceProviderStartMethodInfo
ResolveDeviceProviderMethod "stealData" o = GObject.ObjectStealDataMethodInfo
ResolveDeviceProviderMethod "stealQdata" o = GObject.ObjectStealQdataMethodInfo
ResolveDeviceProviderMethod "stop" o = DeviceProviderStopMethodInfo
ResolveDeviceProviderMethod "suggestNextSync" o = ObjectSuggestNextSyncMethodInfo
ResolveDeviceProviderMethod "syncValues" o = ObjectSyncValuesMethodInfo
ResolveDeviceProviderMethod "thawNotify" o = GObject.ObjectThawNotifyMethodInfo
ResolveDeviceProviderMethod "unhideProvider" o = DeviceProviderUnhideProviderMethodInfo
ResolveDeviceProviderMethod "unparent" o = ObjectUnparentMethodInfo
ResolveDeviceProviderMethod "watchClosure" o = GObject.ObjectWatchClosureMethodInfo
ResolveDeviceProviderMethod "getBus" o = DeviceProviderGetBusMethodInfo
ResolveDeviceProviderMethod "getControlBinding" o = ObjectGetControlBindingMethodInfo
ResolveDeviceProviderMethod "getControlRate" o = ObjectGetControlRateMethodInfo
ResolveDeviceProviderMethod "getData" o = GObject.ObjectGetDataMethodInfo
ResolveDeviceProviderMethod "getDevices" o = DeviceProviderGetDevicesMethodInfo
ResolveDeviceProviderMethod "getFactory" o = DeviceProviderGetFactoryMethodInfo
ResolveDeviceProviderMethod "getGValueArray" o = ObjectGetGValueArrayMethodInfo
ResolveDeviceProviderMethod "getHiddenProviders" o = DeviceProviderGetHiddenProvidersMethodInfo
ResolveDeviceProviderMethod "getName" o = ObjectGetNameMethodInfo
ResolveDeviceProviderMethod "getParent" o = ObjectGetParentMethodInfo
ResolveDeviceProviderMethod "getPathString" o = ObjectGetPathStringMethodInfo
ResolveDeviceProviderMethod "getProperty" o = GObject.ObjectGetPropertyMethodInfo
ResolveDeviceProviderMethod "getQdata" o = GObject.ObjectGetQdataMethodInfo
ResolveDeviceProviderMethod "getValue" o = ObjectGetValueMethodInfo
ResolveDeviceProviderMethod "getValueArray" o = ObjectGetValueArrayMethodInfo
ResolveDeviceProviderMethod "setControlBindingDisabled" o = ObjectSetControlBindingDisabledMethodInfo
ResolveDeviceProviderMethod "setControlBindingsDisabled" o = ObjectSetControlBindingsDisabledMethodInfo
ResolveDeviceProviderMethod "setControlRate" o = ObjectSetControlRateMethodInfo
ResolveDeviceProviderMethod "setData" o = GObject.ObjectSetDataMethodInfo
ResolveDeviceProviderMethod "setName" o = ObjectSetNameMethodInfo
ResolveDeviceProviderMethod "setParent" o = ObjectSetParentMethodInfo
ResolveDeviceProviderMethod "setProperty" o = GObject.ObjectSetPropertyMethodInfo
ResolveDeviceProviderMethod l o = MethodResolutionFailed l o
instance (info ~ ResolveDeviceProviderMethod t DeviceProvider, MethodInfo info DeviceProvider p) => IsLabelProxy t (DeviceProvider -> p) where
fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveDeviceProviderMethod t DeviceProvider, MethodInfo info DeviceProvider p) => IsLabel t (DeviceProvider -> p) where
fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif
-- signal DeviceProvider::provider-hidden
type DeviceProviderProviderHiddenCallback =
T.Text ->
IO ()
noDeviceProviderProviderHiddenCallback :: Maybe DeviceProviderProviderHiddenCallback
noDeviceProviderProviderHiddenCallback = Nothing
type DeviceProviderProviderHiddenCallbackC =
Ptr () -> -- object
CString ->
Ptr () -> -- user_data
IO ()
foreign import ccall "wrapper"
mkDeviceProviderProviderHiddenCallback :: DeviceProviderProviderHiddenCallbackC -> IO (FunPtr DeviceProviderProviderHiddenCallbackC)
deviceProviderProviderHiddenClosure :: DeviceProviderProviderHiddenCallback -> IO Closure
deviceProviderProviderHiddenClosure cb = newCClosure =<< mkDeviceProviderProviderHiddenCallback wrapped
where wrapped = deviceProviderProviderHiddenCallbackWrapper cb
deviceProviderProviderHiddenCallbackWrapper ::
DeviceProviderProviderHiddenCallback ->
Ptr () ->
CString ->
Ptr () ->
IO ()
deviceProviderProviderHiddenCallbackWrapper _cb _ object _ = do
object' <- cstringToText object
_cb object'
onDeviceProviderProviderHidden :: (GObject a, MonadIO m) => a -> DeviceProviderProviderHiddenCallback -> m SignalHandlerId
onDeviceProviderProviderHidden obj cb = liftIO $ connectDeviceProviderProviderHidden obj cb SignalConnectBefore
afterDeviceProviderProviderHidden :: (GObject a, MonadIO m) => a -> DeviceProviderProviderHiddenCallback -> m SignalHandlerId
afterDeviceProviderProviderHidden obj cb = connectDeviceProviderProviderHidden obj cb SignalConnectAfter
connectDeviceProviderProviderHidden :: (GObject a, MonadIO m) =>
a -> DeviceProviderProviderHiddenCallback -> SignalConnectMode -> m SignalHandlerId
connectDeviceProviderProviderHidden obj cb after = liftIO $ do
cb' <- mkDeviceProviderProviderHiddenCallback (deviceProviderProviderHiddenCallbackWrapper cb)
connectSignalFunPtr obj "provider-hidden" cb' after
-- signal DeviceProvider::provider-unhidden
type DeviceProviderProviderUnhiddenCallback =
T.Text ->
IO ()
noDeviceProviderProviderUnhiddenCallback :: Maybe DeviceProviderProviderUnhiddenCallback
noDeviceProviderProviderUnhiddenCallback = Nothing
type DeviceProviderProviderUnhiddenCallbackC =
Ptr () -> -- object
CString ->
Ptr () -> -- user_data
IO ()
foreign import ccall "wrapper"
mkDeviceProviderProviderUnhiddenCallback :: DeviceProviderProviderUnhiddenCallbackC -> IO (FunPtr DeviceProviderProviderUnhiddenCallbackC)
deviceProviderProviderUnhiddenClosure :: DeviceProviderProviderUnhiddenCallback -> IO Closure
deviceProviderProviderUnhiddenClosure cb = newCClosure =<< mkDeviceProviderProviderUnhiddenCallback wrapped
where wrapped = deviceProviderProviderUnhiddenCallbackWrapper cb
deviceProviderProviderUnhiddenCallbackWrapper ::
DeviceProviderProviderUnhiddenCallback ->
Ptr () ->
CString ->
Ptr () ->
IO ()
deviceProviderProviderUnhiddenCallbackWrapper _cb _ object _ = do
object' <- cstringToText object
_cb object'
onDeviceProviderProviderUnhidden :: (GObject a, MonadIO m) => a -> DeviceProviderProviderUnhiddenCallback -> m SignalHandlerId
onDeviceProviderProviderUnhidden obj cb = liftIO $ connectDeviceProviderProviderUnhidden obj cb SignalConnectBefore
afterDeviceProviderProviderUnhidden :: (GObject a, MonadIO m) => a -> DeviceProviderProviderUnhiddenCallback -> m SignalHandlerId
afterDeviceProviderProviderUnhidden obj cb = connectDeviceProviderProviderUnhidden obj cb SignalConnectAfter
connectDeviceProviderProviderUnhidden :: (GObject a, MonadIO m) =>
a -> DeviceProviderProviderUnhiddenCallback -> SignalConnectMode -> m SignalHandlerId
connectDeviceProviderProviderUnhidden obj cb after = liftIO $ do
cb' <- mkDeviceProviderProviderUnhiddenCallback (deviceProviderProviderUnhiddenCallbackWrapper cb)
connectSignalFunPtr obj "provider-unhidden" cb' after
type instance AttributeList DeviceProvider = DeviceProviderAttributeList
type DeviceProviderAttributeList = ('[ '("name", ObjectNamePropertyInfo), '("parent", ObjectParentPropertyInfo)] :: [(Symbol, *)])
data DeviceProviderProviderHiddenSignalInfo
instance SignalInfo DeviceProviderProviderHiddenSignalInfo where
type HaskellCallbackType DeviceProviderProviderHiddenSignalInfo = DeviceProviderProviderHiddenCallback
connectSignal _ = connectDeviceProviderProviderHidden
data DeviceProviderProviderUnhiddenSignalInfo
instance SignalInfo DeviceProviderProviderUnhiddenSignalInfo where
type HaskellCallbackType DeviceProviderProviderUnhiddenSignalInfo = DeviceProviderProviderUnhiddenCallback
connectSignal _ = connectDeviceProviderProviderUnhidden
type instance SignalList DeviceProvider = DeviceProviderSignalList
type DeviceProviderSignalList = ('[ '("deepNotify", ObjectDeepNotifySignalInfo), '("notify", GObject.ObjectNotifySignalInfo), '("providerHidden", DeviceProviderProviderHiddenSignalInfo), '("providerUnhidden", DeviceProviderProviderUnhiddenSignalInfo)] :: [(Symbol, *)])
-- method DeviceProvider::can_monitor
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "DeviceProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_device_provider_can_monitor" gst_device_provider_can_monitor ::
Ptr DeviceProvider -> -- _obj : TInterface "Gst" "DeviceProvider"
IO CInt
deviceProviderCanMonitor ::
(MonadIO m, DeviceProviderK a) =>
a -- _obj
-> m Bool -- result
deviceProviderCanMonitor _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_device_provider_can_monitor _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data DeviceProviderCanMonitorMethodInfo
instance (signature ~ (m Bool), MonadIO m, DeviceProviderK a) => MethodInfo DeviceProviderCanMonitorMethodInfo a signature where
overloadedMethod _ = deviceProviderCanMonitor
-- method DeviceProvider::device_add
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "DeviceProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface "Gst" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferEverything}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_device_provider_device_add" gst_device_provider_device_add ::
Ptr DeviceProvider -> -- _obj : TInterface "Gst" "DeviceProvider"
Ptr Device -> -- device : TInterface "Gst" "Device"
IO ()
deviceProviderDeviceAdd ::
(MonadIO m, DeviceProviderK a, DeviceK b) =>
a -- _obj
-> b -- device
-> m () -- result
deviceProviderDeviceAdd _obj device = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
device' <- refObject device
gst_device_provider_device_add _obj' device'
touchManagedPtr _obj
touchManagedPtr device
return ()
data DeviceProviderDeviceAddMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, DeviceProviderK a, DeviceK b) => MethodInfo DeviceProviderDeviceAddMethodInfo a signature where
overloadedMethod _ = deviceProviderDeviceAdd
-- method DeviceProvider::device_remove
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "DeviceProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "device", argType = TInterface "Gst" "Device", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_device_provider_device_remove" gst_device_provider_device_remove ::
Ptr DeviceProvider -> -- _obj : TInterface "Gst" "DeviceProvider"
Ptr Device -> -- device : TInterface "Gst" "Device"
IO ()
deviceProviderDeviceRemove ::
(MonadIO m, DeviceProviderK a, DeviceK b) =>
a -- _obj
-> b -- device
-> m () -- result
deviceProviderDeviceRemove _obj device = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
let device' = unsafeManagedPtrCastPtr device
gst_device_provider_device_remove _obj' device'
touchManagedPtr _obj
touchManagedPtr device
return ()
data DeviceProviderDeviceRemoveMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, DeviceProviderK a, DeviceK b) => MethodInfo DeviceProviderDeviceRemoveMethodInfo a signature where
overloadedMethod _ = deviceProviderDeviceRemove
-- method DeviceProvider::get_bus
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "DeviceProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "Bus"
-- throws : False
-- Skip return : False
foreign import ccall "gst_device_provider_get_bus" gst_device_provider_get_bus ::
Ptr DeviceProvider -> -- _obj : TInterface "Gst" "DeviceProvider"
IO (Ptr Bus)
deviceProviderGetBus ::
(MonadIO m, DeviceProviderK a) =>
a -- _obj
-> m Bus -- result
deviceProviderGetBus _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_device_provider_get_bus _obj'
checkUnexpectedReturnNULL "gst_device_provider_get_bus" result
result' <- (wrapObject Bus) result
touchManagedPtr _obj
return result'
data DeviceProviderGetBusMethodInfo
instance (signature ~ (m Bus), MonadIO m, DeviceProviderK a) => MethodInfo DeviceProviderGetBusMethodInfo a signature where
overloadedMethod _ = deviceProviderGetBus
-- method DeviceProvider::get_devices
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "DeviceProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TGList (TInterface "Gst" "Device")
-- throws : False
-- Skip return : False
foreign import ccall "gst_device_provider_get_devices" gst_device_provider_get_devices ::
Ptr DeviceProvider -> -- _obj : TInterface "Gst" "DeviceProvider"
IO (Ptr (GList (Ptr Device)))
deviceProviderGetDevices ::
(MonadIO m, DeviceProviderK a) =>
a -- _obj
-> m [Device] -- result
deviceProviderGetDevices _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_device_provider_get_devices _obj'
checkUnexpectedReturnNULL "gst_device_provider_get_devices" result
result' <- unpackGList result
result'' <- mapM (wrapObject Device) result'
g_list_free result
touchManagedPtr _obj
return result''
data DeviceProviderGetDevicesMethodInfo
instance (signature ~ (m [Device]), MonadIO m, DeviceProviderK a) => MethodInfo DeviceProviderGetDevicesMethodInfo a signature where
overloadedMethod _ = deviceProviderGetDevices
-- method DeviceProvider::get_factory
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "DeviceProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "DeviceProviderFactory"
-- throws : False
-- Skip return : False
foreign import ccall "gst_device_provider_get_factory" gst_device_provider_get_factory ::
Ptr DeviceProvider -> -- _obj : TInterface "Gst" "DeviceProvider"
IO (Ptr DeviceProviderFactory)
deviceProviderGetFactory ::
(MonadIO m, DeviceProviderK a) =>
a -- _obj
-> m DeviceProviderFactory -- result
deviceProviderGetFactory _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_device_provider_get_factory _obj'
checkUnexpectedReturnNULL "gst_device_provider_get_factory" result
result' <- (newObject DeviceProviderFactory) result
touchManagedPtr _obj
return result'
data DeviceProviderGetFactoryMethodInfo
instance (signature ~ (m DeviceProviderFactory), MonadIO m, DeviceProviderK a) => MethodInfo DeviceProviderGetFactoryMethodInfo a signature where
overloadedMethod _ = deviceProviderGetFactory
-- method DeviceProvider::get_hidden_providers
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "DeviceProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TCArray True (-1) (-1) (TBasicType TUTF8)
-- throws : False
-- Skip return : False
foreign import ccall "gst_device_provider_get_hidden_providers" gst_device_provider_get_hidden_providers ::
Ptr DeviceProvider -> -- _obj : TInterface "Gst" "DeviceProvider"
IO (Ptr CString)
deviceProviderGetHiddenProviders ::
(MonadIO m, DeviceProviderK a) =>
a -- _obj
-> m [T.Text] -- result
deviceProviderGetHiddenProviders _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_device_provider_get_hidden_providers _obj'
checkUnexpectedReturnNULL "gst_device_provider_get_hidden_providers" result
result' <- unpackZeroTerminatedUTF8CArray result
mapZeroTerminatedCArray freeMem result
freeMem result
touchManagedPtr _obj
return result'
data DeviceProviderGetHiddenProvidersMethodInfo
instance (signature ~ (m [T.Text]), MonadIO m, DeviceProviderK a) => MethodInfo DeviceProviderGetHiddenProvidersMethodInfo a signature where
overloadedMethod _ = deviceProviderGetHiddenProviders
-- method DeviceProvider::hide_provider
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "DeviceProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_device_provider_hide_provider" gst_device_provider_hide_provider ::
Ptr DeviceProvider -> -- _obj : TInterface "Gst" "DeviceProvider"
CString -> -- name : TBasicType TUTF8
IO ()
deviceProviderHideProvider ::
(MonadIO m, DeviceProviderK a) =>
a -- _obj
-> T.Text -- name
-> m () -- result
deviceProviderHideProvider _obj name = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
name' <- textToCString name
gst_device_provider_hide_provider _obj' name'
touchManagedPtr _obj
freeMem name'
return ()
data DeviceProviderHideProviderMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, DeviceProviderK a) => MethodInfo DeviceProviderHideProviderMethodInfo a signature where
overloadedMethod _ = deviceProviderHideProvider
-- method DeviceProvider::start
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "DeviceProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_device_provider_start" gst_device_provider_start ::
Ptr DeviceProvider -> -- _obj : TInterface "Gst" "DeviceProvider"
IO CInt
deviceProviderStart ::
(MonadIO m, DeviceProviderK a) =>
a -- _obj
-> m Bool -- result
deviceProviderStart _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
result <- gst_device_provider_start _obj'
let result' = (/= 0) result
touchManagedPtr _obj
return result'
data DeviceProviderStartMethodInfo
instance (signature ~ (m Bool), MonadIO m, DeviceProviderK a) => MethodInfo DeviceProviderStartMethodInfo a signature where
overloadedMethod _ = deviceProviderStart
-- method DeviceProvider::stop
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "DeviceProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_device_provider_stop" gst_device_provider_stop ::
Ptr DeviceProvider -> -- _obj : TInterface "Gst" "DeviceProvider"
IO ()
deviceProviderStop ::
(MonadIO m, DeviceProviderK a) =>
a -- _obj
-> m () -- result
deviceProviderStop _obj = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
gst_device_provider_stop _obj'
touchManagedPtr _obj
return ()
data DeviceProviderStopMethodInfo
instance (signature ~ (m ()), MonadIO m, DeviceProviderK a) => MethodInfo DeviceProviderStopMethodInfo a signature where
overloadedMethod _ = deviceProviderStop
-- method DeviceProvider::unhide_provider
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "DeviceProvider", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False
foreign import ccall "gst_device_provider_unhide_provider" gst_device_provider_unhide_provider ::
Ptr DeviceProvider -> -- _obj : TInterface "Gst" "DeviceProvider"
CString -> -- name : TBasicType TUTF8
IO ()
deviceProviderUnhideProvider ::
(MonadIO m, DeviceProviderK a) =>
a -- _obj
-> T.Text -- name
-> m () -- result
deviceProviderUnhideProvider _obj name = liftIO $ do
let _obj' = unsafeManagedPtrCastPtr _obj
name' <- textToCString name
gst_device_provider_unhide_provider _obj' name'
touchManagedPtr _obj
freeMem name'
return ()
data DeviceProviderUnhideProviderMethodInfo
instance (signature ~ (T.Text -> m ()), MonadIO m, DeviceProviderK a) => MethodInfo DeviceProviderUnhideProviderMethodInfo a signature where
overloadedMethod _ = deviceProviderUnhideProvider
-- method DeviceProvider::register
-- method type : MemberFunction
-- Args : [Arg {argCName = "plugin", argType = TInterface "Gst" "Plugin", direction = DirectionIn, mayBeNull = True, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "name", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "rank", argType = TBasicType TUInt32, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "type", argType = TBasicType TGType, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False
foreign import ccall "gst_device_provider_register" gst_device_provider_register ::
Ptr Plugin -> -- plugin : TInterface "Gst" "Plugin"
CString -> -- name : TBasicType TUTF8
Word32 -> -- rank : TBasicType TUInt32
CGType -> -- type : TBasicType TGType
IO CInt
deviceProviderRegister ::
(MonadIO m, PluginK a) =>
Maybe (a) -- plugin
-> T.Text -- name
-> Word32 -- rank
-> GType -- type_
-> m Bool -- result
deviceProviderRegister plugin name rank type_ = liftIO $ do
maybePlugin <- case plugin of
Nothing -> return nullPtr
Just jPlugin -> do
let jPlugin' = unsafeManagedPtrCastPtr jPlugin
return jPlugin'
name' <- textToCString name
let type_' = gtypeToCGType type_
result <- gst_device_provider_register maybePlugin name' rank type_'
let result' = (/= 0) result
whenJust plugin touchManagedPtr
freeMem name'
return result'