#define ENABLE_OVERLOADING (MIN_VERSION_haskell_gi_overloading(1,0,0) \
&& !defined(__HADDOCK_VERSION__))
module GI.Gst.Structs.DebugCategory
(
DebugCategory(..) ,
newZeroDebugCategory ,
noDebugCategory ,
#if ENABLE_OVERLOADING
DebugCategoryFreeMethodInfo ,
#endif
debugCategoryFree ,
#if ENABLE_OVERLOADING
DebugCategoryGetColorMethodInfo ,
#endif
debugCategoryGetColor ,
#if ENABLE_OVERLOADING
DebugCategoryGetDescriptionMethodInfo ,
#endif
debugCategoryGetDescription ,
#if ENABLE_OVERLOADING
DebugCategoryGetNameMethodInfo ,
#endif
debugCategoryGetName ,
#if ENABLE_OVERLOADING
DebugCategoryGetThresholdMethodInfo ,
#endif
debugCategoryGetThreshold ,
#if ENABLE_OVERLOADING
DebugCategoryResetThresholdMethodInfo ,
#endif
debugCategoryResetThreshold ,
#if ENABLE_OVERLOADING
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.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 {-# SOURCE #-} 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 ENABLE_OVERLOADING
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 ENABLE_OVERLOADING
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 ENABLE_OVERLOADING
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 ENABLE_OVERLOADING
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 ENABLE_OVERLOADING
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 ENABLE_OVERLOADING
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 ENABLE_OVERLOADING
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 ENABLE_OVERLOADING
data DebugCategorySetThresholdMethodInfo
instance (signature ~ (Gst.Enums.DebugLevel -> m ()), MonadIO m) => O.MethodInfo DebugCategorySetThresholdMethodInfo DebugCategory signature where
overloadedMethod _ = debugCategorySetThreshold
#endif
#if ENABLE_OVERLOADING
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) => OL.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