#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Gst.Objects.DynamicTypeFactory
(
DynamicTypeFactory(..) ,
IsDynamicTypeFactory ,
toDynamicTypeFactory ,
noDynamicTypeFactory ,
dynamicTypeFactoryLoad ,
) 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.Objects.Object as Gst.Object
import {-# SOURCE #-} qualified GI.Gst.Objects.PluginFeature as Gst.PluginFeature
newtype DynamicTypeFactory = DynamicTypeFactory (ManagedPtr DynamicTypeFactory)
foreign import ccall "gst_dynamic_type_factory_get_type"
c_gst_dynamic_type_factory_get_type :: IO GType
instance GObject DynamicTypeFactory where
gobjectType = c_gst_dynamic_type_factory_get_type
class (GObject o, O.IsDescendantOf DynamicTypeFactory o) => IsDynamicTypeFactory o
instance (GObject o, O.IsDescendantOf DynamicTypeFactory o) => IsDynamicTypeFactory o
instance O.HasParentTypes DynamicTypeFactory
type instance O.ParentTypes DynamicTypeFactory = '[Gst.PluginFeature.PluginFeature, Gst.Object.Object, GObject.Object.Object]
toDynamicTypeFactory :: (MonadIO m, IsDynamicTypeFactory o) => o -> m DynamicTypeFactory
toDynamicTypeFactory = liftIO . unsafeCastTo DynamicTypeFactory
noDynamicTypeFactory :: Maybe DynamicTypeFactory
noDynamicTypeFactory = Nothing
#if ENABLE_OVERLOADING
type family ResolveDynamicTypeFactoryMethod (t :: Symbol) (o :: *) :: * where
ResolveDynamicTypeFactoryMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo
ResolveDynamicTypeFactoryMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveDynamicTypeFactoryMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveDynamicTypeFactoryMethod "checkVersion" o = Gst.PluginFeature.PluginFeatureCheckVersionMethodInfo
ResolveDynamicTypeFactoryMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo
ResolveDynamicTypeFactoryMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveDynamicTypeFactoryMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveDynamicTypeFactoryMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveDynamicTypeFactoryMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo
ResolveDynamicTypeFactoryMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo
ResolveDynamicTypeFactoryMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo
ResolveDynamicTypeFactoryMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo
ResolveDynamicTypeFactoryMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveDynamicTypeFactoryMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveDynamicTypeFactoryMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveDynamicTypeFactoryMethod "ref" o = Gst.Object.ObjectRefMethodInfo
ResolveDynamicTypeFactoryMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveDynamicTypeFactoryMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo
ResolveDynamicTypeFactoryMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveDynamicTypeFactoryMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveDynamicTypeFactoryMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveDynamicTypeFactoryMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo
ResolveDynamicTypeFactoryMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo
ResolveDynamicTypeFactoryMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveDynamicTypeFactoryMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo
ResolveDynamicTypeFactoryMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo
ResolveDynamicTypeFactoryMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveDynamicTypeFactoryMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo
ResolveDynamicTypeFactoryMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo
ResolveDynamicTypeFactoryMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveDynamicTypeFactoryMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo
ResolveDynamicTypeFactoryMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo
ResolveDynamicTypeFactoryMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo
ResolveDynamicTypeFactoryMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo
ResolveDynamicTypeFactoryMethod "getPlugin" o = Gst.PluginFeature.PluginFeatureGetPluginMethodInfo
ResolveDynamicTypeFactoryMethod "getPluginName" o = Gst.PluginFeature.PluginFeatureGetPluginNameMethodInfo
ResolveDynamicTypeFactoryMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveDynamicTypeFactoryMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveDynamicTypeFactoryMethod "getRank" o = Gst.PluginFeature.PluginFeatureGetRankMethodInfo
ResolveDynamicTypeFactoryMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo
ResolveDynamicTypeFactoryMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo
ResolveDynamicTypeFactoryMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo
ResolveDynamicTypeFactoryMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo
ResolveDynamicTypeFactoryMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveDynamicTypeFactoryMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo
ResolveDynamicTypeFactoryMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo
ResolveDynamicTypeFactoryMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveDynamicTypeFactoryMethod "setRank" o = Gst.PluginFeature.PluginFeatureSetRankMethodInfo
ResolveDynamicTypeFactoryMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveDynamicTypeFactoryMethod t DynamicTypeFactory, O.MethodInfo info DynamicTypeFactory p) => OL.IsLabel t (DynamicTypeFactory -> 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 DynamicTypeFactory
type instance O.AttributeList DynamicTypeFactory = DynamicTypeFactoryAttributeList
type DynamicTypeFactoryAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])
#endif
#if ENABLE_OVERLOADING
#endif
#if ENABLE_OVERLOADING
type instance O.SignalList DynamicTypeFactory = DynamicTypeFactorySignalList
type DynamicTypeFactorySignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif
foreign import ccall "gst_dynamic_type_factory_load" gst_dynamic_type_factory_load ::
CString ->
IO CGType
dynamicTypeFactoryLoad ::
(B.CallStack.HasCallStack, MonadIO m) =>
T.Text
-> m GType
dynamicTypeFactoryLoad factoryname = liftIO $ do
factoryname' <- textToCString factoryname
result <- gst_dynamic_type_factory_load factoryname'
let result' = GType result
freeMem factoryname'
return result'
#if ENABLE_OVERLOADING
#endif