with GNATCOM.IInterface;

package MSHTML.IElementBehaviorSiteOM2_Interface is

   type IElementBehaviorSiteOM2_Type is
     new GNATCOM.IInterface.Interface_Type with null record;

   procedure Initialize (This : in out IElementBehaviorSiteOM2_Type);

   function Pointer (This : IElementBehaviorSiteOM2_Type)
     return Pointer_To_IElementBehaviorSiteOM2;

   procedure Attach (This    : in out IElementBehaviorSiteOM2_Type;
                     Pointer : in     Pointer_To_IElementBehaviorSiteOM2);

   function RegisterEvent
     (This     : IElementBehaviorSiteOM2_Type;
      pchEvent : GNATCOM.Types.LPWSTR;
      lFlags   : Interfaces.C.long)
     return Interfaces.C.long;

   function GetEventCookie
     (This     : IElementBehaviorSiteOM2_Type;
      pchEvent : GNATCOM.Types.LPWSTR)
     return Interfaces.C.long;

   procedure FireEvent
     (This         : IElementBehaviorSiteOM2_Type;
      lCookie      : Interfaces.C.long;
      pEventObject : Pointer_To_IHTMLEventObj);

   function CreateEventObject
     (This          : IElementBehaviorSiteOM2_Type)
     return Pointer_To_IHTMLEventObj;

   procedure RegisterName
     (This    : IElementBehaviorSiteOM2_Type;
      pchName : GNATCOM.Types.LPWSTR);

   procedure RegisterUrn
     (This   : IElementBehaviorSiteOM2_Type;
      pchUrn : GNATCOM.Types.LPWSTR);

   function GetDefaults
     (This       : IElementBehaviorSiteOM2_Type)
     return Pointer_To_IHTMLElementDefaults;

end MSHTML.IElementBehaviorSiteOM2_Interface;

