with GNATCOM.Dispinterface;

package MSHTML.IEventTarget_Interface is

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

   procedure Initialize (This : in out IEventTarget_Type);

   function Pointer (This : IEventTarget_Type)
     return Pointer_To_IEventTarget;

   procedure Attach (This    : in out IEventTarget_Type;
                     Pointer : in     Pointer_To_IEventTarget);

   procedure addEventListener
     (This       : IEventTarget_Type;
      utype      : GNATCOM.Types.BSTR;
      listener   : GNATCOM.Types.Pointer_To_IDispatch;
      useCapture : GNATCOM.Types.VARIANT_BOOL;
      Free       : Boolean := True);

   procedure removeEventListener
     (This       : IEventTarget_Type;
      utype      : GNATCOM.Types.BSTR;
      listener   : GNATCOM.Types.Pointer_To_IDispatch;
      useCapture : GNATCOM.Types.VARIANT_BOOL;
      Free       : Boolean := True);

   function dispatchEvent
     (This     : IEventTarget_Type;
      evt      : Pointer_To_IDOMEvent)
     return GNATCOM.Types.VARIANT_BOOL;

end MSHTML.IEventTarget_Interface;

