with GNATCOM.Dispinterface;

package MSHTML.IHTMLElement6_Interface is

   type IHTMLElement6_Type is
     new GNATCOM.Dispinterface.Dispinterface_Type with null record;

   procedure Initialize (This : in out IHTMLElement6_Type);

   function Pointer (This : IHTMLElement6_Type)
     return Pointer_To_IHTMLElement6;

   procedure Attach (This    : in out IHTMLElement6_Type;
                     Pointer : in     Pointer_To_IHTMLElement6);

   function getAttributeNS
     (This             : IHTMLElement6_Type;
      pvarNS           : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      strAttributeName : GNATCOM.Types.BSTR;
      Free             : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure setAttributeNS
     (This               : IHTMLElement6_Type;
      pvarNS             : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      strAttributeName   : GNATCOM.Types.BSTR;
      pvarAttributeValue : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      Free               : Boolean := True);

   procedure removeAttributeNS
     (This             : IHTMLElement6_Type;
      pvarNS           : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      strAttributeName : GNATCOM.Types.BSTR;
      Free             : Boolean := True);

   function getAttributeNodeNS
     (This           : IHTMLElement6_Type;
      pvarNS         : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      bstrName       : GNATCOM.Types.BSTR;
      Free           : Boolean := True)
     return Pointer_To_IHTMLDOMAttribute2;

   function setAttributeNodeNS
     (This           : IHTMLElement6_Type;
      pattr          : Pointer_To_IHTMLDOMAttribute2)
     return Pointer_To_IHTMLDOMAttribute2;

   function hasAttributeNS
     (This           : IHTMLElement6_Type;
      pvarNS         : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      name           : GNATCOM.Types.BSTR;
      Free           : Boolean := True)
     return GNATCOM.Types.VARIANT_BOOL;

   function getAttribute
     (This             : IHTMLElement6_Type;
      strAttributeName : GNATCOM.Types.BSTR;
      Free             : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure setAttribute
     (This               : IHTMLElement6_Type;
      strAttributeName   : GNATCOM.Types.BSTR;
      pvarAttributeValue : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      Free               : Boolean := True);

   procedure removeAttribute
     (This             : IHTMLElement6_Type;
      strAttributeName : GNATCOM.Types.BSTR;
      Free             : Boolean := True);

   function getAttributeNode
     (This             : IHTMLElement6_Type;
      strAttributeName : GNATCOM.Types.BSTR;
      Free             : Boolean := True)
     return Pointer_To_IHTMLDOMAttribute2;

   function setAttributeNode
     (This           : IHTMLElement6_Type;
      pattr          : Pointer_To_IHTMLDOMAttribute2)
     return Pointer_To_IHTMLDOMAttribute2;

   function removeAttributeNode
     (This           : IHTMLElement6_Type;
      pattr          : Pointer_To_IHTMLDOMAttribute2)
     return Pointer_To_IHTMLDOMAttribute2;

   function hasAttribute
     (This           : IHTMLElement6_Type;
      name           : GNATCOM.Types.BSTR;
      Free           : Boolean := True)
     return GNATCOM.Types.VARIANT_BOOL;

   function getElementsByTagNameNS
     (This          : IHTMLElement6_Type;
      varNS         : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      bstrLocalName : GNATCOM.Types.BSTR;
      Free          : Boolean := True)
     return Pointer_To_IHTMLElementCollection;

   function Get_tagName
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.BSTR;

   function Get_nodeName
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.BSTR;

   function getElementsByClassName
     (This : IHTMLElement6_Type;
      v    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
     return Pointer_To_IHTMLElementCollection;

   function msMatchesSelector
     (This      : IHTMLElement6_Type;
      v         : GNATCOM.Types.BSTR;
      Free      : Boolean := True)
     return GNATCOM.Types.VARIANT_BOOL;

   procedure Put_onabort
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onabort
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_oncanplay
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_oncanplay
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_oncanplaythrough
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_oncanplaythrough
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onchange
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onchange
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ondurationchange
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ondurationchange
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onemptied
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onemptied
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onended
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onended
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onerror
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onerror
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_oninput
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_oninput
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onload
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onload
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onloadeddata
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onloadeddata
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onloadedmetadata
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onloadedmetadata
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onloadstart
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onloadstart
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onpause
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onpause
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onplay
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onplay
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onplaying
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onplaying
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onprogress
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onprogress
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onratechange
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onratechange
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onreset
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onreset
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onseeked
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onseeked
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onseeking
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onseeking
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onselect
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onselect
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onstalled
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onstalled
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onsubmit
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onsubmit
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onsuspend
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onsuspend
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_ontimeupdate
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_ontimeupdate
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onvolumechange
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onvolumechange
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   procedure Put_onwaiting
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True);

   function Get_onwaiting
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT;

   function hasAttributes
     (This            : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT_BOOL;

end MSHTML.IHTMLElement6_Interface;

