module GI.Gst.Objects.PluginFeature
(
PluginFeature(..) ,
IsPluginFeature ,
toPluginFeature ,
noPluginFeature ,
PluginFeatureCheckVersionMethodInfo ,
pluginFeatureCheckVersion ,
PluginFeatureGetPluginMethodInfo ,
pluginFeatureGetPlugin ,
PluginFeatureGetPluginNameMethodInfo ,
pluginFeatureGetPluginName ,
PluginFeatureGetRankMethodInfo ,
pluginFeatureGetRank ,
pluginFeatureListCopy ,
pluginFeatureListDebug ,
pluginFeatureListFree ,
PluginFeatureLoadMethodInfo ,
pluginFeatureLoad ,
pluginFeatureRankCompareFunc ,
PluginFeatureSetRankMethodInfo ,
pluginFeatureSetRank ,
) 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.GError as B.GError
import qualified Data.GI.Base.GVariant as B.GVariant
import qualified Data.GI.Base.GParamSpec as B.GParamSpec
import qualified Data.GI.Base.CallStack as B.CallStack
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 GI.GObject.Objects.Object as GObject.Object
import qualified GI.Gst.Objects.Object as Gst.Object
import qualified GI.Gst.Objects.Plugin as Gst.Plugin
newtype PluginFeature = PluginFeature (ManagedPtr PluginFeature)
foreign import ccall "gst_plugin_feature_get_type"
c_gst_plugin_feature_get_type :: IO GType
instance GObject PluginFeature where
gobjectType _ = c_gst_plugin_feature_get_type
class GObject o => IsPluginFeature o
#if MIN_VERSION_base(4,9,0)
instance (GObject a, O.UnknownAncestorError PluginFeature a) =>
IsPluginFeature a
#endif
instance IsPluginFeature PluginFeature
instance Gst.Object.IsObject PluginFeature
instance GObject.Object.IsObject PluginFeature
toPluginFeature :: IsPluginFeature o => o -> IO PluginFeature
toPluginFeature = unsafeCastTo PluginFeature
noPluginFeature :: Maybe PluginFeature
noPluginFeature = Nothing
type family ResolvePluginFeatureMethod (t :: Symbol) (o :: *) :: * where
ResolvePluginFeatureMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo
ResolvePluginFeatureMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolvePluginFeatureMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolvePluginFeatureMethod "checkVersion" o = PluginFeatureCheckVersionMethodInfo
ResolvePluginFeatureMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo
ResolvePluginFeatureMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolvePluginFeatureMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolvePluginFeatureMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo
ResolvePluginFeatureMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo
ResolvePluginFeatureMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo
ResolvePluginFeatureMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo
ResolvePluginFeatureMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolvePluginFeatureMethod "load" o = PluginFeatureLoadMethodInfo
ResolvePluginFeatureMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolvePluginFeatureMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolvePluginFeatureMethod "ref" o = Gst.Object.ObjectRefMethodInfo
ResolvePluginFeatureMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolvePluginFeatureMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo
ResolvePluginFeatureMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
ResolvePluginFeatureMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
ResolvePluginFeatureMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolvePluginFeatureMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolvePluginFeatureMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolvePluginFeatureMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo
ResolvePluginFeatureMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo
ResolvePluginFeatureMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolvePluginFeatureMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo
ResolvePluginFeatureMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo
ResolvePluginFeatureMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolvePluginFeatureMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo
ResolvePluginFeatureMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo
ResolvePluginFeatureMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolvePluginFeatureMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo
ResolvePluginFeatureMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo
ResolvePluginFeatureMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo
ResolvePluginFeatureMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo
ResolvePluginFeatureMethod "getPlugin" o = PluginFeatureGetPluginMethodInfo
ResolvePluginFeatureMethod "getPluginName" o = PluginFeatureGetPluginNameMethodInfo
ResolvePluginFeatureMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolvePluginFeatureMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolvePluginFeatureMethod "getRank" o = PluginFeatureGetRankMethodInfo
ResolvePluginFeatureMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo
ResolvePluginFeatureMethod "getValueArray" o = Gst.Object.ObjectGetValueArrayMethodInfo
ResolvePluginFeatureMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo
ResolvePluginFeatureMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo
ResolvePluginFeatureMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo
ResolvePluginFeatureMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolvePluginFeatureMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo
ResolvePluginFeatureMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo
ResolvePluginFeatureMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolvePluginFeatureMethod "setRank" o = PluginFeatureSetRankMethodInfo
ResolvePluginFeatureMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolvePluginFeatureMethod t PluginFeature, O.MethodInfo info PluginFeature p) => O.IsLabelProxy t (PluginFeature -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolvePluginFeatureMethod t PluginFeature, O.MethodInfo info PluginFeature p) => O.IsLabel t (PluginFeature -> p) where
fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif
instance O.HasAttributeList PluginFeature
type instance O.AttributeList PluginFeature = PluginFeatureAttributeList
type PluginFeatureAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])
type instance O.SignalList PluginFeature = PluginFeatureSignalList
type PluginFeatureSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
foreign import ccall "gst_plugin_feature_check_version" gst_plugin_feature_check_version ::
Ptr PluginFeature ->
Word32 ->
Word32 ->
Word32 ->
IO CInt
pluginFeatureCheckVersion ::
(B.CallStack.HasCallStack, MonadIO m, IsPluginFeature a) =>
a
-> Word32
-> Word32
-> Word32
-> m Bool
pluginFeatureCheckVersion feature minMajor minMinor minMicro = liftIO $ do
feature' <- unsafeManagedPtrCastPtr feature
result <- gst_plugin_feature_check_version feature' minMajor minMinor minMicro
let result' = (/= 0) result
touchManagedPtr feature
return result'
data PluginFeatureCheckVersionMethodInfo
instance (signature ~ (Word32 -> Word32 -> Word32 -> m Bool), MonadIO m, IsPluginFeature a) => O.MethodInfo PluginFeatureCheckVersionMethodInfo a signature where
overloadedMethod _ = pluginFeatureCheckVersion
foreign import ccall "gst_plugin_feature_get_plugin" gst_plugin_feature_get_plugin ::
Ptr PluginFeature ->
IO (Ptr Gst.Plugin.Plugin)
pluginFeatureGetPlugin ::
(B.CallStack.HasCallStack, MonadIO m, IsPluginFeature a) =>
a
-> m (Maybe Gst.Plugin.Plugin)
pluginFeatureGetPlugin feature = liftIO $ do
feature' <- unsafeManagedPtrCastPtr feature
result <- gst_plugin_feature_get_plugin feature'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (wrapObject Gst.Plugin.Plugin) result'
return result''
touchManagedPtr feature
return maybeResult
data PluginFeatureGetPluginMethodInfo
instance (signature ~ (m (Maybe Gst.Plugin.Plugin)), MonadIO m, IsPluginFeature a) => O.MethodInfo PluginFeatureGetPluginMethodInfo a signature where
overloadedMethod _ = pluginFeatureGetPlugin
foreign import ccall "gst_plugin_feature_get_plugin_name" gst_plugin_feature_get_plugin_name ::
Ptr PluginFeature ->
IO CString
pluginFeatureGetPluginName ::
(B.CallStack.HasCallStack, MonadIO m, IsPluginFeature a) =>
a
-> m (Maybe T.Text)
pluginFeatureGetPluginName feature = liftIO $ do
feature' <- unsafeManagedPtrCastPtr feature
result <- gst_plugin_feature_get_plugin_name feature'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- cstringToText result'
return result''
touchManagedPtr feature
return maybeResult
data PluginFeatureGetPluginNameMethodInfo
instance (signature ~ (m (Maybe T.Text)), MonadIO m, IsPluginFeature a) => O.MethodInfo PluginFeatureGetPluginNameMethodInfo a signature where
overloadedMethod _ = pluginFeatureGetPluginName
foreign import ccall "gst_plugin_feature_get_rank" gst_plugin_feature_get_rank ::
Ptr PluginFeature ->
IO Word32
pluginFeatureGetRank ::
(B.CallStack.HasCallStack, MonadIO m, IsPluginFeature a) =>
a
-> m Word32
pluginFeatureGetRank feature = liftIO $ do
feature' <- unsafeManagedPtrCastPtr feature
result <- gst_plugin_feature_get_rank feature'
touchManagedPtr feature
return result
data PluginFeatureGetRankMethodInfo
instance (signature ~ (m Word32), MonadIO m, IsPluginFeature a) => O.MethodInfo PluginFeatureGetRankMethodInfo a signature where
overloadedMethod _ = pluginFeatureGetRank
foreign import ccall "gst_plugin_feature_load" gst_plugin_feature_load ::
Ptr PluginFeature ->
IO (Ptr PluginFeature)
pluginFeatureLoad ::
(B.CallStack.HasCallStack, MonadIO m, IsPluginFeature a) =>
a
-> m (Maybe PluginFeature)
pluginFeatureLoad feature = liftIO $ do
feature' <- unsafeManagedPtrCastPtr feature
result <- gst_plugin_feature_load feature'
maybeResult <- convertIfNonNull result $ \result' -> do
result'' <- (wrapObject PluginFeature) result'
return result''
touchManagedPtr feature
return maybeResult
data PluginFeatureLoadMethodInfo
instance (signature ~ (m (Maybe PluginFeature)), MonadIO m, IsPluginFeature a) => O.MethodInfo PluginFeatureLoadMethodInfo a signature where
overloadedMethod _ = pluginFeatureLoad
foreign import ccall "gst_plugin_feature_set_rank" gst_plugin_feature_set_rank ::
Ptr PluginFeature ->
Word32 ->
IO ()
pluginFeatureSetRank ::
(B.CallStack.HasCallStack, MonadIO m, IsPluginFeature a) =>
a
-> Word32
-> m ()
pluginFeatureSetRank feature rank = liftIO $ do
feature' <- unsafeManagedPtrCastPtr feature
gst_plugin_feature_set_rank feature' rank
touchManagedPtr feature
return ()
data PluginFeatureSetRankMethodInfo
instance (signature ~ (Word32 -> m ()), MonadIO m, IsPluginFeature a) => O.MethodInfo PluginFeatureSetRankMethodInfo a signature where
overloadedMethod _ = pluginFeatureSetRank
foreign import ccall "gst_plugin_feature_list_copy" gst_plugin_feature_list_copy ::
Ptr (GList (Ptr PluginFeature)) ->
IO (Ptr (GList (Ptr PluginFeature)))
pluginFeatureListCopy ::
(B.CallStack.HasCallStack, MonadIO m, IsPluginFeature a) =>
[a]
-> m [PluginFeature]
pluginFeatureListCopy list = liftIO $ do
list' <- mapM unsafeManagedPtrCastPtr list
list'' <- packGList list'
result <- gst_plugin_feature_list_copy list''
result' <- unpackGList result
result'' <- mapM (wrapObject PluginFeature) result'
g_list_free result
mapM_ touchManagedPtr list
g_list_free list''
return result''
foreign import ccall "gst_plugin_feature_list_debug" gst_plugin_feature_list_debug ::
Ptr (GList (Ptr PluginFeature)) ->
IO ()
pluginFeatureListDebug ::
(B.CallStack.HasCallStack, MonadIO m, IsPluginFeature a) =>
[a]
-> m ()
pluginFeatureListDebug list = liftIO $ do
list' <- mapM unsafeManagedPtrCastPtr list
list'' <- packGList list'
gst_plugin_feature_list_debug list''
mapM_ touchManagedPtr list
g_list_free list''
return ()
foreign import ccall "gst_plugin_feature_list_free" gst_plugin_feature_list_free ::
Ptr (GList (Ptr PluginFeature)) ->
IO ()
pluginFeatureListFree ::
(B.CallStack.HasCallStack, MonadIO m, IsPluginFeature a) =>
[a]
-> m ()
pluginFeatureListFree list = liftIO $ do
list' <- mapM B.ManagedPtr.disownObject list
list'' <- packGList list'
gst_plugin_feature_list_free list''
mapM_ touchManagedPtr list
return ()
foreign import ccall "gst_plugin_feature_rank_compare_func" gst_plugin_feature_rank_compare_func ::
Ptr () ->
Ptr () ->
IO Int32
pluginFeatureRankCompareFunc ::
(B.CallStack.HasCallStack, MonadIO m) =>
Ptr ()
-> Ptr ()
-> m Int32
pluginFeatureRankCompareFunc p1 p2 = liftIO $ do
result <- gst_plugin_feature_rank_compare_func p1 p2
return result