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

-- * Exported types
    DOMLocation(..)                         ,
    IsDOMLocation                           ,
    toDOMLocation                           ,
    noDOMLocation                           ,


 -- * Methods
-- ** getAncestorOrigins #method:getAncestorOrigins#
    DOMLocationGetAncestorOriginsMethodInfo ,
    dOMLocationGetAncestorOrigins           ,


-- ** getHash #method:getHash#
    DOMLocationGetHashMethodInfo            ,
    dOMLocationGetHash                      ,


-- ** getHost #method:getHost#
    DOMLocationGetHostMethodInfo            ,
    dOMLocationGetHost                      ,


-- ** getHostname #method:getHostname#
    DOMLocationGetHostnameMethodInfo        ,
    dOMLocationGetHostname                  ,


-- ** getHref #method:getHref#
    DOMLocationGetHrefMethodInfo            ,
    dOMLocationGetHref                      ,


-- ** getOrigin #method:getOrigin#
    DOMLocationGetOriginMethodInfo          ,
    dOMLocationGetOrigin                    ,


-- ** getPathname #method:getPathname#
    DOMLocationGetPathnameMethodInfo        ,
    dOMLocationGetPathname                  ,


-- ** getPort #method:getPort#
    DOMLocationGetPortMethodInfo            ,
    dOMLocationGetPort                      ,


-- ** getProtocol #method:getProtocol#
    DOMLocationGetProtocolMethodInfo        ,
    dOMLocationGetProtocol                  ,


-- ** getSearch #method:getSearch#
    DOMLocationGetSearchMethodInfo          ,
    dOMLocationGetSearch                    ,




 -- * Properties
-- ** ancestorOrigins #attr:ancestorOrigins#
    DOMLocationAncestorOriginsPropertyInfo  ,
    dOMLocationAncestorOrigins              ,
    getDOMLocationAncestorOrigins           ,


-- ** hash #attr:hash#
    DOMLocationHashPropertyInfo             ,
    dOMLocationHash                         ,
    getDOMLocationHash                      ,


-- ** host #attr:host#
    DOMLocationHostPropertyInfo             ,
    dOMLocationHost                         ,
    getDOMLocationHost                      ,


-- ** hostname #attr:hostname#
    DOMLocationHostnamePropertyInfo         ,
    dOMLocationHostname                     ,
    getDOMLocationHostname                  ,


-- ** href #attr:href#
    DOMLocationHrefPropertyInfo             ,
    dOMLocationHref                         ,
    getDOMLocationHref                      ,


-- ** origin #attr:origin#
    DOMLocationOriginPropertyInfo           ,
    dOMLocationOrigin                       ,
    getDOMLocationOrigin                    ,


-- ** pathname #attr:pathname#
    DOMLocationPathnamePropertyInfo         ,
    dOMLocationPathname                     ,
    getDOMLocationPathname                  ,


-- ** port #attr:port#
    DOMLocationPortPropertyInfo             ,
    dOMLocationPort                         ,
    getDOMLocationPort                      ,


-- ** protocol #attr:protocol#
    DOMLocationProtocolPropertyInfo         ,
    dOMLocationProtocol                     ,
    getDOMLocationProtocol                  ,


-- ** search #attr:search#
    DOMLocationSearchPropertyInfo           ,
    dOMLocationSearch                       ,
    getDOMLocationSearch                    ,




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

newtype DOMLocation = DOMLocation (ManagedPtr DOMLocation)
foreign import ccall "webkit_dom_location_get_type"
    c_webkit_dom_location_get_type :: IO GType

instance GObject DOMLocation where
    gobjectType _ = c_webkit_dom_location_get_type
    

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

toDOMLocation :: IsDOMLocation o => o -> IO DOMLocation
toDOMLocation = unsafeCastTo DOMLocation

noDOMLocation :: Maybe DOMLocation
noDOMLocation = Nothing

type family ResolveDOMLocationMethod (t :: Symbol) (o :: *) :: * where
    ResolveDOMLocationMethod "bindProperty" o = GObject.Object.ObjectBindPropertyMethodInfo
    ResolveDOMLocationMethod "bindPropertyFull" o = GObject.Object.ObjectBindPropertyFullMethodInfo
    ResolveDOMLocationMethod "forceFloating" o = GObject.Object.ObjectForceFloatingMethodInfo
    ResolveDOMLocationMethod "freezeNotify" o = GObject.Object.ObjectFreezeNotifyMethodInfo
    ResolveDOMLocationMethod "isFloating" o = GObject.Object.ObjectIsFloatingMethodInfo
    ResolveDOMLocationMethod "notify" o = GObject.Object.ObjectNotifyMethodInfo
    ResolveDOMLocationMethod "notifyByPspec" o = GObject.Object.ObjectNotifyByPspecMethodInfo
    ResolveDOMLocationMethod "ref" o = GObject.Object.ObjectRefMethodInfo
    ResolveDOMLocationMethod "refSink" o = GObject.Object.ObjectRefSinkMethodInfo
    ResolveDOMLocationMethod "replaceData" o = GObject.Object.ObjectReplaceDataMethodInfo
    ResolveDOMLocationMethod "replaceQdata" o = GObject.Object.ObjectReplaceQdataMethodInfo
    ResolveDOMLocationMethod "runDispose" o = GObject.Object.ObjectRunDisposeMethodInfo
    ResolveDOMLocationMethod "stealData" o = GObject.Object.ObjectStealDataMethodInfo
    ResolveDOMLocationMethod "stealQdata" o = GObject.Object.ObjectStealQdataMethodInfo
    ResolveDOMLocationMethod "thawNotify" o = GObject.Object.ObjectThawNotifyMethodInfo
    ResolveDOMLocationMethod "unref" o = GObject.Object.ObjectUnrefMethodInfo
    ResolveDOMLocationMethod "watchClosure" o = GObject.Object.ObjectWatchClosureMethodInfo
    ResolveDOMLocationMethod "getAncestorOrigins" o = DOMLocationGetAncestorOriginsMethodInfo
    ResolveDOMLocationMethod "getData" o = GObject.Object.ObjectGetDataMethodInfo
    ResolveDOMLocationMethod "getHash" o = DOMLocationGetHashMethodInfo
    ResolveDOMLocationMethod "getHost" o = DOMLocationGetHostMethodInfo
    ResolveDOMLocationMethod "getHostname" o = DOMLocationGetHostnameMethodInfo
    ResolveDOMLocationMethod "getHref" o = DOMLocationGetHrefMethodInfo
    ResolveDOMLocationMethod "getOrigin" o = DOMLocationGetOriginMethodInfo
    ResolveDOMLocationMethod "getPathname" o = DOMLocationGetPathnameMethodInfo
    ResolveDOMLocationMethod "getPort" o = DOMLocationGetPortMethodInfo
    ResolveDOMLocationMethod "getProperty" o = GObject.Object.ObjectGetPropertyMethodInfo
    ResolveDOMLocationMethod "getProtocol" o = DOMLocationGetProtocolMethodInfo
    ResolveDOMLocationMethod "getQdata" o = GObject.Object.ObjectGetQdataMethodInfo
    ResolveDOMLocationMethod "getSearch" o = DOMLocationGetSearchMethodInfo
    ResolveDOMLocationMethod "setData" o = GObject.Object.ObjectSetDataMethodInfo
    ResolveDOMLocationMethod "setProperty" o = GObject.Object.ObjectSetPropertyMethodInfo
    ResolveDOMLocationMethod l o = O.MethodResolutionFailed l o

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

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

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

getDOMLocationAncestorOrigins :: (MonadIO m, IsDOMLocation o) => o -> m (Maybe WebKit.DOMDOMStringList.DOMDOMStringList)
getDOMLocationAncestorOrigins obj = liftIO $ getObjectPropertyObject obj "ancestor-origins" WebKit.DOMDOMStringList.DOMDOMStringList

data DOMLocationAncestorOriginsPropertyInfo
instance AttrInfo DOMLocationAncestorOriginsPropertyInfo where
    type AttrAllowedOps DOMLocationAncestorOriginsPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMLocationAncestorOriginsPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMLocationAncestorOriginsPropertyInfo = IsDOMLocation
    type AttrGetType DOMLocationAncestorOriginsPropertyInfo = (Maybe WebKit.DOMDOMStringList.DOMDOMStringList)
    type AttrLabel DOMLocationAncestorOriginsPropertyInfo = "ancestor-origins"
    type AttrOrigin DOMLocationAncestorOriginsPropertyInfo = DOMLocation
    attrGet _ = getDOMLocationAncestorOrigins
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMLocationHash :: (MonadIO m, IsDOMLocation o) => o -> m (Maybe T.Text)
getDOMLocationHash obj = liftIO $ getObjectPropertyString obj "hash"

data DOMLocationHashPropertyInfo
instance AttrInfo DOMLocationHashPropertyInfo where
    type AttrAllowedOps DOMLocationHashPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMLocationHashPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMLocationHashPropertyInfo = IsDOMLocation
    type AttrGetType DOMLocationHashPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMLocationHashPropertyInfo = "hash"
    type AttrOrigin DOMLocationHashPropertyInfo = DOMLocation
    attrGet _ = getDOMLocationHash
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMLocationHost :: (MonadIO m, IsDOMLocation o) => o -> m (Maybe T.Text)
getDOMLocationHost obj = liftIO $ getObjectPropertyString obj "host"

data DOMLocationHostPropertyInfo
instance AttrInfo DOMLocationHostPropertyInfo where
    type AttrAllowedOps DOMLocationHostPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMLocationHostPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMLocationHostPropertyInfo = IsDOMLocation
    type AttrGetType DOMLocationHostPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMLocationHostPropertyInfo = "host"
    type AttrOrigin DOMLocationHostPropertyInfo = DOMLocation
    attrGet _ = getDOMLocationHost
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMLocationHostname :: (MonadIO m, IsDOMLocation o) => o -> m (Maybe T.Text)
getDOMLocationHostname obj = liftIO $ getObjectPropertyString obj "hostname"

data DOMLocationHostnamePropertyInfo
instance AttrInfo DOMLocationHostnamePropertyInfo where
    type AttrAllowedOps DOMLocationHostnamePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMLocationHostnamePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMLocationHostnamePropertyInfo = IsDOMLocation
    type AttrGetType DOMLocationHostnamePropertyInfo = (Maybe T.Text)
    type AttrLabel DOMLocationHostnamePropertyInfo = "hostname"
    type AttrOrigin DOMLocationHostnamePropertyInfo = DOMLocation
    attrGet _ = getDOMLocationHostname
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMLocationHref :: (MonadIO m, IsDOMLocation o) => o -> m (Maybe T.Text)
getDOMLocationHref obj = liftIO $ getObjectPropertyString obj "href"

data DOMLocationHrefPropertyInfo
instance AttrInfo DOMLocationHrefPropertyInfo where
    type AttrAllowedOps DOMLocationHrefPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMLocationHrefPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMLocationHrefPropertyInfo = IsDOMLocation
    type AttrGetType DOMLocationHrefPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMLocationHrefPropertyInfo = "href"
    type AttrOrigin DOMLocationHrefPropertyInfo = DOMLocation
    attrGet _ = getDOMLocationHref
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMLocationOrigin :: (MonadIO m, IsDOMLocation o) => o -> m (Maybe T.Text)
getDOMLocationOrigin obj = liftIO $ getObjectPropertyString obj "origin"

data DOMLocationOriginPropertyInfo
instance AttrInfo DOMLocationOriginPropertyInfo where
    type AttrAllowedOps DOMLocationOriginPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMLocationOriginPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMLocationOriginPropertyInfo = IsDOMLocation
    type AttrGetType DOMLocationOriginPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMLocationOriginPropertyInfo = "origin"
    type AttrOrigin DOMLocationOriginPropertyInfo = DOMLocation
    attrGet _ = getDOMLocationOrigin
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMLocationPathname :: (MonadIO m, IsDOMLocation o) => o -> m (Maybe T.Text)
getDOMLocationPathname obj = liftIO $ getObjectPropertyString obj "pathname"

data DOMLocationPathnamePropertyInfo
instance AttrInfo DOMLocationPathnamePropertyInfo where
    type AttrAllowedOps DOMLocationPathnamePropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMLocationPathnamePropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMLocationPathnamePropertyInfo = IsDOMLocation
    type AttrGetType DOMLocationPathnamePropertyInfo = (Maybe T.Text)
    type AttrLabel DOMLocationPathnamePropertyInfo = "pathname"
    type AttrOrigin DOMLocationPathnamePropertyInfo = DOMLocation
    attrGet _ = getDOMLocationPathname
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMLocationPort :: (MonadIO m, IsDOMLocation o) => o -> m (Maybe T.Text)
getDOMLocationPort obj = liftIO $ getObjectPropertyString obj "port"

data DOMLocationPortPropertyInfo
instance AttrInfo DOMLocationPortPropertyInfo where
    type AttrAllowedOps DOMLocationPortPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMLocationPortPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMLocationPortPropertyInfo = IsDOMLocation
    type AttrGetType DOMLocationPortPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMLocationPortPropertyInfo = "port"
    type AttrOrigin DOMLocationPortPropertyInfo = DOMLocation
    attrGet _ = getDOMLocationPort
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMLocationProtocol :: (MonadIO m, IsDOMLocation o) => o -> m (Maybe T.Text)
getDOMLocationProtocol obj = liftIO $ getObjectPropertyString obj "protocol"

data DOMLocationProtocolPropertyInfo
instance AttrInfo DOMLocationProtocolPropertyInfo where
    type AttrAllowedOps DOMLocationProtocolPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMLocationProtocolPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMLocationProtocolPropertyInfo = IsDOMLocation
    type AttrGetType DOMLocationProtocolPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMLocationProtocolPropertyInfo = "protocol"
    type AttrOrigin DOMLocationProtocolPropertyInfo = DOMLocation
    attrGet _ = getDOMLocationProtocol
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

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

getDOMLocationSearch :: (MonadIO m, IsDOMLocation o) => o -> m (Maybe T.Text)
getDOMLocationSearch obj = liftIO $ getObjectPropertyString obj "search"

data DOMLocationSearchPropertyInfo
instance AttrInfo DOMLocationSearchPropertyInfo where
    type AttrAllowedOps DOMLocationSearchPropertyInfo = '[ 'AttrGet, 'AttrClear]
    type AttrSetTypeConstraint DOMLocationSearchPropertyInfo = (~) ()
    type AttrBaseTypeConstraint DOMLocationSearchPropertyInfo = IsDOMLocation
    type AttrGetType DOMLocationSearchPropertyInfo = (Maybe T.Text)
    type AttrLabel DOMLocationSearchPropertyInfo = "search"
    type AttrOrigin DOMLocationSearchPropertyInfo = DOMLocation
    attrGet _ = getDOMLocationSearch
    attrSet _ = undefined
    attrConstruct _ = undefined
    attrClear _ = undefined

instance O.HasAttributeList DOMLocation
type instance O.AttributeList DOMLocation = DOMLocationAttributeList
type DOMLocationAttributeList = ('[ '("ancestorOrigins", DOMLocationAncestorOriginsPropertyInfo), '("coreObject", WebKit.DOMObject.DOMObjectCoreObjectPropertyInfo), '("hash", DOMLocationHashPropertyInfo), '("host", DOMLocationHostPropertyInfo), '("hostname", DOMLocationHostnamePropertyInfo), '("href", DOMLocationHrefPropertyInfo), '("origin", DOMLocationOriginPropertyInfo), '("pathname", DOMLocationPathnamePropertyInfo), '("port", DOMLocationPortPropertyInfo), '("protocol", DOMLocationProtocolPropertyInfo), '("search", DOMLocationSearchPropertyInfo)] :: [(Symbol, *)])

dOMLocationAncestorOrigins :: AttrLabelProxy "ancestorOrigins"
dOMLocationAncestorOrigins = AttrLabelProxy

dOMLocationHash :: AttrLabelProxy "hash"
dOMLocationHash = AttrLabelProxy

dOMLocationHost :: AttrLabelProxy "host"
dOMLocationHost = AttrLabelProxy

dOMLocationHostname :: AttrLabelProxy "hostname"
dOMLocationHostname = AttrLabelProxy

dOMLocationHref :: AttrLabelProxy "href"
dOMLocationHref = AttrLabelProxy

dOMLocationOrigin :: AttrLabelProxy "origin"
dOMLocationOrigin = AttrLabelProxy

dOMLocationPathname :: AttrLabelProxy "pathname"
dOMLocationPathname = AttrLabelProxy

dOMLocationPort :: AttrLabelProxy "port"
dOMLocationPort = AttrLabelProxy

dOMLocationProtocol :: AttrLabelProxy "protocol"
dOMLocationProtocol = AttrLabelProxy

dOMLocationSearch :: AttrLabelProxy "search"
dOMLocationSearch = AttrLabelProxy

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

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

foreign import ccall "webkit_dom_location_get_ancestor_origins" webkit_dom_location_get_ancestor_origins :: 
    Ptr DOMLocation ->                      -- self : TInterface (Name {namespace = "WebKit", name = "DOMLocation"})
    IO (Ptr WebKit.DOMDOMStringList.DOMDOMStringList)

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

data DOMLocationGetAncestorOriginsMethodInfo
instance (signature ~ (m WebKit.DOMDOMStringList.DOMDOMStringList), MonadIO m, IsDOMLocation a) => O.MethodInfo DOMLocationGetAncestorOriginsMethodInfo a signature where
    overloadedMethod _ = dOMLocationGetAncestorOrigins

-- method DOMLocation::get_hash
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMLocation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMLocation", 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_location_get_hash" webkit_dom_location_get_hash :: 
    Ptr DOMLocation ->                      -- self : TInterface (Name {namespace = "WebKit", name = "DOMLocation"})
    IO CString

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

data DOMLocationGetHashMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMLocation a) => O.MethodInfo DOMLocationGetHashMethodInfo a signature where
    overloadedMethod _ = dOMLocationGetHash

-- method DOMLocation::get_host
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMLocation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMLocation", 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_location_get_host" webkit_dom_location_get_host :: 
    Ptr DOMLocation ->                      -- self : TInterface (Name {namespace = "WebKit", name = "DOMLocation"})
    IO CString

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

data DOMLocationGetHostMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMLocation a) => O.MethodInfo DOMLocationGetHostMethodInfo a signature where
    overloadedMethod _ = dOMLocationGetHost

-- method DOMLocation::get_hostname
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMLocation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMLocation", 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_location_get_hostname" webkit_dom_location_get_hostname :: 
    Ptr DOMLocation ->                      -- self : TInterface (Name {namespace = "WebKit", name = "DOMLocation"})
    IO CString

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

data DOMLocationGetHostnameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMLocation a) => O.MethodInfo DOMLocationGetHostnameMethodInfo a signature where
    overloadedMethod _ = dOMLocationGetHostname

-- method DOMLocation::get_href
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMLocation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMLocation", 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_location_get_href" webkit_dom_location_get_href :: 
    Ptr DOMLocation ->                      -- self : TInterface (Name {namespace = "WebKit", name = "DOMLocation"})
    IO CString

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

data DOMLocationGetHrefMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMLocation a) => O.MethodInfo DOMLocationGetHrefMethodInfo a signature where
    overloadedMethod _ = dOMLocationGetHref

-- method DOMLocation::get_origin
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMLocation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMLocation", 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_location_get_origin" webkit_dom_location_get_origin :: 
    Ptr DOMLocation ->                      -- self : TInterface (Name {namespace = "WebKit", name = "DOMLocation"})
    IO CString

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

data DOMLocationGetOriginMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMLocation a) => O.MethodInfo DOMLocationGetOriginMethodInfo a signature where
    overloadedMethod _ = dOMLocationGetOrigin

-- method DOMLocation::get_pathname
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMLocation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMLocation", 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_location_get_pathname" webkit_dom_location_get_pathname :: 
    Ptr DOMLocation ->                      -- self : TInterface (Name {namespace = "WebKit", name = "DOMLocation"})
    IO CString

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

data DOMLocationGetPathnameMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMLocation a) => O.MethodInfo DOMLocationGetPathnameMethodInfo a signature where
    overloadedMethod _ = dOMLocationGetPathname

-- method DOMLocation::get_port
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMLocation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMLocation", 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_location_get_port" webkit_dom_location_get_port :: 
    Ptr DOMLocation ->                      -- self : TInterface (Name {namespace = "WebKit", name = "DOMLocation"})
    IO CString

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

data DOMLocationGetPortMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMLocation a) => O.MethodInfo DOMLocationGetPortMethodInfo a signature where
    overloadedMethod _ = dOMLocationGetPort

-- method DOMLocation::get_protocol
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMLocation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMLocation", 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_location_get_protocol" webkit_dom_location_get_protocol :: 
    Ptr DOMLocation ->                      -- self : TInterface (Name {namespace = "WebKit", name = "DOMLocation"})
    IO CString

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

data DOMLocationGetProtocolMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMLocation a) => O.MethodInfo DOMLocationGetProtocolMethodInfo a signature where
    overloadedMethod _ = dOMLocationGetProtocol

-- method DOMLocation::get_search
-- method type : OrdinaryMethod
-- Args : [Arg {argCName = "self", argType = TInterface (Name {namespace = "WebKit", name = "DOMLocation"}), direction = DirectionIn, mayBeNull = False, argDoc = Documentation {rawDocText = Just "A #WebKitDOMLocation", 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_location_get_search" webkit_dom_location_get_search :: 
    Ptr DOMLocation ->                      -- self : TInterface (Name {namespace = "WebKit", name = "DOMLocation"})
    IO CString

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

data DOMLocationGetSearchMethodInfo
instance (signature ~ (m T.Text), MonadIO m, IsDOMLocation a) => O.MethodInfo DOMLocationGetSearchMethodInfo a signature where
    overloadedMethod _ = dOMLocationGetSearch