package body MSHTML.DispHTMLAreasCollection_Object is

   procedure Put_length
     (This : DispHTMLAreasCollection_Type;
      P1   : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
   is
   begin
      Put
        (This,
         DispHTMLAreasCollection_Put_length,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => P1),
         Free);
   end Put_length;

   function Get_length
     (This : DispHTMLAreasCollection_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLAreasCollection_Get_length);
   end Get_length;

   function Getu_newEnum
     (This : DispHTMLAreasCollection_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLAreasCollection_Getu_newEnum);
   end Getu_newEnum;

   function item
     (This  : DispHTMLAreasCollection_Type;
      name  : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      index : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         DispHTMLAreasCollection_item,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => index,
          2 => name),
         Free);
   end item;

   function tags
     (This    : DispHTMLAreasCollection_Type;
      tagName : GNATCOM.Types.VARIANT;
      Free    : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         DispHTMLAreasCollection_tags,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => tagName),
         Free);
   end tags;

   procedure add
     (This    : DispHTMLAreasCollection_Type;
      element : GNATCOM.Types.VARIANT;
      before  : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free    : Boolean := True)
   is
   begin
      Invoke
        (This,
         DispHTMLAreasCollection_add,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => before,
          2 => element),
         Free);
   end add;

   procedure remove
     (This  : DispHTMLAreasCollection_Type;
      index : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free  : Boolean := True)
   is
   begin
      Invoke
        (This,
         DispHTMLAreasCollection_remove,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => index),
         Free);
   end remove;

   function urns
     (This : DispHTMLAreasCollection_Type;
      urn  : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         DispHTMLAreasCollection_urns,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => urn),
         Free);
   end urns;

   function namedItem
     (This : DispHTMLAreasCollection_Type;
      name : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         DispHTMLAreasCollection_namedItem,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => name),
         Free);
   end namedItem;

   function Get_ie8_length
     (This : DispHTMLAreasCollection_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLAreasCollection_Get_ie8_length);
   end Get_ie8_length;

   function ie8_item
     (This  : DispHTMLAreasCollection_Type;
      index : GNATCOM.Types.VARIANT;
      Free  : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         DispHTMLAreasCollection_ie8_item,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => index),
         Free);
   end ie8_item;

   function ie8_namedItem
     (This : DispHTMLAreasCollection_Type;
      name : GNATCOM.Types.VARIANT;
      Free : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         DispHTMLAreasCollection_ie8_namedItem,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => name),
         Free);
   end ie8_namedItem;

   function Get_constructor
     (This : DispHTMLAreasCollection_Type)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Get (This, DispHTMLAreasCollection_Get_constructor);
   end Get_constructor;

end MSHTML.DispHTMLAreasCollection_Object;

