{- |
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(..)                        ,
    DOMNavigatorK                           ,
    toDOMNavigator                          ,
    noDOMNavigator                          ,


 -- * Methods
-- ** dOMNavigatorGetAppCodeName
    dOMNavigatorGetAppCodeName              ,


-- ** dOMNavigatorGetAppName
    dOMNavigatorGetAppName                  ,


-- ** dOMNavigatorGetAppVersion
    dOMNavigatorGetAppVersion               ,


-- ** dOMNavigatorGetCookieEnabled
    dOMNavigatorGetCookieEnabled            ,


-- ** dOMNavigatorGetGeolocation
    dOMNavigatorGetGeolocation              ,


-- ** dOMNavigatorGetLanguage
    dOMNavigatorGetLanguage                 ,


-- ** dOMNavigatorGetMimeTypes
    dOMNavigatorGetMimeTypes                ,


-- ** dOMNavigatorGetOnLine
    dOMNavigatorGetOnLine                   ,


-- ** dOMNavigatorGetPlatform
    dOMNavigatorGetPlatform                 ,


-- ** dOMNavigatorGetPlugins
    dOMNavigatorGetPlugins                  ,


-- ** dOMNavigatorGetProduct
    dOMNavigatorGetProduct                  ,


-- ** dOMNavigatorGetProductSub
    dOMNavigatorGetProductSub               ,


-- ** dOMNavigatorGetStorageUpdates
    dOMNavigatorGetStorageUpdates           ,


-- ** dOMNavigatorGetUserAgent
    dOMNavigatorGetUserAgent                ,


-- ** dOMNavigatorGetVendor
    dOMNavigatorGetVendor                   ,


-- ** dOMNavigatorGetVendorSub
    dOMNavigatorGetVendorSub                ,


-- ** dOMNavigatorGetWebkitBattery
    dOMNavigatorGetWebkitBattery            ,


-- ** dOMNavigatorGetWebkitPersistentStorage
    dOMNavigatorGetWebkitPersistentStorage  ,


-- ** dOMNavigatorGetWebkitTemporaryStorage
    dOMNavigatorGetWebkitTemporaryStorage   ,


-- ** dOMNavigatorIsProtocolHandlerRegistered
    dOMNavigatorIsProtocolHandlerRegistered ,


-- ** dOMNavigatorJavaEnabled
    dOMNavigatorJavaEnabled                 ,


-- ** dOMNavigatorRegisterProtocolHandler
    dOMNavigatorRegisterProtocolHandler     ,


-- ** dOMNavigatorUnregisterProtocolHandler
    dOMNavigatorUnregisterProtocolHandler   ,


-- ** dOMNavigatorWebkitGetGamepads
    dOMNavigatorWebkitGetGamepads           ,




 -- * Properties
-- ** AppCodeName
    DOMNavigatorAppCodeNamePropertyInfo     ,
    getDOMNavigatorAppCodeName              ,


-- ** AppName
    DOMNavigatorAppNamePropertyInfo         ,
    getDOMNavigatorAppName                  ,


-- ** AppVersion
    DOMNavigatorAppVersionPropertyInfo      ,
    getDOMNavigatorAppVersion               ,


-- ** CookieEnabled
    DOMNavigatorCookieEnabledPropertyInfo   ,
    getDOMNavigatorCookieEnabled            ,


-- ** Geolocation
    DOMNavigatorGeolocationPropertyInfo     ,
    getDOMNavigatorGeolocation              ,


-- ** Language
    DOMNavigatorLanguagePropertyInfo        ,
    getDOMNavigatorLanguage                 ,


-- ** MimeTypes
    DOMNavigatorMimeTypesPropertyInfo       ,
    getDOMNavigatorMimeTypes                ,


-- ** OnLine
    DOMNavigatorOnLinePropertyInfo          ,
    getDOMNavigatorOnLine                   ,


-- ** Platform
    DOMNavigatorPlatformPropertyInfo        ,
    getDOMNavigatorPlatform                 ,


-- ** Plugins
    DOMNavigatorPluginsPropertyInfo         ,
    getDOMNavigatorPlugins                  ,


-- ** Product
    DOMNavigatorProductPropertyInfo         ,
    getDOMNavigatorProduct                  ,


-- ** ProductSub
    DOMNavigatorProductSubPropertyInfo      ,
    getDOMNavigatorProductSub               ,


-- ** UserAgent
    DOMNavigatorUserAgentPropertyInfo       ,
    getDOMNavigatorUserAgent                ,


-- ** Vendor
    DOMNavigatorVendorPropertyInfo          ,
    getDOMNavigatorVendor                   ,


-- ** VendorSub
    DOMNavigatorVendorSubPropertyInfo       ,
    getDOMNavigatorVendorSub                ,


-- ** WebkitBattery
    DOMNavigatorWebkitBatteryPropertyInfo   ,
    getDOMNavigatorWebkitBattery            ,


-- ** WebkitPersistentStorage
    DOMNavigatorWebkitPersistentStoragePropertyInfo,
    getDOMNavigatorWebkitPersistentStorage  ,


-- ** WebkitTemporaryStorage
    DOMNavigatorWebkitTemporaryStoragePropertyInfo,
    getDOMNavigatorWebkitTemporaryStorage   ,




    ) where

import Prelude ()
import Data.GI.Base.ShortPrelude

import qualified Data.Text as T
import qualified Data.ByteString.Char8 as B
import qualified Data.Map as Map

import GI.WebKit.Types
import GI.WebKit.Callbacks
import qualified GI.GObject as GObject

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

type instance ParentTypes DOMNavigator = DOMNavigatorParentTypes
type DOMNavigatorParentTypes = '[DOMObject, GObject.Object]

instance GObject DOMNavigator where
    gobjectIsInitiallyUnowned _ = False
    gobjectType _ = c_webkit_dom_navigator_get_type
    

class GObject o => DOMNavigatorK o
instance (GObject o, IsDescendantOf DOMNavigator o) => DOMNavigatorK o

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

noDOMNavigator :: Maybe DOMNavigator
noDOMNavigator = Nothing

-- VVV Prop "app-code-name"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]

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

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

-- VVV Prop "app-name"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]

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

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

-- VVV Prop "app-version"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]

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

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

-- VVV Prop "cookie-enabled"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]

getDOMNavigatorCookieEnabled :: (MonadIO m, DOMNavigatorK 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 = DOMNavigatorK
    type AttrGetType DOMNavigatorCookieEnabledPropertyInfo = Bool
    type AttrLabel DOMNavigatorCookieEnabledPropertyInfo = "DOMNavigator::cookie-enabled"
    attrGet _ = getDOMNavigatorCookieEnabled
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "geolocation"
   -- Type: TInterface "WebKit" "DOMGeolocation"
   -- Flags: [PropertyReadable]

getDOMNavigatorGeolocation :: (MonadIO m, DOMNavigatorK o) => o -> m DOMGeolocation
getDOMNavigatorGeolocation obj = liftIO $ getObjectPropertyObject obj "geolocation" DOMGeolocation

data DOMNavigatorGeolocationPropertyInfo
instance AttrInfo DOMNavigatorGeolocationPropertyInfo where
    type AttrAllowedOps DOMNavigatorGeolocationPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMNavigatorGeolocationPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorGeolocationPropertyInfo = DOMNavigatorK
    type AttrGetType DOMNavigatorGeolocationPropertyInfo = DOMGeolocation
    type AttrLabel DOMNavigatorGeolocationPropertyInfo = "DOMNavigator::geolocation"
    attrGet _ = getDOMNavigatorGeolocation
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "language"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]

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

data DOMNavigatorLanguagePropertyInfo
instance AttrInfo DOMNavigatorLanguagePropertyInfo where
    type AttrAllowedOps DOMNavigatorLanguagePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMNavigatorLanguagePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorLanguagePropertyInfo = DOMNavigatorK
    type AttrGetType DOMNavigatorLanguagePropertyInfo = T.Text
    type AttrLabel DOMNavigatorLanguagePropertyInfo = "DOMNavigator::language"
    attrGet _ = getDOMNavigatorLanguage
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "mime-types"
   -- Type: TInterface "WebKit" "DOMDOMMimeTypeArray"
   -- Flags: [PropertyReadable]

getDOMNavigatorMimeTypes :: (MonadIO m, DOMNavigatorK o) => o -> m DOMDOMMimeTypeArray
getDOMNavigatorMimeTypes obj = liftIO $ getObjectPropertyObject obj "mime-types" DOMDOMMimeTypeArray

data DOMNavigatorMimeTypesPropertyInfo
instance AttrInfo DOMNavigatorMimeTypesPropertyInfo where
    type AttrAllowedOps DOMNavigatorMimeTypesPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMNavigatorMimeTypesPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorMimeTypesPropertyInfo = DOMNavigatorK
    type AttrGetType DOMNavigatorMimeTypesPropertyInfo = DOMDOMMimeTypeArray
    type AttrLabel DOMNavigatorMimeTypesPropertyInfo = "DOMNavigator::mime-types"
    attrGet _ = getDOMNavigatorMimeTypes
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "on-line"
   -- Type: TBasicType TBoolean
   -- Flags: [PropertyReadable]

getDOMNavigatorOnLine :: (MonadIO m, DOMNavigatorK 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 = DOMNavigatorK
    type AttrGetType DOMNavigatorOnLinePropertyInfo = Bool
    type AttrLabel DOMNavigatorOnLinePropertyInfo = "DOMNavigator::on-line"
    attrGet _ = getDOMNavigatorOnLine
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "platform"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]

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

data DOMNavigatorPlatformPropertyInfo
instance AttrInfo DOMNavigatorPlatformPropertyInfo where
    type AttrAllowedOps DOMNavigatorPlatformPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMNavigatorPlatformPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorPlatformPropertyInfo = DOMNavigatorK
    type AttrGetType DOMNavigatorPlatformPropertyInfo = T.Text
    type AttrLabel DOMNavigatorPlatformPropertyInfo = "DOMNavigator::platform"
    attrGet _ = getDOMNavigatorPlatform
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "plugins"
   -- Type: TInterface "WebKit" "DOMDOMPluginArray"
   -- Flags: [PropertyReadable]

getDOMNavigatorPlugins :: (MonadIO m, DOMNavigatorK o) => o -> m DOMDOMPluginArray
getDOMNavigatorPlugins obj = liftIO $ getObjectPropertyObject obj "plugins" DOMDOMPluginArray

data DOMNavigatorPluginsPropertyInfo
instance AttrInfo DOMNavigatorPluginsPropertyInfo where
    type AttrAllowedOps DOMNavigatorPluginsPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMNavigatorPluginsPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorPluginsPropertyInfo = DOMNavigatorK
    type AttrGetType DOMNavigatorPluginsPropertyInfo = DOMDOMPluginArray
    type AttrLabel DOMNavigatorPluginsPropertyInfo = "DOMNavigator::plugins"
    attrGet _ = getDOMNavigatorPlugins
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "product"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]

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

data DOMNavigatorProductPropertyInfo
instance AttrInfo DOMNavigatorProductPropertyInfo where
    type AttrAllowedOps DOMNavigatorProductPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMNavigatorProductPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorProductPropertyInfo = DOMNavigatorK
    type AttrGetType DOMNavigatorProductPropertyInfo = T.Text
    type AttrLabel DOMNavigatorProductPropertyInfo = "DOMNavigator::product"
    attrGet _ = getDOMNavigatorProduct
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "product-sub"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]

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

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

-- VVV Prop "user-agent"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]

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

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

-- VVV Prop "vendor"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]

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

data DOMNavigatorVendorPropertyInfo
instance AttrInfo DOMNavigatorVendorPropertyInfo where
    type AttrAllowedOps DOMNavigatorVendorPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMNavigatorVendorPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorVendorPropertyInfo = DOMNavigatorK
    type AttrGetType DOMNavigatorVendorPropertyInfo = T.Text
    type AttrLabel DOMNavigatorVendorPropertyInfo = "DOMNavigator::vendor"
    attrGet _ = getDOMNavigatorVendor
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "vendor-sub"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable]

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

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

-- VVV Prop "webkit-battery"
   -- Type: TInterface "WebKit" "DOMBatteryManager"
   -- Flags: [PropertyReadable]

getDOMNavigatorWebkitBattery :: (MonadIO m, DOMNavigatorK o) => o -> m DOMBatteryManager
getDOMNavigatorWebkitBattery obj = liftIO $ getObjectPropertyObject obj "webkit-battery" DOMBatteryManager

data DOMNavigatorWebkitBatteryPropertyInfo
instance AttrInfo DOMNavigatorWebkitBatteryPropertyInfo where
    type AttrAllowedOps DOMNavigatorWebkitBatteryPropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMNavigatorWebkitBatteryPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorWebkitBatteryPropertyInfo = DOMNavigatorK
    type AttrGetType DOMNavigatorWebkitBatteryPropertyInfo = DOMBatteryManager
    type AttrLabel DOMNavigatorWebkitBatteryPropertyInfo = "DOMNavigator::webkit-battery"
    attrGet _ = getDOMNavigatorWebkitBattery
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "webkit-persistent-storage"
   -- Type: TInterface "WebKit" "DOMStorageQuota"
   -- Flags: [PropertyReadable]

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

data DOMNavigatorWebkitPersistentStoragePropertyInfo
instance AttrInfo DOMNavigatorWebkitPersistentStoragePropertyInfo where
    type AttrAllowedOps DOMNavigatorWebkitPersistentStoragePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMNavigatorWebkitPersistentStoragePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorWebkitPersistentStoragePropertyInfo = DOMNavigatorK
    type AttrGetType DOMNavigatorWebkitPersistentStoragePropertyInfo = DOMStorageQuota
    type AttrLabel DOMNavigatorWebkitPersistentStoragePropertyInfo = "DOMNavigator::webkit-persistent-storage"
    attrGet _ = getDOMNavigatorWebkitPersistentStorage
    attrSet _ = undefined
    attrConstruct _ = undefined

-- VVV Prop "webkit-temporary-storage"
   -- Type: TInterface "WebKit" "DOMStorageQuota"
   -- Flags: [PropertyReadable]

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

data DOMNavigatorWebkitTemporaryStoragePropertyInfo
instance AttrInfo DOMNavigatorWebkitTemporaryStoragePropertyInfo where
    type AttrAllowedOps DOMNavigatorWebkitTemporaryStoragePropertyInfo = '[ 'AttrGet]
    type AttrSetTypeConstraint DOMNavigatorWebkitTemporaryStoragePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMNavigatorWebkitTemporaryStoragePropertyInfo = DOMNavigatorK
    type AttrGetType DOMNavigatorWebkitTemporaryStoragePropertyInfo = DOMStorageQuota
    type AttrLabel DOMNavigatorWebkitTemporaryStoragePropertyInfo = "DOMNavigator::webkit-temporary-storage"
    attrGet _ = getDOMNavigatorWebkitTemporaryStorage
    attrSet _ = undefined
    attrConstruct _ = undefined

type instance AttributeList DOMNavigator = DOMNavigatorAttributeList
type DOMNavigatorAttributeList = ('[ '("app-code-name", DOMNavigatorAppCodeNamePropertyInfo), '("app-name", DOMNavigatorAppNamePropertyInfo), '("app-version", DOMNavigatorAppVersionPropertyInfo), '("cookie-enabled", DOMNavigatorCookieEnabledPropertyInfo), '("core-object", DOMObjectCoreObjectPropertyInfo), '("geolocation", DOMNavigatorGeolocationPropertyInfo), '("language", DOMNavigatorLanguagePropertyInfo), '("mime-types", DOMNavigatorMimeTypesPropertyInfo), '("on-line", DOMNavigatorOnLinePropertyInfo), '("platform", DOMNavigatorPlatformPropertyInfo), '("plugins", DOMNavigatorPluginsPropertyInfo), '("product", DOMNavigatorProductPropertyInfo), '("product-sub", DOMNavigatorProductSubPropertyInfo), '("user-agent", DOMNavigatorUserAgentPropertyInfo), '("vendor", DOMNavigatorVendorPropertyInfo), '("vendor-sub", DOMNavigatorVendorSubPropertyInfo), '("webkit-battery", DOMNavigatorWebkitBatteryPropertyInfo), '("webkit-persistent-storage", DOMNavigatorWebkitPersistentStoragePropertyInfo), '("webkit-temporary-storage", DOMNavigatorWebkitTemporaryStoragePropertyInfo)] :: [(Symbol, *)])

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

-- method DOMNavigator::get_app_code_name
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : 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 ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    IO CString


dOMNavigatorGetAppCodeName ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    m T.Text
dOMNavigatorGetAppCodeName _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_navigator_get_app_code_name _obj'
    checkUnexpectedReturnNULL "webkit_dom_navigator_get_app_code_name" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMNavigator::get_app_name
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_navigator_get_app_name" webkit_dom_navigator_get_app_name :: 
    Ptr DOMNavigator ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    IO CString


dOMNavigatorGetAppName ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    m T.Text
dOMNavigatorGetAppName _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_navigator_get_app_name _obj'
    checkUnexpectedReturnNULL "webkit_dom_navigator_get_app_name" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMNavigator::get_app_version
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_navigator_get_app_version" webkit_dom_navigator_get_app_version :: 
    Ptr DOMNavigator ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    IO CString


dOMNavigatorGetAppVersion ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    m T.Text
dOMNavigatorGetAppVersion _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_navigator_get_app_version _obj'
    checkUnexpectedReturnNULL "webkit_dom_navigator_get_app_version" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMNavigator::get_cookie_enabled
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_navigator_get_cookie_enabled" webkit_dom_navigator_get_cookie_enabled :: 
    Ptr DOMNavigator ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    IO CInt


dOMNavigatorGetCookieEnabled ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    m Bool
dOMNavigatorGetCookieEnabled _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_navigator_get_cookie_enabled _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method DOMNavigator::get_geolocation
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMGeolocation"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_navigator_get_geolocation" webkit_dom_navigator_get_geolocation :: 
    Ptr DOMNavigator ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    IO (Ptr DOMGeolocation)


dOMNavigatorGetGeolocation ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    m DOMGeolocation
dOMNavigatorGetGeolocation _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_navigator_get_geolocation _obj'
    checkUnexpectedReturnNULL "webkit_dom_navigator_get_geolocation" result
    result' <- (wrapObject DOMGeolocation) result
    touchManagedPtr _obj
    return result'

-- method DOMNavigator::get_language
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_navigator_get_language" webkit_dom_navigator_get_language :: 
    Ptr DOMNavigator ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    IO CString


dOMNavigatorGetLanguage ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    m T.Text
dOMNavigatorGetLanguage _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_navigator_get_language _obj'
    checkUnexpectedReturnNULL "webkit_dom_navigator_get_language" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMNavigator::get_mime_types
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMDOMMimeTypeArray"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_navigator_get_mime_types" webkit_dom_navigator_get_mime_types :: 
    Ptr DOMNavigator ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    IO (Ptr DOMDOMMimeTypeArray)


dOMNavigatorGetMimeTypes ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    m DOMDOMMimeTypeArray
dOMNavigatorGetMimeTypes _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_navigator_get_mime_types _obj'
    checkUnexpectedReturnNULL "webkit_dom_navigator_get_mime_types" result
    result' <- (wrapObject DOMDOMMimeTypeArray) result
    touchManagedPtr _obj
    return result'

-- method DOMNavigator::get_on_line
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_navigator_get_on_line" webkit_dom_navigator_get_on_line :: 
    Ptr DOMNavigator ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    IO CInt


dOMNavigatorGetOnLine ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    m Bool
dOMNavigatorGetOnLine _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_navigator_get_on_line _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method DOMNavigator::get_platform
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_navigator_get_platform" webkit_dom_navigator_get_platform :: 
    Ptr DOMNavigator ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    IO CString


dOMNavigatorGetPlatform ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    m T.Text
dOMNavigatorGetPlatform _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_navigator_get_platform _obj'
    checkUnexpectedReturnNULL "webkit_dom_navigator_get_platform" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMNavigator::get_plugins
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMDOMPluginArray"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_navigator_get_plugins" webkit_dom_navigator_get_plugins :: 
    Ptr DOMNavigator ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    IO (Ptr DOMDOMPluginArray)


dOMNavigatorGetPlugins ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    m DOMDOMPluginArray
dOMNavigatorGetPlugins _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_navigator_get_plugins _obj'
    checkUnexpectedReturnNULL "webkit_dom_navigator_get_plugins" result
    result' <- (wrapObject DOMDOMPluginArray) result
    touchManagedPtr _obj
    return result'

-- method DOMNavigator::get_product
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_navigator_get_product" webkit_dom_navigator_get_product :: 
    Ptr DOMNavigator ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    IO CString


dOMNavigatorGetProduct ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    m T.Text
dOMNavigatorGetProduct _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_navigator_get_product _obj'
    checkUnexpectedReturnNULL "webkit_dom_navigator_get_product" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMNavigator::get_product_sub
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_navigator_get_product_sub" webkit_dom_navigator_get_product_sub :: 
    Ptr DOMNavigator ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    IO CString


dOMNavigatorGetProductSub ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    m T.Text
dOMNavigatorGetProductSub _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_navigator_get_product_sub _obj'
    checkUnexpectedReturnNULL "webkit_dom_navigator_get_product_sub" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMNavigator::get_storage_updates
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_navigator_get_storage_updates" webkit_dom_navigator_get_storage_updates :: 
    Ptr DOMNavigator ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    IO ()


dOMNavigatorGetStorageUpdates ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    m ()
dOMNavigatorGetStorageUpdates _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    webkit_dom_navigator_get_storage_updates _obj'
    touchManagedPtr _obj
    return ()

-- method DOMNavigator::get_user_agent
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_navigator_get_user_agent" webkit_dom_navigator_get_user_agent :: 
    Ptr DOMNavigator ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    IO CString


dOMNavigatorGetUserAgent ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    m T.Text
dOMNavigatorGetUserAgent _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_navigator_get_user_agent _obj'
    checkUnexpectedReturnNULL "webkit_dom_navigator_get_user_agent" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMNavigator::get_vendor
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_navigator_get_vendor" webkit_dom_navigator_get_vendor :: 
    Ptr DOMNavigator ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    IO CString


dOMNavigatorGetVendor ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    m T.Text
dOMNavigatorGetVendor _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_navigator_get_vendor _obj'
    checkUnexpectedReturnNULL "webkit_dom_navigator_get_vendor" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMNavigator::get_vendor_sub
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TUTF8
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_navigator_get_vendor_sub" webkit_dom_navigator_get_vendor_sub :: 
    Ptr DOMNavigator ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    IO CString


dOMNavigatorGetVendorSub ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    m T.Text
dOMNavigatorGetVendorSub _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_navigator_get_vendor_sub _obj'
    checkUnexpectedReturnNULL "webkit_dom_navigator_get_vendor_sub" result
    result' <- cstringToText result
    freeMem result
    touchManagedPtr _obj
    return result'

-- method DOMNavigator::get_webkit_battery
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMBatteryManager"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_navigator_get_webkit_battery" webkit_dom_navigator_get_webkit_battery :: 
    Ptr DOMNavigator ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    IO (Ptr DOMBatteryManager)


dOMNavigatorGetWebkitBattery ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    m DOMBatteryManager
dOMNavigatorGetWebkitBattery _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_navigator_get_webkit_battery _obj'
    checkUnexpectedReturnNULL "webkit_dom_navigator_get_webkit_battery" result
    result' <- (wrapObject DOMBatteryManager) result
    touchManagedPtr _obj
    return result'

-- method DOMNavigator::get_webkit_persistent_storage
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "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 ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    IO (Ptr DOMStorageQuota)


dOMNavigatorGetWebkitPersistentStorage ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    m DOMStorageQuota
dOMNavigatorGetWebkitPersistentStorage _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_navigator_get_webkit_persistent_storage _obj'
    checkUnexpectedReturnNULL "webkit_dom_navigator_get_webkit_persistent_storage" result
    result' <- (newObject DOMStorageQuota) result
    touchManagedPtr _obj
    return result'

-- method DOMNavigator::get_webkit_temporary_storage
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "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 ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    IO (Ptr DOMStorageQuota)


dOMNavigatorGetWebkitTemporaryStorage ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    m DOMStorageQuota
dOMNavigatorGetWebkitTemporaryStorage _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_navigator_get_webkit_temporary_storage _obj'
    checkUnexpectedReturnNULL "webkit_dom_navigator_get_webkit_temporary_storage" result
    result' <- (newObject DOMStorageQuota) result
    touchManagedPtr _obj
    return result'

-- method DOMNavigator::is_protocol_handler_registered
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "url", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "url", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : 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 ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    CString ->                              -- scheme : TBasicType TUTF8
    CString ->                              -- url : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO CString


dOMNavigatorIsProtocolHandlerRegistered ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- scheme
    T.Text ->                               -- url
    m T.Text
dOMNavigatorIsProtocolHandlerRegistered _obj scheme url = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    scheme' <- textToCString scheme
    url' <- textToCString url
    onException (do
        result <- propagateGError $ webkit_dom_navigator_is_protocol_handler_registered _obj' scheme' url'
        checkUnexpectedReturnNULL "webkit_dom_navigator_is_protocol_handler_registered" result
        result' <- cstringToText result
        freeMem result
        touchManagedPtr _obj
        freeMem scheme'
        freeMem url'
        return result'
     ) (do
        freeMem scheme'
        freeMem url'
     )

-- method DOMNavigator::java_enabled
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TBoolean
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_navigator_java_enabled" webkit_dom_navigator_java_enabled :: 
    Ptr DOMNavigator ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    IO CInt


dOMNavigatorJavaEnabled ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    m Bool
dOMNavigatorJavaEnabled _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_navigator_java_enabled _obj'
    let result' = (/= 0) result
    touchManagedPtr _obj
    return result'

-- method DOMNavigator::register_protocol_handler
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "url", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "url", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "title", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_navigator_register_protocol_handler" webkit_dom_navigator_register_protocol_handler :: 
    Ptr DOMNavigator ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    CString ->                              -- scheme : TBasicType TUTF8
    CString ->                              -- url : TBasicType TUTF8
    CString ->                              -- title : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()


dOMNavigatorRegisterProtocolHandler ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- scheme
    T.Text ->                               -- url
    T.Text ->                               -- title
    m ()
dOMNavigatorRegisterProtocolHandler _obj scheme url title = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    scheme' <- textToCString scheme
    url' <- textToCString url
    title' <- textToCString title
    onException (do
        propagateGError $ webkit_dom_navigator_register_protocol_handler _obj' scheme' url' title'
        touchManagedPtr _obj
        freeMem scheme'
        freeMem url'
        freeMem title'
        return ()
     ) (do
        freeMem scheme'
        freeMem url'
        freeMem title'
     )

-- method DOMNavigator::unregister_protocol_handler
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "url", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "scheme", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "url", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TBasicType TVoid
-- throws : True
-- Skip return : False

foreign import ccall "webkit_dom_navigator_unregister_protocol_handler" webkit_dom_navigator_unregister_protocol_handler :: 
    Ptr DOMNavigator ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    CString ->                              -- scheme : TBasicType TUTF8
    CString ->                              -- url : TBasicType TUTF8
    Ptr (Ptr GError) ->                     -- error
    IO ()


dOMNavigatorUnregisterProtocolHandler ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- scheme
    T.Text ->                               -- url
    m ()
dOMNavigatorUnregisterProtocolHandler _obj scheme url = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    scheme' <- textToCString scheme
    url' <- textToCString url
    onException (do
        propagateGError $ webkit_dom_navigator_unregister_protocol_handler _obj' scheme' url'
        touchManagedPtr _obj
        freeMem scheme'
        freeMem url'
        return ()
     ) (do
        freeMem scheme'
        freeMem url'
     )

-- method DOMNavigator::webkit_get_gamepads
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMNavigator", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- returnType : TInterface "WebKit" "DOMGamepadList"
-- throws : False
-- Skip return : False

foreign import ccall "webkit_dom_navigator_webkit_get_gamepads" webkit_dom_navigator_webkit_get_gamepads :: 
    Ptr DOMNavigator ->                     -- _obj : TInterface "WebKit" "DOMNavigator"
    IO (Ptr DOMGamepadList)


dOMNavigatorWebkitGetGamepads ::
    (MonadIO m, DOMNavigatorK a) =>
    a ->                                    -- _obj
    m DOMGamepadList
dOMNavigatorWebkitGetGamepads _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_navigator_webkit_get_gamepads _obj'
    checkUnexpectedReturnNULL "webkit_dom_navigator_webkit_get_gamepads" result
    result' <- (wrapObject DOMGamepadList) result
    touchManagedPtr _obj
    return result'