with GNATCOM.IInterface;

with GNATCOM.Errors;

package body MSHTML.IHTMLWindow8_Interface is

   procedure Initialize (This : in out IHTMLWindow8_Type) is
   begin
      Set_IID (This, IID_IHTMLWindow8);
   end Initialize;

   function Pointer (This : IHTMLWindow8_Type)
     return Pointer_To_IHTMLWindow8
   is
   begin
      return To_Pointer_To_IHTMLWindow8 (Address (This));
   end Pointer;

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

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

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

   end Put_onmspointerdown;

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

      return RetVal;
   end Get_onmspointerdown;

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

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

   end Put_onmspointermove;

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

      return RetVal;
   end Get_onmspointermove;

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

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

   end Put_onmspointerup;

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

      return RetVal;
   end Get_onmspointerup;

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

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

   end Put_onmspointerover;

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

      return RetVal;
   end Get_onmspointerover;

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

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

   end Put_onmspointerout;

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

      return RetVal;
   end Get_onmspointerout;

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

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

   end Put_onmspointercancel;

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

      return RetVal;
   end Get_onmspointercancel;

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

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

   end Put_onmspointerhover;

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

      return RetVal;
   end Get_onmspointerhover;

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

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

   end Put_onmsgesturestart;

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

      return RetVal;
   end Get_onmsgesturestart;

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

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

   end Put_onmsgesturechange;

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

      return RetVal;
   end Get_onmsgesturechange;

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

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

   end Put_onmsgestureend;

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

      return RetVal;
   end Get_onmsgestureend;

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

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

   end Put_onmsgesturehold;

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

      return RetVal;
   end Get_onmsgesturehold;

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

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

   end Put_onmsgesturetap;

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

      return RetVal;
   end Get_onmsgesturetap;

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

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

   end Put_onmsgesturedoubletap;

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

      return RetVal;
   end Get_onmsgesturedoubletap;

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

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

   end Put_onmsinertiastart;

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

      return RetVal;
   end Get_onmsinertiastart;

   function Get_applicationCache
     (This : IHTMLWindow8_Type)
     return Pointer_To_IHTMLApplicationCache
   is
       RetVal : aliased Pointer_To_IHTMLApplicationCache;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_applicationCache
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_applicationCache;

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

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

   end Put_onpopstate;

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

      return RetVal;
   end Get_onpopstate;

end MSHTML.IHTMLWindow8_Interface;

