{- |
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.WebKit2WebExtension.Objects.DOMHTMLEmbedElement
    ( 

-- * Exported types
    DOMHTMLEmbedElement(..)                 ,
    DOMHTMLEmbedElementK                    ,
    toDOMHTMLEmbedElement                   ,
    noDOMHTMLEmbedElement                   ,


 -- * Methods
-- ** dOMHTMLEmbedElementGetAlign
    dOMHTMLEmbedElementGetAlign             ,


-- ** dOMHTMLEmbedElementGetHeight
    dOMHTMLEmbedElementGetHeight            ,


-- ** dOMHTMLEmbedElementGetName
    dOMHTMLEmbedElementGetName              ,


-- ** dOMHTMLEmbedElementGetSrc
    dOMHTMLEmbedElementGetSrc               ,


-- ** dOMHTMLEmbedElementGetTypeAttr
    dOMHTMLEmbedElementGetTypeAttr          ,


-- ** dOMHTMLEmbedElementGetWidth
    dOMHTMLEmbedElementGetWidth             ,


-- ** dOMHTMLEmbedElementSetAlign
    dOMHTMLEmbedElementSetAlign             ,


-- ** dOMHTMLEmbedElementSetHeight
    dOMHTMLEmbedElementSetHeight            ,


-- ** dOMHTMLEmbedElementSetName
    dOMHTMLEmbedElementSetName              ,


-- ** dOMHTMLEmbedElementSetSrc
    dOMHTMLEmbedElementSetSrc               ,


-- ** dOMHTMLEmbedElementSetTypeAttr
    dOMHTMLEmbedElementSetTypeAttr          ,


-- ** dOMHTMLEmbedElementSetWidth
    dOMHTMLEmbedElementSetWidth             ,




 -- * Properties
-- ** Align
    DOMHTMLEmbedElementAlignPropertyInfo    ,
    constructDOMHTMLEmbedElementAlign       ,
    getDOMHTMLEmbedElementAlign             ,
    setDOMHTMLEmbedElementAlign             ,


-- ** Height
    DOMHTMLEmbedElementHeightPropertyInfo   ,
    constructDOMHTMLEmbedElementHeight      ,
    getDOMHTMLEmbedElementHeight            ,
    setDOMHTMLEmbedElementHeight            ,


-- ** Name
    DOMHTMLEmbedElementNamePropertyInfo     ,
    constructDOMHTMLEmbedElementName        ,
    getDOMHTMLEmbedElementName              ,
    setDOMHTMLEmbedElementName              ,


-- ** Src
    DOMHTMLEmbedElementSrcPropertyInfo      ,
    constructDOMHTMLEmbedElementSrc         ,
    getDOMHTMLEmbedElementSrc               ,
    setDOMHTMLEmbedElementSrc               ,


-- ** Type
    DOMHTMLEmbedElementTypePropertyInfo     ,
    constructDOMHTMLEmbedElementType        ,
    getDOMHTMLEmbedElementType              ,
    setDOMHTMLEmbedElementType              ,


-- ** Width
    DOMHTMLEmbedElementWidthPropertyInfo    ,
    constructDOMHTMLEmbedElementWidth       ,
    getDOMHTMLEmbedElementWidth             ,
    setDOMHTMLEmbedElementWidth             ,




    ) 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.WebKit2WebExtension.Types
import GI.WebKit2WebExtension.Callbacks
import qualified GI.GObject as GObject

newtype DOMHTMLEmbedElement = DOMHTMLEmbedElement (ForeignPtr DOMHTMLEmbedElement)
foreign import ccall "webkit_dom_html_embed_element_get_type"
    c_webkit_dom_html_embed_element_get_type :: IO GType

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

instance GObject DOMHTMLEmbedElement where
    gobjectIsInitiallyUnowned _ = False
    gobjectType _ = c_webkit_dom_html_embed_element_get_type
    

class GObject o => DOMHTMLEmbedElementK o
instance (GObject o, IsDescendantOf DOMHTMLEmbedElement o) => DOMHTMLEmbedElementK o

toDOMHTMLEmbedElement :: DOMHTMLEmbedElementK o => o -> IO DOMHTMLEmbedElement
toDOMHTMLEmbedElement = unsafeCastTo DOMHTMLEmbedElement

noDOMHTMLEmbedElement :: Maybe DOMHTMLEmbedElement
noDOMHTMLEmbedElement = Nothing

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

getDOMHTMLEmbedElementAlign :: (MonadIO m, DOMHTMLEmbedElementK o) => o -> m T.Text
getDOMHTMLEmbedElementAlign obj = liftIO $ getObjectPropertyString obj "align"

setDOMHTMLEmbedElementAlign :: (MonadIO m, DOMHTMLEmbedElementK o) => o -> T.Text -> m ()
setDOMHTMLEmbedElementAlign obj val = liftIO $ setObjectPropertyString obj "align" val

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

data DOMHTMLEmbedElementAlignPropertyInfo
instance AttrInfo DOMHTMLEmbedElementAlignPropertyInfo where
    type AttrAllowedOps DOMHTMLEmbedElementAlignPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLEmbedElementAlignPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLEmbedElementAlignPropertyInfo = DOMHTMLEmbedElementK
    type AttrGetType DOMHTMLEmbedElementAlignPropertyInfo = T.Text
    type AttrLabel DOMHTMLEmbedElementAlignPropertyInfo = "DOMHTMLEmbedElement::align"
    attrGet _ = getDOMHTMLEmbedElementAlign
    attrSet _ = setDOMHTMLEmbedElementAlign
    attrConstruct _ = constructDOMHTMLEmbedElementAlign

-- VVV Prop "height"
   -- Type: TBasicType TInt64
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMHTMLEmbedElementHeight :: (MonadIO m, DOMHTMLEmbedElementK o) => o -> m Int64
getDOMHTMLEmbedElementHeight obj = liftIO $ getObjectPropertyInt64 obj "height"

setDOMHTMLEmbedElementHeight :: (MonadIO m, DOMHTMLEmbedElementK o) => o -> Int64 -> m ()
setDOMHTMLEmbedElementHeight obj val = liftIO $ setObjectPropertyInt64 obj "height" val

constructDOMHTMLEmbedElementHeight :: Int64 -> IO ([Char], GValue)
constructDOMHTMLEmbedElementHeight val = constructObjectPropertyInt64 "height" val

data DOMHTMLEmbedElementHeightPropertyInfo
instance AttrInfo DOMHTMLEmbedElementHeightPropertyInfo where
    type AttrAllowedOps DOMHTMLEmbedElementHeightPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLEmbedElementHeightPropertyInfo = (~) Int64
    type AttrBaseTypeConstraint DOMHTMLEmbedElementHeightPropertyInfo = DOMHTMLEmbedElementK
    type AttrGetType DOMHTMLEmbedElementHeightPropertyInfo = Int64
    type AttrLabel DOMHTMLEmbedElementHeightPropertyInfo = "DOMHTMLEmbedElement::height"
    attrGet _ = getDOMHTMLEmbedElementHeight
    attrSet _ = setDOMHTMLEmbedElementHeight
    attrConstruct _ = constructDOMHTMLEmbedElementHeight

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

getDOMHTMLEmbedElementName :: (MonadIO m, DOMHTMLEmbedElementK o) => o -> m T.Text
getDOMHTMLEmbedElementName obj = liftIO $ getObjectPropertyString obj "name"

setDOMHTMLEmbedElementName :: (MonadIO m, DOMHTMLEmbedElementK o) => o -> T.Text -> m ()
setDOMHTMLEmbedElementName obj val = liftIO $ setObjectPropertyString obj "name" val

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

data DOMHTMLEmbedElementNamePropertyInfo
instance AttrInfo DOMHTMLEmbedElementNamePropertyInfo where
    type AttrAllowedOps DOMHTMLEmbedElementNamePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLEmbedElementNamePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLEmbedElementNamePropertyInfo = DOMHTMLEmbedElementK
    type AttrGetType DOMHTMLEmbedElementNamePropertyInfo = T.Text
    type AttrLabel DOMHTMLEmbedElementNamePropertyInfo = "DOMHTMLEmbedElement::name"
    attrGet _ = getDOMHTMLEmbedElementName
    attrSet _ = setDOMHTMLEmbedElementName
    attrConstruct _ = constructDOMHTMLEmbedElementName

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

getDOMHTMLEmbedElementSrc :: (MonadIO m, DOMHTMLEmbedElementK o) => o -> m T.Text
getDOMHTMLEmbedElementSrc obj = liftIO $ getObjectPropertyString obj "src"

setDOMHTMLEmbedElementSrc :: (MonadIO m, DOMHTMLEmbedElementK o) => o -> T.Text -> m ()
setDOMHTMLEmbedElementSrc obj val = liftIO $ setObjectPropertyString obj "src" val

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

data DOMHTMLEmbedElementSrcPropertyInfo
instance AttrInfo DOMHTMLEmbedElementSrcPropertyInfo where
    type AttrAllowedOps DOMHTMLEmbedElementSrcPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLEmbedElementSrcPropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLEmbedElementSrcPropertyInfo = DOMHTMLEmbedElementK
    type AttrGetType DOMHTMLEmbedElementSrcPropertyInfo = T.Text
    type AttrLabel DOMHTMLEmbedElementSrcPropertyInfo = "DOMHTMLEmbedElement::src"
    attrGet _ = getDOMHTMLEmbedElementSrc
    attrSet _ = setDOMHTMLEmbedElementSrc
    attrConstruct _ = constructDOMHTMLEmbedElementSrc

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

getDOMHTMLEmbedElementType :: (MonadIO m, DOMHTMLEmbedElementK o) => o -> m T.Text
getDOMHTMLEmbedElementType obj = liftIO $ getObjectPropertyString obj "type"

setDOMHTMLEmbedElementType :: (MonadIO m, DOMHTMLEmbedElementK o) => o -> T.Text -> m ()
setDOMHTMLEmbedElementType obj val = liftIO $ setObjectPropertyString obj "type" val

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

data DOMHTMLEmbedElementTypePropertyInfo
instance AttrInfo DOMHTMLEmbedElementTypePropertyInfo where
    type AttrAllowedOps DOMHTMLEmbedElementTypePropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLEmbedElementTypePropertyInfo = (~) T.Text
    type AttrBaseTypeConstraint DOMHTMLEmbedElementTypePropertyInfo = DOMHTMLEmbedElementK
    type AttrGetType DOMHTMLEmbedElementTypePropertyInfo = T.Text
    type AttrLabel DOMHTMLEmbedElementTypePropertyInfo = "DOMHTMLEmbedElement::type"
    attrGet _ = getDOMHTMLEmbedElementType
    attrSet _ = setDOMHTMLEmbedElementType
    attrConstruct _ = constructDOMHTMLEmbedElementType

-- VVV Prop "width"
   -- Type: TBasicType TInt64
   -- Flags: [PropertyReadable,PropertyWritable]

getDOMHTMLEmbedElementWidth :: (MonadIO m, DOMHTMLEmbedElementK o) => o -> m Int64
getDOMHTMLEmbedElementWidth obj = liftIO $ getObjectPropertyInt64 obj "width"

setDOMHTMLEmbedElementWidth :: (MonadIO m, DOMHTMLEmbedElementK o) => o -> Int64 -> m ()
setDOMHTMLEmbedElementWidth obj val = liftIO $ setObjectPropertyInt64 obj "width" val

constructDOMHTMLEmbedElementWidth :: Int64 -> IO ([Char], GValue)
constructDOMHTMLEmbedElementWidth val = constructObjectPropertyInt64 "width" val

data DOMHTMLEmbedElementWidthPropertyInfo
instance AttrInfo DOMHTMLEmbedElementWidthPropertyInfo where
    type AttrAllowedOps DOMHTMLEmbedElementWidthPropertyInfo = '[ 'AttrSet, 'AttrConstruct, 'AttrGet]
    type AttrSetTypeConstraint DOMHTMLEmbedElementWidthPropertyInfo = (~) Int64
    type AttrBaseTypeConstraint DOMHTMLEmbedElementWidthPropertyInfo = DOMHTMLEmbedElementK
    type AttrGetType DOMHTMLEmbedElementWidthPropertyInfo = Int64
    type AttrLabel DOMHTMLEmbedElementWidthPropertyInfo = "DOMHTMLEmbedElement::width"
    attrGet _ = getDOMHTMLEmbedElementWidth
    attrSet _ = setDOMHTMLEmbedElementWidth
    attrConstruct _ = constructDOMHTMLEmbedElementWidth

type instance AttributeList DOMHTMLEmbedElement = DOMHTMLEmbedElementAttributeList
type DOMHTMLEmbedElementAttributeList = ('[ '("access-key", DOMHTMLElementAccessKeyPropertyInfo), '("align", DOMHTMLEmbedElementAlignPropertyInfo), '("attributes", DOMElementAttributesPropertyInfo), '("base-uri", DOMNodeBaseUriPropertyInfo), '("child-element-count", DOMElementChildElementCountPropertyInfo), '("child-nodes", DOMNodeChildNodesPropertyInfo), '("children", DOMElementChildrenPropertyInfo), '("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), '("height", DOMHTMLEmbedElementHeightPropertyInfo), '("hidden", DOMHTMLElementHiddenPropertyInfo), '("id", DOMElementIdPropertyInfo), '("inner-html", DOMElementInnerHtmlPropertyInfo), '("inner-text", DOMHTMLElementInnerTextPropertyInfo), '("is-content-editable", DOMHTMLElementIsContentEditablePropertyInfo), '("lang", DOMHTMLElementLangPropertyInfo), '("last-child", DOMNodeLastChildPropertyInfo), '("last-element-child", DOMElementLastElementChildPropertyInfo), '("local-name", DOMNodeLocalNamePropertyInfo), '("name", DOMHTMLEmbedElementNamePropertyInfo), '("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", DOMElementOuterHtmlPropertyInfo), '("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), '("src", DOMHTMLEmbedElementSrcPropertyInfo), '("style", DOMElementStylePropertyInfo), '("tab-index", DOMHTMLElementTabIndexPropertyInfo), '("tag-name", DOMElementTagNamePropertyInfo), '("text-content", DOMNodeTextContentPropertyInfo), '("title", DOMHTMLElementTitlePropertyInfo), '("translate", DOMHTMLElementTranslatePropertyInfo), '("type", DOMHTMLEmbedElementTypePropertyInfo), '("webkit-region-overset", DOMElementWebkitRegionOversetPropertyInfo), '("webkitdropzone", DOMHTMLElementWebkitdropzonePropertyInfo), '("width", DOMHTMLEmbedElementWidthPropertyInfo)] :: [(Symbol, *)])

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

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


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

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

foreign import ccall "webkit_dom_html_embed_element_get_height" webkit_dom_html_embed_element_get_height :: 
    Ptr DOMHTMLEmbedElement ->              -- _obj : TInterface "WebKit2WebExtension" "DOMHTMLEmbedElement"
    IO Int64


dOMHTMLEmbedElementGetHeight ::
    (MonadIO m, DOMHTMLEmbedElementK a) =>
    a ->                                    -- _obj
    m Int64
dOMHTMLEmbedElementGetHeight _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_embed_element_get_height _obj'
    touchManagedPtr _obj
    return result

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


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

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


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

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


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

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

foreign import ccall "webkit_dom_html_embed_element_get_width" webkit_dom_html_embed_element_get_width :: 
    Ptr DOMHTMLEmbedElement ->              -- _obj : TInterface "WebKit2WebExtension" "DOMHTMLEmbedElement"
    IO Int64


dOMHTMLEmbedElementGetWidth ::
    (MonadIO m, DOMHTMLEmbedElementK a) =>
    a ->                                    -- _obj
    m Int64
dOMHTMLEmbedElementGetWidth _obj = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    result <- webkit_dom_html_embed_element_get_width _obj'
    touchManagedPtr _obj
    return result

-- method DOMHTMLEmbedElement::set_align
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMHTMLEmbedElement", 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 "WebKit2WebExtension" "DOMHTMLEmbedElement", 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_embed_element_set_align" webkit_dom_html_embed_element_set_align :: 
    Ptr DOMHTMLEmbedElement ->              -- _obj : TInterface "WebKit2WebExtension" "DOMHTMLEmbedElement"
    CString ->                              -- value : TBasicType TUTF8
    IO ()


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

-- method DOMHTMLEmbedElement::set_height
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMHTMLEmbedElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMHTMLEmbedElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TInt64, 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_embed_element_set_height" webkit_dom_html_embed_element_set_height :: 
    Ptr DOMHTMLEmbedElement ->              -- _obj : TInterface "WebKit2WebExtension" "DOMHTMLEmbedElement"
    Int64 ->                                -- value : TBasicType TInt64
    IO ()


dOMHTMLEmbedElementSetHeight ::
    (MonadIO m, DOMHTMLEmbedElementK a) =>
    a ->                                    -- _obj
    Int64 ->                                -- value
    m ()
dOMHTMLEmbedElementSetHeight _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    webkit_dom_html_embed_element_set_height _obj' value
    touchManagedPtr _obj
    return ()

-- method DOMHTMLEmbedElement::set_name
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMHTMLEmbedElement", 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 "WebKit2WebExtension" "DOMHTMLEmbedElement", 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_embed_element_set_name" webkit_dom_html_embed_element_set_name :: 
    Ptr DOMHTMLEmbedElement ->              -- _obj : TInterface "WebKit2WebExtension" "DOMHTMLEmbedElement"
    CString ->                              -- value : TBasicType TUTF8
    IO ()


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

-- method DOMHTMLEmbedElement::set_src
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMHTMLEmbedElement", 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 "WebKit2WebExtension" "DOMHTMLEmbedElement", 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_embed_element_set_src" webkit_dom_html_embed_element_set_src :: 
    Ptr DOMHTMLEmbedElement ->              -- _obj : TInterface "WebKit2WebExtension" "DOMHTMLEmbedElement"
    CString ->                              -- value : TBasicType TUTF8
    IO ()


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

-- method DOMHTMLEmbedElement::set_type_attr
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMHTMLEmbedElement", 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 "WebKit2WebExtension" "DOMHTMLEmbedElement", 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_embed_element_set_type_attr" webkit_dom_html_embed_element_set_type_attr :: 
    Ptr DOMHTMLEmbedElement ->              -- _obj : TInterface "WebKit2WebExtension" "DOMHTMLEmbedElement"
    CString ->                              -- value : TBasicType TUTF8
    IO ()


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

-- method DOMHTMLEmbedElement::set_width
-- method type : OrdinaryMethod
-- Args : [Arg {argName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMHTMLEmbedElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TInt64, direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing}]
-- Lengths : []
-- hInArgs : [Arg {argName = "_obj", argType = TInterface "WebKit2WebExtension" "DOMHTMLEmbedElement", direction = DirectionIn, mayBeNull = False, argScope = ScopeTypeInvalid, argClosure = -1, argDestroy = -1, transfer = TransferNothing},Arg {argName = "value", argType = TBasicType TInt64, 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_embed_element_set_width" webkit_dom_html_embed_element_set_width :: 
    Ptr DOMHTMLEmbedElement ->              -- _obj : TInterface "WebKit2WebExtension" "DOMHTMLEmbedElement"
    Int64 ->                                -- value : TBasicType TInt64
    IO ()


dOMHTMLEmbedElementSetWidth ::
    (MonadIO m, DOMHTMLEmbedElementK a) =>
    a ->                                    -- _obj
    Int64 ->                                -- value
    m ()
dOMHTMLEmbedElementSetWidth _obj value = liftIO $ do
    let _obj' = unsafeManagedPtrCastPtr _obj
    webkit_dom_html_embed_element_set_width _obj' value
    touchManagedPtr _obj
    return ()