with GNATCOM.IInterface;

with GNATCOM.Errors;

package body MSHTML.IHTMLElement5_Interface is

   procedure Initialize (This : in out IHTMLElement5_Type) is
   begin
      Set_IID (This, IID_IHTMLElement5);
   end Initialize;

   function Pointer (This : IHTMLElement5_Type)
     return Pointer_To_IHTMLElement5
   is
   begin
      return To_Pointer_To_IHTMLElement5 (Address (This));
   end Pointer;

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

   function getAttributeNode
     (This           : IHTMLElement5_Type;
      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.getAttributeNode
         (Pointer (This),
          bstrName,
          RetVal'Unchecked_Access));

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

      return RetVal;
   end getAttributeNode;

   function setAttributeNode
     (This           : IHTMLElement5_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           : IHTMLElement5_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           : IHTMLElement5_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;

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

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

   end Put_role;

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

      return RetVal;
   end Get_role;

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

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

   end Put_ariaBusy;

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

      return RetVal;
   end Get_ariaBusy;

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

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

   end Put_ariaChecked;

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

      return RetVal;
   end Get_ariaChecked;

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

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

   end Put_ariaDisabled;

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

      return RetVal;
   end Get_ariaDisabled;

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

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

   end Put_ariaExpanded;

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

      return RetVal;
   end Get_ariaExpanded;

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

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

   end Put_ariaHaspopup;

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

      return RetVal;
   end Get_ariaHaspopup;

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

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

   end Put_ariaHidden;

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

      return RetVal;
   end Get_ariaHidden;

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

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

   end Put_ariaInvalid;

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

      return RetVal;
   end Get_ariaInvalid;

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

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

   end Put_ariaMultiselectable;

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

      return RetVal;
   end Get_ariaMultiselectable;

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

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

   end Put_ariaPressed;

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

      return RetVal;
   end Get_ariaPressed;

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

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

   end Put_ariaReadonly;

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

      return RetVal;
   end Get_ariaReadonly;

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

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

   end Put_ariaRequired;

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

      return RetVal;
   end Get_ariaRequired;

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

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

   end Put_ariaSecret;

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

      return RetVal;
   end Get_ariaSecret;

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

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

   end Put_ariaSelected;

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

      return RetVal;
   end Get_ariaSelected;

   function getAttribute
     (This             : IHTMLElement5_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             : IHTMLElement5_Type;
      strAttributeName : GNATCOM.Types.BSTR;
      AttributeValue   : GNATCOM.Types.VARIANT;
      Free             : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.setAttribute
         (Pointer (This),
          strAttributeName,
          AttributeValue));

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

   end setAttribute;

   function removeAttribute
     (This             : IHTMLElement5_Type;
      strAttributeName : 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.removeAttribute
         (Pointer (This),
          strAttributeName,
          RetVal'Unchecked_Access));

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

      return RetVal;
   end removeAttribute;

   function Get_attributes
     (This : IHTMLElement5_Type)
     return Pointer_To_IHTMLAttributeCollection3
   is
       RetVal : aliased Pointer_To_IHTMLAttributeCollection3;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_attributes
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_attributes;

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

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

   end Put_ariaValuenow;

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

      return RetVal;
   end Get_ariaValuenow;

   procedure Put_ariaPosinset
     (This : IHTMLElement5_Type;
      p    : Interfaces.C.short)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_ariaPosinset
         (Pointer (This),
          p));

   end Put_ariaPosinset;

   function Get_ariaPosinset
     (This : IHTMLElement5_Type)
     return Interfaces.C.short
   is
       RetVal : aliased Interfaces.C.short;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_ariaPosinset
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_ariaPosinset;

   procedure Put_ariaSetsize
     (This : IHTMLElement5_Type;
      p    : Interfaces.C.short)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_ariaSetsize
         (Pointer (This),
          p));

   end Put_ariaSetsize;

   function Get_ariaSetsize
     (This : IHTMLElement5_Type)
     return Interfaces.C.short
   is
       RetVal : aliased Interfaces.C.short;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_ariaSetsize
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_ariaSetsize;

   procedure Put_ariaLevel
     (This : IHTMLElement5_Type;
      p    : Interfaces.C.short)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_ariaLevel
         (Pointer (This),
          p));

   end Put_ariaLevel;

   function Get_ariaLevel
     (This : IHTMLElement5_Type)
     return Interfaces.C.short
   is
       RetVal : aliased Interfaces.C.short;
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Get_ariaLevel
         (Pointer (This),
          RetVal'Unchecked_Access));

      return RetVal;
   end Get_ariaLevel;

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

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

   end Put_ariaValuemin;

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

      return RetVal;
   end Get_ariaValuemin;

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

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

   end Put_ariaValuemax;

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

      return RetVal;
   end Get_ariaValuemax;

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

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

   end Put_ariaControls;

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

      return RetVal;
   end Get_ariaControls;

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

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

   end Put_ariaDescribedby;

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

      return RetVal;
   end Get_ariaDescribedby;

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

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

   end Put_ariaFlowto;

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

      return RetVal;
   end Get_ariaFlowto;

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

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

   end Put_ariaLabelledby;

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

      return RetVal;
   end Get_ariaLabelledby;

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

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

   end Put_ariaActivedescendant;

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

      return RetVal;
   end Get_ariaActivedescendant;

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

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

   end Put_ariaOwns;

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

      return RetVal;
   end Get_ariaOwns;

   function hasAttributes
     (This            : IHTMLElement5_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_ariaLive
     (This : IHTMLElement5_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True)
   is
   begin
      GNATCOM.Errors.Error_Check
        (Pointer (This).Vtbl.Put_ariaLive
         (Pointer (This),
          p));

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

   end Put_ariaLive;

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

      return RetVal;
   end Get_ariaLive;

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

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

   end Put_ariaRelevant;

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

      return RetVal;
   end Get_ariaRelevant;

end MSHTML.IHTMLElement5_Interface;

