with GNATCOM.IInterface;

with GNATCOM.Errors;

package body MSHTML.IHTMLDocument7_Interface is

   procedure Initialize (This : in out IHTMLDocument7_Type) is
   begin
      Set_IID (This, IID_IHTMLDocument7);
   end Initialize;

   function Pointer (This : IHTMLDocument7_Type)
     return Pointer_To_IHTMLDocument7
   is
   begin
      return To_Pointer_To_IHTMLDocument7 (Address (This));
   end Pointer;

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

   function Get_defaultView
     (This : IHTMLDocument7_Type)
     return Pointer_To_IHTMLWindow2
   is
       RetVal : aliased Pointer_To_IHTMLWindow2;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_defaultView
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_defaultView;

   function createCDATASection
     (This                : IHTMLDocument7_Type;
      text                : GNATCOM.Types.BSTR;
      Free                : Boolean := True)
     return Pointer_To_IHTMLDOMNode
   is
       RetVal : aliased Pointer_To_IHTMLDOMNode;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.createCDATASection
         (Pointer (This),
          text,
          RetVal'Unchecked_Access));

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

      return RetVal;
   end createCDATASection;

   function getSelection
     (This             : IHTMLDocument7_Type)
     return Pointer_To_IHTMLSelection
   is
       RetVal : aliased Pointer_To_IHTMLSelection;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.getSelection
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end getSelection;

   function getElementsByTagNameNS
     (This          : IHTMLDocument7_Type;
      pvarNS        : 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),
          pvarNS,
          bstrLocalName,
          RetVal'Unchecked_Access));

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

      return RetVal;
   end getElementsByTagNameNS;

   function createElementNS
     (This    : IHTMLDocument7_Type;
      pvarNS  : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      bstrTag : GNATCOM.Types.BSTR;
      Free    : Boolean := True)
     return Pointer_To_IHTMLElement
   is
       RetVal : aliased Pointer_To_IHTMLElement;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.createElementNS
         (Pointer (This),
          pvarNS,
          bstrTag,
          RetVal'Unchecked_Access));

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

      return RetVal;
   end createElementNS;

   function createAttributeNS
     (This         : IHTMLDocument7_Type;
      pvarNS       : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      bstrAttrName : GNATCOM.Types.BSTR;
      Free         : Boolean := True)
     return Pointer_To_IHTMLDOMAttribute
   is
       RetVal : aliased Pointer_To_IHTMLDOMAttribute;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.createAttributeNS
         (Pointer (This),
          pvarNS,
          bstrAttrName,
          RetVal'Unchecked_Access));

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

      return RetVal;
   end createAttributeNS;

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

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

   end Put_onmsthumbnailclick;

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

      return RetVal;
   end Get_onmsthumbnailclick;

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

      return RetVal;
   end Get_characterSet;

   function createElement
     (This    : IHTMLDocument7_Type;
      bstrTag : GNATCOM.Types.BSTR;
      Free    : Boolean := True)
     return Pointer_To_IHTMLElement
   is
       RetVal : aliased Pointer_To_IHTMLElement;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.createElement
         (Pointer (This),
          bstrTag,
          RetVal'Unchecked_Access));

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

      return RetVal;
   end createElement;

   function createAttribute
     (This         : IHTMLDocument7_Type;
      bstrAttrName : GNATCOM.Types.BSTR;
      Free         : Boolean := True)
     return Pointer_To_IHTMLDOMAttribute
   is
       RetVal : aliased Pointer_To_IHTMLDOMAttribute;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.createAttribute
         (Pointer (This),
          bstrAttrName,
          RetVal'Unchecked_Access));

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

      return RetVal;
   end createAttribute;

   function getElementsByClassName
     (This : IHTMLDocument7_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 createProcessingInstruction
     (This                     : IHTMLDocument7_Type;
      bstrTarget               : GNATCOM.Types.BSTR;
      bstrData                 : GNATCOM.Types.BSTR;
      Free                     : Boolean := True)
     return Pointer_To_IDOMProcessingInstruction
   is
       RetVal : aliased Pointer_To_IDOMProcessingInstruction;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.createProcessingInstruction
         (Pointer (This),
          bstrTarget,
          bstrData,
          RetVal'Unchecked_Access));

      if Free then
               GNATCOM.IInterface.Free (bstrTarget);
               GNATCOM.IInterface.Free (bstrData);
      
      end if;

      return RetVal;
   end createProcessingInstruction;

   function adoptNode
     (This        : IHTMLDocument7_Type;
      pNodeSource : Pointer_To_IHTMLDOMNode)
     return Pointer_To_IHTMLDOMNode3
   is
       RetVal : aliased Pointer_To_IHTMLDOMNode3;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.adoptNode
         (Pointer (This),
          pNodeSource,
          RetVal'Unchecked_Access));

      return RetVal;
   end adoptNode;

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

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

   end Put_onmssitemodejumplistitemremoved;

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

      return RetVal;
   end Get_onmssitemodejumplistitemremoved;

   function Get_all
     (This : IHTMLDocument7_Type)
     return Pointer_To_IHTMLElementCollection
   is
       RetVal : aliased Pointer_To_IHTMLElementCollection;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_all
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_all;

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

      return RetVal;
   end Get_inputEncoding;

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

      return RetVal;
   end Get_xmlEncoding;

   procedure Put_xmlStandalone
     (This : IHTMLDocument7_Type;
      p    : GNATCOM.Types.VARIANT_BOOL)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_xmlStandalone
         (Pointer (This),
          p));

   end Put_xmlStandalone;

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

      return RetVal;
   end Get_xmlStandalone;

   procedure Put_xmlVersion
     (This : IHTMLDocument7_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_xmlVersion
         (Pointer (This),
          p));

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

   end Put_xmlVersion;

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

      return RetVal;
   end Get_xmlVersion;

   function hasAttributes
     (This            : IHTMLDocument7_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;

   procedure Put_onabort
     (This : IHTMLDocument7_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 : IHTMLDocument7_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_onblur
     (This : IHTMLDocument7_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onblur
         (Pointer (This),
          p));

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

   end Put_onblur;

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

      return RetVal;
   end Get_onblur;

   procedure Put_oncanplay
     (This : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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_ondrag
     (This : IHTMLDocument7_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_ondrag
         (Pointer (This),
          p));

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

   end Put_ondrag;

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

      return RetVal;
   end Get_ondrag;

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

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

   end Put_ondragend;

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

      return RetVal;
   end Get_ondragend;

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

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

   end Put_ondragenter;

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

      return RetVal;
   end Get_ondragenter;

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

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

   end Put_ondragleave;

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

      return RetVal;
   end Get_ondragleave;

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

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

   end Put_ondragover;

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

      return RetVal;
   end Get_ondragover;

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

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

   end Put_ondrop;

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

      return RetVal;
   end Get_ondrop;

   procedure Put_ondurationchange
     (This : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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_onfocus
     (This : IHTMLDocument7_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onfocus
         (Pointer (This),
          p));

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

   end Put_onfocus;

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

      return RetVal;
   end Get_onfocus;

   procedure Put_oninput
     (This : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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_onscroll
     (This : IHTMLDocument7_Type;
      p    : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_onscroll
         (Pointer (This),
          p));

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

   end Put_onscroll;

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

      return RetVal;
   end Get_onscroll;

   procedure Put_onseeked
     (This : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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 : IHTMLDocument7_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;

   procedure normalize
     (This : IHTMLDocument7_Type)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.normalize
         (Pointer (This)));

   end normalize;

   function importNode
     (This        : IHTMLDocument7_Type;
      pNodeSource : Pointer_To_IHTMLDOMNode;
      fDeep       : GNATCOM.Types.VARIANT_BOOL)
     return Pointer_To_IHTMLDOMNode3
   is
       RetVal : aliased Pointer_To_IHTMLDOMNode3;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.importNode
         (Pointer (This),
          pNodeSource,
          fDeep,
          RetVal'Unchecked_Access));

      return RetVal;
   end importNode;

   function Get_parentWindow
     (This : IHTMLDocument7_Type)
     return Pointer_To_IHTMLWindow2
   is
       RetVal : aliased Pointer_To_IHTMLWindow2;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_parentWindow
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_parentWindow;

   procedure PutRef_body
     (This : IHTMLDocument7_Type;
      p    : Pointer_To_IHTMLElement)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.PutRef_body
         (Pointer (This),
          p));

   end PutRef_body;

   function Get_body
     (This : IHTMLDocument7_Type)
     return Pointer_To_IHTMLElement
   is
       RetVal : aliased Pointer_To_IHTMLElement;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_body
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_body;

   function Get_head
     (This : IHTMLDocument7_Type)
     return Pointer_To_IHTMLElement
   is
       RetVal : aliased Pointer_To_IHTMLElement;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_head
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_head;

end MSHTML.IHTMLDocument7_Interface;

