with GNATCOM.Dispinterface;

package MSHTML.IHTMLEventObj2_Interface is

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

   procedure Initialize (This : in out IHTMLEventObj2_Type);

   function Pointer (This : IHTMLEventObj2_Type)
     return Pointer_To_IHTMLEventObj2;

   procedure Attach (This    : in out IHTMLEventObj2_Type;
                     Pointer : in     Pointer_To_IHTMLEventObj2);

   procedure setAttribute
     (This             : IHTMLEventObj2_Type;
      strAttributeName : GNATCOM.Types.BSTR;
      AttributeValue   : GNATCOM.Types.VARIANT;
      lFlags           : Interfaces.C.long;
      Free             : Boolean := True);

   function getAttribute
     (This             : IHTMLEventObj2_Type;
      strAttributeName : GNATCOM.Types.BSTR;
      lFlags           : Interfaces.C.long;
      Free             : Boolean := True)
     return GNATCOM.Types.VARIANT;

   function removeAttribute
     (This             : IHTMLEventObj2_Type;
      strAttributeName : GNATCOM.Types.BSTR;
      lFlags           : Interfaces.C.long;
      Free             : Boolean := True)
     return GNATCOM.Types.VARIANT_BOOL;

   procedure Put_propertyName
     (This : IHTMLEventObj2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_propertyName
     (This : IHTMLEventObj2_Type)
     return GNATCOM.Types.BSTR;

   procedure PutRef_bookmarks
     (This : IHTMLEventObj2_Type;
      p    : Pointer_To_IHTMLBookmarkCollection);

   function Get_bookmarks
     (This : IHTMLEventObj2_Type)
     return Pointer_To_IHTMLBookmarkCollection;

   procedure PutRef_recordset
     (This : IHTMLEventObj2_Type;
      p    : GNATCOM.Types.Pointer_To_IDispatch);

   function Get_recordset
     (This : IHTMLEventObj2_Type)
     return GNATCOM.Types.Pointer_To_IDispatch;

   procedure Put_dataFld
     (This : IHTMLEventObj2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_dataFld
     (This : IHTMLEventObj2_Type)
     return GNATCOM.Types.BSTR;

   procedure PutRef_boundElements
     (This : IHTMLEventObj2_Type;
      p    : Pointer_To_IHTMLElementCollection);

   function Get_boundElements
     (This : IHTMLEventObj2_Type)
     return Pointer_To_IHTMLElementCollection;

   procedure Put_repeat
     (This : IHTMLEventObj2_Type;
      p    : GNATCOM.Types.VARIANT_BOOL);

   function Get_repeat
     (This : IHTMLEventObj2_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   procedure Put_srcUrn
     (This : IHTMLEventObj2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_srcUrn
     (This : IHTMLEventObj2_Type)
     return GNATCOM.Types.BSTR;

   procedure PutRef_srcElement
     (This : IHTMLEventObj2_Type;
      p    : Pointer_To_IHTMLElement);

   function Get_srcElement
     (This : IHTMLEventObj2_Type)
     return Pointer_To_IHTMLElement;

   procedure Put_altKey
     (This : IHTMLEventObj2_Type;
      p    : GNATCOM.Types.VARIANT_BOOL);

   function Get_altKey
     (This : IHTMLEventObj2_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   procedure Put_ctrlKey
     (This : IHTMLEventObj2_Type;
      p    : GNATCOM.Types.VARIANT_BOOL);

   function Get_ctrlKey
     (This : IHTMLEventObj2_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   procedure Put_shiftKey
     (This : IHTMLEventObj2_Type;
      p    : GNATCOM.Types.VARIANT_BOOL);

   function Get_shiftKey
     (This : IHTMLEventObj2_Type)
     return GNATCOM.Types.VARIANT_BOOL;

   procedure PutRef_fromElement
     (This : IHTMLEventObj2_Type;
      p    : Pointer_To_IHTMLElement);

   function Get_fromElement
     (This : IHTMLEventObj2_Type)
     return Pointer_To_IHTMLElement;

   procedure PutRef_toElement
     (This : IHTMLEventObj2_Type;
      p    : Pointer_To_IHTMLElement);

   function Get_toElement
     (This : IHTMLEventObj2_Type)
     return Pointer_To_IHTMLElement;

   procedure Put_button
     (This : IHTMLEventObj2_Type;
      p    : Interfaces.C.long);

   function Get_button
     (This : IHTMLEventObj2_Type)
     return Interfaces.C.long;

   procedure Put_type
     (This : IHTMLEventObj2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_type
     (This : IHTMLEventObj2_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_qualifier
     (This : IHTMLEventObj2_Type;
      p    : GNATCOM.Types.BSTR;
      Free : Boolean := True);

   function Get_qualifier
     (This : IHTMLEventObj2_Type)
     return GNATCOM.Types.BSTR;

   procedure Put_reason
     (This : IHTMLEventObj2_Type;
      p    : Interfaces.C.long);

   function Get_reason
     (This : IHTMLEventObj2_Type)
     return Interfaces.C.long;

   procedure Put_x
     (This : IHTMLEventObj2_Type;
      p    : Interfaces.C.long);

   function Get_x
     (This : IHTMLEventObj2_Type)
     return Interfaces.C.long;

   procedure Put_y
     (This : IHTMLEventObj2_Type;
      p    : Interfaces.C.long);

   function Get_y
     (This : IHTMLEventObj2_Type)
     return Interfaces.C.long;

   procedure Put_clientX
     (This : IHTMLEventObj2_Type;
      p    : Interfaces.C.long);

   function Get_clientX
     (This : IHTMLEventObj2_Type)
     return Interfaces.C.long;

   procedure Put_clientY
     (This : IHTMLEventObj2_Type;
      p    : Interfaces.C.long);

   function Get_clientY
     (This : IHTMLEventObj2_Type)
     return Interfaces.C.long;

   procedure Put_offsetX
     (This : IHTMLEventObj2_Type;
      p    : Interfaces.C.long);

   function Get_offsetX
     (This : IHTMLEventObj2_Type)
     return Interfaces.C.long;

   procedure Put_offsetY
     (This : IHTMLEventObj2_Type;
      p    : Interfaces.C.long);

   function Get_offsetY
     (This : IHTMLEventObj2_Type)
     return Interfaces.C.long;

   procedure Put_screenX
     (This : IHTMLEventObj2_Type;
      p    : Interfaces.C.long);

   function Get_screenX
     (This : IHTMLEventObj2_Type)
     return Interfaces.C.long;

   procedure Put_screenY
     (This : IHTMLEventObj2_Type;
      p    : Interfaces.C.long);

   function Get_screenY
     (This : IHTMLEventObj2_Type)
     return Interfaces.C.long;

   procedure PutRef_srcFilter
     (This : IHTMLEventObj2_Type;
      p    : GNATCOM.Types.Pointer_To_IDispatch);

   function Get_srcFilter
     (This : IHTMLEventObj2_Type)
     return GNATCOM.Types.Pointer_To_IDispatch;

   function Get_dataTransfer
     (This : IHTMLEventObj2_Type)
     return Pointer_To_IHTMLDataTransfer;

end MSHTML.IHTMLEventObj2_Interface;

