{-# LANGUAGE TypeApplications #-}
#if (MIN_VERSION_haskell_gi_overloading(1,0,0) && !defined(__HADDOCK_VERSION__))
#define ENABLE_OVERLOADING
#endif
module GI.Gst.Objects.TracerRecord
(
TracerRecord(..) ,
IsTracerRecord ,
toTracerRecord ,
#if defined(ENABLE_OVERLOADING)
ResolveTracerRecordMethod ,
#endif
) 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.BasicTypes as B.Types
import qualified Data.GI.Base.ManagedPtr as B.ManagedPtr
import qualified Data.GI.Base.GArray as B.GArray
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.GI.Base.Signals as B.Signals
import qualified Control.Monad.IO.Class as MIO
import qualified Data.Coerce as Coerce
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 GHC.Records as R
import qualified GI.GObject.Objects.Object as GObject.Object
import {-# SOURCE #-} qualified GI.Gst.Objects.Object as Gst.Object
newtype TracerRecord = TracerRecord (SP.ManagedPtr TracerRecord)
deriving (TracerRecord -> TracerRecord -> Bool
(TracerRecord -> TracerRecord -> Bool)
-> (TracerRecord -> TracerRecord -> Bool) -> Eq TracerRecord
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: TracerRecord -> TracerRecord -> Bool
$c/= :: TracerRecord -> TracerRecord -> Bool
== :: TracerRecord -> TracerRecord -> Bool
$c== :: TracerRecord -> TracerRecord -> Bool
Eq)
instance SP.ManagedPtrNewtype TracerRecord where
toManagedPtr :: TracerRecord -> ManagedPtr TracerRecord
toManagedPtr (TracerRecord ManagedPtr TracerRecord
p) = ManagedPtr TracerRecord
p
foreign import ccall "gst_tracer_record_get_type"
c_gst_tracer_record_get_type :: IO B.Types.GType
instance B.Types.TypedObject TracerRecord where
glibType :: IO GType
glibType = IO GType
c_gst_tracer_record_get_type
instance B.Types.GObject TracerRecord
class (SP.GObject o, O.IsDescendantOf TracerRecord o) => IsTracerRecord o
instance (SP.GObject o, O.IsDescendantOf TracerRecord o) => IsTracerRecord o
instance O.HasParentTypes TracerRecord
type instance O.ParentTypes TracerRecord = '[Gst.Object.Object, GObject.Object.Object]
toTracerRecord :: (MIO.MonadIO m, IsTracerRecord o) => o -> m TracerRecord
toTracerRecord :: forall (m :: * -> *) o.
(MonadIO m, IsTracerRecord o) =>
o -> m TracerRecord
toTracerRecord = IO TracerRecord -> m TracerRecord
forall (m :: * -> *) a. MonadIO m => IO a -> m a
MIO.liftIO (IO TracerRecord -> m TracerRecord)
-> (o -> IO TracerRecord) -> o -> m TracerRecord
forall b c a. (b -> c) -> (a -> b) -> a -> c
. (ManagedPtr TracerRecord -> TracerRecord) -> o -> IO TracerRecord
forall o o'.
(HasCallStack, ManagedPtrNewtype o, TypedObject o,
ManagedPtrNewtype o', TypedObject o') =>
(ManagedPtr o' -> o') -> o -> IO o'
B.ManagedPtr.unsafeCastTo ManagedPtr TracerRecord -> TracerRecord
TracerRecord
instance B.GValue.IsGValue (Maybe TracerRecord) where
gvalueGType_ :: IO GType
gvalueGType_ = IO GType
c_gst_tracer_record_get_type
gvalueSet_ :: Ptr GValue -> Maybe TracerRecord -> IO ()
gvalueSet_ Ptr GValue
gv Maybe TracerRecord
P.Nothing = Ptr GValue -> Ptr TracerRecord -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv (Ptr TracerRecord
forall a. Ptr a
FP.nullPtr :: FP.Ptr TracerRecord)
gvalueSet_ Ptr GValue
gv (P.Just TracerRecord
obj) = TracerRecord -> (Ptr TracerRecord -> IO ()) -> IO ()
forall a c.
(HasCallStack, ManagedPtrNewtype a) =>
a -> (Ptr a -> IO c) -> IO c
B.ManagedPtr.withManagedPtr TracerRecord
obj (Ptr GValue -> Ptr TracerRecord -> IO ()
forall a. GObject a => Ptr GValue -> Ptr a -> IO ()
B.GValue.set_object Ptr GValue
gv)
gvalueGet_ :: Ptr GValue -> IO (Maybe TracerRecord)
gvalueGet_ Ptr GValue
gv = do
Ptr TracerRecord
ptr <- Ptr GValue -> IO (Ptr TracerRecord)
forall a. GObject a => Ptr GValue -> IO (Ptr a)
B.GValue.get_object Ptr GValue
gv :: IO (FP.Ptr TracerRecord)
if Ptr TracerRecord
ptr Ptr TracerRecord -> Ptr TracerRecord -> Bool
forall a. Eq a => a -> a -> Bool
/= Ptr TracerRecord
forall a. Ptr a
FP.nullPtr
then TracerRecord -> Maybe TracerRecord
forall a. a -> Maybe a
P.Just (TracerRecord -> Maybe TracerRecord)
-> IO TracerRecord -> IO (Maybe TracerRecord)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
<$> (ManagedPtr TracerRecord -> TracerRecord)
-> Ptr TracerRecord -> IO TracerRecord
forall a b.
(HasCallStack, GObject a, GObject b) =>
(ManagedPtr a -> a) -> Ptr b -> IO a
B.ManagedPtr.newObject ManagedPtr TracerRecord -> TracerRecord
TracerRecord Ptr TracerRecord
ptr
else Maybe TracerRecord -> IO (Maybe TracerRecord)
forall (m :: * -> *) a. Monad m => a -> m a
return Maybe TracerRecord
forall a. Maybe a
P.Nothing
#if defined(ENABLE_OVERLOADING)
type family ResolveTracerRecordMethod (t :: Symbol) (o :: *) :: * where
ResolveTracerRecordMethod "addControlBinding" o = Gst.Object.ObjectAddControlBindingMethodInfo
ResolveTracerRecordMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
ResolveTracerRecordMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
ResolveTracerRecordMethod "defaultError" o = Gst.Object.ObjectDefaultErrorMethodInfo
ResolveTracerRecordMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
ResolveTracerRecordMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
ResolveTracerRecordMethod "getv" o = GObject.Object.ObjectGetvMethodInfo
ResolveTracerRecordMethod "hasActiveControlBindings" o = Gst.Object.ObjectHasActiveControlBindingsMethodInfo
ResolveTracerRecordMethod "hasAncestor" o = Gst.Object.ObjectHasAncestorMethodInfo
ResolveTracerRecordMethod "hasAsAncestor" o = Gst.Object.ObjectHasAsAncestorMethodInfo
ResolveTracerRecordMethod "hasAsParent" o = Gst.Object.ObjectHasAsParentMethodInfo
ResolveTracerRecordMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
ResolveTracerRecordMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
ResolveTracerRecordMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
ResolveTracerRecordMethod "ref" o = Gst.Object.ObjectRefMethodInfo
ResolveTracerRecordMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
ResolveTracerRecordMethod "removeControlBinding" o = Gst.Object.ObjectRemoveControlBindingMethodInfo
ResolveTracerRecordMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
ResolveTracerRecordMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
ResolveTracerRecordMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
ResolveTracerRecordMethod "suggestNextSync" o = Gst.Object.ObjectSuggestNextSyncMethodInfo
ResolveTracerRecordMethod "syncValues" o = Gst.Object.ObjectSyncValuesMethodInfo
ResolveTracerRecordMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
ResolveTracerRecordMethod "unparent" o = Gst.Object.ObjectUnparentMethodInfo
ResolveTracerRecordMethod "unref" o = Gst.Object.ObjectUnrefMethodInfo
ResolveTracerRecordMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
ResolveTracerRecordMethod "getControlBinding" o = Gst.Object.ObjectGetControlBindingMethodInfo
ResolveTracerRecordMethod "getControlRate" o = Gst.Object.ObjectGetControlRateMethodInfo
ResolveTracerRecordMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
ResolveTracerRecordMethod "getGValueArray" o = Gst.Object.ObjectGetGValueArrayMethodInfo
ResolveTracerRecordMethod "getName" o = Gst.Object.ObjectGetNameMethodInfo
ResolveTracerRecordMethod "getParent" o = Gst.Object.ObjectGetParentMethodInfo
ResolveTracerRecordMethod "getPathString" o = Gst.Object.ObjectGetPathStringMethodInfo
ResolveTracerRecordMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
ResolveTracerRecordMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
ResolveTracerRecordMethod "getValue" o = Gst.Object.ObjectGetValueMethodInfo
ResolveTracerRecordMethod "setControlBindingDisabled" o = Gst.Object.ObjectSetControlBindingDisabledMethodInfo
ResolveTracerRecordMethod "setControlBindingsDisabled" o = Gst.Object.ObjectSetControlBindingsDisabledMethodInfo
ResolveTracerRecordMethod "setControlRate" o = Gst.Object.ObjectSetControlRateMethodInfo
ResolveTracerRecordMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
ResolveTracerRecordMethod "setDataFull" o = GObject.Object.ObjectSetDataFullMethodInfo
ResolveTracerRecordMethod "setName" o = Gst.Object.ObjectSetNameMethodInfo
ResolveTracerRecordMethod "setParent" o = Gst.Object.ObjectSetParentMethodInfo
ResolveTracerRecordMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
ResolveTracerRecordMethod l o = O.MethodResolutionFailed l o
instance (info ~ ResolveTracerRecordMethod t TracerRecord, O.OverloadedMethod info TracerRecord p) => OL.IsLabel t (TracerRecord -> p) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.overloadedMethod @info
#else
fromLabel _ = O.overloadedMethod @info
#endif
#if MIN_VERSION_base(4,13,0)
instance (info ~ ResolveTracerRecordMethod t TracerRecord, O.OverloadedMethod info TracerRecord p, R.HasField t TracerRecord p) => R.HasField t TracerRecord p where
getField = O.overloadedMethod @info
#endif
instance (info ~ ResolveTracerRecordMethod t TracerRecord, O.OverloadedMethodInfo info TracerRecord) => OL.IsLabel t (O.MethodProxy info TracerRecord) where
#if MIN_VERSION_base(4,10,0)
fromLabel = O.MethodProxy
#else
fromLabel _ = O.MethodProxy
#endif
#endif
#if defined(ENABLE_OVERLOADING)
instance O.HasAttributeList TracerRecord
type instance O.AttributeList TracerRecord = TracerRecordAttributeList
type TracerRecordAttributeList = ('[ '("name", Gst.Object.ObjectNamePropertyInfo), '("parent", Gst.Object.ObjectParentPropertyInfo)] :: [(Symbol, *)])
#endif
#if defined(ENABLE_OVERLOADING)
#endif
#if defined(ENABLE_OVERLOADING)
type instance O.SignalList TracerRecord = TracerRecordSignalList
type TracerRecordSignalList = ('[ '("deepNotify", Gst.Object.ObjectDeepNotifySignalInfo), '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])
#endif