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

-- * Exported types
    DOMNavigator(..)                        ,
    IsDOMNavigator                          ,
    toDOMNavigator                          ,
    noDOMNavigator                          ,


 -- * Methods
-- ** getAppCodeName #method:getAppCodeName#
    DOMNavigatorGetAppCodeNameMethodInfo    ,
    dOMNavigatorGetAppCodeName              ,


-- ** getAppName #method:getAppName#
    DOMNavigatorGetAppNameMethodInfo        ,
    dOMNavigatorGetAppName                  ,


-- ** getAppVersion #method:getAppVersion#
    DOMNavigatorGetAppVersionMethodInfo     ,
    dOMNavigatorGetAppVersion               ,


-- ** getCookieEnabled #method:getCookieEnabled#
    DOMNavigatorGetCookieEnabledMethodInfo  ,
    dOMNavigatorGetCookieEnabled            ,


-- ** getGeolocation #method:getGeolocation#
    DOMNavigatorGetGeolocationMethodInfo    ,
    dOMNavigatorGetGeolocation              ,


-- ** getLanguage #method:getLanguage#
    DOMNavigatorGetLanguageMethodInfo       ,
    dOMNavigatorGetLanguage                 ,


-- ** getMimeTypes #method:getMimeTypes#
    DOMNavigatorGetMimeTypesMethodInfo      ,
    dOMNavigatorGetMimeTypes                ,


-- ** getOnLine #method:getOnLine#
    DOMNavigatorGetOnLineMethodInfo         ,
    dOMNavigatorGetOnLine                   ,


-- ** getPlatform #method:getPlatform#
    DOMNavigatorGetPlatformMethodInfo       ,
    dOMNavigatorGetPlatform                 ,


-- ** getPlugins #method:getPlugins#
    DOMNavigatorGetPluginsMethodInfo        ,
    dOMNavigatorGetPlugins                  ,


-- ** getProduct #method:getProduct#
    DOMNavigatorGetProductMethodInfo        ,
    dOMNavigatorGetProduct                  ,


-- ** getProductSub #method:getProductSub#
    DOMNavigatorGetProductSubMethodInfo     ,
    dOMNavigatorGetProductSub               ,


-- ** getStorageUpdates #method:getStorageUpdates#
    DOMNavigatorGetStorageUpdatesMethodInfo ,
    dOMNavigatorGetStorageUpdates           ,


-- ** getUserAgent #method:getUserAgent#
    DOMNavigatorGetUserAgentMethodInfo      ,
    dOMNavigatorGetUserAgent                ,


-- ** getVendor #method:getVendor#
    DOMNavigatorGetVendorMethodInfo         ,
    dOMNavigatorGetVendor                   ,


-- ** getVendorSub #method:getVendorSub#
    DOMNavigatorGetVendorSubMethodInfo      ,
    dOMNavigatorGetVendorSub                ,


-- ** getWebkitBattery #method:getWebkitBattery#
    DOMNavigatorGetWebkitBatteryMethodInfo  ,
    dOMNavigatorGetWebkitBattery            ,


-- ** getWebkitPersistentStorage #method:getWebkitPersistentStorage#
    DOMNavigatorGetWebkitPersistentStorageMethodInfo,
    dOMNavigatorGetWebkitPersistentStorage  ,


-- ** getWebkitTemporaryStorage #method:getWebkitTemporaryStorage#
    DOMNavigatorGetWebkitTemporaryStorageMethodInfo,
    dOMNavigatorGetWebkitTemporaryStorage   ,


-- ** isProtocolHandlerRegistered #method:isProtocolHandlerRegistered#
    DOMNavigatorIsProtocolHandlerRegisteredMethodInfo,
    dOMNavigatorIsProtocolHandlerRegistered ,


-- ** javaEnabled #method:javaEnabled#
    DOMNavigatorJavaEnabledMethodInfo       ,
    dOMNavigatorJavaEnabled                 ,


-- ** registerProtocolHandler #method:registerProtocolHandler#
    DOMNavigatorRegisterProtocolHandlerMethodInfo,
    dOMNavigatorRegisterProtocolHandler     ,


-- ** unregisterProtocolHandler #method:unregisterProtocolHandler#
    DOMNavigatorUnregisterProtocolHandlerMethodInfo,
    dOMNavigatorUnregisterProtocolHandler   ,


-- ** webkitGetGamepads #method:webkitGetGamepads#
    DOMNavigatorWebkitGetGamepadsMethodInfo ,
    dOMNavigatorWebkitGetGamepads           ,




 -- * Properties
-- ** appCodeName #attr:appCodeName#
    DOMNavigatorAppCodeNamePropertyInfo     ,
    dOMNavigatorAppCodeName                 ,
    getDOMNavigatorAppCodeName              ,


-- ** appName #attr:appName#
    DOMNavigatorAppNamePropertyInfo         ,
    dOMNavigatorAppName                     ,
    getDOMNavigatorAppName                  ,


-- ** appVersion #attr:appVersion#
    DOMNavigatorAppVersionPropertyInfo      ,
    dOMNavigatorAppVersion                  ,
    getDOMNavigatorAppVersion               ,


-- ** cookieEnabled #attr:cookieEnabled#
    DOMNavigatorCookieEnabledPropertyInfo   ,
    dOMNavigatorCookieEnabled               ,
    getDOMNavigatorCookieEnabled            ,


-- ** geolocation #attr:geolocation#
    DOMNavigatorGeolocationPropertyInfo     ,
    dOMNavigatorGeolocation                 ,
    getDOMNavigatorGeolocation              ,


-- ** language #attr:language#
    DOMNavigatorLanguagePropertyInfo        ,
    dOMNavigatorLanguage                    ,
    getDOMNavigatorLanguage                 ,


-- ** mimeTypes #attr:mimeTypes#
    DOMNavigatorMimeTypesPropertyInfo       ,
    dOMNavigatorMimeTypes                   ,
    getDOMNavigatorMimeTypes                ,


-- ** onLine #attr:onLine#
    DOMNavigatorOnLinePropertyInfo          ,
    dOMNavigatorOnLine                      ,
    getDOMNavigatorOnLine                   ,


-- ** platform #attr:platform#
    DOMNavigatorPlatformPropertyInfo        ,
    dOMNavigatorPlatform                    ,
    getDOMNavigatorPlatform                 ,


-- ** plugins #attr:plugins#
    DOMNavigatorPluginsPropertyInfo         ,
    dOMNavigatorPlugins                     ,
    getDOMNavigatorPlugins                  ,


-- ** product #attr:product#
    DOMNavigatorProductPropertyInfo         ,
    dOMNavigatorProduct                     ,
    getDOMNavigatorProduct                  ,


-- ** productSub #attr:productSub#
    DOMNavigatorProductSubPropertyInfo      ,
    dOMNavigatorProductSub                  ,
    getDOMNavigatorProductSub               ,


-- ** userAgent #attr:userAgent#
    DOMNavigatorUserAgentPropertyInfo       ,
    dOMNavigatorUserAgent                   ,
    getDOMNavigatorUserAgent                ,


-- ** vendor #attr:vendor#
    DOMNavigatorVendorPropertyInfo          ,
    dOMNavigatorVendor                      ,
    getDOMNavigatorVendor                   ,


-- ** vendorSub #attr:vendorSub#
    DOMNavigatorVendorSubPropertyInfo       ,
    dOMNavigatorVendorSub                   ,
    getDOMNavigatorVendorSub                ,


-- ** webkitBattery #attr:webkitBattery#
    DOMNavigatorWebkitBatteryPropertyInfo   ,
    dOMNavigatorWebkitBattery               ,
    getDOMNavigatorWebkitBattery            ,


-- ** webkitPersistentStorage #attr:webkitPersistentStorage#
    DOMNavigatorWebkitPersistentStoragePropertyInfo,
    dOMNavigatorWebkitPersistentStorage     ,
    getDOMNavigatorWebkitPersistentStorage  ,


-- ** webkitTemporaryStorage #attr:webkitTemporaryStorage#
    DOMNavigatorWebkitTemporaryStoragePropertyInfo,
    dOMNavigatorWebkitTemporaryStorage      ,
    getDOMNavigatorWebkitTemporaryStorage   ,




    ) 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.DOMBatteryManager as WebKit.DOMBatteryManager
import {-# SOURCE #-} qualified GI.WebKit.Objects.DOMDOMMimeTypeArray as WebKit.DOMDOMMimeTypeArray
import {-# SOURCE #-} qualified GI.WebKit.Objects.DOMDOMPluginArray as WebKit.DOMDOMPluginArray
import {-# SOURCE #-} qualified GI.WebKit.Objects.DOMGamepadList as WebKit.DOMGamepadList
import {-# SOURCE #-} qualified GI.WebKit.Objects.DOMGeolocation as WebKit.DOMGeolocation
import {-# SOURCE #-} qualified GI.WebKit.Objects.DOMObject as WebKit.DOMObject
import {-# SOURCE #-} qualified GI.WebKit.Objects.DOMStorageQuota as WebKit.DOMStorageQuota

newtype DOMNavigator = DOMNavigator (ManagedPtr DOMNavigator)
foreign import ccall "webkit_dom_navigator_get_type"
    c_webkit_dom_navigator_get_type :: IO GType

instance GObject DOMNavigator where
    gobjectType _ = c_webkit_dom_navigator_get_type
    

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

toDOMNavigator :: IsDOMNavigator o => o -> IO DOMNavigator
toDOMNavigator = unsafeCastTo DOMNavigator

noDOMNavigator :: Maybe DOMNavigator
noDOMNavigator = Nothing

type family ResolveDOMNavigatorMethod (t :: Symbol) (o :: *) :: * where
    ResolveDOMNavigatorMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveDOMNavigatorMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveDOMNavigatorMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveDOMNavigatorMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveDOMNavigatorMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveDOMNavigatorMethod "isProtocolHandlerRegistered" o = DOMNavigatorIsProtocolHandlerRegisteredMethodInfo
    ResolveDOMNavigatorMethod "javaEnabled" o = DOMNavigatorJavaEnabledMethodInfo
    ResolveDOMNavigatorMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveDOMNavigatorMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveDOMNavigatorMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveDOMNavigatorMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveDOMNavigatorMethod "registerProtocolHandler" o = DOMNavigatorRegisterProtocolHandlerMethodInfo
    ResolveDOMNavigatorMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
    ResolveDOMNavigatorMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
    ResolveDOMNavigatorMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveDOMNavigatorMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveDOMNavigatorMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveDOMNavigatorMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveDOMNavigatorMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveDOMNavigatorMethod "unregisterProtocolHandler" o = DOMNavigatorUnregisterProtocolHandlerMethodInfo
    ResolveDOMNavigatorMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveDOMNavigatorMethod "webkitGetGamepads" o = DOMNavigatorWebkitGetGamepadsMethodInfo
    ResolveDOMNavigatorMethod "getAppCodeName" o = DOMNavigatorGetAppCodeNameMethodInfo
    ResolveDOMNavigatorMethod "getAppName" o = DOMNavigatorGetAppNameMethodInfo
    ResolveDOMNavigatorMethod "getAppVersion" o = DOMNavigatorGetAppVersionMethodInfo
    ResolveDOMNavigatorMethod "getCookieEnabled" o = DOMNavigatorGetCookieEnabledMethodInfo
    ResolveDOMNavigatorMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveDOMNavigatorMethod "getGeolocation" o = DOMNavigatorGetGeolocationMethodInfo
    ResolveDOMNavigatorMethod "getLanguage" o = DOMNavigatorGetLanguageMethodInfo
    ResolveDOMNavigatorMethod "getMimeTypes" o = DOMNavigatorGetMimeTypesMethodInfo
    ResolveDOMNavigatorMethod "getOnLine" o = DOMNavigatorGetOnLineMethodInfo
    ResolveDOMNavigatorMethod "getPlatform" o = DOMNavigatorGetPlatformMethodInfo
    ResolveDOMNavigatorMethod "getPlugins" o = DOMNavigatorGetPluginsMethodInfo
    ResolveDOMNavigatorMethod "getProduct" o = DOMNavigatorGetProductMethodInfo
    ResolveDOMNavigatorMethod "getProductSub" o = DOMNavigatorGetProductSubMethodInfo
    ResolveDOMNavigatorMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveDOMNavigatorMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveDOMNavigatorMethod "getStorageUpdates" o = DOMNavigatorGetStorageUpdatesMethodInfo
    ResolveDOMNavigatorMethod "getUserAgent" o = DOMNavigatorGetUserAgentMethodInfo
    ResolveDOMNavigatorMethod "getVendor" o = DOMNavigatorGetVendorMethodInfo
    ResolveDOMNavigatorMethod "getVendorSub" o = DOMNavigatorGetVendorSubMethodInfo
    ResolveDOMNavigatorMethod "getWebkitBattery" o = DOMNavigatorGetWebkitBatteryMethodInfo
    ResolveDOMNavigatorMethod "getWebkitPersistentStorage" o = DOMNavigatorGetWebkitPersistentStorageMethodInfo
    ResolveDOMNavigatorMethod "getWebkitTemporaryStorage" o = DOMNavigatorGetWebkitTemporaryStorageMethodInfo
    ResolveDOMNavigatorMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveDOMNavigatorMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveDOMNavigatorMethod l o = O.MethodResolutionFailed l o

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

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

-- VVV Prop "app-code-name"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMNavigatorAppCodeName :: (MonadIO m, IsDOMNavigator o) => o -> m (Maybe T.Text)
getDOMNavigatorAppCodeName obj = liftIO $ getObjectPropertyString obj "app-code-name"

data DOMNavigatorAppCodeNamePropertyInfo
instance AttrInfo DOMNavigatorAppCodeNamePropertyInfo where
    type AttrAllowedOps DOMNavigatorAppCodeNamePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMNavigatorAppCodeNamePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorAppCodeNamePropertyInfo = IsDOMNavigator
    type AttrGetType DOMNavigatorAppCodeNamePropertyInfo = (Maybe T.Text)
    type AttrLabel DOMNavigatorAppCodeNamePropertyInfo = "app-code-name"
    type AttrOrigin DOMNavigatorAppCodeNamePropertyInfo = DOMNavigator
    attrGet _ = getDOMNavigatorAppCodeName
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "app-name"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMNavigatorAppName :: (MonadIO m, IsDOMNavigator o) => o -> m (Maybe T.Text)
getDOMNavigatorAppName obj = liftIO $ getObjectPropertyString obj "app-name"

data DOMNavigatorAppNamePropertyInfo
instance AttrInfo DOMNavigatorAppNamePropertyInfo where
    type AttrAllowedOps DOMNavigatorAppNamePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMNavigatorAppNamePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorAppNamePropertyInfo = IsDOMNavigator
    type AttrGetType DOMNavigatorAppNamePropertyInfo = (Maybe T.Text)
    type AttrLabel DOMNavigatorAppNamePropertyInfo = "app-name"
    type AttrOrigin DOMNavigatorAppNamePropertyInfo = DOMNavigator
    attrGet _ = getDOMNavigatorAppName
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "app-version"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMNavigatorAppVersion :: (MonadIO m, IsDOMNavigator o) => o -> m (Maybe T.Text)
getDOMNavigatorAppVersion obj = liftIO $ getObjectPropertyString obj "app-version"

data DOMNavigatorAppVersionPropertyInfo
instance AttrInfo DOMNavigatorAppVersionPropertyInfo where
    type AttrAllowedOps DOMNavigatorAppVersionPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMNavigatorAppVersionPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorAppVersionPropertyInfo = IsDOMNavigator
    type AttrGetType DOMNavigatorAppVersionPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMNavigatorAppVersionPropertyInfo = "app-version"
    type AttrOrigin DOMNavigatorAppVersionPropertyInfo = DOMNavigator
    attrGet _ = getDOMNavigatorAppVersion
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMNavigatorCookieEnabled :: (MonadIO m, IsDOMNavigator o) => o -> m Bool
getDOMNavigatorCookieEnabled obj = liftIO $ getObjectPropertyBool obj "cookie-enabled"

data DOMNavigatorCookieEnabledPropertyInfo
instance AttrInfo DOMNavigatorCookieEnabledPropertyInfo where
    type AttrAllowedOps DOMNavigatorCookieEnabledPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMNavigatorCookieEnabledPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorCookieEnabledPropertyInfo = IsDOMNavigator
    type AttrGetType DOMNavigatorCookieEnabledPropertyInfo = Bool
    type AttrLabel DOMNavigatorCookieEnabledPropertyInfo = "cookie-enabled"
    type AttrOrigin DOMNavigatorCookieEnabledPropertyInfo = DOMNavigator
    attrGet _ = getDOMNavigatorCookieEnabled
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "geolocation"
   -- Type: TInterface (Name {namespace = "WebKit", name = "DOMGeolocation"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMNavigatorGeolocation :: (MonadIO m, IsDOMNavigator o) => o -> m (Maybe WebKit.DOMGeolocation.DOMGeolocation)
getDOMNavigatorGeolocation obj = liftIO $ getObjectPropertyObject obj "geolocation" WebKit.DOMGeolocation.DOMGeolocation

data DOMNavigatorGeolocationPropertyInfo
instance AttrInfo DOMNavigatorGeolocationPropertyInfo where
    type AttrAllowedOps DOMNavigatorGeolocationPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMNavigatorGeolocationPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorGeolocationPropertyInfo = IsDOMNavigator
    type AttrGetType DOMNavigatorGeolocationPropertyInfo = (Maybe WebKit.DOMGeolocation.DOMGeolocation)
    type AttrLabel DOMNavigatorGeolocationPropertyInfo = "geolocation"
    type AttrOrigin DOMNavigatorGeolocationPropertyInfo = DOMNavigator
    attrGet _ = getDOMNavigatorGeolocation
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "language"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMNavigatorLanguage :: (MonadIO m, IsDOMNavigator o) => o -> m (Maybe T.Text)
getDOMNavigatorLanguage obj = liftIO $ getObjectPropertyString obj "language"

data DOMNavigatorLanguagePropertyInfo
instance AttrInfo DOMNavigatorLanguagePropertyInfo where
    type AttrAllowedOps DOMNavigatorLanguagePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMNavigatorLanguagePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorLanguagePropertyInfo = IsDOMNavigator
    type AttrGetType DOMNavigatorLanguagePropertyInfo = (Maybe T.Text)
    type AttrLabel DOMNavigatorLanguagePropertyInfo = "language"
    type AttrOrigin DOMNavigatorLanguagePropertyInfo = DOMNavigator
    attrGet _ = getDOMNavigatorLanguage
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "mime-types"
   -- Type: TInterface (Name {namespace = "WebKit", name = "DOMDOMMimeTypeArray"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMNavigatorMimeTypes :: (MonadIO m, IsDOMNavigator o) => o -> m (Maybe WebKit.DOMDOMMimeTypeArray.DOMDOMMimeTypeArray)
getDOMNavigatorMimeTypes obj = liftIO $ getObjectPropertyObject obj "mime-types" WebKit.DOMDOMMimeTypeArray.DOMDOMMimeTypeArray

data DOMNavigatorMimeTypesPropertyInfo
instance AttrInfo DOMNavigatorMimeTypesPropertyInfo where
    type AttrAllowedOps DOMNavigatorMimeTypesPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMNavigatorMimeTypesPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorMimeTypesPropertyInfo = IsDOMNavigator
    type AttrGetType DOMNavigatorMimeTypesPropertyInfo = (Maybe WebKit.DOMDOMMimeTypeArray.DOMDOMMimeTypeArray)
    type AttrLabel DOMNavigatorMimeTypesPropertyInfo = "mime-types"
    type AttrOrigin DOMNavigatorMimeTypesPropertyInfo = DOMNavigator
    attrGet _ = getDOMNavigatorMimeTypes
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMNavigatorOnLine :: (MonadIO m, IsDOMNavigator o) => o -> m Bool
getDOMNavigatorOnLine obj = liftIO $ getObjectPropertyBool obj "on-line"

data DOMNavigatorOnLinePropertyInfo
instance AttrInfo DOMNavigatorOnLinePropertyInfo where
    type AttrAllowedOps DOMNavigatorOnLinePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMNavigatorOnLinePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorOnLinePropertyInfo = IsDOMNavigator
    type AttrGetType DOMNavigatorOnLinePropertyInfo = Bool
    type AttrLabel DOMNavigatorOnLinePropertyInfo = "on-line"
    type AttrOrigin DOMNavigatorOnLinePropertyInfo = DOMNavigator
    attrGet _ = getDOMNavigatorOnLine
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "platform"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMNavigatorPlatform :: (MonadIO m, IsDOMNavigator o) => o -> m (Maybe T.Text)
getDOMNavigatorPlatform obj = liftIO $ getObjectPropertyString obj "platform"

data DOMNavigatorPlatformPropertyInfo
instance AttrInfo DOMNavigatorPlatformPropertyInfo where
    type AttrAllowedOps DOMNavigatorPlatformPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMNavigatorPlatformPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorPlatformPropertyInfo = IsDOMNavigator
    type AttrGetType DOMNavigatorPlatformPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMNavigatorPlatformPropertyInfo = "platform"
    type AttrOrigin DOMNavigatorPlatformPropertyInfo = DOMNavigator
    attrGet _ = getDOMNavigatorPlatform
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "plugins"
   -- Type: TInterface (Name {namespace = "WebKit", name = "DOMDOMPluginArray"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMNavigatorPlugins :: (MonadIO m, IsDOMNavigator o) => o -> m (Maybe WebKit.DOMDOMPluginArray.DOMDOMPluginArray)
getDOMNavigatorPlugins obj = liftIO $ getObjectPropertyObject obj "plugins" WebKit.DOMDOMPluginArray.DOMDOMPluginArray

data DOMNavigatorPluginsPropertyInfo
instance AttrInfo DOMNavigatorPluginsPropertyInfo where
    type AttrAllowedOps DOMNavigatorPluginsPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMNavigatorPluginsPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorPluginsPropertyInfo = IsDOMNavigator
    type AttrGetType DOMNavigatorPluginsPropertyInfo = (Maybe WebKit.DOMDOMPluginArray.DOMDOMPluginArray)
    type AttrLabel DOMNavigatorPluginsPropertyInfo = "plugins"
    type AttrOrigin DOMNavigatorPluginsPropertyInfo = DOMNavigator
    attrGet _ = getDOMNavigatorPlugins
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "product"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMNavigatorProduct :: (MonadIO m, IsDOMNavigator o) => o -> m (Maybe T.Text)
getDOMNavigatorProduct obj = liftIO $ getObjectPropertyString obj "product"

data DOMNavigatorProductPropertyInfo
instance AttrInfo DOMNavigatorProductPropertyInfo where
    type AttrAllowedOps DOMNavigatorProductPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMNavigatorProductPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorProductPropertyInfo = IsDOMNavigator
    type AttrGetType DOMNavigatorProductPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMNavigatorProductPropertyInfo = "product"
    type AttrOrigin DOMNavigatorProductPropertyInfo = DOMNavigator
    attrGet _ = getDOMNavigatorProduct
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "product-sub"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMNavigatorProductSub :: (MonadIO m, IsDOMNavigator o) => o -> m (Maybe T.Text)
getDOMNavigatorProductSub obj = liftIO $ getObjectPropertyString obj "product-sub"

data DOMNavigatorProductSubPropertyInfo
instance AttrInfo DOMNavigatorProductSubPropertyInfo where
    type AttrAllowedOps DOMNavigatorProductSubPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMNavigatorProductSubPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorProductSubPropertyInfo = IsDOMNavigator
    type AttrGetType DOMNavigatorProductSubPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMNavigatorProductSubPropertyInfo = "product-sub"
    type AttrOrigin DOMNavigatorProductSubPropertyInfo = DOMNavigator
    attrGet _ = getDOMNavigatorProductSub
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "user-agent"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMNavigatorUserAgent :: (MonadIO m, IsDOMNavigator o) => o -> m (Maybe T.Text)
getDOMNavigatorUserAgent obj = liftIO $ getObjectPropertyString obj "user-agent"

data DOMNavigatorUserAgentPropertyInfo
instance AttrInfo DOMNavigatorUserAgentPropertyInfo where
    type AttrAllowedOps DOMNavigatorUserAgentPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMNavigatorUserAgentPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorUserAgentPropertyInfo = IsDOMNavigator
    type AttrGetType DOMNavigatorUserAgentPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMNavigatorUserAgentPropertyInfo = "user-agent"
    type AttrOrigin DOMNavigatorUserAgentPropertyInfo = DOMNavigator
    attrGet _ = getDOMNavigatorUserAgent
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "vendor"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMNavigatorVendor :: (MonadIO m, IsDOMNavigator o) => o -> m (Maybe T.Text)
getDOMNavigatorVendor obj = liftIO $ getObjectPropertyString obj "vendor"

data DOMNavigatorVendorPropertyInfo
instance AttrInfo DOMNavigatorVendorPropertyInfo where
    type AttrAllowedOps DOMNavigatorVendorPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMNavigatorVendorPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorVendorPropertyInfo = IsDOMNavigator
    type AttrGetType DOMNavigatorVendorPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMNavigatorVendorPropertyInfo = "vendor"
    type AttrOrigin DOMNavigatorVendorPropertyInfo = DOMNavigator
    attrGet _ = getDOMNavigatorVendor
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "vendor-sub"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMNavigatorVendorSub :: (MonadIO m, IsDOMNavigator o) => o -> m (Maybe T.Text)
getDOMNavigatorVendorSub obj = liftIO $ getObjectPropertyString obj "vendor-sub"

data DOMNavigatorVendorSubPropertyInfo
instance AttrInfo DOMNavigatorVendorSubPropertyInfo where
    type AttrAllowedOps DOMNavigatorVendorSubPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMNavigatorVendorSubPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorVendorSubPropertyInfo = IsDOMNavigator
    type AttrGetType DOMNavigatorVendorSubPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMNavigatorVendorSubPropertyInfo = "vendor-sub"
    type AttrOrigin DOMNavigatorVendorSubPropertyInfo = DOMNavigator
    attrGet _ = getDOMNavigatorVendorSub
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "webkit-battery"
   -- Type: TInterface (Name {namespace = "WebKit", name = "DOMBatteryManager"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Nothing,Nothing)

getDOMNavigatorWebkitBattery :: (MonadIO m, IsDOMNavigator o) => o -> m (Maybe WebKit.DOMBatteryManager.DOMBatteryManager)
getDOMNavigatorWebkitBattery obj = liftIO $ getObjectPropertyObject obj "webkit-battery" WebKit.DOMBatteryManager.DOMBatteryManager

data DOMNavigatorWebkitBatteryPropertyInfo
instance AttrInfo DOMNavigatorWebkitBatteryPropertyInfo where
    type AttrAllowedOps DOMNavigatorWebkitBatteryPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMNavigatorWebkitBatteryPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorWebkitBatteryPropertyInfo = IsDOMNavigator
    type AttrGetType DOMNavigatorWebkitBatteryPropertyInfo = (Maybe WebKit.DOMBatteryManager.DOMBatteryManager)
    type AttrLabel DOMNavigatorWebkitBatteryPropertyInfo = "webkit-battery"
    type AttrOrigin DOMNavigatorWebkitBatteryPropertyInfo = DOMNavigator
    attrGet _ = getDOMNavigatorWebkitBattery
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "webkit-persistent-storage"
   -- Type: TInterface (Name {namespace = "WebKit", name = "DOMStorageQuota"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMNavigatorWebkitPersistentStorage :: (MonadIO m, IsDOMNavigator o) => o -> m WebKit.DOMStorageQuota.DOMStorageQuota
getDOMNavigatorWebkitPersistentStorage obj = liftIO $ checkUnexpectedNothing "getDOMNavigatorWebkitPersistentStorage" $ getObjectPropertyObject obj "webkit-persistent-storage" WebKit.DOMStorageQuota.DOMStorageQuota

data DOMNavigatorWebkitPersistentStoragePropertyInfo
instance AttrInfo DOMNavigatorWebkitPersistentStoragePropertyInfo where
    type AttrAllowedOps DOMNavigatorWebkitPersistentStoragePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMNavigatorWebkitPersistentStoragePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorWebkitPersistentStoragePropertyInfo = IsDOMNavigator
    type AttrGetType DOMNavigatorWebkitPersistentStoragePropertyInfo = WebKit.DOMStorageQuota.DOMStorageQuota
    type AttrLabel DOMNavigatorWebkitPersistentStoragePropertyInfo = "webkit-persistent-storage"
    type AttrOrigin DOMNavigatorWebkitPersistentStoragePropertyInfo = DOMNavigator
    attrGet _ = getDOMNavigatorWebkitPersistentStorage
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

-- VVV Prop "webkit-temporary-storage"
   -- Type: TInterface (Name {namespace = "WebKit", name = "DOMStorageQuota"})
   -- Flags: [PropertyReadable]
   -- Nullable: (Just False,Nothing)

getDOMNavigatorWebkitTemporaryStorage :: (MonadIO m, IsDOMNavigator o) => o -> m WebKit.DOMStorageQuota.DOMStorageQuota
getDOMNavigatorWebkitTemporaryStorage obj = liftIO $ checkUnexpectedNothing "getDOMNavigatorWebkitTemporaryStorage" $ getObjectPropertyObject obj "webkit-temporary-storage" WebKit.DOMStorageQuota.DOMStorageQuota

data DOMNavigatorWebkitTemporaryStoragePropertyInfo
instance AttrInfo DOMNavigatorWebkitTemporaryStoragePropertyInfo where
    type AttrAllowedOps DOMNavigatorWebkitTemporaryStoragePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMNavigatorWebkitTemporaryStoragePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorWebkitTemporaryStoragePropertyInfo = IsDOMNavigator
    type AttrGetType DOMNavigatorWebkitTemporaryStoragePropertyInfo = WebKit.DOMStorageQuota.DOMStorageQuota
    type AttrLabel DOMNavigatorWebkitTemporaryStoragePropertyInfo = "webkit-temporary-storage"
    type AttrOrigin DOMNavigatorWebkitTemporaryStoragePropertyInfo = DOMNavigator
    attrGet _ = getDOMNavigatorWebkitTemporaryStorage
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

instance O.HasAttributeList DOMNavigator
type instance O.AttributeList DOMNavigator = DOMNavigatorAttributeList
type DOMNavigatorAttributeList = ('[ '("appCodeName", DOMNavigatorAppCodeNamePropertyInfo), '("appName", DOMNavigatorAppNamePropertyInfo), '("appVersion", DOMNavigatorAppVersionPropertyInfo), '("cookieEnabled", DOMNavigatorCookieEnabledPropertyInfo), '("coreObject", WebKit.DOMObject.DOMObjectCoreObjectPropertyInfo), '("geolocation", DOMNavigatorGeolocationPropertyInfo), '("language", DOMNavigatorLanguagePropertyInfo), '("mimeTypes", DOMNavigatorMimeTypesPropertyInfo), '("onLine", DOMNavigatorOnLinePropertyInfo), '("platform", DOMNavigatorPlatformPropertyInfo), '("plugins", DOMNavigatorPluginsPropertyInfo), '("product", DOMNavigatorProductPropertyInfo), '("productSub", DOMNavigatorProductSubPropertyInfo), '("userAgent", DOMNavigatorUserAgentPropertyInfo), '("vendor", DOMNavigatorVendorPropertyInfo), '("vendorSub", DOMNavigatorVendorSubPropertyInfo), '("webkitBattery", DOMNavigatorWebkitBatteryPropertyInfo), '("webkitPersistentStorage", DOMNavigatorWebkitPersistentStoragePropertyInfo), '("webkitTemporaryStorage", DOMNavigatorWebkitTemporaryStoragePropertyInfo)] :: [(Symbol, *)])

dOMNavigatorAppCodeName :: AttrLabelProxy "appCodeName"
dOMNavigatorAppCodeName = AttrLabelProxy

dOMNavigatorAppName :: AttrLabelProxy "appName"
dOMNavigatorAppName = AttrLabelProxy

dOMNavigatorAppVersion :: AttrLabelProxy "appVersion"
dOMNavigatorAppVersion = AttrLabelProxy

dOMNavigatorCookieEnabled :: AttrLabelProxy "cookieEnabled"
dOMNavigatorCookieEnabled = AttrLabelProxy

dOMNavigatorGeolocation :: AttrLabelProxy "geolocation"
dOMNavigatorGeolocation = AttrLabelProxy

dOMNavigatorLanguage :: AttrLabelProxy "language"
dOMNavigatorLanguage = AttrLabelProxy

dOMNavigatorMimeTypes :: AttrLabelProxy "mimeTypes"
dOMNavigatorMimeTypes = AttrLabelProxy

dOMNavigatorOnLine :: AttrLabelProxy "onLine"
dOMNavigatorOnLine = AttrLabelProxy

dOMNavigatorPlatform :: AttrLabelProxy "platform"
dOMNavigatorPlatform = AttrLabelProxy

dOMNavigatorPlugins :: AttrLabelProxy "plugins"
dOMNavigatorPlugins = AttrLabelProxy

dOMNavigatorProduct :: AttrLabelProxy "product"
dOMNavigatorProduct = AttrLabelProxy

dOMNavigatorProductSub :: AttrLabelProxy "productSub"
dOMNavigatorProductSub = AttrLabelProxy

dOMNavigatorUserAgent :: AttrLabelProxy "userAgent"
dOMNavigatorUserAgent = AttrLabelProxy

dOMNavigatorVendor :: AttrLabelProxy "vendor"
dOMNavigatorVendor = AttrLabelProxy

dOMNavigatorVendorSub :: AttrLabelProxy "vendorSub"
dOMNavigatorVendorSub = AttrLabelProxy

dOMNavigatorWebkitBattery :: AttrLabelProxy "webkitBattery"
dOMNavigatorWebkitBattery = AttrLabelProxy

dOMNavigatorWebkitPersistentStorage :: AttrLabelProxy "webkitPersistentStorage"
dOMNavigatorWebkitPersistentStorage = AttrLabelProxy

dOMNavigatorWebkitTemporaryStorage :: AttrLabelProxy "webkitTemporaryStorage"
dOMNavigatorWebkitTemporaryStorage = AttrLabelProxy

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

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

foreign import ccall "webkit_dom_navigator_get_app_code_name" webkit_dom_navigator_get_app_code_name :: 
    Ptr DOMNavigator ->                     -- self : TInterface (Name {namespace = "WebKit", name = "DOMNavigator"})
    IO CString

{- |
/No description available in the introspection data./
-}
dOMNavigatorGetAppCodeName ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNavigator a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMNavigator.DOMNavigator' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMNavigatorGetAppCodeName self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_navigator_get_app_code_name self'
    checkUnexpectedReturnNULL "dOMNavigatorGetAppCodeName" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

data DOMNavigatorGetAppCodeNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorGetAppCodeNameMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorGetAppCodeName

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

foreign import ccall "webkit_dom_navigator_get_app_name" webkit_dom_navigator_get_app_name :: 
    Ptr DOMNavigator ->                     -- self : TInterface (Name {namespace = "WebKit", name = "DOMNavigator"})
    IO CString

{- |
/No description available in the introspection data./
-}
dOMNavigatorGetAppName ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNavigator a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMNavigator.DOMNavigator' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMNavigatorGetAppName self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_navigator_get_app_name self'
    checkUnexpectedReturnNULL "dOMNavigatorGetAppName" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

data DOMNavigatorGetAppNameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorGetAppNameMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorGetAppName

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

foreign import ccall "webkit_dom_navigator_get_app_version" webkit_dom_navigator_get_app_version :: 
    Ptr DOMNavigator ->                     -- self : TInterface (Name {namespace = "WebKit", name = "DOMNavigator"})
    IO CString

{- |
/No description available in the introspection data./
-}
dOMNavigatorGetAppVersion ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNavigator a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMNavigator.DOMNavigator' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMNavigatorGetAppVersion self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_navigator_get_app_version self'
    checkUnexpectedReturnNULL "dOMNavigatorGetAppVersion" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

data DOMNavigatorGetAppVersionMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorGetAppVersionMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorGetAppVersion

-- method DOMNavigator::get_cookie_enabled
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMNavigator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMNavigator", 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_navigator_get_cookie_enabled" webkit_dom_navigator_get_cookie_enabled :: 
    Ptr DOMNavigator ->                     -- self : TInterface (Name {namespace = "WebKit", name = "DOMNavigator"})
    IO CInt

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

data DOMNavigatorGetCookieEnabledMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorGetCookieEnabledMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorGetCookieEnabled

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

foreign import ccall "webkit_dom_navigator_get_geolocation" webkit_dom_navigator_get_geolocation :: 
    Ptr DOMNavigator ->                     -- self : TInterface (Name {namespace = "WebKit", name = "DOMNavigator"})
    IO (Ptr WebKit.DOMGeolocation.DOMGeolocation)

{- |
/No description available in the introspection data./
-}
dOMNavigatorGetGeolocation ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNavigator a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMNavigator.DOMNavigator' -}
    -> m WebKit.DOMGeolocation.DOMGeolocation
    {- ^ __Returns:__ A 'GI.WebKit.Objects.DOMGeolocation.DOMGeolocation' -}
dOMNavigatorGetGeolocation self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_navigator_get_geolocation self'
    checkUnexpectedReturnNULL "dOMNavigatorGetGeolocation" result
    result' <- (wrapObject WebKit.DOMGeolocation.DOMGeolocation) result
    touchManagedPtr self
    return result'

data DOMNavigatorGetGeolocationMethodInfo
instance (signature ~ (m WebKit.DOMGeolocation.DOMGeolocation), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorGetGeolocationMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorGetGeolocation

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

foreign import ccall "webkit_dom_navigator_get_language" webkit_dom_navigator_get_language :: 
    Ptr DOMNavigator ->                     -- self : TInterface (Name {namespace = "WebKit", name = "DOMNavigator"})
    IO CString

{- |
/No description available in the introspection data./
-}
dOMNavigatorGetLanguage ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNavigator a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMNavigator.DOMNavigator' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMNavigatorGetLanguage self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_navigator_get_language self'
    checkUnexpectedReturnNULL "dOMNavigatorGetLanguage" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

data DOMNavigatorGetLanguageMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorGetLanguageMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorGetLanguage

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

foreign import ccall "webkit_dom_navigator_get_mime_types" webkit_dom_navigator_get_mime_types :: 
    Ptr DOMNavigator ->                     -- self : TInterface (Name {namespace = "WebKit", name = "DOMNavigator"})
    IO (Ptr WebKit.DOMDOMMimeTypeArray.DOMDOMMimeTypeArray)

{- |
/No description available in the introspection data./
-}
dOMNavigatorGetMimeTypes ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNavigator a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMNavigator.DOMNavigator' -}
    -> m WebKit.DOMDOMMimeTypeArray.DOMDOMMimeTypeArray
    {- ^ __Returns:__ A 'GI.WebKit.Objects.DOMDOMMimeTypeArray.DOMDOMMimeTypeArray' -}
dOMNavigatorGetMimeTypes self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_navigator_get_mime_types self'
    checkUnexpectedReturnNULL "dOMNavigatorGetMimeTypes" result
    result' <- (wrapObject WebKit.DOMDOMMimeTypeArray.DOMDOMMimeTypeArray) result
    touchManagedPtr self
    return result'

data DOMNavigatorGetMimeTypesMethodInfo
instance (signature ~ (m WebKit.DOMDOMMimeTypeArray.DOMDOMMimeTypeArray), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorGetMimeTypesMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorGetMimeTypes

-- method DOMNavigator::get_on_line
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMNavigator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMNavigator", 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_navigator_get_on_line" webkit_dom_navigator_get_on_line :: 
    Ptr DOMNavigator ->                     -- self : TInterface (Name {namespace = "WebKit", name = "DOMNavigator"})
    IO CInt

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

data DOMNavigatorGetOnLineMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorGetOnLineMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorGetOnLine

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

foreign import ccall "webkit_dom_navigator_get_platform" webkit_dom_navigator_get_platform :: 
    Ptr DOMNavigator ->                     -- self : TInterface (Name {namespace = "WebKit", name = "DOMNavigator"})
    IO CString

{- |
/No description available in the introspection data./
-}
dOMNavigatorGetPlatform ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNavigator a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMNavigator.DOMNavigator' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMNavigatorGetPlatform self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_navigator_get_platform self'
    checkUnexpectedReturnNULL "dOMNavigatorGetPlatform" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

data DOMNavigatorGetPlatformMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorGetPlatformMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorGetPlatform

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

foreign import ccall "webkit_dom_navigator_get_plugins" webkit_dom_navigator_get_plugins :: 
    Ptr DOMNavigator ->                     -- self : TInterface (Name {namespace = "WebKit", name = "DOMNavigator"})
    IO (Ptr WebKit.DOMDOMPluginArray.DOMDOMPluginArray)

{- |
/No description available in the introspection data./
-}
dOMNavigatorGetPlugins ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNavigator a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMNavigator.DOMNavigator' -}
    -> m WebKit.DOMDOMPluginArray.DOMDOMPluginArray
    {- ^ __Returns:__ A 'GI.WebKit.Objects.DOMDOMPluginArray.DOMDOMPluginArray' -}
dOMNavigatorGetPlugins self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_navigator_get_plugins self'
    checkUnexpectedReturnNULL "dOMNavigatorGetPlugins" result
    result' <- (wrapObject WebKit.DOMDOMPluginArray.DOMDOMPluginArray) result
    touchManagedPtr self
    return result'

data DOMNavigatorGetPluginsMethodInfo
instance (signature ~ (m WebKit.DOMDOMPluginArray.DOMDOMPluginArray), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorGetPluginsMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorGetPlugins

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

foreign import ccall "webkit_dom_navigator_get_product" webkit_dom_navigator_get_product :: 
    Ptr DOMNavigator ->                     -- self : TInterface (Name {namespace = "WebKit", name = "DOMNavigator"})
    IO CString

{- |
/No description available in the introspection data./
-}
dOMNavigatorGetProduct ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNavigator a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMNavigator.DOMNavigator' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMNavigatorGetProduct self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_navigator_get_product self'
    checkUnexpectedReturnNULL "dOMNavigatorGetProduct" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

data DOMNavigatorGetProductMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorGetProductMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorGetProduct

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

foreign import ccall "webkit_dom_navigator_get_product_sub" webkit_dom_navigator_get_product_sub :: 
    Ptr DOMNavigator ->                     -- self : TInterface (Name {namespace = "WebKit", name = "DOMNavigator"})
    IO CString

{- |
/No description available in the introspection data./
-}
dOMNavigatorGetProductSub ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNavigator a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMNavigator.DOMNavigator' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMNavigatorGetProductSub self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_navigator_get_product_sub self'
    checkUnexpectedReturnNULL "dOMNavigatorGetProductSub" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

data DOMNavigatorGetProductSubMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorGetProductSubMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorGetProductSub

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

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

{- |
/No description available in the introspection data./
-}
dOMNavigatorGetStorageUpdates ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNavigator a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMNavigator.DOMNavigator' -}
    -> m ()
dOMNavigatorGetStorageUpdates self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    webkit_dom_navigator_get_storage_updates self'
    touchManagedPtr self
    return ()

data DOMNavigatorGetStorageUpdatesMethodInfo
instance (signature ~ (m ()), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorGetStorageUpdatesMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorGetStorageUpdates

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

foreign import ccall "webkit_dom_navigator_get_user_agent" webkit_dom_navigator_get_user_agent :: 
    Ptr DOMNavigator ->                     -- self : TInterface (Name {namespace = "WebKit", name = "DOMNavigator"})
    IO CString

{- |
/No description available in the introspection data./
-}
dOMNavigatorGetUserAgent ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNavigator a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMNavigator.DOMNavigator' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMNavigatorGetUserAgent self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_navigator_get_user_agent self'
    checkUnexpectedReturnNULL "dOMNavigatorGetUserAgent" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

data DOMNavigatorGetUserAgentMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorGetUserAgentMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorGetUserAgent

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

foreign import ccall "webkit_dom_navigator_get_vendor" webkit_dom_navigator_get_vendor :: 
    Ptr DOMNavigator ->                     -- self : TInterface (Name {namespace = "WebKit", name = "DOMNavigator"})
    IO CString

{- |
/No description available in the introspection data./
-}
dOMNavigatorGetVendor ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNavigator a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMNavigator.DOMNavigator' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMNavigatorGetVendor self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_navigator_get_vendor self'
    checkUnexpectedReturnNULL "dOMNavigatorGetVendor" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

data DOMNavigatorGetVendorMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorGetVendorMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorGetVendor

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

foreign import ccall "webkit_dom_navigator_get_vendor_sub" webkit_dom_navigator_get_vendor_sub :: 
    Ptr DOMNavigator ->                     -- self : TInterface (Name {namespace = "WebKit", name = "DOMNavigator"})
    IO CString

{- |
/No description available in the introspection data./
-}
dOMNavigatorGetVendorSub ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNavigator a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMNavigator.DOMNavigator' -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ -}
dOMNavigatorGetVendorSub self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_navigator_get_vendor_sub self'
    checkUnexpectedReturnNULL "dOMNavigatorGetVendorSub" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr self
    return result'

data DOMNavigatorGetVendorSubMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorGetVendorSubMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorGetVendorSub

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

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

{- |
/No description available in the introspection data./
-}
dOMNavigatorGetWebkitBattery ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNavigator a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMNavigator.DOMNavigator' -}
    -> m WebKit.DOMBatteryManager.DOMBatteryManager
    {- ^ __Returns:__ A 'GI.WebKit.Objects.DOMBatteryManager.DOMBatteryManager' -}
dOMNavigatorGetWebkitBattery self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_navigator_get_webkit_battery self'
    checkUnexpectedReturnNULL "dOMNavigatorGetWebkitBattery" result
    result' <- (wrapObject WebKit.DOMBatteryManager.DOMBatteryManager) result
    touchManagedPtr self
    return result'

data DOMNavigatorGetWebkitBatteryMethodInfo
instance (signature ~ (m WebKit.DOMBatteryManager.DOMBatteryManager), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorGetWebkitBatteryMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorGetWebkitBattery

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

foreign import ccall "webkit_dom_navigator_get_webkit_persistent_storage" webkit_dom_navigator_get_webkit_persistent_storage :: 
    Ptr DOMNavigator ->                     -- self : TInterface (Name {namespace = "WebKit", name = "DOMNavigator"})
    IO (Ptr WebKit.DOMStorageQuota.DOMStorageQuota)

{- |
/No description available in the introspection data./
-}
dOMNavigatorGetWebkitPersistentStorage ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNavigator a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMNavigator.DOMNavigator' -}
    -> m WebKit.DOMStorageQuota.DOMStorageQuota
    {- ^ __Returns:__ A 'GI.WebKit.Objects.DOMStorageQuota.DOMStorageQuota' -}
dOMNavigatorGetWebkitPersistentStorage self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_navigator_get_webkit_persistent_storage self'
    checkUnexpectedReturnNULL "dOMNavigatorGetWebkitPersistentStorage" result
    result' <- (newObject WebKit.DOMStorageQuota.DOMStorageQuota) result
    touchManagedPtr self
    return result'

data DOMNavigatorGetWebkitPersistentStorageMethodInfo
instance (signature ~ (m WebKit.DOMStorageQuota.DOMStorageQuota), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorGetWebkitPersistentStorageMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorGetWebkitPersistentStorage

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

foreign import ccall "webkit_dom_navigator_get_webkit_temporary_storage" webkit_dom_navigator_get_webkit_temporary_storage :: 
    Ptr DOMNavigator ->                     -- self : TInterface (Name {namespace = "WebKit", name = "DOMNavigator"})
    IO (Ptr WebKit.DOMStorageQuota.DOMStorageQuota)

{- |
/No description available in the introspection data./
-}
dOMNavigatorGetWebkitTemporaryStorage ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNavigator a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMNavigator.DOMNavigator' -}
    -> m WebKit.DOMStorageQuota.DOMStorageQuota
    {- ^ __Returns:__ A 'GI.WebKit.Objects.DOMStorageQuota.DOMStorageQuota' -}
dOMNavigatorGetWebkitTemporaryStorage self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_navigator_get_webkit_temporary_storage self'
    checkUnexpectedReturnNULL "dOMNavigatorGetWebkitTemporaryStorage" result
    result' <- (newObject WebKit.DOMStorageQuota.DOMStorageQuota) result
    touchManagedPtr self
    return result'

data DOMNavigatorGetWebkitTemporaryStorageMethodInfo
instance (signature ~ (m WebKit.DOMStorageQuota.DOMStorageQuota), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorGetWebkitTemporaryStorageMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorGetWebkitTemporaryStorage

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

foreign import ccall "webkit_dom_navigator_is_protocol_handler_registered" webkit_dom_navigator_is_protocol_handler_registered :: 
    Ptr DOMNavigator ->                     -- self : TInterface (Name {namespace = "WebKit", name = "DOMNavigator"})
    CString ->                              -- scheme : TBasicType TUTF8
    CString ->                              -- url : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO CString

{- |
/No description available in the introspection data./
-}
dOMNavigatorIsProtocolHandlerRegistered ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNavigator a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMNavigator.DOMNavigator' -}
    -> T.Text
    {- ^ /@scheme@/: A @/gchar/@ -}
    -> T.Text
    {- ^ /@url@/: A @/gchar/@ -}
    -> m T.Text
    {- ^ __Returns:__ A @/gchar/@ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMNavigatorIsProtocolHandlerRegistered self scheme url = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    scheme' <- textToCString scheme
    url' <- textToCString url
    onException (do
        result <- propagateGError $ webkit_dom_navigator_is_protocol_handler_registered self' scheme' url'
        checkUnexpectedReturnNULL "dOMNavigatorIsProtocolHandlerRegistered" result
        result' <- cstringToText result
        freeMem result
        touchManagedPtr self
        freeMem scheme'
        freeMem url'
        return result'
     ) (do
        freeMem scheme'
        freeMem url'
     )

data DOMNavigatorIsProtocolHandlerRegisteredMethodInfo
instance (signature ~ (T.Text -> T.Text -> m T.Text), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorIsProtocolHandlerRegisteredMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorIsProtocolHandlerRegistered

-- method DOMNavigator::java_enabled
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMNavigator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMNavigator", 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_navigator_java_enabled" webkit_dom_navigator_java_enabled :: 
    Ptr DOMNavigator ->                     -- self : TInterface (Name {namespace = "WebKit", name = "DOMNavigator"})
    IO CInt

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

data DOMNavigatorJavaEnabledMethodInfo
instance (signature ~ (m Bool), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorJavaEnabledMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorJavaEnabled

-- method DOMNavigator::register_protocol_handler
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMNavigator"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMNavigator", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "url", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing},Arg {argCName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #gchar", sinceVersion = Nothing}, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, argCallerAllocates = False, transfer = TransferNothing}]
-- Lengths : []
-- returnType : Nothing
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_navigator_register_protocol_handler" webkit_dom_navigator_register_protocol_handler :: 
    Ptr DOMNavigator ->                     -- self : TInterface (Name {namespace = "WebKit", name = "DOMNavigator"})
    CString ->                              -- scheme : TBasicType TUTF8
    CString ->                              -- url : TBasicType TUTF8
    CString ->                              -- title : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()

{- |
/No description available in the introspection data./
-}
dOMNavigatorRegisterProtocolHandler ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNavigator a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMNavigator.DOMNavigator' -}
    -> T.Text
    {- ^ /@scheme@/: A @/gchar/@ -}
    -> T.Text
    {- ^ /@url@/: A @/gchar/@ -}
    -> T.Text
    {- ^ /@title@/: A @/gchar/@ -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMNavigatorRegisterProtocolHandler self scheme url title = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    scheme' <- textToCString scheme
    url' <- textToCString url
    title' <- textToCString title
    onException (do
        propagateGError $ webkit_dom_navigator_register_protocol_handler self' scheme' url' title'
        touchManagedPtr self
        freeMem scheme'
        freeMem url'
        freeMem title'
        return ()
     ) (do
        freeMem scheme'
        freeMem url'
        freeMem title'
     )

data DOMNavigatorRegisterProtocolHandlerMethodInfo
instance (signature ~ (T.Text -> T.Text -> T.Text -> m ()), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorRegisterProtocolHandlerMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorRegisterProtocolHandler

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

foreign import ccall "webkit_dom_navigator_unregister_protocol_handler" webkit_dom_navigator_unregister_protocol_handler :: 
    Ptr DOMNavigator ->                     -- self : TInterface (Name {namespace = "WebKit", name = "DOMNavigator"})
    CString ->                              -- scheme : TBasicType TUTF8
    CString ->                              -- url : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()

{- |
/No description available in the introspection data./
-}
dOMNavigatorUnregisterProtocolHandler ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNavigator a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMNavigator.DOMNavigator' -}
    -> T.Text
    {- ^ /@scheme@/: A @/gchar/@ -}
    -> T.Text
    {- ^ /@url@/: A @/gchar/@ -}
    -> m ()
    {- ^ /(Can throw 'Data.GI.Base.GError.GError')/ -}
dOMNavigatorUnregisterProtocolHandler self scheme url = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    scheme' <- textToCString scheme
    url' <- textToCString url
    onException (do
        propagateGError $ webkit_dom_navigator_unregister_protocol_handler self' scheme' url'
        touchManagedPtr self
        freeMem scheme'
        freeMem url'
        return ()
     ) (do
        freeMem scheme'
        freeMem url'
     )

data DOMNavigatorUnregisterProtocolHandlerMethodInfo
instance (signature ~ (T.Text -> T.Text -> m ()), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorUnregisterProtocolHandlerMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorUnregisterProtocolHandler

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

foreign import ccall "webkit_dom_navigator_webkit_get_gamepads" webkit_dom_navigator_webkit_get_gamepads :: 
    Ptr DOMNavigator ->                     -- self : TInterface (Name {namespace = "WebKit", name = "DOMNavigator"})
    IO (Ptr WebKit.DOMGamepadList.DOMGamepadList)

{- |
/No description available in the introspection data./
-}
dOMNavigatorWebkitGetGamepads ::
    (B.CallStack.HasCallStack, MonadIO m, IsDOMNavigator a) =>
    a
    {- ^ /@self@/: A 'GI.WebKit.Objects.DOMNavigator.DOMNavigator' -}
    -> m WebKit.DOMGamepadList.DOMGamepadList
    {- ^ __Returns:__ A 'GI.WebKit.Objects.DOMGamepadList.DOMGamepadList' -}
dOMNavigatorWebkitGetGamepads self = liftIO $ do
    self' <- unsafeManagedPtrCastPtr self
    result <- webkit_dom_navigator_webkit_get_gamepads self'
    checkUnexpectedReturnNULL "dOMNavigatorWebkitGetGamepads" result
    result' <- (wrapObject WebKit.DOMGamepadList.DOMGamepadList) result
    touchManagedPtr self
    return result'

data DOMNavigatorWebkitGetGamepadsMethodInfo
instance (signature ~ (m WebKit.DOMGamepadList.DOMGamepadList), MonadIO m, IsDOMNavigator a) => O.MethodInfo DOMNavigatorWebkitGetGamepadsMethodInfo a signature where
    overloadedMethod _ = dOMNavigatorWebkitGetGamepads