package body MSHTML.IHTMLAttributeCollection3_Object is

   function getNamedItem
     (This     : IHTMLAttributeCollection3_Type;
      bstrName : GNATCOM.Types.VARIANT;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLAttributeCollection3_getNamedItem,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => bstrName),
         Free);
   end getNamedItem;

   function setNamedItem
     (This    : IHTMLAttributeCollection3_Type;
      pNodeIn : GNATCOM.Types.VARIANT;
      Free    : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLAttributeCollection3_setNamedItem,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => pNodeIn),
         Free);
   end setNamedItem;

   function removeNamedItem
     (This     : IHTMLAttributeCollection3_Type;
      bstrName : GNATCOM.Types.VARIANT;
      Free     : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLAttributeCollection3_removeNamedItem,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => bstrName),
         Free);
   end removeNamedItem;

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

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

end MSHTML.IHTMLAttributeCollection3_Object;

