gi-gst-0.1.6.13: GI/Gst/Structs/DebugCategory.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)
This is the struct that describes the categories. Once initialized with
#GST_DEBUG_CATEGORY_INIT, its values can't be changed anymore.
-}
module GI.Gst.Structs.DebugCategory
(
-- * Exported types
DebugCategory(..) ,
newZeroDebugCategory ,
noDebugCategory ,
-- * Methods
-- ** debugCategoryFree
DebugCategoryFreeMethodInfo ,
debugCategoryFree ,
-- ** debugCategoryGetColor
DebugCategoryGetColorMethodInfo ,
debugCategoryGetColor ,
-- ** debugCategoryGetDescription
DebugCategoryGetDescriptionMethodInfo ,
debugCategoryGetDescription ,
-- ** debugCategoryGetName
DebugCategoryGetNameMethodInfo ,
debugCategoryGetName ,
-- ** debugCategoryGetThreshold
DebugCategoryGetThresholdMethodInfo ,
debugCategoryGetThreshold ,
-- ** debugCategoryResetThreshold
DebugCategoryResetThresholdMethodInfo ,
debugCategoryResetThreshold ,
-- ** debugCategorySetThreshold
DebugCategorySetThresholdMethodInfo ,
debugCategorySetThreshold ,
) 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
newtype DebugCategory = DebugCategory (ForeignPtr DebugCategory)
-- | Construct a `DebugCategory` struct initialized to zero.
newZeroDebugCategory :: MonadIO m => m DebugCategory
newZeroDebugCategory = liftIO $ callocBytes 24 >>= wrapPtr DebugCategory
noDebugCategory :: Maybe DebugCategory
noDebugCategory = Nothing
-- method DebugCategory::free
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "DebugCategory", 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_debug_category_free" gst_debug_category_free ::
Ptr DebugCategory -> -- _obj : TInterface "Gst" "DebugCategory"
IO ()
debugCategoryFree ::
(MonadIO m) =>
DebugCategory -- _obj
-> m () -- result
debugCategoryFree _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
gst_debug_category_free _obj'
touchManagedPtr _obj
return ()
data DebugCategoryFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => MethodInfo DebugCategoryFreeMethodInfo DebugCategory signature where
overloadedMethod _ = debugCategoryFree
-- method DebugCategory::get_color
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "DebugCategory", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TUInt32
-- throws : False
-- Skip return : False
foreign import ccall "gst_debug_category_get_color" gst_debug_category_get_color ::
Ptr DebugCategory -> -- _obj : TInterface "Gst" "DebugCategory"
IO Word32
debugCategoryGetColor ::
(MonadIO m) =>
DebugCategory -- _obj
-> m Word32 -- result
debugCategoryGetColor _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- gst_debug_category_get_color _obj'
touchManagedPtr _obj
return result
data DebugCategoryGetColorMethodInfo
instance (signature ~ (m Word32), MonadIO m) => MethodInfo DebugCategoryGetColorMethodInfo DebugCategory signature where
overloadedMethod _ = debugCategoryGetColor
-- method DebugCategory::get_description
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "DebugCategory", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "gst_debug_category_get_description" gst_debug_category_get_description ::
Ptr DebugCategory -> -- _obj : TInterface "Gst" "DebugCategory"
IO CString
debugCategoryGetDescription ::
(MonadIO m) =>
DebugCategory -- _obj
-> m T.Text -- result
debugCategoryGetDescription _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- gst_debug_category_get_description _obj'
checkUnexpectedReturnNULL "gst_debug_category_get_description" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
data DebugCategoryGetDescriptionMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => MethodInfo DebugCategoryGetDescriptionMethodInfo DebugCategory signature where
overloadedMethod _ = debugCategoryGetDescription
-- method DebugCategory::get_name
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "DebugCategory", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False
foreign import ccall "gst_debug_category_get_name" gst_debug_category_get_name ::
Ptr DebugCategory -> -- _obj : TInterface "Gst" "DebugCategory"
IO CString
debugCategoryGetName ::
(MonadIO m) =>
DebugCategory -- _obj
-> m T.Text -- result
debugCategoryGetName _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- gst_debug_category_get_name _obj'
checkUnexpectedReturnNULL "gst_debug_category_get_name" result
result' <- cstringToText result
touchManagedPtr _obj
return result'
data DebugCategoryGetNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => MethodInfo DebugCategoryGetNameMethodInfo DebugCategory signature where
overloadedMethod _ = debugCategoryGetName
-- method DebugCategory::get_threshold
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "DebugCategory", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : TInterface "Gst" "DebugLevel"
-- throws : False
-- Skip return : False
foreign import ccall "gst_debug_category_get_threshold" gst_debug_category_get_threshold ::
Ptr DebugCategory -> -- _obj : TInterface "Gst" "DebugCategory"
IO CUInt
debugCategoryGetThreshold ::
(MonadIO m) =>
DebugCategory -- _obj
-> m DebugLevel -- result
debugCategoryGetThreshold _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
result <- gst_debug_category_get_threshold _obj'
let result' = (toEnum . fromIntegral) result
touchManagedPtr _obj
return result'
data DebugCategoryGetThresholdMethodInfo
instance (signature ~ (m DebugLevel), MonadIO m) => MethodInfo DebugCategoryGetThresholdMethodInfo DebugCategory signature where
overloadedMethod _ = debugCategoryGetThreshold
-- method DebugCategory::reset_threshold
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "DebugCategory", 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_debug_category_reset_threshold" gst_debug_category_reset_threshold ::
Ptr DebugCategory -> -- _obj : TInterface "Gst" "DebugCategory"
IO ()
debugCategoryResetThreshold ::
(MonadIO m) =>
DebugCategory -- _obj
-> m () -- result
debugCategoryResetThreshold _obj = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
gst_debug_category_reset_threshold _obj'
touchManagedPtr _obj
return ()
data DebugCategoryResetThresholdMethodInfo
instance (signature ~ (m ()), MonadIO m) => MethodInfo DebugCategoryResetThresholdMethodInfo DebugCategory signature where
overloadedMethod _ = debugCategoryResetThreshold
-- method DebugCategory::set_threshold
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "_obj", argType = TInterface "Gst" "DebugCategory", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "level", argType = TInterface "Gst" "DebugLevel", 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_debug_category_set_threshold" gst_debug_category_set_threshold ::
Ptr DebugCategory -> -- _obj : TInterface "Gst" "DebugCategory"
CUInt -> -- level : TInterface "Gst" "DebugLevel"
IO ()
debugCategorySetThreshold ::
(MonadIO m) =>
DebugCategory -- _obj
-> DebugLevel -- level
-> m () -- result
debugCategorySetThreshold _obj level = liftIO $ do
let _obj' = unsafeManagedPtrGetPtr _obj
let level' = (fromIntegral . fromEnum) level
gst_debug_category_set_threshold _obj' level'
touchManagedPtr _obj
return ()
data DebugCategorySetThresholdMethodInfo
instance (signature ~ (DebugLevel -> m ()), MonadIO m) => MethodInfo DebugCategorySetThresholdMethodInfo DebugCategory signature where
overloadedMethod _ = debugCategorySetThreshold
type family ResolveDebugCategoryMethod (t :: Symbol) (o :: *) :: * where
ResolveDebugCategoryMethod "free" o = DebugCategoryFreeMethodInfo
ResolveDebugCategoryMethod "resetThreshold" o = DebugCategoryResetThresholdMethodInfo
ResolveDebugCategoryMethod "getColor" o = DebugCategoryGetColorMethodInfo
ResolveDebugCategoryMethod "getDescription" o = DebugCategoryGetDescriptionMethodInfo
ResolveDebugCategoryMethod "getName" o = DebugCategoryGetNameMethodInfo
ResolveDebugCategoryMethod "getThreshold" o = DebugCategoryGetThresholdMethodInfo
ResolveDebugCategoryMethod "setThreshold" o = DebugCategorySetThresholdMethodInfo
ResolveDebugCategoryMethod l o = MethodResolutionFailed l o
instance (info ~ ResolveDebugCategoryMethod t DebugCategory, MethodInfo info DebugCategory p) => IsLabelProxy t (DebugCategory -> p) where
fromLabelProxy _ = overloadedMethod (MethodProxy :: MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveDebugCategoryMethod t DebugCategory, MethodInfo info DebugCategory p) => IsLabel t (DebugCategory -> p) where
fromLabel _ = overloadedMethod (MethodProxy :: MethodProxy info)
#endif