module GI.Gst.Structs.DebugCategory
(
DebugCategory(..) ,
newZeroDebugCategory ,
noDebugCategory ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
DebugCategoryFreeMethodInfo ,
#endif
debugCategoryFree ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
DebugCategoryGetColorMethodInfo ,
#endif
debugCategoryGetColor ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
DebugCategoryGetDescriptionMethodInfo ,
#endif
debugCategoryGetDescription ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
DebugCategoryGetNameMethodInfo ,
#endif
debugCategoryGetName ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
DebugCategoryGetThresholdMethodInfo ,
#endif
debugCategoryGetThreshold ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
DebugCategoryResetThresholdMethodInfo ,
#endif
debugCategoryResetThreshold ,
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
DebugCategorySetThresholdMethodInfo ,
#endif
debugCategorySetThreshold ,
) 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.Gst.Enums as Gst.Enums
newtype DebugCategory = DebugCategory (ManagedPtr DebugCategory)
instance WrappedPtr DebugCategory where
wrappedPtrCalloc = callocBytes 24
wrappedPtrCopy = \p -> withManagedPtr p (copyBytes 24 >=> wrapPtr DebugCategory)
wrappedPtrFree = Just ptr_to_g_free
newZeroDebugCategory :: MonadIO m => m DebugCategory
newZeroDebugCategory = liftIO $ wrappedPtrCalloc >>= wrapPtr DebugCategory
instance tag ~ 'AttrSet => Constructible DebugCategory tag where
new _ attrs = do
o <- newZeroDebugCategory
GI.Attributes.set o attrs
return o
noDebugCategory :: Maybe DebugCategory
noDebugCategory = Nothing
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
instance O.HasAttributeList DebugCategory
type instance O.AttributeList DebugCategory = DebugCategoryAttributeList
type DebugCategoryAttributeList = ('[ ] :: [(Symbol, *)])
#endif
foreign import ccall "gst_debug_category_free" gst_debug_category_free ::
Ptr DebugCategory ->
IO ()
debugCategoryFree ::
(B.CallStack.HasCallStack, MonadIO m) =>
DebugCategory
-> m ()
debugCategoryFree category = liftIO $ do
category' <- unsafeManagedPtrGetPtr category
gst_debug_category_free category'
touchManagedPtr category
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DebugCategoryFreeMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo DebugCategoryFreeMethodInfo DebugCategory signature where
overloadedMethod _ = debugCategoryFree
#endif
foreign import ccall "gst_debug_category_get_color" gst_debug_category_get_color ::
Ptr DebugCategory ->
IO Word32
debugCategoryGetColor ::
(B.CallStack.HasCallStack, MonadIO m) =>
DebugCategory
-> m Word32
debugCategoryGetColor category = liftIO $ do
category' <- unsafeManagedPtrGetPtr category
result <- gst_debug_category_get_color category'
touchManagedPtr category
return result
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DebugCategoryGetColorMethodInfo
instance (signature ~ (m Word32), MonadIO m) => O.MethodInfo DebugCategoryGetColorMethodInfo DebugCategory signature where
overloadedMethod _ = debugCategoryGetColor
#endif
foreign import ccall "gst_debug_category_get_description" gst_debug_category_get_description ::
Ptr DebugCategory ->
IO CString
debugCategoryGetDescription ::
(B.CallStack.HasCallStack, MonadIO m) =>
DebugCategory
-> m T.Text
debugCategoryGetDescription category = liftIO $ do
category' <- unsafeManagedPtrGetPtr category
result <- gst_debug_category_get_description category'
checkUnexpectedReturnNULL "debugCategoryGetDescription" result
result' <- cstringToText result
touchManagedPtr category
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DebugCategoryGetDescriptionMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo DebugCategoryGetDescriptionMethodInfo DebugCategory signature where
overloadedMethod _ = debugCategoryGetDescription
#endif
foreign import ccall "gst_debug_category_get_name" gst_debug_category_get_name ::
Ptr DebugCategory ->
IO CString
debugCategoryGetName ::
(B.CallStack.HasCallStack, MonadIO m) =>
DebugCategory
-> m T.Text
debugCategoryGetName category = liftIO $ do
category' <- unsafeManagedPtrGetPtr category
result <- gst_debug_category_get_name category'
checkUnexpectedReturnNULL "debugCategoryGetName" result
result' <- cstringToText result
touchManagedPtr category
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DebugCategoryGetNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m) => O.MethodInfo DebugCategoryGetNameMethodInfo DebugCategory signature where
overloadedMethod _ = debugCategoryGetName
#endif
foreign import ccall "gst_debug_category_get_threshold" gst_debug_category_get_threshold ::
Ptr DebugCategory ->
IO CUInt
debugCategoryGetThreshold ::
(B.CallStack.HasCallStack, MonadIO m) =>
DebugCategory
-> m Gst.Enums.DebugLevel
debugCategoryGetThreshold category = liftIO $ do
category' <- unsafeManagedPtrGetPtr category
result <- gst_debug_category_get_threshold category'
let result' = (toEnum . fromIntegral) result
touchManagedPtr category
return result'
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DebugCategoryGetThresholdMethodInfo
instance (signature ~ (m Gst.Enums.DebugLevel), MonadIO m) => O.MethodInfo DebugCategoryGetThresholdMethodInfo DebugCategory signature where
overloadedMethod _ = debugCategoryGetThreshold
#endif
foreign import ccall "gst_debug_category_reset_threshold" gst_debug_category_reset_threshold ::
Ptr DebugCategory ->
IO ()
debugCategoryResetThreshold ::
(B.CallStack.HasCallStack, MonadIO m) =>
DebugCategory
-> m ()
debugCategoryResetThreshold category = liftIO $ do
category' <- unsafeManagedPtrGetPtr category
gst_debug_category_reset_threshold category'
touchManagedPtr category
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DebugCategoryResetThresholdMethodInfo
instance (signature ~ (m ()), MonadIO m) => O.MethodInfo DebugCategoryResetThresholdMethodInfo DebugCategory signature where
overloadedMethod _ = debugCategoryResetThreshold
#endif
foreign import ccall "gst_debug_category_set_threshold" gst_debug_category_set_threshold ::
Ptr DebugCategory ->
CUInt ->
IO ()
debugCategorySetThreshold ::
(B.CallStack.HasCallStack, MonadIO m) =>
DebugCategory
-> Gst.Enums.DebugLevel
-> m ()
debugCategorySetThreshold category level = liftIO $ do
category' <- unsafeManagedPtrGetPtr category
let level' = (fromIntegral . fromEnum) level
gst_debug_category_set_threshold category' level'
touchManagedPtr category
return ()
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
data DebugCategorySetThresholdMethodInfo
instance (signature ~ (Gst.Enums.DebugLevel -> m ()), MonadIO m) => O.MethodInfo DebugCategorySetThresholdMethodInfo DebugCategory signature where
overloadedMethod _ = debugCategorySetThreshold
#endif
#if defined(ENABLE_OVERLOADING) && !defined(__HADDOCK_VERSION__)
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 = O.MethodResolutionFailed l o
instance (info ~ ResolveDebugCategoryMethod t DebugCategory, O.MethodInfo info DebugCategory p) => O.IsLabelProxy t (DebugCategory -> p) where
fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveDebugCategoryMethod t DebugCategory, O.MethodInfo info DebugCategory p) => O.IsLabel t (DebugCategory -> 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
#endif