with GNATCOM.Dispinterface;

package MSHTML.IHTMLNamespaceCollection_Interface is

   type IHTMLNamespaceCollection_Type is
     new GNATCOM.Dispinterface.Dispinterface_Type with null record;

   procedure Initialize (This : in out IHTMLNamespaceCollection_Type);

   function Pointer (This : IHTMLNamespaceCollection_Type)
     return Pointer_To_IHTMLNamespaceCollection;

   procedure Attach (This    : in out IHTMLNamespaceCollection_Type;
                     Pointer : in     Pointer_To_IHTMLNamespaceCollection);

   function Get_length
     (This : IHTMLNamespaceCollection_Type)
     return Interfaces.C.long;

   function item
     (This        : IHTMLNamespaceCollection_Type;
      index       : GNATCOM.Types.VARIANT;
      Free        : Boolean := True)
     return GNATCOM.Types.Pointer_To_IDispatch;

   function add
     (This              : IHTMLNamespaceCollection_Type;
      bstrNamespace     : GNATCOM.Types.BSTR;
      bstrUrn           : GNATCOM.Types.BSTR;
      implementationUrl : GNATCOM.Types.VARIANT  := GNATCOM.Types.VARIANT_MISSING;
      Free              : Boolean := True)
     return GNATCOM.Types.Pointer_To_IDispatch;

end MSHTML.IHTMLNamespaceCollection_Interface;

