package body MSHTML.IHTMLNamespaceCollection_Object is

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

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

   function add
     (This              : IHTMLNamespaceCollection_Type;
      bstrNamespace     : GNATCOM.Types.VARIANT;
      bstrUrn           : GNATCOM.Types.VARIANT;
      implementationUrl : GNATCOM.Types.VARIANT
        := GNATCOM.Types.VARIANT_MISSING;
      Free              : Boolean := True)
     return GNATCOM.Types.VARIANT
   is
   begin
      return Invoke
        (This,
         IHTMLNamespaceCollection_add,
         GNATCOM.Dispinterface.Parameter_Array'
         (1 => implementationUrl,
          2 => bstrUrn,
          3 => bstrNamespace),
         Free);
   end add;

end MSHTML.IHTMLNamespaceCollection_Object;

