{- |
Copyright  : Will Thompson, Iñaki García Etxebarria and Jonas Platte
License    : LGPL-2.1
Maintainer : Iñaki García Etxebarria (garetxe@gmail.com)
-}

module GI.WebKit.Objects.DOMVideoPlaybackQuality
    ( 

-- * Exported types
    DOMVideoPlaybackQuality(..)             ,
    IsDOMVideoPlaybackQuality               ,
    toDOMVideoPlaybackQuality               ,
    noDOMVideoPlaybackQuality               ,


 -- * Methods
-- ** getCorruptedVideoFrames #method:getCorruptedVideoFrames#
    DOMVideoPlaybackQualityGetCorruptedVideoFramesMethodInfo,
    dOMVideoPlaybackQualityGetCorruptedVideoFrames,


-- ** getCreationTime #method:getCreationTime#
    DOMVideoPlaybackQualityGetCreationTimeMethodInfo,
    dOMVideoPlaybackQualityGetCreationTime  ,


-- ** getDroppedVideoFrames #method:getDroppedVideoFrames#
    DOMVideoPlaybackQualityGetDroppedVideoFramesMethodInfo,
    dOMVideoPlaybackQualityGetDroppedVideoFrames,


-- ** getTotalFrameDelay #method:getTotalFrameDelay#
    DOMVideoPlaybackQualityGetTotalFrameDelayMethodInfo,
    dOMVideoPlaybackQualityGetTotalFrameDelay,


-- ** getTotalVideoFrames #method:getTotalVideoFrames#
    DOMVideoPlaybackQualityGetTotalVideoFramesMethodInfo,
    dOMVideoPlaybackQualityGetTotalVideoFrames,




 -- * Properties
-- ** corruptedVideoFrames #attr:corruptedVideoFrames#
    DOMVideoPlaybackQualityCorruptedVideoFramesPropertyInfo,
    dOMVideoPlaybackQualityCorruptedVideoFrames,
    getDOMVideoPlaybackQualityCorruptedVideoFrames,


-- ** creationTime #attr:creationTime#
    DOMVideoPlaybackQualityCreationTimePropertyInfo,
    dOMVideoPlaybackQualityCreationTime     ,
    getDOMVideoPlaybackQualityCreationTime  ,


-- ** droppedVideoFrames #attr:droppedVideoFrames#
    DOMVideoPlaybackQualityDroppedVideoFramesPropertyInfo,
    dOMVideoPlaybackQualityDroppedVideoFrames,
    getDOMVideoPlaybackQualityDroppedVideoFrames,


-- ** totalFrameDelay #attr:totalFrameDelay#
    DOMVideoPlaybackQualityTotalFrameDelayPropertyInfo,
    dOMVideoPlaybackQualityTotalFrameDelay  ,
    getDOMVideoPlaybackQualityTotalFrameDelay,


-- ** totalVideoFrames #attr:totalVideoFrames#
    DOMVideoPlaybackQualityTotalVideoFramesPropertyInfo,
    dOMVideoPlaybackQualityTotalVideoFrames ,
    getDOMVideoPlaybackQualityTotalVideoFrames,




    ) 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 {-# SOURCE #-} qualified GI.WebKit.Objects.DOMObject as WebKit.DOMObject

newtype DOMVideoPlaybackQuality = DOMVideoPlaybackQuality (ManagedPtr DOMVideoPlaybackQuality)
foreign import ccall "webkit_dom_video_playback_quality_get_type"
    c_webkit_dom_video_playback_quality_get_type :: IO GType

instance GObject DOMVideoPlaybackQuality where
    gobjectType _ = c_webkit_dom_video_playback_quality_get_type
    

class GObject o => IsDOMVideoPlaybackQuality o
#if MIN_VERSION_base(4,9,0)
instance {-# OVERLAPPABLE #-} (GObject a, O.UnknownAncestorError DOMVideoPlaybackQuality a) =>
    IsDOMVideoPlaybackQuality a
#endif
instance IsDOMVideoPlaybackQuality DOMVideoPlaybackQuality
instance WebKit.DOMObject.IsDOMObject DOMVideoPlaybackQuality
instance GObject.Object.IsObject DOMVideoPlaybackQuality

toDOMVideoPlaybackQuality :: IsDOMVideoPlaybackQuality o => o -> IO DOMVideoPlaybackQuality
toDOMVideoPlaybackQuality = unsafeCastTo DOMVideoPlaybackQuality

noDOMVideoPlaybackQuality :: Maybe DOMVideoPlaybackQuality
noDOMVideoPlaybackQuality = Nothing

type family ResolveDOMVideoPlaybackQualityMethod (t :: Symbol) (o :: *) :: * where
    ResolveDOMVideoPlaybackQualityMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "getCorruptedVideoFrames" o = DOMVideoPlaybackQualityGetCorruptedVideoFramesMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "getCreationTime" o = DOMVideoPlaybackQualityGetCreationTimeMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "getDroppedVideoFrames" o = DOMVideoPlaybackQualityGetDroppedVideoFramesMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "getTotalFrameDelay" o = DOMVideoPlaybackQualityGetTotalFrameDelayMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "getTotalVideoFrames" o = DOMVideoPlaybackQualityGetTotalVideoFramesMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveDOMVideoPlaybackQualityMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveDOMVideoPlaybackQualityMethod l o = O.MethodResolutionFailed l o

instance (info ~ ResolveDOMVideoPlaybackQualityMethod t DOMVideoPlaybackQuality, O.MethodInfo info DOMVideoPlaybackQuality p) => O.IsLabelProxy t (DOMVideoPlaybackQuality -> p) where
    fromLabelProxy _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)

#if MIN_VERSION_base(4,9,0)
instance (info ~ ResolveDOMVideoPlaybackQualityMethod t DOMVideoPlaybackQuality, O.MethodInfo info DOMVideoPlaybackQuality p) => O.IsLabel t (DOMVideoPlaybackQuality -> p) where
    fromLabel _ = O.overloadedMethod (O.MethodProxy :: O.MethodProxy info)
#endif

-- VVV Prop "corrupted-video-frames"
   -- Type: TBasicType TULong
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMVideoPlaybackQualityCorruptedVideoFrames :: (MonadIO m, IsDOMVideoPlaybackQuality o) => o -> m CULong
getDOMVideoPlaybackQualityCorruptedVideoFrames obj = liftIO $ getObjectPropertyULong obj "corrupted-video-frames"

data DOMVideoPlaybackQualityCorruptedVideoFramesPropertyInfo
instance AttrInfo DOMVideoPlaybackQualityCorruptedVideoFramesPropertyInfo where
    type AttrAllowedOps DOMVideoPlaybackQualityCorruptedVideoFramesPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMVideoPlaybackQualityCorruptedVideoFramesPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMVideoPlaybackQualityCorruptedVideoFramesPropertyInfo = IsDOMVideoPlaybackQuality
    type AttrGetType DOMVideoPlaybackQualityCorruptedVideoFramesPropertyInfo = CULong
    type AttrLabel DOMVideoPlaybackQualityCorruptedVideoFramesPropertyInfo = "corrupted-video-frames"
    type AttrOrigin DOMVideoPlaybackQualityCorruptedVideoFramesPropertyInfo = DOMVideoPlaybackQuality
    attrGet _ = getDOMVideoPlaybackQualityCorruptedVideoFrames
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "creation-time"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMVideoPlaybackQualityCreationTime :: (MonadIO m, IsDOMVideoPlaybackQuality o) => o -> m Double
getDOMVideoPlaybackQualityCreationTime obj = liftIO $ getObjectPropertyDouble obj "creation-time"

data DOMVideoPlaybackQualityCreationTimePropertyInfo
instance AttrInfo DOMVideoPlaybackQualityCreationTimePropertyInfo where
    type AttrAllowedOps DOMVideoPlaybackQualityCreationTimePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMVideoPlaybackQualityCreationTimePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMVideoPlaybackQualityCreationTimePropertyInfo = IsDOMVideoPlaybackQuality
    type AttrGetType DOMVideoPlaybackQualityCreationTimePropertyInfo = Double
    type AttrLabel DOMVideoPlaybackQualityCreationTimePropertyInfo = "creation-time"
    type AttrOrigin DOMVideoPlaybackQualityCreationTimePropertyInfo = DOMVideoPlaybackQuality
    attrGet _ = getDOMVideoPlaybackQualityCreationTime
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "dropped-video-frames"
   -- Type: TBasicType TULong
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMVideoPlaybackQualityDroppedVideoFrames :: (MonadIO m, IsDOMVideoPlaybackQuality o) => o -> m CULong
getDOMVideoPlaybackQualityDroppedVideoFrames obj = liftIO $ getObjectPropertyULong obj "dropped-video-frames"

data DOMVideoPlaybackQualityDroppedVideoFramesPropertyInfo
instance AttrInfo DOMVideoPlaybackQualityDroppedVideoFramesPropertyInfo where
    type AttrAllowedOps DOMVideoPlaybackQualityDroppedVideoFramesPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMVideoPlaybackQualityDroppedVideoFramesPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMVideoPlaybackQualityDroppedVideoFramesPropertyInfo = IsDOMVideoPlaybackQuality
    type AttrGetType DOMVideoPlaybackQualityDroppedVideoFramesPropertyInfo = CULong
    type AttrLabel DOMVideoPlaybackQualityDroppedVideoFramesPropertyInfo = "dropped-video-frames"
    type AttrOrigin DOMVideoPlaybackQualityDroppedVideoFramesPropertyInfo = DOMVideoPlaybackQuality
    attrGet _ = getDOMVideoPlaybackQualityDroppedVideoFrames
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "total-frame-delay"
   -- Type: TBasicType TDouble
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMVideoPlaybackQualityTotalFrameDelay :: (MonadIO m, IsDOMVideoPlaybackQuality o) => o -> m Double
getDOMVideoPlaybackQualityTotalFrameDelay obj = liftIO $ getObjectPropertyDouble obj "total-frame-delay"

data DOMVideoPlaybackQualityTotalFrameDelayPropertyInfo
instance AttrInfo DOMVideoPlaybackQualityTotalFrameDelayPropertyInfo where
    type AttrAllowedOps DOMVideoPlaybackQualityTotalFrameDelayPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMVideoPlaybackQualityTotalFrameDelayPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMVideoPlaybackQualityTotalFrameDelayPropertyInfo = IsDOMVideoPlaybackQuality
    type AttrGetType DOMVideoPlaybackQualityTotalFrameDelayPropertyInfo = Double
    type AttrLabel DOMVideoPlaybackQualityTotalFrameDelayPropertyInfo = "total-frame-delay"
    type AttrOrigin DOMVideoPlaybackQualityTotalFrameDelayPropertyInfo = DOMVideoPlaybackQuality
    attrGet _ = getDOMVideoPlaybackQualityTotalFrameDelay
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "total-video-frames"
   -- Type: TBasicType TULong
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMVideoPlaybackQualityTotalVideoFrames :: (MonadIO m, IsDOMVideoPlaybackQuality o) => o -> m CULong
getDOMVideoPlaybackQualityTotalVideoFrames obj = liftIO $ getObjectPropertyULong obj "total-video-frames"

data DOMVideoPlaybackQualityTotalVideoFramesPropertyInfo
instance AttrInfo DOMVideoPlaybackQualityTotalVideoFramesPropertyInfo where
    type AttrAllowedOps DOMVideoPlaybackQualityTotalVideoFramesPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMVideoPlaybackQualityTotalVideoFramesPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMVideoPlaybackQualityTotalVideoFramesPropertyInfo = IsDOMVideoPlaybackQuality
    type AttrGetType DOMVideoPlaybackQualityTotalVideoFramesPropertyInfo = CULong
    type AttrLabel DOMVideoPlaybackQualityTotalVideoFramesPropertyInfo = "total-video-frames"
    type AttrOrigin DOMVideoPlaybackQualityTotalVideoFramesPropertyInfo = DOMVideoPlaybackQuality
    attrGet _ = getDOMVideoPlaybackQualityTotalVideoFrames
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

instance O.HasAttributeList DOMVideoPlaybackQuality
type instance O.AttributeList DOMVideoPlaybackQuality = DOMVideoPlaybackQualityAttributeList
type DOMVideoPlaybackQualityAttributeList = ('[ '("coreObject", WebKit.DOMObject.DOMObjectCoreObjectPropertyInfo), '("corruptedVideoFrames", DOMVideoPlaybackQualityCorruptedVideoFramesPropertyInfo), '("creationTime", DOMVideoPlaybackQualityCreationTimePropertyInfo), '("droppedVideoFrames", DOMVideoPlaybackQualityDroppedVideoFramesPropertyInfo), '("totalFrameDelay", DOMVideoPlaybackQualityTotalFrameDelayPropertyInfo), '("totalVideoFrames", DOMVideoPlaybackQualityTotalVideoFramesPropertyInfo)] :: [(Symbol, *)])

dOMVideoPlaybackQualityCorruptedVideoFrames :: AttrLabelProxy "corruptedVideoFrames"
dOMVideoPlaybackQualityCorruptedVideoFrames = AttrLabelProxy

dOMVideoPlaybackQualityCreationTime :: AttrLabelProxy "creationTime"
dOMVideoPlaybackQualityCreationTime = AttrLabelProxy

dOMVideoPlaybackQualityDroppedVideoFrames :: AttrLabelProxy "droppedVideoFrames"
dOMVideoPlaybackQualityDroppedVideoFrames = AttrLabelProxy

dOMVideoPlaybackQualityTotalFrameDelay :: AttrLabelProxy "totalFrameDelay"
dOMVideoPlaybackQualityTotalFrameDelay = AttrLabelProxy

dOMVideoPlaybackQualityTotalVideoFrames :: AttrLabelProxy "totalVideoFrames"
dOMVideoPlaybackQualityTotalVideoFrames = AttrLabelProxy

type instance O.SignalList DOMVideoPlaybackQuality = DOMVideoPlaybackQualitySignalList
type DOMVideoPlaybackQualitySignalList = ('[ '("notify", GObject.Object.ObjectNotifySignalInfo)] :: [(Symbol, *)])

-- method DOMVideoPlaybackQuality::get_corrupted_video_frames
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMVideoPlaybackQuality"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMVideoPlaybackQuality", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TULong)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_video_playback_quality_get_corrupted_video_frames" webkit_dom_video_playback_quality_get_corrupted_video_frames :: 
    Ptr DOMVideoPlaybackQuality ->          -- self : TInterface (Name {namespace = "WebKit", name = "DOMVideoPlaybackQuality"})
    IO CULong

{- |
/No description available in the introspection data./
-}
dOMVideoPlaybackQualityGetCorruptedVideoFrames ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMVideoPlaybackQuality a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMVideoPlaybackQuality.DOMVideoPlaybackQuality' -}
    -> m CULong
    {- ^ __Returns:__ A @/gulong/@ -}
dOMVideoPlaybackQualityGetCorruptedVideoFrames self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_video_playback_quality_get_corrupted_video_frames self'
    touchManagedPtr self
    return result

data DOMVideoPlaybackQualityGetCorruptedVideoFramesMethodInfo
instance (signature ~ (m CULong), MonadIO m, IsDOMVideoPlaybackQuality a) => O.MethodInfo DOMVideoPlaybackQualityGetCorruptedVideoFramesMethodInfo a signature where
    overloadedMethod _ = dOMVideoPlaybackQualityGetCorruptedVideoFrames

-- method DOMVideoPlaybackQuality::get_creation_time
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMVideoPlaybackQuality"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMVideoPlaybackQuality", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TDouble)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_video_playback_quality_get_creation_time" webkit_dom_video_playback_quality_get_creation_time :: 
    Ptr DOMVideoPlaybackQuality ->          -- self : TInterface (Name {namespace = "WebKit", name = "DOMVideoPlaybackQuality"})
    IO CDouble

{- |
/No description available in the introspection data./
-}
dOMVideoPlaybackQualityGetCreationTime ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMVideoPlaybackQuality a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMVideoPlaybackQuality.DOMVideoPlaybackQuality' -}
    -> m Double
    {- ^ __Returns:__ A @/gdouble/@ -}
dOMVideoPlaybackQualityGetCreationTime self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_video_playback_quality_get_creation_time self'
    let result' = realToFrac result
    touchManagedPtr self
    return result'

data DOMVideoPlaybackQualityGetCreationTimeMethodInfo
instance (signature ~ (m Double), MonadIO m, IsDOMVideoPlaybackQuality a) => O.MethodInfo DOMVideoPlaybackQualityGetCreationTimeMethodInfo a signature where
    overloadedMethod _ = dOMVideoPlaybackQualityGetCreationTime

-- method DOMVideoPlaybackQuality::get_dropped_video_frames
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMVideoPlaybackQuality"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMVideoPlaybackQuality", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TULong)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_video_playback_quality_get_dropped_video_frames" webkit_dom_video_playback_quality_get_dropped_video_frames :: 
    Ptr DOMVideoPlaybackQuality ->          -- self : TInterface (Name {namespace = "WebKit", name = "DOMVideoPlaybackQuality"})
    IO CULong

{- |
/No description available in the introspection data./
-}
dOMVideoPlaybackQualityGetDroppedVideoFrames ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMVideoPlaybackQuality a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMVideoPlaybackQuality.DOMVideoPlaybackQuality' -}
    -> m CULong
    {- ^ __Returns:__ A @/gulong/@ -}
dOMVideoPlaybackQualityGetDroppedVideoFrames self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_video_playback_quality_get_dropped_video_frames self'
    touchManagedPtr self
    return result

data DOMVideoPlaybackQualityGetDroppedVideoFramesMethodInfo
instance (signature ~ (m CULong), MonadIO m, IsDOMVideoPlaybackQuality a) => O.MethodInfo DOMVideoPlaybackQualityGetDroppedVideoFramesMethodInfo a signature where
    overloadedMethod _ = dOMVideoPlaybackQualityGetDroppedVideoFrames

-- method DOMVideoPlaybackQuality::get_total_frame_delay
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMVideoPlaybackQuality"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMVideoPlaybackQuality", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TDouble)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_video_playback_quality_get_total_frame_delay" webkit_dom_video_playback_quality_get_total_frame_delay :: 
    Ptr DOMVideoPlaybackQuality ->          -- self : TInterface (Name {namespace = "WebKit", name = "DOMVideoPlaybackQuality"})
    IO CDouble

{- |
/No description available in the introspection data./
-}
dOMVideoPlaybackQualityGetTotalFrameDelay ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMVideoPlaybackQuality a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMVideoPlaybackQuality.DOMVideoPlaybackQuality' -}
    -> m Double
    {- ^ __Returns:__ A @/gdouble/@ -}
dOMVideoPlaybackQualityGetTotalFrameDelay self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_video_playback_quality_get_total_frame_delay self'
    let result' = realToFrac result
    touchManagedPtr self
    return result'

data DOMVideoPlaybackQualityGetTotalFrameDelayMethodInfo
instance (signature ~ (m Double), MonadIO m, IsDOMVideoPlaybackQuality a) => O.MethodInfo DOMVideoPlaybackQualityGetTotalFrameDelayMethodInfo a signature where
    overloadedMethod _ = dOMVideoPlaybackQualityGetTotalFrameDelay

-- method DOMVideoPlaybackQuality::get_total_video_frames
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMVideoPlaybackQuality"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMVideoPlaybackQuality", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Just (TBasicType TULong)
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_video_playback_quality_get_total_video_frames" webkit_dom_video_playback_quality_get_total_video_frames :: 
    Ptr DOMVideoPlaybackQuality ->          -- self : TInterface (Name {namespace = "WebKit", name = "DOMVideoPlaybackQuality"})
    IO CULong

{- |
/No description available in the introspection data./
-}
dOMVideoPlaybackQualityGetTotalVideoFrames ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMVideoPlaybackQuality a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMVideoPlaybackQuality.DOMVideoPlaybackQuality' -}
    -> m CULong
    {- ^ __Returns:__ A @/gulong/@ -}
dOMVideoPlaybackQualityGetTotalVideoFrames self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_video_playback_quality_get_total_video_frames self'
    touchManagedPtr self
    return result

data DOMVideoPlaybackQualityGetTotalVideoFramesMethodInfo
instance (signature ~ (m CULong), MonadIO m, IsDOMVideoPlaybackQuality a) => O.MethodInfo DOMVideoPlaybackQualityGetTotalVideoFramesMethodInfo a signature where
    overloadedMethod _ = dOMVideoPlaybackQualityGetTotalVideoFrames