with GNATCOM.Dispinterface;

package MSHTML.IHTMLDOMConstructor_Interface is

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

   procedure Initialize (This : in out IHTMLDOMConstructor_Type);

   function Pointer (This : IHTMLDOMConstructor_Type)
     return Pointer_To_IHTMLDOMConstructor;

   procedure Attach (This    : in out IHTMLDOMConstructor_Type;
                     Pointer : in     Pointer_To_IHTMLDOMConstructor);

   function Get_constructor
     (This : IHTMLDOMConstructor_Type)
     return GNATCOM.Types.Pointer_To_IDispatch;

   function LookupGetter
     (This          : IHTMLDOMConstructor_Type;
      propname      : GNATCOM.Types.BSTR;
      Free          : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function LookupSetter
     (This          : IHTMLDOMConstructor_Type;
      propname      : GNATCOM.Types.BSTR;
      Free          : Boolean := True)
     return GNATCOM.Types.VARIANT;

   procedure DefineGetter
     (This         : IHTMLDOMConstructor_Type;
      propname     : GNATCOM.Types.BSTR;
      pdispHandler : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      Free         : Boolean := True);

   procedure DefineSetter
     (This         : IHTMLDOMConstructor_Type;
      propname     : GNATCOM.Types.BSTR;
      pdispHandler : access GNATCOM.Types.VARIANT :=
        GNATCOM.Types.PVARIANT_MISSING;
      Free         : Boolean := True);

end MSHTML.IHTMLDOMConstructor_Interface;

