PATCH 2 ForAtlMfc.diff
some fixes and additional files needed by ATL/MFC
- include/Makefile.in
Added some new .idl files, see below
- include/expdisp.idl
Add the DWebBrowserEvents + the IWebBrowser2 and events
- include/expdispid.h (new)
needed by expdisp.idl and ATL code
- include/olectl.h
the font constant will not compile. I think it should also be fixed for c but I can't be sure.
It was written like in MS headers, MSVC will compile it, but GCC will not. The way I did it works for both.
- include/mshtmhst.idl (new)
other Interfaces related to IE that are not present in expdisp.idl
- include/msstkppg.h (new)
some GUIDs used by MFC
- include/objsafe.idl (new)
common Interface also used by ATL
* Not all Interfaces needed by AT/MFC are included here. These are the more commons that I have found used in other places. I will have available Makefiles, extra headers, directory listings, documentation ,demo applications, that are needed to compile MFC/ATL. One could grab the missing Interfaces together with the MFC/ATL source code, from where ever he/she Legally got them.
Index: include/Makefile.in
===================================================================
RCS file: /home/wine/wine/include/Makefile.in,v
retrieving revision 1.121
diff -u -r1.121 Makefile.in
--- include/Makefile.in 9 Mar 2004 01:29:56 -0000 1.121
+++ include/Makefile.in 10 Mar 2004 08:36:46 -0000
@@ -23,7 +23,9 @@
strmif.idl \
unknwn.idl \
urlmon.idl \
- wtypes.idl
+ wtypes.idl \
+ mshtmhst.idl \
+ objsafe.idl
IDL_INCLUDES = \
axcore.idl \
Index: include/exdisp.idl
===================================================================
RCS file: /home/wine/wine/include/exdisp.idl,v
retrieving revision 1.1
diff -u -r1.1 exdisp.idl
--- include/exdisp.idl 4 Sep 2003 02:00:46 -0000 1.1
+++ include/exdisp.idl 10 Mar 2004 08:36:46 -0000
@@ -84,6 +84,81 @@
HRESULT get_Busy([out] VARIANT_BOOL *pBool);
}
+#include "exdispid.h"
+/*****************************************************************************
+ * DWebBrowserEvents: This Interface is the Events from the IWebBrowser above
+ */
+[
+ oleautomation,
+ uuid(EAB22AC2-30C1-11CF-A7EB-0000C05BAE0B)
+]
+dispinterface DWebBrowserEvents
+{
+ properties:
+ methods:
+ [id(DISPID_BEFORENAVIGATE)]
+ void BeforeNavigate([in] BSTR URL, long Flags, BSTR TargetFrameName, VARIANT * PostData, BSTR Headers, [in, out]VARIANT_BOOL * Cancel);
+
+ [id(DISPID_NAVIGATECOMPLETE)]
+ void NavigateComplete([in] BSTR URL );
+
+ [id(DISPID_STATUSTEXTCHANGE)]
+ void StatusTextChange([in]BSTR Text);
+
+ [id(DISPID_PROGRESSCHANGE)]
+ void ProgressChange([in] long Progress, [in] long ProgressMax);
+
+ [id(DISPID_DOWNLOADCOMPLETE)]
+ void DownloadComplete();
+
+ [id(DISPID_COMMANDSTATECHANGE)]
+ void CommandStateChange([in] long Command, [in] VARIANT_BOOL Enable);
+
+ [id(DISPID_DOWNLOADBEGIN)]
+ void DownloadBegin();
+
+ [id(DISPID_NEWWINDOW)]
+ void NewWindow([in] BSTR URL, [in] long Flags, [in] BSTR TargetFrameName, [in] VARIANT * PostData, [in] BSTR Headers, [in,out] VARIANT_BOOL * Processed);
+
+ [id(DISPID_TITLECHANGE)]
+ void TitleChange([in]BSTR Text);
+
+ [id(DISPID_FRAMEBEFORENAVIGATE)]
+ void FrameBeforeNavigate([in] BSTR URL, long Flags, BSTR TargetFrameName, VARIANT * PostData, BSTR Headers, [in, out]VARIANT_BOOL * Cancel);
+
+ [id(DISPID_FRAMENAVIGATECOMPLETE)]
+ void FrameNavigateComplete([in] BSTR URL );
+
+ [id(DISPID_FRAMENEWWINDOW)]
+ void FrameNewWindow([in] BSTR URL, [in] long Flags, [in] BSTR TargetFrameName, [in] VARIANT * PostData, [in] BSTR Headers, [in,out] VARIANT_BOOL * Processed);
+
+
+
+ [id(DISPID_QUIT)]
+ void Quit([in, out] VARIANT_BOOL * Cancel);
+
+ [id(DISPID_WINDOWMOVE)]
+ void WindowMove();
+
+ [id(DISPID_WINDOWRESIZE)]
+ void WindowResize();
+
+ [id(DISPID_WINDOWACTIVATE)]
+ void WindowActivate();
+
+ [id(DISPID_PROPERTYCHANGE)]
+ void PropertyChange([in] BSTR Property);
+}
+
+typedef
+[
+ uuid(34A226E0-DF30-11CF-89A9-00A0C9054129)
+]
+enum CommandStateChangeConstants {
+ CSC_UPDATECOMMANDS = 0xFFFFFFFF,
+ CSC_NAVIGATEFORWARD = 0x00000001,
+ CSC_NAVIGATEBACK = 0x00000002,
+} CommandStateChangeConstants;
/*****************************************************************************
* IWebBrowserApp interface
@@ -117,5 +192,138 @@
HRESULT put_FullScreen([in] VARIANT_BOOL bFullScreen);
}
+/*****************************************************************************
+ * IWebBrowser2 interface
+ */
+[
+ object,
+ oleautomation,
+ dual,
+ uuid(D30C1661-CDAF-11d0-8A3E-00C04FC9E26E)
+]
+interface IWebBrowser2 : IWebBrowserApp
+{
+ [id(500)]
+ HRESULT Navigate2([in] VARIANT * URL,
+ [in] VARIANT * Flags,
+ [in] VARIANT * TargetFrameName,
+ [in] VARIANT * PostData,
+ [in] VARIANT * Headers);
+
+
+ [id(501)]
+ HRESULT QueryStatusWB([in] OLECMDID cmdID, [out, retval] OLECMDF * pcmdf);
+ [id(502)]
+ HRESULT ExecWB([in] OLECMDID cmdID, [in] OLECMDEXECOPT cmdexecopt, [in] VARIANT * pvaIn, [out, in] VARIANT * pvaOut);
+ [id(503)]
+ HRESULT ShowBrowserBar( [in] VARIANT * pvaClsid,
+ [in] VARIANT * pvarShow,
+ [in] VARIANT * pvarSize );
+
+ [id(DISPID_READYSTATE)]
+ HRESULT get_ReadyState([retval, out] READYSTATE * plReadyState);
+
+ [id(550)]
+ HRESULT get_Offline([out, retval] VARIANT_BOOL * pbOffline);
+ [id(550)]
+ HRESULT put_Offline([in] VARIANT_BOOL bOffline);
+
+ [id(551)]
+ HRESULT get_Silent([out, retval] VARIANT_BOOL * pbSilent);
+ [id(551)]
+ HRESULT put_Silent([in] VARIANT_BOOL bSilent);
+
+ [id(552)]
+ HRESULT get_RegisterAsBrowser([out, retval] VARIANT_BOOL * pbRegister);
+ [id(552)]
+ HRESULT put_RegisterAsBrowser([in] VARIANT_BOOL bRegister);
+
+ [id(553)]
+ HRESULT get_RegisterAsDropTarget([out, retval] VARIANT_BOOL * pbRegister);
+ [id(553)]
+ HRESULT put_RegisterAsDropTarget([in] VARIANT_BOOL bRegister);
+
+ [id(554)]
+ HRESULT get_TheaterMode([out, retval] VARIANT_BOOL * pbRegister);
+ [id(554)]
+ HRESULT put_TheaterMode([in] VARIANT_BOOL bRegister);
+
+ [id(555)]
+ HRESULT get_AddressBar([out, retval] VARIANT_BOOL * Value);
+ [id(555)]
+ HRESULT put_AddressBar([in] VARIANT_BOOL Value);
+
+ [id(556)]
+ HRESULT get_Resizable([out, retval] VARIANT_BOOL * Value);
+ [id(556)]
+ HRESULT put_Resizable([in] VARIANT_BOOL Value);
+}
+
+[
+ oleautomation,
+ uuid(34A715A0-6587-11D0-924A-0020AFC7AC4D)
+]
+interface DWebBrowserEvents2 : IDispatch
+{
+ [id(DISPID_STATUSTEXTCHANGE)]
+ void StatusTextChange([in]BSTR Text);
+
+ [id(DISPID_PROGRESSCHANGE)]
+ void ProgressChange([in] long Progress, [in] long ProgressMax);
+
+ [id(DISPID_COMMANDSTATECHANGE)]
+ void CommandStateChange([in] long Command, [in] VARIANT_BOOL Enable);
+
+ [id(DISPID_DOWNLOADBEGIN)]
+ void DownloadBegin();
+
+ [id(DISPID_DOWNLOADCOMPLETE)]
+ void DownloadComplete();
+
+ [id(DISPID_TITLECHANGE)]
+ void TitleChange([in] BSTR Text);
+
+ [id(DISPID_PROPERTYCHANGE)]
+ void PropertyChange([in] BSTR szProperty);
+
+
+
+ [id(DISPID_BEFORENAVIGATE2)]
+ void BeforeNavigate2([in] IDispatch* pDisp,
+ [in] VARIANT * URL, [in] VARIANT * Flags, [in] VARIANT * TargetFrameName, [in] VARIANT * PostData, [in] VARIANT * Headers,
+ [in,out] VARIANT_BOOL * Cancel);
+
+ [id(DISPID_NEWWINDOW2)]
+ void NewWindow2([in, out] IDispatch** ppDisp, [in, out] VARIANT_BOOL * Cancel);
+
+ [id(DISPID_NAVIGATECOMPLETE2)]
+ void NavigateComplete2([in] IDispatch* pDisp, [in] VARIANT * URL );
+
+ [id(DISPID_DOCUMENTCOMPLETE)]
+ void DocumentComplete([in] IDispatch* pDisp, [in] VARIANT * URL );
+
+ [id(DISPID_ONQUIT)]
+ void OnQuit();
+
+ [id(DISPID_ONVISIBLE)]
+ void OnVisible([in] VARIANT_BOOL Visible);
+
+ [id(DISPID_ONTOOLBAR)]
+ void OnToolBar([in] VARIANT_BOOL ToolBar);
+
+ [id(DISPID_ONMENUBAR)]
+ void OnMenuBar([in] VARIANT_BOOL MenuBar);
+
+ [id(DISPID_ONSTATUSBAR)]
+ void OnStatusBar([in] VARIANT_BOOL StatusBar);
+
+ [id(DISPID_ONFULLSCREEN)]
+ void OnFullScreen([in] VARIANT_BOOL FullScreen);
+
+ [id(DISPID_ONTHEATERMODE)]
+ void OnTheaterMode([in] VARIANT_BOOL TheaterMode);
+}
+
/* FIXME */
cpp_quote("DEFINE_GUID(CLSID_WebBrowser, 0x8856f961, 0x340a, 0x11d0, 0xa9, 0x6b, 0x00, 0xc0, 0x4f, 0xd7, 0x05, 0xa2);")
+cpp_quote("DEFINE_GUID(CLSID_InternetExplorer, 0x0002DF01, 0x0000, 0x0000, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);")
Index: include/olectl.h
===================================================================
RCS file: /home/wine/wine/include/olectl.h,v
retrieving revision 1.19
diff -u -r1.19 olectl.h
--- include/olectl.h 5 Sep 2003 23:15:44 -0000 1.19
+++ include/olectl.h 10 Mar 2004 08:36:47 -0000
@@ -19,6 +19,8 @@
#ifndef __WINE_OLECTL_H
#define __WINE_OLECTL_H
+#if !defined(__WIDL__)
+
#include <ocidl.h>
#ifdef __cplusplus
@@ -97,7 +99,11 @@
BOOL fStrikethrough;
} FONTDESC, *LPFONTDESC;
-#define FONTSIZE(n) { n##0000, 0 }
+#ifdef __cplusplus
+# define FONTSIZE(n) { n##0000 }
+#else
+# define FONTSIZE(n) { n##0000, 0 }
+#endif /*__cplusplus*/
#define PICTYPE_UNINITIALIZED (-1)
#define PICTYPE_NONE 0
@@ -169,6 +175,8 @@
HRESULT WINAPI OleTranslateColor( OLE_COLOR clr, HPALETTE hpal,
COLORREF* lpcolorref);
+
+#endif /*!defined(__WIDL__)*/
/* standard dispatch ID's */
#define DISPID_AUTOSIZE (-500)
--- /dev/null 1970-01-01 02:00:00.000000000 +0200
+++ include/mshtmhst.idl 2004-01-12 14:11:33.000000000 +0200
@@ -0,0 +1,223 @@
+/*
+ * Defines advanced COM interfaces and APIs related to the IE Web browser
+ *
+ * Copyright (C) 2004 wine project
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+
+cpp_quote("#define CONTEXT_MENU_DEFAULT 0")
+cpp_quote("#define CONTEXT_MENU_IMAGE 1")
+cpp_quote("#define CONTEXT_MENU_CONTROL 2")
+cpp_quote("#define CONTEXT_MENU_TABLE 3")
+cpp_quote("/* in browse mode*/")
+cpp_quote("#define CONTEXT_MENU_TEXTSELECT 4")
+cpp_quote("#define CONTEXT_MENU_ANCHOR 5")
+cpp_quote("#define CONTEXT_MENU_UNKNOWN 6")
+cpp_quote("#define CONTEXT_MENU_IMGDYNSRC 7")
+cpp_quote("#define CONTEXT_MENU_IMGART 8")
+cpp_quote("#define CONTEXT_MENU_DEBUG 9")
+
+cpp_quote("#define MENUEXT_SHOWDIALOG 0x1")
+
+cpp_quote("#define DOCHOSTUIFLAG_BROWSER DOCHOSTUIFLAG_DISABLE_HELP_MENU | DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE ")
+
+import "ocidl.idl";
+import "objidl.idl";
+import "oleidl.idl";
+import "oaidl.idl";
+import "docobj.idl";
+/*import "mshtml.idl";*/
+
+/* FIXME
+cpp_quote("EXTERN_C const GUID CGID_MSHTML;")
+cpp_quote("#define CMDSETID_Forms3 CGID_MSHTML")
+cpp_quote("#define SZ_HTML_CLIENTSITE_OBJECTPARAM L\"{d4db6850-5385-11d0-89e9-00a0c90a90ac}\"")
+*/
+
+cpp_quote("typedef HRESULT STDAPICALLTYPE SHOWHTMLDIALOGFN (HWND hwndParent, IMoniker *pmk, VARIANT *pvarArgIn, TCHAR* pchOptions, VARIANT *pvArgOut);")
+
+cpp_quote("STDAPI ShowHTMLDialog( ")
+cpp_quote(" HWND hwndParent,")
+cpp_quote(" IMoniker * pMk, ")
+cpp_quote(" VARIANT * pvarArgIn, ")
+cpp_quote(" TCHAR * pchOptions,")
+cpp_quote(" VARIANT * pvarArgOut ")
+cpp_quote("); ")
+
+/*****************************************************************************
+ * IDocHostUIHandler interface
+ */
+
+typedef
+enum tagDOCHOSTUITYPE {
+ DOCHOSTUITYPE_BROWSE = 0,
+ DOCHOSTUITYPE_AUTHOR = 1,
+} DOCHOSTUITYPE;
+
+typedef enum tagDOCHOSTUIDBLCLK {
+ DOCHOSTUIDBLCLK_DEFAULT = 0,
+ DOCHOSTUIDBLCLK_SHOWPROPERTIES = 1,
+ DOCHOSTUIDBLCLK_SHOWCODE = 2,
+} DOCHOSTUIDBLCLK ;
+
+typedef enum tagDOCHOSTUIFLAG {
+ DOCHOSTUIFLAG_DIALOG = 1,
+ DOCHOSTUIFLAG_DISABLE_HELP_MENU = 2,
+ DOCHOSTUIFLAG_NO3DBORDER = 4,
+ DOCHOSTUIFLAG_SCROLL_NO = 8,
+ DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE = 16,
+ DOCHOSTUIFLAG_OPENNEWWIN = 32,
+ DOCHOSTUIFLAG_DISABLE_OFFSCREEN = 64,
+ DOCHOSTUIFLAG_FLAT_SCROLLBAR = 128,
+ DOCHOSTUIFLAG_DIV_BLOCKDEFAULT = 256,
+ DOCHOSTUIFLAG_ACTIVATE_CLIENTHIT_ONLY = 512,
+ DOCHOSTUIFLAG_DISABLE_COOKIE = 1024,
+} DOCHOSTUIFLAG ;
+
+
+[
+ object,
+ uuid(bd3f23c0-d43e-11cf-893b-00aa00bdce1a),
+ pointer_default(unique),
+ local
+]
+interface IDocHostUIHandler : IUnknown
+{
+
+ typedef struct _DOCHOSTUIINFO
+ {
+ ULONG cbSize;
+ DWORD dwFlags;
+ DWORD dwDoubleClick;
+ } DOCHOSTUIINFO;
+
+ HRESULT ShowContextMenu(
+ [in] DWORD dwID,
+ [in] POINT* ppt,
+ [in] IUnknown* pcmdtReserved,
+ [in] IDispatch* pdispReserved);
+ HRESULT GetHostInfo([in, out] DOCHOSTUIINFO * pInfo);
+ HRESULT ShowUI(
+ [in] DWORD dwID,
+ [in] IOleInPlaceActiveObject * pActiveObject,
+ [in] IOleCommandTarget * pCommandTarget,
+ [in] IOleInPlaceFrame * pFrame,
+ [in] IOleInPlaceUIWindow * pDoc);
+ HRESULT HideUI();
+ HRESULT UpdateUI();
+ HRESULT EnableModeless([in] BOOL fEnable);
+ HRESULT OnDocWindowActivate([in] BOOL fActivate);
+ HRESULT OnFrameWindowActivate([in] BOOL fActivate);
+ HRESULT ResizeBorder(
+ [in] LPCRECT prcBorder,
+ [in] IOleInPlaceUIWindow * pUIWindow,
+ [in] BOOL fRameWindow);
+ HRESULT TranslateAccelerator(
+ [in] LPMSG lpMsg,
+ [in] const GUID * pguidCmdGroup,
+ [in] DWORD nCmdID);
+ HRESULT GetOptionKeyPath([out] LPOLESTR * pchKey, [in] DWORD dw);
+ HRESULT GetDropTarget(
+ [in] IDropTarget * pDropTarget,
+ [out] IDropTarget ** ppDropTarget);
+ HRESULT GetExternal([out] IDispatch **ppDispatch);
+ HRESULT TranslateUrl([in]DWORD dwTranslate, [in]OLECHAR *pchURLIn, [out]OLECHAR **ppchURLOut);
+ HRESULT FilterDataObject([in]IDataObject *pDO, [out]IDataObject **ppDORet);
+}
+
+
+//-------------------------------------------------------------------------
+// ICustomDoc
+//
+//-------------------------------------------------------------------------
+
+[
+ object,
+ uuid(3050f3f0-98b5-11cf-bb82-00aa00bdce0b),
+ pointer_default(unique),
+ local
+]
+interface ICustomDoc : IUnknown
+{
+ HRESULT SetUIHandler(
+ [in] IDocHostUIHandler * pUIHandler);
+}
+
+//-------------------------------------------------------------------------
+// IDocHostShowUI
+//
+//-------------------------------------------------------------------------
+
+[
+ object,
+ uuid(c4d244b0-d43e-11cf-893b-00aa00bdce1a),
+ pointer_default(unique),
+ local
+]
+interface IDocHostShowUI : IUnknown
+{
+ HRESULT ShowMessage(
+ [in] HWND hwnd,
+ [in] LPOLESTR lpstrText,
+ [in] LPOLESTR lpstrCaption,
+ [in] DWORD dwType,
+ [in] LPOLESTR lpstrHelpFile,
+ [in] DWORD dwHelpContext,
+ [out] LRESULT * plResult);
+ HRESULT ShowHelp(
+ [in] HWND hwnd,
+ [in] LPOLESTR pszHelpFile,
+ [in] UINT uCommand,
+ [in] DWORD dwData,
+ [in] POINT ptMouse,
+ [out] IDispatch * pDispatchObjectHit);
+}
+
+/*
+//-------------------------------------------------------------------------
+// ICSSFilterSite
+//
+//-------------------------------------------------------------------------
+[
+ odl,
+ oleautomation,
+ dual,
+ uuid(3050f3ed-98b5-11cf-bb82-00aa00bdce0b)
+]
+interface ICSSFilterSite : IUnknown
+{
+ [] HRESULT GetElement([retval, out] IHTMLElement** ppElem);
+ [] HRESULT FireOnFilterChangeEvent();
+};
+
+
+//-------------------------------------------------------------------------
+// ICSSFilter
+//
+//-------------------------------------------------------------------------
+[
+ odl,
+ oleautomation,
+ dual,
+ uuid(3050f3ec-98b5-11cf-bb82-00aa00bdce0b)
+]
+interface ICSSFilter : IUnknown
+{
+ [] HRESULT SetSite([in] ICSSFilterSite* pSink);
+ [] HRESULT OnAmbientPropertyChange([in] LONG dispid);
+};
+*/
--- /dev/null 1970-01-01 02:00:00.000000000 +0200
+++ include/msstkppg.h 2004-01-14 19:41:33.000000000 +0200
@@ -0,0 +1,33 @@
+/*
+ * CLSIDs for msprop32 property pages.
+ *
+ * Copyright (C) the Wine project
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+#if !defined(WINE_MSSTKPPG_H)
+#define WINE_MSSTKPPG_H
+
+/* {7EBDAAE0-8120-11cf-899F-00AA00688B10}*/
+DEFINE_GUID(CLSID_StockFontPage, 0x7ebdaae0, 0x8120, 0x11cf, 0x89, 0x9f, 0x0, 0xaa, 0x0, 0x68, 0x8b, 0x10);
+
+/* {7EBDAAE1-8120-11cf-899F-00AA00688B10}*/
+DEFINE_GUID(CLSID_StockColorPage, 0x7ebdaae1, 0x8120, 0x11cf, 0x89, 0x9f, 0x0, 0xaa, 0x0, 0x68, 0x8b, 0x10);
+
+/* {7EBDAAE2-8120-11cf-899F-00AA00688B10}*/
+DEFINE_GUID(CLSID_StockPicturePage, 0x7ebdaae2, 0x8120, 0x11cf, 0x89, 0x9f, 0x0, 0xaa, 0x0, 0x68, 0x8b, 0x10);
+
+#endif /* WINE_MSSTKPPG_H*/
--- /dev/null 1970-01-01 02:00:00.000000000 +0200
+++ include/objsafe.idl 2004-03-10 11:44:43.000000000 +0200
@@ -0,0 +1,52 @@
+/*
+ * objsafe.idl
+ * Object Safety Interfaces
+ *
+ * Copyright (C) wine
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ */
+
+cpp_quote("")
+import "unknwn.idl";
+cpp_quote("")
+cpp_quote("/* Masks used in IObjectSafety:*/")
+cpp_quote("#define INTERFACESAFE_FOR_UNTRUSTED_CALLER 0x00000001" )
+cpp_quote("#define INTERFACESAFE_FOR_UNTRUSTED_DATA 0x00000002" )
+cpp_quote("#define INTERFACE_USES_DISPEX 0x00000004" )
+cpp_quote("#define INTERFACE_USES_SECURITY_MANAGER 0x00000008" )
+cpp_quote("")
+cpp_quote("EXTERN_C GUID CATID_SafeForScripting;")
+cpp_quote("EXTERN_C GUID CATID_SafeForInitializing;")
+cpp_quote("")
+
+[
+ object,
+ uuid(CB5BDC81-93C1-11cf-8F20-00805F2CD064)
+]
+interface IObjectSafety : IUnknown
+{
+ HRESULT GetInterfaceSafetyOptions(
+ [in] REFIID riid,
+ [out] DWORD * pdwSupportedOptions,
+ [out] DWORD * pdwEnabledOptions);
+
+ HRESULT SetInterfaceSafetyOptions(
+ [in] REFIID riid,
+ [in] DWORD dwOptionSetMask,
+ [in] DWORD dwEnabledOptions);
+}
+
+typedef [unique] IObjectSafety *LPOBJECTSAFETY;
--- /dev/null 1970-01-01 02:00:00.000000000 +0200
+++ include/exdispid.h 2004-03-10 12:57:25.000000000 +0200
@@ -0,0 +1,57 @@
+/*
+ * IDs used by exdisp.idl
+ *
+ */
+
+#ifndef WINE_EXDISPID_H__
+#define WINE_EXDISPID_H__
+
+#define DISPID_BEFORENAVIGATE 100
+#define DISPID_NAVIGATECOMPLETE 101
+#define DISPID_STATUSTEXTCHANGE 102
+#define DISPID_QUIT 103
+#define DISPID_DOWNLOADCOMPLETE 104
+#define DISPID_COMMANDSTATECHANGE 105
+#define DISPID_DOWNLOADBEGIN 106
+#define DISPID_NEWWINDOW 107
+#define DISPID_PROGRESSCHANGE 108
+#define DISPID_WINDOWMOVE 109
+#define DISPID_WINDOWRESIZE 110
+#define DISPID_WINDOWACTIVATE 111
+#define DISPID_PROPERTYCHANGE 112
+#define DISPID_TITLECHANGE 113
+
+#define DISPID_FRAMEBEFORENAVIGATE 200
+#define DISPID_FRAMENAVIGATECOMPLETE 201
+#define DISPID_FRAMENEWWINDOW 204
+
+#define DISPID_BEFORENAVIGATE2 250
+#define DISPID_NEWWINDOW2 251
+#define DISPID_NAVIGATECOMPLETE2 252
+#define DISPID_ONQUIT 253
+#define DISPID_ONVISIBLE 254
+#define DISPID_ONTOOLBAR 255
+#define DISPID_ONMENUBAR 256
+#define DISPID_ONSTATUSBAR 257
+#define DISPID_ONFULLSCREEN 258
+#define DISPID_DOCUMENTCOMPLETE 259
+#define DISPID_ONTHEATERMODE 260
+#define DISPID_ONADDRESSBAR 261
+
+#define DISPID_SELECTIONCHANGED 200
+
+#define DISPID_WINDOWREGISTERED 200
+#define DISPID_WINDOWREVOKED 201
+
+#define DISPID_RESETFIRSTBOOTMODE 1
+#define DISPID_RESETSAFEMODE 2
+#define DISPID_REFRESHOFFLINEDESKTOP 3
+#define DISPID_ADDFAVORITE 4
+#define DISPID_ADDCHANNEL 5
+#define DISPID_ADDDESKTOPCOMPONENT 6
+#define DISPID_ISSUBSCRIBED 7
+#define DISPID_SHELLUIHELPERLAST 7
+
+#define DISPID_READYSTATE (-525)
+
+#endif /* WINE_EXDISPID_H__*/