#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Gst.Objects.DeviceProviderFactory
(
DeviceProviderFactory(..) ,
IsDeviceProviderFactory ,
toDeviceProviderFactory ,
noDeviceProviderFactory ,
deviceProviderFactoryFind ,
#if ENABLE_OVERLOADING
DeviceProviderFactoryGetMethodInfo ,
#endif
deviceProviderFactoryGet ,
deviceProviderFactoryGetByName ,
#if ENABLE_OVERLOADING
DeviceProviderFactoryGetDeviceProviderTypeMethodInfo,
#endif
deviceProviderFactoryGetDeviceProviderType,
#if ENABLE_OVERLOADING
DeviceProviderFactoryGetMetadataMethodInfo,
#endif
deviceProviderFactoryGetMetadata ,
#if ENABLE_OVERLOADING
DeviceProviderFactoryGetMetadataKeysMethodInfo,
#endif
deviceProviderFactoryGetMetadataKeys ,
#if ENABLE_OVERLOADING
DeviceProviderFactoryHasClassesMethodInfo,
#endif
deviceProviderFactoryHasClasses ,
#if ENABLE_OVERLOADING
DeviceProviderFactoryHasClassesvMethodInfo,
#endif
deviceProviderFactoryHasClassesv ,
deviceProviderFactoryListGetDeviceProviders,
) 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.DeviceProvider as Gst.DeviceProvider
import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object
import {-# SOURCE #-} qualified GI.Gst.Objects.PluginFeature as Gst.PluginFeature
newtype DeviceProviderFactory = DeviceProviderFactory (ManagedPtr DeviceProviderFactory)
foreign import ccall "gst_device_provider_factory_get_type"
c_gst_device_provider_factory_get_type :: IO GType
instance GObject DeviceProviderFactory where
gobjectType = c_gst_device_provider_factory_get_type
class (GObject o, O.IsDescendantOf DeviceProviderFactory o) => IsDeviceProviderFactory o
instance (GObject o, O.IsDescendantOf DeviceProviderFactory o) => IsDeviceProviderFactory o
instance O.HasParentTypes DeviceProviderFactory
type instance O.ParentTypes DeviceProviderFactory = '[Gst.PluginFeature.PluginFeature, Gst.Object.Object, GObject.Object.Object]
toDeviceProviderFactory :: (MonadIO m, IsDeviceProviderFactory o) => o -> m DeviceProviderFactory
toDeviceProviderFactory = liftIO . unsafeCastTo DeviceProviderFactory
noDeviceProviderFactory :: Maybe DeviceProviderFactory
noDeviceProviderFactory = Nothing
#if ENABLE_OVERLOADING
type family ResolveDeviceProviderFactoryMethod (t :: Symbol) (o :: *) :: * where
ResolveDeviceProviderFactoryMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo
ResolveDeviceProviderFactoryMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveDeviceProviderFactoryMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveDeviceProviderFactoryMethod "checkVersion" o = Gst.PluginFeature.PluginFeatureCheckVersionMethodInfo
ResolveDeviceProviderFactoryMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo
ResolveDeviceProviderFactoryMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveDeviceProviderFactoryMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveDeviceProviderFactoryMethod "get" o = DeviceProviderFactoryGetMethodInfo
ResolveDeviceProviderFactoryMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveDeviceProviderFactoryMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo
ResolveDeviceProviderFactoryMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo
ResolveDeviceProviderFactoryMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo
ResolveDeviceProviderFactoryMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo
ResolveDeviceProviderFactoryMethod "hasClasses" o = DeviceProviderFactoryHasClassesMethodInfo
ResolveDeviceProviderFactoryMethod "hasClassesv" o = DeviceProviderFactoryHasClassesvMethodInfo
ResolveDeviceProviderFactoryMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveDeviceProviderFactoryMethod "load" o = Gst.PluginFeature.PluginFeatureLoadMethodInfo
ResolveDeviceProviderFactoryMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveDeviceProviderFactoryMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveDeviceProviderFactoryMethod "ref" o = Gst.Object.ObjectRefMethodInfo
ResolveDeviceProviderFactoryMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveDeviceProviderFactoryMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo
ResolveDeviceProviderFactoryMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveDeviceProviderFactoryMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveDeviceProviderFactoryMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveDeviceProviderFactoryMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo
ResolveDeviceProviderFactoryMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo
ResolveDeviceProviderFactoryMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveDeviceProviderFactoryMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo
ResolveDeviceProviderFactoryMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo
ResolveDeviceProviderFactoryMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveDeviceProviderFactoryMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo
ResolveDeviceProviderFactoryMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo
ResolveDeviceProviderFactoryMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveDeviceProviderFactoryMethod "getDeviceProviderType" o = DeviceProviderFactoryGetDeviceProviderTypeMethodInfo
ResolveDeviceProviderFactoryMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo
ResolveDeviceProviderFactoryMethod "getMetadata" o = DeviceProviderFactoryGetMetadataMethodInfo
ResolveDeviceProviderFactoryMethod "getMetadataKeys" o = DeviceProviderFactoryGetMetadataKeysMethodInfo
ResolveDeviceProviderFactoryMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo
ResolveDeviceProviderFactoryMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo
ResolveDeviceProviderFactoryMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo
ResolveDeviceProviderFactoryMethod "getPlugin" o = Gst.PluginFeature.PluginFeatureGetPluginMethodInfo
ResolveDeviceProviderFactoryMethod "getPluginName" o = Gst.PluginFeature.PluginFeatureGetPluginNameMethodInfo
ResolveDeviceProviderFactoryMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveDeviceProviderFactoryMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveDeviceProviderFactoryMethod "getRank" o = Gst.PluginFeature.PluginFeatureGetRankMethodInfo
ResolveDeviceProviderFactoryMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo
ResolveDeviceProviderFactoryMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo
ResolveDeviceProviderFactoryMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo
ResolveDeviceProviderFactoryMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo
ResolveDeviceProviderFactoryMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveDeviceProviderFactoryMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo
ResolveDeviceProviderFactoryMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo
ResolveDeviceProviderFactoryMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveDeviceProviderFactoryMethod "setRank" o = Gst.PluginFeature.PluginFeatureSetRankMethodInfo
ResolveDeviceProviderFactoryMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveDeviceProviderFactoryMethod t DeviceProviderFactory, O.MethodInfo info DeviceProviderFactory p) => OL.IsLabel t (DeviceProviderFactory -> 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 DeviceProviderFactory
type instance O.AttributeList DeviceProviderFactory = DeviceProviderFactoryAttributeList
type DeviceProviderFactoryAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
#endif
#if ENABLE_OVERLOADING
type instance O.SignalList DeviceProviderFactory = DeviceProviderFactorySignalList
type DeviceProviderFactorySignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gst_device_provider_factory_get" gst_device_provider_factory_get ::
Ptr DeviceProviderFactory ->
IO (Ptr Gst.DeviceProvider.DeviceProvider)
deviceProviderFactoryGet ::
(B.CallStack.HasCallStack, MonadIO m, IsDeviceProviderFactory a) =>
a
-> m (Maybe Gst.DeviceProvider.DeviceProvider)
deviceProviderFactoryGet factory = liftIO $ do
factory' <- unsafeManagedPtrCastPtr factory
result <- gst_device_provider_factory_get factory'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (wrapObject Gst.DeviceProvider.DeviceProvider) result'
return result''
touchManagedPtr factory
return maybeResult
#if ENABLE_OVERLOADING
data DeviceProviderFactoryGetMethodInfo
instance (signature ~ (m (Maybe Gst.DeviceProvider.DeviceProvider)), MonadIO m, IsDeviceProviderFactory a) => O.MethodInfo DeviceProviderFactoryGetMethodInfo a signature where
overloadedMethod _ = deviceProviderFactoryGet
#endif
foreign import ccall "gst_device_provider_factory_get_device_provider_type" gst_device_provider_factory_get_device_provider_type ::
Ptr DeviceProviderFactory ->
IO CGType
deviceProviderFactoryGetDeviceProviderType ::
(B.CallStack.HasCallStack, MonadIO m, IsDeviceProviderFactory a) =>
a
-> m GType
deviceProviderFactoryGetDeviceProviderType factory = liftIO $ do
factory' <- unsafeManagedPtrCastPtr factory
result <- gst_device_provider_factory_get_device_provider_type factory'
let result' = GType result
touchManagedPtr factory
return result'
#if ENABLE_OVERLOADING
data DeviceProviderFactoryGetDeviceProviderTypeMethodInfo
instance (signature ~ (m GType), MonadIO m, IsDeviceProviderFactory a) => O.MethodInfo DeviceProviderFactoryGetDeviceProviderTypeMethodInfo a signature where
overloadedMethod _ = deviceProviderFactoryGetDeviceProviderType
#endif
foreign import ccall "gst_device_provider_factory_get_metadata" gst_device_provider_factory_get_metadata ::
Ptr DeviceProviderFactory ->
CString ->
IO CString
deviceProviderFactoryGetMetadata ::
(B.CallStack.HasCallStack, MonadIO m, IsDeviceProviderFactory a) =>
a
-> T.Text
-> m (Maybe T.Text)
deviceProviderFactoryGetMetadata factory key = liftIO $ do
factory' <- unsafeManagedPtrCastPtr factory
key' <- textToCString key
result <- gst_device_provider_factory_get_metadata factory' key'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- cstringToText result'
return result''
touchManagedPtr factory
freeMem key'
return maybeResult
#if ENABLE_OVERLOADING
data DeviceProviderFactoryGetMetadataMethodInfo
instance (signature ~ (T.Text -> m (Maybe T.Text)), MonadIO m, IsDeviceProviderFactory a) => O.MethodInfo DeviceProviderFactoryGetMetadataMethodInfo a signature where
overloadedMethod _ = deviceProviderFactoryGetMetadata
#endif
foreign import ccall "gst_device_provider_factory_get_metadata_keys" gst_device_provider_factory_get_metadata_keys ::
Ptr DeviceProviderFactory ->
IO (Ptr CString)
deviceProviderFactoryGetMetadataKeys ::
(B.CallStack.HasCallStack, MonadIO m, IsDeviceProviderFactory a) =>
a
-> m (Maybe [T.Text])
deviceProviderFactoryGetMetadataKeys factory = liftIO $ do
factory' <- unsafeManagedPtrCastPtr factory
result <- gst_device_provider_factory_get_metadata_keys factory'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- unpackZeroTerminatedUTF8CArray result'
mapZeroTerminatedCArray freeMem result'
freeMem result'
return result''
touchManagedPtr factory
return maybeResult
#if ENABLE_OVERLOADING
data DeviceProviderFactoryGetMetadataKeysMethodInfo
instance (signature ~ (m (Maybe [T.Text])), MonadIO m, IsDeviceProviderFactory a) => O.MethodInfo DeviceProviderFactoryGetMetadataKeysMethodInfo a signature where
overloadedMethod _ = deviceProviderFactoryGetMetadataKeys
#endif
foreign import ccall "gst_device_provider_factory_has_classes" gst_device_provider_factory_has_classes ::
Ptr DeviceProviderFactory ->
CString ->
IO CInt
deviceProviderFactoryHasClasses ::
(B.CallStack.HasCallStack, MonadIO m, IsDeviceProviderFactory a) =>
a
-> Maybe (T.Text)
-> m Bool
deviceProviderFactoryHasClasses factory classes = liftIO $ do
factory' <- unsafeManagedPtrCastPtr factory
maybeClasses <- case classes of
Nothing -> return nullPtr
Just jClasses -> do
jClasses' <- textToCString jClasses
return jClasses'
result <- gst_device_provider_factory_has_classes factory' maybeClasses
let result' = (/= 0) result
touchManagedPtr factory
freeMem maybeClasses
return result'
#if ENABLE_OVERLOADING
data DeviceProviderFactoryHasClassesMethodInfo
instance (signature ~ (Maybe (T.Text) -> m Bool), MonadIO m, IsDeviceProviderFactory a) => O.MethodInfo DeviceProviderFactoryHasClassesMethodInfo a signature where
overloadedMethod _ = deviceProviderFactoryHasClasses
#endif
foreign import ccall "gst_device_provider_factory_has_classesv" gst_device_provider_factory_has_classesv ::
Ptr DeviceProviderFactory ->
Ptr CString ->
IO CInt
deviceProviderFactoryHasClassesv ::
(B.CallStack.HasCallStack, MonadIO m, IsDeviceProviderFactory a) =>
a
-> Maybe ([T.Text])
-> m Bool
deviceProviderFactoryHasClassesv factory classes = liftIO $ do
factory' <- unsafeManagedPtrCastPtr factory
maybeClasses <- case classes of
Nothing -> return nullPtr
Just jClasses -> do
jClasses' <- packZeroTerminatedUTF8CArray jClasses
return jClasses'
result <- gst_device_provider_factory_has_classesv factory' maybeClasses
let result' = (/= 0) result
touchManagedPtr factory
mapZeroTerminatedCArray freeMem maybeClasses
freeMem maybeClasses
return result'
#if ENABLE_OVERLOADING
data DeviceProviderFactoryHasClassesvMethodInfo
instance (signature ~ (Maybe ([T.Text]) -> m Bool), MonadIO m, IsDeviceProviderFactory a) => O.MethodInfo DeviceProviderFactoryHasClassesvMethodInfo a signature where
overloadedMethod _ = deviceProviderFactoryHasClassesv
#endif
foreign import ccall "gst_device_provider_factory_find" gst_device_provider_factory_find ::
CString ->
IO (Ptr DeviceProviderFactory)
deviceProviderFactoryFind ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m (Maybe DeviceProviderFactory)
deviceProviderFactoryFind name = liftIO $ do
name' <- textToCString name
result <- gst_device_provider_factory_find name'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (wrapObject DeviceProviderFactory) result'
return result''
freeMem name'
return maybeResult
#if ENABLE_OVERLOADING
#endif
foreign import ccall "gst_device_provider_factory_get_by_name" gst_device_provider_factory_get_by_name ::
CString ->
IO (Ptr Gst.DeviceProvider.DeviceProvider)
deviceProviderFactoryGetByName ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m (Maybe Gst.DeviceProvider.DeviceProvider)
deviceProviderFactoryGetByName factoryname = liftIO $ do
factoryname' <- textToCString factoryname
result <- gst_device_provider_factory_get_by_name factoryname'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (wrapObject Gst.DeviceProvider.DeviceProvider) result'
return result''
freeMem factoryname'
return maybeResult
#if ENABLE_OVERLOADING
#endif
foreign import ccall "gst_device_provider_factory_list_get_device_providers" gst_device_provider_factory_list_get_device_providers ::
CUInt ->
IO (Ptr (GList (Ptr DeviceProviderFactory)))
deviceProviderFactoryListGetDeviceProviders ::
(B.CallStack.HasCallStack, MonadIO m) =>
Gst.Enums.Rank
-> m [DeviceProviderFactory]
deviceProviderFactoryListGetDeviceProviders minrank = liftIO $ do
let minrank' = (fromIntegral . fromEnum) minrank
result <- gst_device_provider_factory_list_get_device_providers minrank'
result' <- unpackGList result
result'' <- mapM (wrapObject DeviceProviderFactory) result'
g_list_free result
return result''
#if ENABLE_OVERLOADING
#endif