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

-- * Exported types
    DOMHTMLBodyElement(..)                  ,
    DOMHTMLBodyElementK                     ,
    toDOMHTMLBodyElement                    ,
    noDOMHTMLBodyElement                    ,


 -- * Methods
-- ** dOMHTMLBodyElementGetALink
    dOMHTMLBodyElementGetALink              ,


-- ** dOMHTMLBodyElementGetBackground
    dOMHTMLBodyElementGetBackground         ,


-- ** dOMHTMLBodyElementGetBgColor
    dOMHTMLBodyElementGetBgColor            ,


-- ** dOMHTMLBodyElementGetLink
    dOMHTMLBodyElementGetLink               ,


-- ** dOMHTMLBodyElementGetText
    dOMHTMLBodyElementGetText               ,


-- ** dOMHTMLBodyElementGetVLink
    dOMHTMLBodyElementGetVLink              ,


-- ** dOMHTMLBodyElementSetALink
    dOMHTMLBodyElementSetALink              ,


-- ** dOMHTMLBodyElementSetBackground
    dOMHTMLBodyElementSetBackground         ,


-- ** dOMHTMLBodyElementSetBgColor
    dOMHTMLBodyElementSetBgColor            ,


-- ** dOMHTMLBodyElementSetLink
    dOMHTMLBodyElementSetLink               ,


-- ** dOMHTMLBodyElementSetText
    dOMHTMLBodyElementSetText               ,


-- ** dOMHTMLBodyElementSetVLink
    dOMHTMLBodyElementSetVLink              ,




 -- * Properties
-- ** ALink
    DOMHTMLBodyElementALinkPropertyInfo     ,
    constructDOMHTMLBodyElementALink        ,
    getDOMHTMLBodyElementALink              ,
    setDOMHTMLBodyElementALink              ,


-- ** Background
    DOMHTMLBodyElementBackgroundPropertyInfo,
    constructDOMHTMLBodyElementBackground   ,
    getDOMHTMLBodyElementBackground         ,
    setDOMHTMLBodyElementBackground         ,


-- ** BgColor
    DOMHTMLBodyElementBgColorPropertyInfo   ,
    constructDOMHTMLBodyElementBgColor      ,
    getDOMHTMLBodyElementBgColor            ,
    setDOMHTMLBodyElementBgColor            ,


-- ** Link
    DOMHTMLBodyElementLinkPropertyInfo      ,
    constructDOMHTMLBodyElementLink         ,
    getDOMHTMLBodyElementLink               ,
    setDOMHTMLBodyElementLink               ,


-- ** Text
    DOMHTMLBodyElementTextPropertyInfo      ,
    constructDOMHTMLBodyElementText         ,
    getDOMHTMLBodyElementText               ,
    setDOMHTMLBodyElementText               ,


-- ** VLink
    DOMHTMLBodyElementVLinkPropertyInfo     ,
    constructDOMHTMLBodyElementVLink        ,
    getDOMHTMLBodyElementVLink              ,
    setDOMHTMLBodyElementVLink              ,




    ) 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 DOMHTMLBodyElement = DOMHTMLBodyElement (ForeignPtr DOMHTMLBodyElement)
foreign import ccall "webkit_dom_html_body_element_get_type"
    c_webkit_dom_html_body_element_get_type :: IO GType

type instance ParentTypes DOMHTMLBodyElement = DOMHTMLBodyElementParentTypes
type DOMHTMLBodyElementParentTypes = '[DOMHTMLElement, DOMElement, DOMNode, DOMObject, GObject.Object, DOMEventTarget]

instance GObject DOMHTMLBodyElement where
    gobjectIsInitiallyUnowned _ = False
    gobjectType _ = c_webkit_dom_html_body_element_get_type
    

class GObject o => DOMHTMLBodyElementK o
instance (GObject o, IsDescendantOf DOMHTMLBodyElement o) => DOMHTMLBodyElementK o

toDOMHTMLBodyElement :: DOMHTMLBodyElementK o => o -> IO DOMHTMLBodyElement
toDOMHTMLBodyElement = unsafeCastTo DOMHTMLBodyElement

noDOMHTMLBodyElement :: Maybe DOMHTMLBodyElement
noDOMHTMLBodyElement = Nothing

-- VVV Prop "a-link"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMHTMLBodyElementALink :: (MonadIO m, DOMHTMLBodyElementK o) => o -> m T.Text
getDOMHTMLBodyElementALink obj = liftIO $ getObjectPropertyString obj "a-link"

setDOMHTMLBodyElementALink :: (MonadIO m, DOMHTMLBodyElementK o) => o -> T.Text -> m ()
setDOMHTMLBodyElementALink obj val = liftIO $ setObjectPropertyString obj "a-link" val

constructDOMHTMLBodyElementALink :: T.Text -> IO ([Char], GValue)
constructDOMHTMLBodyElementALink val = constructObjectPropertyString "a-link" val

data DOMHTMLBodyElementALinkPropertyInfo
instance AttrInfo DOMHTMLBodyElementALinkPropertyInfo where
    type AttrAllowedOps DOMHTMLBodyElementALinkPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLBodyElementALinkPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLBodyElementALinkPropertyInfo = DOMHTMLBodyElementK
    type AttrGetType DOMHTMLBodyElementALinkPropertyInfo = T.Text
    type AttrLabel DOMHTMLBodyElementALinkPropertyInfo = "DOMHTMLBodyElement::a-link"
    attrGet _ = getDOMHTMLBodyElementALink
    attrSet _ = setDOMHTMLBodyElementALink
    attrConstruct _ = constructDOMHTMLBodyElementALink

-- VVV Prop "background"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMHTMLBodyElementBackground :: (MonadIO m, DOMHTMLBodyElementK o) => o -> m T.Text
getDOMHTMLBodyElementBackground obj = liftIO $ getObjectPropertyString obj "background"

setDOMHTMLBodyElementBackground :: (MonadIO m, DOMHTMLBodyElementK o) => o -> T.Text -> m ()
setDOMHTMLBodyElementBackground obj val = liftIO $ setObjectPropertyString obj "background" val

constructDOMHTMLBodyElementBackground :: T.Text -> IO ([Char], GValue)
constructDOMHTMLBodyElementBackground val = constructObjectPropertyString "background" val

data DOMHTMLBodyElementBackgroundPropertyInfo
instance AttrInfo DOMHTMLBodyElementBackgroundPropertyInfo where
    type AttrAllowedOps DOMHTMLBodyElementBackgroundPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLBodyElementBackgroundPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLBodyElementBackgroundPropertyInfo = DOMHTMLBodyElementK
    type AttrGetType DOMHTMLBodyElementBackgroundPropertyInfo = T.Text
    type AttrLabel DOMHTMLBodyElementBackgroundPropertyInfo = "DOMHTMLBodyElement::background"
    attrGet _ = getDOMHTMLBodyElementBackground
    attrSet _ = setDOMHTMLBodyElementBackground
    attrConstruct _ = constructDOMHTMLBodyElementBackground

-- VVV Prop "bg-color"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMHTMLBodyElementBgColor :: (MonadIO m, DOMHTMLBodyElementK o) => o -> m T.Text
getDOMHTMLBodyElementBgColor obj = liftIO $ getObjectPropertyString obj "bg-color"

setDOMHTMLBodyElementBgColor :: (MonadIO m, DOMHTMLBodyElementK o) => o -> T.Text -> m ()
setDOMHTMLBodyElementBgColor obj val = liftIO $ setObjectPropertyString obj "bg-color" val

constructDOMHTMLBodyElementBgColor :: T.Text -> IO ([Char], GValue)
constructDOMHTMLBodyElementBgColor val = constructObjectPropertyString "bg-color" val

data DOMHTMLBodyElementBgColorPropertyInfo
instance AttrInfo DOMHTMLBodyElementBgColorPropertyInfo where
    type AttrAllowedOps DOMHTMLBodyElementBgColorPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLBodyElementBgColorPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLBodyElementBgColorPropertyInfo = DOMHTMLBodyElementK
    type AttrGetType DOMHTMLBodyElementBgColorPropertyInfo = T.Text
    type AttrLabel DOMHTMLBodyElementBgColorPropertyInfo = "DOMHTMLBodyElement::bg-color"
    attrGet _ = getDOMHTMLBodyElementBgColor
    attrSet _ = setDOMHTMLBodyElementBgColor
    attrConstruct _ = constructDOMHTMLBodyElementBgColor

-- VVV Prop "link"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMHTMLBodyElementLink :: (MonadIO m, DOMHTMLBodyElementK o) => o -> m T.Text
getDOMHTMLBodyElementLink obj = liftIO $ getObjectPropertyString obj "link"

setDOMHTMLBodyElementLink :: (MonadIO m, DOMHTMLBodyElementK o) => o -> T.Text -> m ()
setDOMHTMLBodyElementLink obj val = liftIO $ setObjectPropertyString obj "link" val

constructDOMHTMLBodyElementLink :: T.Text -> IO ([Char], GValue)
constructDOMHTMLBodyElementLink val = constructObjectPropertyString "link" val

data DOMHTMLBodyElementLinkPropertyInfo
instance AttrInfo DOMHTMLBodyElementLinkPropertyInfo where
    type AttrAllowedOps DOMHTMLBodyElementLinkPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLBodyElementLinkPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLBodyElementLinkPropertyInfo = DOMHTMLBodyElementK
    type AttrGetType DOMHTMLBodyElementLinkPropertyInfo = T.Text
    type AttrLabel DOMHTMLBodyElementLinkPropertyInfo = "DOMHTMLBodyElement::link"
    attrGet _ = getDOMHTMLBodyElementLink
    attrSet _ = setDOMHTMLBodyElementLink
    attrConstruct _ = constructDOMHTMLBodyElementLink

-- VVV Prop "text"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMHTMLBodyElementText :: (MonadIO m, DOMHTMLBodyElementK o) => o -> m T.Text
getDOMHTMLBodyElementText obj = liftIO $ getObjectPropertyString obj "text"

setDOMHTMLBodyElementText :: (MonadIO m, DOMHTMLBodyElementK o) => o -> T.Text -> m ()
setDOMHTMLBodyElementText obj val = liftIO $ setObjectPropertyString obj "text" val

constructDOMHTMLBodyElementText :: T.Text -> IO ([Char], GValue)
constructDOMHTMLBodyElementText val = constructObjectPropertyString "text" val

data DOMHTMLBodyElementTextPropertyInfo
instance AttrInfo DOMHTMLBodyElementTextPropertyInfo where
    type AttrAllowedOps DOMHTMLBodyElementTextPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLBodyElementTextPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLBodyElementTextPropertyInfo = DOMHTMLBodyElementK
    type AttrGetType DOMHTMLBodyElementTextPropertyInfo = T.Text
    type AttrLabel DOMHTMLBodyElementTextPropertyInfo = "DOMHTMLBodyElement::text"
    attrGet _ = getDOMHTMLBodyElementText
    attrSet _ = setDOMHTMLBodyElementText
    attrConstruct _ = constructDOMHTMLBodyElementText

-- VVV Prop "v-link"
   -- Type: TBasicType TUTF8
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMHTMLBodyElementVLink :: (MonadIO m, DOMHTMLBodyElementK o) => o -> m T.Text
getDOMHTMLBodyElementVLink obj = liftIO $ getObjectPropertyString obj "v-link"

setDOMHTMLBodyElementVLink :: (MonadIO m, DOMHTMLBodyElementK o) => o -> T.Text -> m ()
setDOMHTMLBodyElementVLink obj val = liftIO $ setObjectPropertyString obj "v-link" val

constructDOMHTMLBodyElementVLink :: T.Text -> IO ([Char], GValue)
constructDOMHTMLBodyElementVLink val = constructObjectPropertyString "v-link" val

data DOMHTMLBodyElementVLinkPropertyInfo
instance AttrInfo DOMHTMLBodyElementVLinkPropertyInfo where
    type AttrAllowedOps DOMHTMLBodyElementVLinkPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLBodyElementVLinkPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLBodyElementVLinkPropertyInfo = DOMHTMLBodyElementK
    type AttrGetType DOMHTMLBodyElementVLinkPropertyInfo = T.Text
    type AttrLabel DOMHTMLBodyElementVLinkPropertyInfo = "DOMHTMLBodyElement::v-link"
    attrGet _ = getDOMHTMLBodyElementVLink
    attrSet _ = setDOMHTMLBodyElementVLink
    attrConstruct _ = constructDOMHTMLBodyElementVLink

type instance AttributeList DOMHTMLBodyElement = DOMHTMLBodyElementAttributeList
type DOMHTMLBodyElementAttributeList = ('[ '("a-link", DOMHTMLBodyElementALinkPropertyInfo), '("access-key", DOMHTMLElementAccessKeyPropertyInfo), '("attributes", DOMElementAttributesPropertyInfo), '("background", DOMHTMLBodyElementBackgroundPropertyInfo), '("base-uri", DOMNodeBaseUriPropertyInfo), '("bg-color", DOMHTMLBodyElementBgColorPropertyInfo), '("child-element-count", DOMElementChildElementCountPropertyInfo), '("child-nodes", DOMNodeChildNodesPropertyInfo), '("children", DOMHTMLElementChildrenPropertyInfo), '("class-list", DOMElementClassListPropertyInfo), '("class-name", DOMElementClassNamePropertyInfo), '("client-height", DOMElementClientHeightPropertyInfo), '("client-left", DOMElementClientLeftPropertyInfo), '("client-top", DOMElementClientTopPropertyInfo), '("client-width", DOMElementClientWidthPropertyInfo), '("content-editable", DOMHTMLElementContentEditablePropertyInfo), '("core-object", DOMObjectCoreObjectPropertyInfo), '("dir", DOMHTMLElementDirPropertyInfo), '("draggable", DOMHTMLElementDraggablePropertyInfo), '("first-child", DOMNodeFirstChildPropertyInfo), '("first-element-child", DOMElementFirstElementChildPropertyInfo), '("hidden", DOMHTMLElementHiddenPropertyInfo), '("id", DOMElementIdPropertyInfo), '("inner-html", DOMHTMLElementInnerHtmlPropertyInfo), '("inner-text", DOMHTMLElementInnerTextPropertyInfo), '("is-content-editable", DOMHTMLElementIsContentEditablePropertyInfo), '("lang", DOMHTMLElementLangPropertyInfo), '("last-child", DOMNodeLastChildPropertyInfo), '("last-element-child", DOMElementLastElementChildPropertyInfo), '("link", DOMHTMLBodyElementLinkPropertyInfo), '("local-name", DOMNodeLocalNamePropertyInfo), '("namespace-uri", DOMNodeNamespaceUriPropertyInfo), '("next-element-sibling", DOMElementNextElementSiblingPropertyInfo), '("next-sibling", DOMNodeNextSiblingPropertyInfo), '("node-name", DOMNodeNodeNamePropertyInfo), '("node-type", DOMNodeNodeTypePropertyInfo), '("node-value", DOMNodeNodeValuePropertyInfo), '("offset-height", DOMElementOffsetHeightPropertyInfo), '("offset-left", DOMElementOffsetLeftPropertyInfo), '("offset-parent", DOMElementOffsetParentPropertyInfo), '("offset-top", DOMElementOffsetTopPropertyInfo), '("offset-width", DOMElementOffsetWidthPropertyInfo), '("outer-html", DOMHTMLElementOuterHtmlPropertyInfo), '("outer-text", DOMHTMLElementOuterTextPropertyInfo), '("owner-document", DOMNodeOwnerDocumentPropertyInfo), '("parent-element", DOMNodeParentElementPropertyInfo), '("parent-node", DOMNodeParentNodePropertyInfo), '("prefix", DOMNodePrefixPropertyInfo), '("previous-element-sibling", DOMElementPreviousElementSiblingPropertyInfo), '("previous-sibling", DOMNodePreviousSiblingPropertyInfo), '("scroll-height", DOMElementScrollHeightPropertyInfo), '("scroll-left", DOMElementScrollLeftPropertyInfo), '("scroll-top", DOMElementScrollTopPropertyInfo), '("scroll-width", DOMElementScrollWidthPropertyInfo), '("spellcheck", DOMHTMLElementSpellcheckPropertyInfo), '("style", DOMElementStylePropertyInfo), '("tab-index", DOMHTMLElementTabIndexPropertyInfo), '("tag-name", DOMElementTagNamePropertyInfo), '("text", DOMHTMLBodyElementTextPropertyInfo), '("text-content", DOMNodeTextContentPropertyInfo), '("title", DOMHTMLElementTitlePropertyInfo), '("translate", DOMHTMLElementTranslatePropertyInfo), '("v-link", DOMHTMLBodyElementVLinkPropertyInfo), '("webkit-region-overset", DOMElementWebkitRegionOversetPropertyInfo), '("webkitdropzone", DOMHTMLElementWebkitdropzonePropertyInfo)] :: [(Symbol, *)])

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

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


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

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


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

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


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

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


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

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


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

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


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

-- method DOMHTMLBodyElement::set_a_link
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLBodyElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLBodyElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, 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_html_body_element_set_a_link" webkit_dom_html_body_element_set_a_link :: 
    Ptr DOMHTMLBodyElement ->               -- _obj : TInterface "WebKit" "DOMHTMLBodyElement"
    CString ->                              -- value : TBasicType TUTF8
    IO ()


dOMHTMLBodyElementSetALink ::
    (MonadIO m, DOMHTMLBodyElementK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- value
    m ()
dOMHTMLBodyElementSetALink _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    value' <- textToCString value
    webkit_dom_html_body_element_set_a_link _obj' value'
    touchManagedPtr _obj
    freeMem value'
    return ()

-- method DOMHTMLBodyElement::set_background
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLBodyElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLBodyElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, 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_html_body_element_set_background" webkit_dom_html_body_element_set_background :: 
    Ptr DOMHTMLBodyElement ->               -- _obj : TInterface "WebKit" "DOMHTMLBodyElement"
    CString ->                              -- value : TBasicType TUTF8
    IO ()


dOMHTMLBodyElementSetBackground ::
    (MonadIO m, DOMHTMLBodyElementK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- value
    m ()
dOMHTMLBodyElementSetBackground _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    value' <- textToCString value
    webkit_dom_html_body_element_set_background _obj' value'
    touchManagedPtr _obj
    freeMem value'
    return ()

-- method DOMHTMLBodyElement::set_bg_color
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLBodyElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLBodyElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, 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_html_body_element_set_bg_color" webkit_dom_html_body_element_set_bg_color :: 
    Ptr DOMHTMLBodyElement ->               -- _obj : TInterface "WebKit" "DOMHTMLBodyElement"
    CString ->                              -- value : TBasicType TUTF8
    IO ()


dOMHTMLBodyElementSetBgColor ::
    (MonadIO m, DOMHTMLBodyElementK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- value
    m ()
dOMHTMLBodyElementSetBgColor _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    value' <- textToCString value
    webkit_dom_html_body_element_set_bg_color _obj' value'
    touchManagedPtr _obj
    freeMem value'
    return ()

-- method DOMHTMLBodyElement::set_link
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLBodyElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLBodyElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, 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_html_body_element_set_link" webkit_dom_html_body_element_set_link :: 
    Ptr DOMHTMLBodyElement ->               -- _obj : TInterface "WebKit" "DOMHTMLBodyElement"
    CString ->                              -- value : TBasicType TUTF8
    IO ()


dOMHTMLBodyElementSetLink ::
    (MonadIO m, DOMHTMLBodyElementK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- value
    m ()
dOMHTMLBodyElementSetLink _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    value' <- textToCString value
    webkit_dom_html_body_element_set_link _obj' value'
    touchManagedPtr _obj
    freeMem value'
    return ()

-- method DOMHTMLBodyElement::set_text
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLBodyElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLBodyElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, 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_html_body_element_set_text" webkit_dom_html_body_element_set_text :: 
    Ptr DOMHTMLBodyElement ->               -- _obj : TInterface "WebKit" "DOMHTMLBodyElement"
    CString ->                              -- value : TBasicType TUTF8
    IO ()


dOMHTMLBodyElementSetText ::
    (MonadIO m, DOMHTMLBodyElementK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- value
    m ()
dOMHTMLBodyElementSetText _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    value' <- textToCString value
    webkit_dom_html_body_element_set_text _obj' value'
    touchManagedPtr _obj
    freeMem value'
    return ()

-- method DOMHTMLBodyElement::set_v_link
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLBodyElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit" "DOMHTMLBodyElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TUTF8, 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_html_body_element_set_v_link" webkit_dom_html_body_element_set_v_link :: 
    Ptr DOMHTMLBodyElement ->               -- _obj : TInterface "WebKit" "DOMHTMLBodyElement"
    CString ->                              -- value : TBasicType TUTF8
    IO ()


dOMHTMLBodyElementSetVLink ::
    (MonadIO m, DOMHTMLBodyElementK a) =>
    a ->                                    -- _obj
    T.Text ->                               -- value
    m ()
dOMHTMLBodyElementSetVLink _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    value' <- textToCString value
    webkit_dom_html_body_element_set_v_link _obj' value'
    touchManagedPtr _obj
    freeMem value'
    return ()