with GNATCOM.IInterface;

with GNATCOM.Errors;

package body MSHTML.IHTMLElement6_Interface is

   procedure Initialize (This : in out IHTMLElement6_Type) is
   begin
      Set_IID (This, IID_IHTMLElement6);
   end Initialize;

   function Pointer (This : IHTMLElement6_Type)
     return Pointer_To_IHTMLElement6
   is
   begin
      return To_Pointer_To_IHTMLElement6 (Address (This));
   end Pointer;

   procedure Attach (This    : in out IHTMLElement6_Type;
                     Pointer : in     Pointer_To_IHTMLElement6)
   is
   begin
      Attach (This, GNATCOM.IInterface.To_Pointer_To_IUnknown
              (Pointer.all'Address));
   end Attach;

   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
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.getAttributeNS
         (Pointer (This),
          pvarNS,
          strAttributeName,
          RetVal'Unchecked_Access));

      if Free then
               GNATCOM.IInterface.Free (strAttributeName);
      
      end if;

      return RetVal;
   end getAttributeNS;

   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)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.setAttributeNS
         (Pointer (This),
          pvarNS,
          strAttributeName,
          pvarAttributeValue));

      if Free then
               GNATCOM.IInterface.Free (strAttributeName);
      
      end if;

   end setAttributeNS;

   procedure removeAttributeNS
     (This             : IHTMLElement6_Type;
      pvarNS           : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      strAttributeName : GNATCOM.Types.BSTR;
      Free             : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.removeAttributeNS
         (Pointer (This),
          pvarNS,
          strAttributeName));

      if Free then
               GNATCOM.IInterface.Free (strAttributeName);
      
      end if;

   end removeAttributeNS;

   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
   is
       RetVal : aliased Pointer_To_IHTMLDOMAttribute2;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.getAttributeNodeNS
         (Pointer (This),
          pvarNS,
          bstrName,
          RetVal'Unchecked_Access));

      if Free then
               GNATCOM.IInterface.Free (bstrName);
      
      end if;

      return RetVal;
   end getAttributeNodeNS;

   function setAttributeNodeNS
     (This           : IHTMLElement6_Type;
      pattr          : Pointer_To_IHTMLDOMAttribute2)
     return Pointer_To_IHTMLDOMAttribute2
   is
       RetVal : aliased Pointer_To_IHTMLDOMAttribute2;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.setAttributeNodeNS
         (Pointer (This),
          pattr,
          RetVal'Unchecked_Access));

      return RetVal;
   end setAttributeNodeNS;

   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
   is
       RetVal : aliased GNATCOM.Types.VARIANT_BOOL;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.hasAttributeNS
         (Pointer (This),
          pvarNS,
          name,
          RetVal'Unchecked_Access));

      if Free then
               GNATCOM.IInterface.Free (name);
      
      end if;

      return RetVal;
   end hasAttributeNS;

   function getAttribute
     (This             : IHTMLElement6_Type;
      strAttributeName : GNATCOM.Types.BSTR;
      Free             : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.getAttribute
         (Pointer (This),
          strAttributeName,
          RetVal'Unchecked_Access));

      if Free then
               GNATCOM.IInterface.Free (strAttributeName);
      
      end if;

      return RetVal;
   end getAttribute;

   procedure setAttribute
     (This               : IHTMLElement6_Type;
      strAttributeName   : GNATCOM.Types.BSTR;
      pvarAttributeValue : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      Free               : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.setAttribute
         (Pointer (This),
          strAttributeName,
          pvarAttributeValue));

      if Free then
               GNATCOM.IInterface.Free (strAttributeName);
      
      end if;

   end setAttribute;

   procedure removeAttribute
     (This             : IHTMLElement6_Type;
      strAttributeName : GNATCOM.Types.BSTR;
      Free             : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.removeAttribute
         (Pointer (This),
          strAttributeName));

      if Free then
               GNATCOM.IInterface.Free (strAttributeName);
      
      end if;

   end removeAttribute;

   function getAttributeNode
     (This             : IHTMLElement6_Type;
      strAttributeName : GNATCOM.Types.BSTR;
      Free             : Boolean := True)
     return Pointer_To_IHTMLDOMAttribute2
   is
       RetVal : aliased Pointer_To_IHTMLDOMAttribute2;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.getAttributeNode
         (Pointer (This),
          strAttributeName,
          RetVal'Unchecked_Access));

      if Free then
               GNATCOM.IInterface.Free (strAttributeName);
      
      end if;

      return RetVal;
   end getAttributeNode;

   function setAttributeNode
     (This           : IHTMLElement6_Type;
      pattr          : Pointer_To_IHTMLDOMAttribute2)
     return Pointer_To_IHTMLDOMAttribute2
   is
       RetVal : aliased Pointer_To_IHTMLDOMAttribute2;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.setAttributeNode
         (Pointer (This),
          pattr,
          RetVal'Unchecked_Access));

      return RetVal;
   end setAttributeNode;

   function removeAttributeNode
     (This           : IHTMLElement6_Type;
      pattr          : Pointer_To_IHTMLDOMAttribute2)
     return Pointer_To_IHTMLDOMAttribute2
   is
       RetVal : aliased Pointer_To_IHTMLDOMAttribute2;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.removeAttributeNode
         (Pointer (This),
          pattr,
          RetVal'Unchecked_Access));

      return RetVal;
   end removeAttributeNode;

   function hasAttribute
     (This           : IHTMLElement6_Type;
      name           : GNATCOM.Types.BSTR;
      Free           : Boolean := True)
     return GNATCOM.Types.VARIANT_BOOL
   is
       RetVal : aliased GNATCOM.Types.VARIANT_BOOL;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.hasAttribute
         (Pointer (This),
          name,
          RetVal'Unchecked_Access));

      if Free then
               GNATCOM.IInterface.Free (name);
      
      end if;

      return RetVal;
   end hasAttribute;

   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
   is
       RetVal : aliased Pointer_To_IHTMLElementCollection;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.getElementsByTagNameNS
         (Pointer (This),
          varNS,
          bstrLocalName,
          RetVal'Unchecked_Access));

      if Free then
               GNATCOM.IInterface.Free (bstrLocalName);
      
      end if;

      return RetVal;
   end getElementsByTagNameNS;

   function Get_tagName
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_tagName
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_tagName;

   function Get_nodeName
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.BSTR
   is
       RetVal : aliased GNATCOM.Types.BSTR;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_nodeName
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_nodeName;

   function getElementsByClassName
     (This : IHTMLElement6_Type;
      v    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
     return Pointer_To_IHTMLElementCollection
   is
       RetVal : aliased Pointer_To_IHTMLElementCollection;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.getElementsByClassName
         (Pointer (This),
          v,
          RetVal'Unchecked_Access));

      if Free then
               GNATCOM.IInterface.Free (v);
      
      end if;

      return RetVal;
   end getElementsByClassName;

   function msMatchesSelector
     (This      : IHTMLElement6_Type;
      v         : GNATCOM.Types.BSTR;
      Free      : Boolean := True)
     return GNATCOM.Types.VARIANT_BOOL
   is
       RetVal : aliased GNATCOM.Types.VARIANT_BOOL;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.msMatchesSelector
         (Pointer (This),
          v,
          RetVal'Unchecked_Access));

      if Free then
               GNATCOM.IInterface.Free (v);
      
      end if;

      return RetVal;
   end msMatchesSelector;

   procedure Put_onabort
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onabort
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onabort;

   function Get_onabort
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onabort
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onabort;

   procedure Put_oncanplay
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_oncanplay
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_oncanplay;

   function Get_oncanplay
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_oncanplay
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_oncanplay;

   procedure Put_oncanplaythrough
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_oncanplaythrough
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_oncanplaythrough;

   function Get_oncanplaythrough
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_oncanplaythrough
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_oncanplaythrough;

   procedure Put_onchange
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onchange
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onchange;

   function Get_onchange
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onchange
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onchange;

   procedure Put_ondurationchange
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_ondurationchange
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_ondurationchange;

   function Get_ondurationchange
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_ondurationchange
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_ondurationchange;

   procedure Put_onemptied
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onemptied
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onemptied;

   function Get_onemptied
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onemptied
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onemptied;

   procedure Put_onended
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onended
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onended;

   function Get_onended
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onended
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onended;

   procedure Put_onerror
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onerror
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onerror;

   function Get_onerror
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onerror
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onerror;

   procedure Put_oninput
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_oninput
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_oninput;

   function Get_oninput
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_oninput
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_oninput;

   procedure Put_onload
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onload
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onload;

   function Get_onload
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onload
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onload;

   procedure Put_onloadeddata
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onloadeddata
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onloadeddata;

   function Get_onloadeddata
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onloadeddata
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onloadeddata;

   procedure Put_onloadedmetadata
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onloadedmetadata
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onloadedmetadata;

   function Get_onloadedmetadata
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onloadedmetadata
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onloadedmetadata;

   procedure Put_onloadstart
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onloadstart
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onloadstart;

   function Get_onloadstart
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onloadstart
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onloadstart;

   procedure Put_onpause
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onpause
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onpause;

   function Get_onpause
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onpause
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onpause;

   procedure Put_onplay
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onplay
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onplay;

   function Get_onplay
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onplay
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onplay;

   procedure Put_onplaying
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onplaying
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onplaying;

   function Get_onplaying
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onplaying
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onplaying;

   procedure Put_onprogress
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onprogress
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onprogress;

   function Get_onprogress
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onprogress
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onprogress;

   procedure Put_onratechange
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onratechange
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onratechange;

   function Get_onratechange
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onratechange
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onratechange;

   procedure Put_onreset
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onreset
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onreset;

   function Get_onreset
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onreset
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onreset;

   procedure Put_onseeked
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onseeked
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onseeked;

   function Get_onseeked
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onseeked
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onseeked;

   procedure Put_onseeking
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onseeking
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onseeking;

   function Get_onseeking
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onseeking
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onseeking;

   procedure Put_onselect
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onselect
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onselect;

   function Get_onselect
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onselect
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onselect;

   procedure Put_onstalled
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onstalled
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onstalled;

   function Get_onstalled
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onstalled
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onstalled;

   procedure Put_onsubmit
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onsubmit
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onsubmit;

   function Get_onsubmit
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onsubmit
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onsubmit;

   procedure Put_onsuspend
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onsuspend
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onsuspend;

   function Get_onsuspend
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onsuspend
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onsuspend;

   procedure Put_ontimeupdate
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_ontimeupdate
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_ontimeupdate;

   function Get_ontimeupdate
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_ontimeupdate
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_ontimeupdate;

   procedure Put_onvolumechange
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onvolumechange
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onvolumechange;

   function Get_onvolumechange
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onvolumechange
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onvolumechange;

   procedure Put_onwaiting
     (This : IHTMLElement6_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onwaiting
         (Pointer (This),
          p));

      if Free then
               GNATCOM.IInterface.Free (p);
      
      end if;

   end Put_onwaiting;

   function Get_onwaiting
     (This : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT
   is
       RetVal : aliased GNATCOM.Types.VARIANT;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_onwaiting
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_onwaiting;

   function hasAttributes
     (This            : IHTMLElement6_Type)
     return GNATCOM.Types.VARIANT_BOOL
   is
       RetVal : aliased GNATCOM.Types.VARIANT_BOOL;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.hasAttributes
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end hasAttributes;

end MSHTML.IHTMLElement6_Interface;

