with GNATCOM.IInterface;

with GNATCOM.Errors;

package body MSHTML.IHTMLStyle2_Interface is

   procedure Initialize (This : in out IHTMLStyle2_Type) is
   begin
      Set_IID (This, IID_IHTMLStyle2);
   end Initialize;

   function Pointer (This : IHTMLStyle2_Type)
     return Pointer_To_IHTMLStyle2
   is
   begin
      return To_Pointer_To_IHTMLStyle2 (Address (This));
   end Pointer;

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

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

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

   end Put_tableLayout;

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

      return RetVal;
   end Get_tableLayout;

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

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

   end Put_borderCollapse;

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

      return RetVal;
   end Get_borderCollapse;

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

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

   end Put_direction;

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

      return RetVal;
   end Get_direction;

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

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

   end Put_behavior;

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

      return RetVal;
   end Get_behavior;

   procedure setExpression
     (This       : IHTMLStyle2_Type;
      propname   : GNATCOM.Types.BSTR;
      expression : GNATCOM.Types.BSTR;
      language   : GNATCOM.Types.BSTR;
      Free       : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.setExpression
         (Pointer (This),
          propname,
          expression,
          language));

      if Free then
               GNATCOM.IInterface.Free (propname);
               GNATCOM.IInterface.Free (expression);
               GNATCOM.IInterface.Free (language);
      
      end if;

   end setExpression;

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

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

      return RetVal;
   end getExpression;

   function removeExpression
     (This      : IHTMLStyle2_Type;
      propname  : 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.removeExpression
         (Pointer (This),
          propname,
          RetVal'Unchecked_Access));

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

      return RetVal;
   end removeExpression;

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

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

   end Put_position;

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

      return RetVal;
   end Get_position;

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

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

   end Put_unicodeBidi;

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

      return RetVal;
   end Get_unicodeBidi;

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

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

   end Put_bottom;

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

      return RetVal;
   end Get_bottom;

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

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

   end Put_right;

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

      return RetVal;
   end Get_right;

   procedure Put_pixelBottom
     (This : IHTMLStyle2_Type;
      p    : Interfaces.C.long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_pixelBottom
         (Pointer (This),
          p));

   end Put_pixelBottom;

   function Get_pixelBottom
     (This : IHTMLStyle2_Type)
     return Interfaces.C.long
   is
       RetVal : aliased Interfaces.C.long;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_pixelBottom
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_pixelBottom;

   procedure Put_pixelRight
     (This : IHTMLStyle2_Type;
      p    : Interfaces.C.long)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_pixelRight
         (Pointer (This),
          p));

   end Put_pixelRight;

   function Get_pixelRight
     (This : IHTMLStyle2_Type)
     return Interfaces.C.long
   is
       RetVal : aliased Interfaces.C.long;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_pixelRight
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_pixelRight;

   procedure Put_posBottom
     (This : IHTMLStyle2_Type;
      p    : Interfaces.C.C_float)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_posBottom
         (Pointer (This),
          p));

   end Put_posBottom;

   function Get_posBottom
     (This : IHTMLStyle2_Type)
     return Interfaces.C.C_float
   is
       RetVal : aliased Interfaces.C.C_float;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_posBottom
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_posBottom;

   procedure Put_posRight
     (This : IHTMLStyle2_Type;
      p    : Interfaces.C.C_float)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_posRight
         (Pointer (This),
          p));

   end Put_posRight;

   function Get_posRight
     (This : IHTMLStyle2_Type)
     return Interfaces.C.C_float
   is
       RetVal : aliased Interfaces.C.C_float;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_posRight
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_posRight;

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

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

   end Put_imeMode;

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

      return RetVal;
   end Get_imeMode;

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

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

   end Put_rubyAlign;

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

      return RetVal;
   end Get_rubyAlign;

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

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

   end Put_rubyPosition;

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

      return RetVal;
   end Get_rubyPosition;

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

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

   end Put_rubyOverhang;

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

      return RetVal;
   end Get_rubyOverhang;

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

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

   end Put_layoutGridChar;

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

      return RetVal;
   end Get_layoutGridChar;

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

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

   end Put_layoutGridLine;

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

      return RetVal;
   end Get_layoutGridLine;

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

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

   end Put_layoutGridMode;

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

      return RetVal;
   end Get_layoutGridMode;

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

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

   end Put_layoutGridType;

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

      return RetVal;
   end Get_layoutGridType;

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

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

   end Put_layoutGrid;

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

      return RetVal;
   end Get_layoutGrid;

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

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

   end Put_wordBreak;

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

      return RetVal;
   end Get_wordBreak;

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

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

   end Put_lineBreak;

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

      return RetVal;
   end Get_lineBreak;

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

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

   end Put_textJustify;

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

      return RetVal;
   end Get_textJustify;

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

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

   end Put_textJustifyTrim;

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

      return RetVal;
   end Get_textJustifyTrim;

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

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

   end Put_textKashida;

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

      return RetVal;
   end Get_textKashida;

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

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

   end Put_textAutospace;

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

      return RetVal;
   end Get_textAutospace;

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

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

   end Put_overflowX;

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

      return RetVal;
   end Get_overflowX;

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

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

   end Put_overflowY;

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

      return RetVal;
   end Get_overflowY;

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

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

   end Put_accelerator;

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

      return RetVal;
   end Get_accelerator;

end MSHTML.IHTMLStyle2_Interface;

