{- |
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.DOMBatteryManager
    ( 

-- * Exported types
    DOMBatteryManager(..)                   ,
    IsDOMBatteryManager                     ,
    toDOMBatteryManager                     ,
    noDOMBatteryManager                     ,


 -- * Methods
-- ** dispatchEvent #method:dispatchEvent#
    DOMBatteryManagerDispatchEventMethodInfo,
    dOMBatteryManagerDispatchEvent          ,


-- ** getCharging #method:getCharging#
    DOMBatteryManagerGetChargingMethodInfo  ,
    dOMBatteryManagerGetCharging            ,


-- ** getChargingTime #method:getChargingTime#
    DOMBatteryManagerGetChargingTimeMethodInfo,
    dOMBatteryManagerGetChargingTime        ,


-- ** getDischargingTime #method:getDischargingTime#
    DOMBatteryManagerGetDischargingTimeMethodInfo,
    dOMBatteryManagerGetDischargingTime     ,


-- ** getLevel #method:getLevel#
    DOMBatteryManagerGetLevelMethodInfo     ,
    dOMBatteryManagerGetLevel               ,




 -- * Properties
-- ** charging #attr:charging#
    DOMBatteryManagerChargingPropertyInfo   ,
    dOMBatteryManagerCharging               ,
    getDOMBatteryManagerCharging            ,


-- ** chargingTime #attr:chargingTime#
    DOMBatteryManagerChargingTimePropertyInfo,
    dOMBatteryManagerChargingTime           ,
    getDOMBatteryManagerChargingTime        ,


-- ** dischargingTime #attr:dischargingTime#
    DOMBatteryManagerDischargingTimePropertyInfo,
    dOMBatteryManagerDischargingTime        ,
    getDOMBatteryManagerDischargingTime     ,


-- ** level #attr:level#
    DOMBatteryManagerLevelPropertyInfo      ,
    dOMBatteryManagerLevel                  ,
    getDOMBatteryManagerLevel               ,




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

newtype DOMBatteryManager = DOMBatteryManager (ManagedPtr DOMBatteryManager)
foreign import ccall "webkit_dom_battery_manager_get_type"
    c_webkit_dom_battery_manager_get_type :: IO GType

instance GObject DOMBatteryManager where
    gobjectType _ = c_webkit_dom_battery_manager_get_type
    

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

toDOMBatteryManager :: IsDOMBatteryManager o => o -> IO DOMBatteryManager
toDOMBatteryManager = unsafeCastTo DOMBatteryManager

noDOMBatteryManager :: Maybe DOMBatteryManager
noDOMBatteryManager = Nothing

type family ResolveDOMBatteryManagerMethod (t :: Symbol) (o :: *) :: * where
    ResolveDOMBatteryManagerMethod "addEventListener" o = WebKit.DOMEventTarget.DOMEventTargetAddEventListenerMethodInfo
    ResolveDOMBatteryManagerMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveDOMBatteryManagerMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveDOMBatteryManagerMethod "dispatchEvent" o = DOMBatteryManagerDispatchEventMethodInfo
    ResolveDOMBatteryManagerMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveDOMBatteryManagerMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveDOMBatteryManagerMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveDOMBatteryManagerMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveDOMBatteryManagerMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveDOMBatteryManagerMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveDOMBatteryManagerMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveDOMBatteryManagerMethod "removeEventListener" o = WebKit.DOMEventTarget.DOMEventTargetRemoveEventListenerMethodInfo
    ResolveDOMBatteryManagerMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
    ResolveDOMBatteryManagerMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
    ResolveDOMBatteryManagerMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveDOMBatteryManagerMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveDOMBatteryManagerMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveDOMBatteryManagerMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveDOMBatteryManagerMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveDOMBatteryManagerMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveDOMBatteryManagerMethod "getCharging" o = DOMBatteryManagerGetChargingMethodInfo
    ResolveDOMBatteryManagerMethod "getChargingTime" o = DOMBatteryManagerGetChargingTimeMethodInfo
    ResolveDOMBatteryManagerMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveDOMBatteryManagerMethod "getDischargingTime" o = DOMBatteryManagerGetDischargingTimeMethodInfo
    ResolveDOMBatteryManagerMethod "getLevel" o = DOMBatteryManagerGetLevelMethodInfo
    ResolveDOMBatteryManagerMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveDOMBatteryManagerMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveDOMBatteryManagerMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveDOMBatteryManagerMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveDOMBatteryManagerMethod l o = O.MethodResolutionFailed l o

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

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

-- VVV Prop "charging"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMBatteryManagerCharging :: (MonadIO m, IsDOMBatteryManager o) => o -> m Bool
getDOMBatteryManagerCharging obj = liftIO $ getObjectPropertyBool obj "charging"

data DOMBatteryManagerChargingPropertyInfo
instance AttrInfo DOMBatteryManagerChargingPropertyInfo where
    type AttrAllowedOps DOMBatteryManagerChargingPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMBatteryManagerChargingPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMBatteryManagerChargingPropertyInfo = IsDOMBatteryManager
    type AttrGetType DOMBatteryManagerChargingPropertyInfo = Bool
    type AttrLabel DOMBatteryManagerChargingPropertyInfo = "charging"
    type AttrOrigin DOMBatteryManagerChargingPropertyInfo = DOMBatteryManager
    attrGet _ = getDOMBatteryManagerCharging
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMBatteryManagerChargingTime :: (MonadIO m, IsDOMBatteryManager o) => o -> m Double
getDOMBatteryManagerChargingTime obj = liftIO $ getObjectPropertyDouble obj "charging-time"

data DOMBatteryManagerChargingTimePropertyInfo
instance AttrInfo DOMBatteryManagerChargingTimePropertyInfo where
    type AttrAllowedOps DOMBatteryManagerChargingTimePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMBatteryManagerChargingTimePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMBatteryManagerChargingTimePropertyInfo = IsDOMBatteryManager
    type AttrGetType DOMBatteryManagerChargingTimePropertyInfo = Double
    type AttrLabel DOMBatteryManagerChargingTimePropertyInfo = "charging-time"
    type AttrOrigin DOMBatteryManagerChargingTimePropertyInfo = DOMBatteryManager
    attrGet _ = getDOMBatteryManagerChargingTime
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMBatteryManagerDischargingTime :: (MonadIO m, IsDOMBatteryManager o) => o -> m Double
getDOMBatteryManagerDischargingTime obj = liftIO $ getObjectPropertyDouble obj "discharging-time"

data DOMBatteryManagerDischargingTimePropertyInfo
instance AttrInfo DOMBatteryManagerDischargingTimePropertyInfo where
    type AttrAllowedOps DOMBatteryManagerDischargingTimePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMBatteryManagerDischargingTimePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMBatteryManagerDischargingTimePropertyInfo = IsDOMBatteryManager
    type AttrGetType DOMBatteryManagerDischargingTimePropertyInfo = Double
    type AttrLabel DOMBatteryManagerDischargingTimePropertyInfo = "discharging-time"
    type AttrOrigin DOMBatteryManagerDischargingTimePropertyInfo = DOMBatteryManager
    attrGet _ = getDOMBatteryManagerDischargingTime
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMBatteryManagerLevel :: (MonadIO m, IsDOMBatteryManager o) => o -> m Double
getDOMBatteryManagerLevel obj = liftIO $ getObjectPropertyDouble obj "level"

data DOMBatteryManagerLevelPropertyInfo
instance AttrInfo DOMBatteryManagerLevelPropertyInfo where
    type AttrAllowedOps DOMBatteryManagerLevelPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMBatteryManagerLevelPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMBatteryManagerLevelPropertyInfo = IsDOMBatteryManager
    type AttrGetType DOMBatteryManagerLevelPropertyInfo = Double
    type AttrLabel DOMBatteryManagerLevelPropertyInfo = "level"
    type AttrOrigin DOMBatteryManagerLevelPropertyInfo = DOMBatteryManager
    attrGet _ = getDOMBatteryManagerLevel
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

instance O.HasAttributeList DOMBatteryManager
type instance O.AttributeList DOMBatteryManager = DOMBatteryManagerAttributeList
type DOMBatteryManagerAttributeList = ('[ '("charging", DOMBatteryManagerChargingPropertyInfo), '("chargingTime", DOMBatteryManagerChargingTimePropertyInfo), '("coreObject", WebKit.DOMObject.DOMObjectCoreObjectPropertyInfo), '("dischargingTime", DOMBatteryManagerDischargingTimePropertyInfo), '("level", DOMBatteryManagerLevelPropertyInfo)] :: [(Symbol, *)])

dOMBatteryManagerCharging :: AttrLabelProxy "charging"
dOMBatteryManagerCharging = AttrLabelProxy

dOMBatteryManagerChargingTime :: AttrLabelProxy "chargingTime"
dOMBatteryManagerChargingTime = AttrLabelProxy

dOMBatteryManagerDischargingTime :: AttrLabelProxy "dischargingTime"
dOMBatteryManagerDischargingTime = AttrLabelProxy

dOMBatteryManagerLevel :: AttrLabelProxy "level"
dOMBatteryManagerLevel = AttrLabelProxy

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

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

foreign import ccall "webkit_dom_battery_manager_dispatch_event" webkit_dom_battery_manager_dispatch_event :: 
    Ptr DOMBatteryManager ->                -- self : TInterface (Name {namespace = "WebKit", name = "DOMBatteryManager"})
    Ptr WebKit.DOMEvent.DOMEvent ->         -- event : TInterface (Name {namespace = "WebKit", name = "DOMEvent"})
    Ptr (Ptr GError) ->                     -- error
    IO CInt

{-# DEPRECATED dOMBatteryManagerDispatchEvent ["(Since version 2.4)","Use 'GI.WebKit.Interfaces.DOMEventTarget.dOMEventTargetDispatchEvent' instead."] #-}
{- |
/No description available in the introspection data./
-}
dOMBatteryManagerDispatchEvent ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMBatteryManager a, WebKit.DOMEvent.IsDOMEvent b) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMBatteryManager.DOMBatteryManager' -}
    -> b
    {- ^ /@event@/: A 'GI.WebKit.Objects.DOMEvent.DOMEvent' -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMBatteryManagerDispatchEvent self event = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    event' <- unsafeManagedPtrCastPtr event
    onException (do
        _ <- propagateGError $ webkit_dom_battery_manager_dispatch_event self' event'
        touchManagedPtr self
        touchManagedPtr event
        return ()
     ) (do
        return ()
     )

data DOMBatteryManagerDispatchEventMethodInfo
instance (signature ~ (b -> m ()), MonadIO m, IsDOMBatteryManager a, WebKit.DOMEvent.IsDOMEvent b) => O.MethodInfo DOMBatteryManagerDispatchEventMethodInfo a signature where
    overloadedMethod _ = dOMBatteryManagerDispatchEvent

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

foreign import ccall "webkit_dom_battery_manager_get_charging" webkit_dom_battery_manager_get_charging :: 
    Ptr DOMBatteryManager ->                -- self : TInterface (Name {namespace = "WebKit", name = "DOMBatteryManager"})
    IO CInt

{- |
/No description available in the introspection data./
-}
dOMBatteryManagerGetCharging ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMBatteryManager a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMBatteryManager.DOMBatteryManager' -}
    -> m Bool
    {- ^ __Returns:__ A 'Bool' -}
dOMBatteryManagerGetCharging self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_battery_manager_get_charging self'
    let result' = (/= 0) result
    touchManagedPtr self
    return result'

data DOMBatteryManagerGetChargingMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDOMBatteryManager a) => O.MethodInfo DOMBatteryManagerGetChargingMethodInfo a signature where
    overloadedMethod _ = dOMBatteryManagerGetCharging

-- method DOMBatteryManager::get_charging_time
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMBatteryManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMBatteryManager", 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_battery_manager_get_charging_time" webkit_dom_battery_manager_get_charging_time :: 
    Ptr DOMBatteryManager ->                -- self : TInterface (Name {namespace = "WebKit", name = "DOMBatteryManager"})
    IO CDouble

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

data DOMBatteryManagerGetChargingTimeMethodInfo
instance (signature ~ (m Double), MonadIO m, IsDOMBatteryManager a) => O.MethodInfo DOMBatteryManagerGetChargingTimeMethodInfo a signature where
    overloadedMethod _ = dOMBatteryManagerGetChargingTime

-- method DOMBatteryManager::get_discharging_time
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMBatteryManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMBatteryManager", 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_battery_manager_get_discharging_time" webkit_dom_battery_manager_get_discharging_time :: 
    Ptr DOMBatteryManager ->                -- self : TInterface (Name {namespace = "WebKit", name = "DOMBatteryManager"})
    IO CDouble

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

data DOMBatteryManagerGetDischargingTimeMethodInfo
instance (signature ~ (m Double), MonadIO m, IsDOMBatteryManager a) => O.MethodInfo DOMBatteryManagerGetDischargingTimeMethodInfo a signature where
    overloadedMethod _ = dOMBatteryManagerGetDischargingTime

-- method DOMBatteryManager::get_level
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMBatteryManager"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMBatteryManager", 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_battery_manager_get_level" webkit_dom_battery_manager_get_level :: 
    Ptr DOMBatteryManager ->                -- self : TInterface (Name {namespace = "WebKit", name = "DOMBatteryManager"})
    IO CDouble

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

data DOMBatteryManagerGetLevelMethodInfo
instance (signature ~ (m Double), MonadIO m, IsDOMBatteryManager a) => O.MethodInfo DOMBatteryManagerGetLevelMethodInfo a signature where
    overloadedMethod _ = dOMBatteryManagerGetLevel