- NDK 0.98, now with versionned headers. Too many changes to list, see the TinyKRNL...
[reactos.git] / reactos / include / exdisp.h
1 #ifndef _EXDISP_H
2 #define _EXDISP_H
3 #if __GNUC__ >=3
4 #pragma GCC system_header
5 #endif
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9 #include <oaidl.h>
10 #include <ocidl.h>
11 #include <docobj.h>
12
13 EXTERN_C const CLSID CLSID_WebBrowser;
14 EXTERN_C const IID DIID_DWebBrowserEvents;
15
16 typedef enum {
17 navOpenInNewWindow = 0x1,
18 navNoHistory = 0x2,
19 navNoReadFromCache = 0x4,
20 navNoWriteTocache = 0x8,
21 navAllowAutosearch = 0x10,
22 navBrowserBar = 0x20,
23 navHyperLink = 0x40
24 } BrowserNavConstants;
25
26 EXTERN_C const IID IID_IWebBrowser;
27 #define INTERFACE IWebBrowser
28 DECLARE_INTERFACE_(IWebBrowser,IDispatch)
29 {
30 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
31 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
32 STDMETHOD_(ULONG,Release)(THIS) PURE;
33 STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
34 STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
35 STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
36 STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
37
38 STDMETHOD(GoBack)(THIS) PURE;
39 STDMETHOD(GoForward)(THIS) PURE;
40 STDMETHOD(GoHome)(THIS) PURE;
41 STDMETHOD(GoSearch)(THIS) PURE;
42 STDMETHOD(Navigate)(THIS_ BSTR,VARIANT*,VARIANT*,VARIANT*,VARIANT*) PURE;
43 STDMETHOD(Refresh)(THIS) PURE;
44 STDMETHOD(Refresh2)(THIS_ VARIANT*) PURE;
45 STDMETHOD(Stop)(THIS) PURE;
46 STDMETHOD(get_Application)(THIS_ IDispatch**) PURE;
47 STDMETHOD(get_Parent)(THIS_ IDispatch**) PURE;
48 STDMETHOD(get_Container)(THIS_ IDispatch**) PURE;
49 STDMETHOD(get_Document)(THIS_ IDispatch**) PURE;
50 STDMETHOD(get_TopLevelContainer)(THIS_ VARIANT_BOOL*) PURE;
51 STDMETHOD(get_Type)(THIS_ BSTR*) PURE;
52 STDMETHOD(get_Left)(THIS_ long*) PURE;
53 STDMETHOD(put_Left)(THIS_ long) PURE;
54 STDMETHOD(get_Top)(THIS_ long*) PURE;
55 STDMETHOD(put_Top)(THIS_ long) PURE;
56 STDMETHOD(get_Width)(THIS_ long*) PURE;
57 STDMETHOD(put_Width)(THIS_ long) PURE;
58 STDMETHOD(get_Height)(THIS_ long*) PURE;
59 STDMETHOD(put_Height)(THIS_ long) PURE;
60 STDMETHOD(get_LocationName)(THIS_ BSTR*) PURE;
61 STDMETHOD(get_LocationURL)(THIS_ BSTR*) PURE;
62 STDMETHOD(get_Busy)(THIS_ VARIANT_BOOL*) PURE;
63 };
64 #undef INTERFACE
65
66 EXTERN_C const IID IID_IWebBrowserApp;
67 #define INTERFACE IWebBrowserApp
68 DECLARE_INTERFACE_(IWebBrowserApp,IWebBrowser)
69 {
70 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
71 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
72 STDMETHOD_(ULONG,Release)(THIS) PURE;
73 STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
74 STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
75 STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
76 STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
77
78 STDMETHOD(GoBack)(THIS) PURE;
79 STDMETHOD(GoForward)(THIS) PURE;
80 STDMETHOD(GoHome)(THIS) PURE;
81 STDMETHOD(GoSearch)(THIS) PURE;
82 STDMETHOD(Navigate)(THIS_ BSTR,VARIANT*,VARIANT*,VARIANT*,VARIANT*) PURE;
83 STDMETHOD(Refresh)(THIS) PURE;
84 STDMETHOD(Refresh2)(THIS_ VARIANT*) PURE;
85 STDMETHOD(Stop)(THIS) PURE;
86 STDMETHOD(get_Application)(THIS_ IDispatch**) PURE;
87 STDMETHOD(get_Parent)(THIS_ IDispatch**) PURE;
88 STDMETHOD(get_Container)(THIS_ IDispatch**) PURE;
89 STDMETHOD(get_Document)(THIS_ IDispatch**) PURE;
90 STDMETHOD(get_TopLevelContainer)(THIS_ VARIANT_BOOL*) PURE;
91 STDMETHOD(get_Type)(THIS_ BSTR*) PURE;
92 STDMETHOD(get_Left)(THIS_ long*) PURE;
93 STDMETHOD(put_Left)(THIS_ long) PURE;
94 STDMETHOD(get_Top)(THIS_ long*) PURE;
95 STDMETHOD(put_Top)(THIS_ long) PURE;
96 STDMETHOD(get_Width)(THIS_ long*) PURE;
97 STDMETHOD(put_Width)(THIS_ long) PURE;
98 STDMETHOD(get_Height)(THIS_ long*) PURE;
99 STDMETHOD(put_Height)(THIS_ long) PURE;
100 STDMETHOD(get_LocationName)(THIS_ BSTR*) PURE;
101 STDMETHOD(get_LocationURL)(THIS_ BSTR*) PURE;
102 STDMETHOD(get_Busy)(THIS_ VARIANT_BOOL*) PURE;
103
104 STDMETHOD(Quit)(THIS) PURE;
105 STDMETHOD(ClientToWindow)(THIS_ int*,int*) PURE;
106 STDMETHOD(PutProperty)(THIS_ BSTR,VARIANT) PURE;
107 STDMETHOD(GetProperty)(THIS_ BSTR,VARIANT*) PURE;
108 STDMETHOD(get_Name)(THIS_ BSTR*) PURE;
109 STDMETHOD(get_HWND)(THIS_ long*) PURE;
110 STDMETHOD(get_FullName)(THIS_ BSTR*) PURE;
111 STDMETHOD(get_Path)(THIS_ BSTR*) PURE;
112 STDMETHOD(get_Visible)(THIS_ VARIANT_BOOL*) PURE;
113 STDMETHOD(put_Visible)(THIS_ VARIANT_BOOL) PURE;
114 STDMETHOD(get_StatusBar)(THIS_ VARIANT_BOOL*) PURE;
115 STDMETHOD(put_StatusBar)(THIS_ VARIANT_BOOL) PURE;
116 STDMETHOD(get_StatusText)(THIS_ BSTR*) PURE;
117 STDMETHOD(put_StatusText)(THIS_ BSTR) PURE;
118 STDMETHOD(get_ToolBar)(THIS_ int*) PURE;
119 STDMETHOD(put_ToolBar)(THIS_ int) PURE;
120 STDMETHOD(get_MenuBar)(THIS_ VARIANT_BOOL*) PURE;
121 STDMETHOD(put_MenuBar)(THIS_ VARIANT_BOOL) PURE;
122 STDMETHOD(get_FullScreen)(THIS_ VARIANT_BOOL*) PURE;
123 STDMETHOD(put_FullScreen)(THIS_ VARIANT_BOOL) PURE;
124 };
125 #undef INTERFACE
126
127 EXTERN_C const IID IID_IWebBrowser2;
128 #define INTERFACE IWebBrowser2
129 DECLARE_INTERFACE_(IWebBrowser2,IWebBrowserApp)
130 {
131 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
132 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
133 STDMETHOD_(ULONG,Release)(THIS) PURE;
134 STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
135 STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
136 STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
137 STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
138
139 STDMETHOD(GoBack)(THIS) PURE;
140 STDMETHOD(GoForward)(THIS) PURE;
141 STDMETHOD(GoHome)(THIS) PURE;
142 STDMETHOD(GoSearch)(THIS) PURE;
143 STDMETHOD(Navigate)(THIS_ BSTR,VARIANT*,VARIANT*,VARIANT*,VARIANT*) PURE;
144 STDMETHOD(Refresh)(THIS) PURE;
145 STDMETHOD(Refresh2)(THIS_ VARIANT*) PURE;
146 STDMETHOD(Stop)(THIS) PURE;
147 STDMETHOD(get_Application)(THIS_ IDispatch**) PURE;
148 STDMETHOD(get_Parent)(THIS_ IDispatch**) PURE;
149 STDMETHOD(get_Container)(THIS_ IDispatch**) PURE;
150 STDMETHOD(get_Document)(THIS_ IDispatch**) PURE;
151 STDMETHOD(get_TopLevelContainer)(THIS_ VARIANT_BOOL*) PURE;
152 STDMETHOD(get_Type)(THIS_ BSTR*) PURE;
153 STDMETHOD(get_Left)(THIS_ long*) PURE;
154 STDMETHOD(put_Left)(THIS_ long) PURE;
155 STDMETHOD(get_Top)(THIS_ long*) PURE;
156 STDMETHOD(put_Top)(THIS_ long) PURE;
157 STDMETHOD(get_Width)(THIS_ long*) PURE;
158 STDMETHOD(put_Width)(THIS_ long) PURE;
159 STDMETHOD(get_Height)(THIS_ long*) PURE;
160 STDMETHOD(put_Height)(THIS_ long) PURE;
161 STDMETHOD(get_LocationName)(THIS_ BSTR*) PURE;
162 STDMETHOD(get_LocationURL)(THIS_ BSTR*) PURE;
163 STDMETHOD(get_Busy)(THIS_ VARIANT_BOOL*) PURE;
164
165 STDMETHOD(Quit)(THIS) PURE;
166 STDMETHOD(ClientToWindow)(THIS_ int*,int*) PURE;
167 STDMETHOD(PutProperty)(THIS_ BSTR,VARIANT) PURE;
168 STDMETHOD(GetProperty)(THIS_ BSTR,VARIANT*) PURE;
169 STDMETHOD(get_Name)(THIS_ BSTR*) PURE;
170 STDMETHOD(get_HWND)(THIS_ long*) PURE;
171 STDMETHOD(get_FullName)(THIS_ BSTR*) PURE;
172 STDMETHOD(get_Path)(THIS_ BSTR*) PURE;
173 STDMETHOD(get_Visible)(THIS_ VARIANT_BOOL*) PURE;
174 STDMETHOD(put_Visible)(THIS_ VARIANT_BOOL) PURE;
175 STDMETHOD(get_StatusBar)(THIS_ VARIANT_BOOL*) PURE;
176 STDMETHOD(put_StatusBar)(THIS_ VARIANT_BOOL) PURE;
177 STDMETHOD(get_StatusText)(THIS_ BSTR*) PURE;
178 STDMETHOD(put_StatusText)(THIS_ BSTR) PURE;
179 STDMETHOD(get_ToolBar)(THIS_ int*) PURE;
180 STDMETHOD(put_ToolBar)(THIS_ int) PURE;
181 STDMETHOD(get_MenuBar)(THIS_ VARIANT_BOOL*) PURE;
182 STDMETHOD(put_MenuBar)(THIS_ VARIANT_BOOL) PURE;
183 STDMETHOD(get_FullScreen)(THIS_ VARIANT_BOOL*) PURE;
184 STDMETHOD(put_FullScreen)(THIS_ VARIANT_BOOL) PURE;
185
186 STDMETHOD(Navigate2)(THIS_ VARIANT*,VARIANT*,VARIANT*,VARIANT*,VARIANT*) PURE;
187 STDMETHOD(QueryStatusWB)(THIS_ OLECMDID,OLECMDF*) PURE;
188 STDMETHOD(ExecWB)(THIS_ OLECMDID,OLECMDEXECOPT,VARIANT*,VARIANT*) PURE;
189 STDMETHOD(ShowBrowserBar)(THIS_ VARIANT*,VARIANT*,VARIANT*) PURE;
190 STDMETHOD(get_ReadyState)(THIS_ READYSTATE*) PURE;
191 STDMETHOD(get_Offline)(THIS_ VARIANT_BOOL*) PURE;
192 STDMETHOD(put_Offline)(THIS_ VARIANT_BOOL) PURE;
193 STDMETHOD(get_Silent)(THIS_ VARIANT_BOOL*) PURE;
194 STDMETHOD(put_Silent)(THIS_ VARIANT_BOOL) PURE;
195 STDMETHOD(get_RegistaerAsBrowser)(THIS_ VARIANT_BOOL*) PURE;
196 STDMETHOD(put_RegisterAsBrowser)(THIS_ VARIANT_BOOL) PURE;
197 STDMETHOD(get_RegistaerAsDropTarget)(THIS_ VARIANT_BOOL*) PURE;
198 STDMETHOD(put_RegisterAsDropTarget)(THIS_ VARIANT_BOOL) PURE;
199 STDMETHOD(get_TheaterMode)(THIS_ VARIANT_BOOL*) PURE;
200 STDMETHOD(put_TheaterMode)(THIS_ VARIANT_BOOL) PURE;
201 STDMETHOD(get_AddressBar)(THIS_ VARIANT_BOOL*) PURE;
202 STDMETHOD(put_AddressBar)(THIS_ VARIANT_BOOL) PURE;
203 STDMETHOD(get_Resizable)(THIS_ VARIANT_BOOL*) PURE;
204 STDMETHOD(put_Resizable)(THIS_ VARIANT_BOOL) PURE;
205 };
206 #undef INTERFACE
207
208 #define STDDISP(m) STDMETHOD_(void,m)
209
210 EXTERN_C const IID DIID_DWebBrowserEvents2;
211 #define INTERFACE DWebBrowserEvents2
212 DECLARE_INTERFACE_(DWebBrowserEvents2,IDispatch)
213 {
214 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
215 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
216 STDMETHOD_(ULONG,Release)(THIS) PURE;
217 STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
218 STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
219 STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
220 STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
221
222 STDDISP(StatusTextChange)(THIS_ BSTR) PURE;
223 STDDISP(ProgressChange)(THIS_ long,long) PURE;
224 STDDISP(CommandStateChange)(THIS_ long,VARIANT_BOOL) PURE;
225 STDDISP(DownloadBegin)(THIS) PURE;
226 STDDISP(DownloadComplete)(THIS) PURE;
227 STDDISP(TitleChange)(THIS_ BSTR) PURE;
228 STDDISP(PropertyChange)(THIS_ BSTR) PURE;
229 STDDISP(BeforeNavigate2)(THIS_ IDispatch*,VARIANT*,VARIANT*,VARIANT*,VARIANT*,VARIANT*,VARIANT_BOOL*) PURE;
230 STDDISP(NewWindow2)(THIS_ IDispatch**,VARIANT_BOOL*) PURE;
231 STDDISP(NavigateComplete)(THIS_ IDispatch*,VARIANT*) PURE;
232 STDDISP(DocumentComplete)(THIS_ IDispatch*,VARIANT*) PURE;
233 STDDISP(OnQuit)(THIS) PURE;
234 STDDISP(OnVisible)(THIS_ VARIANT_BOOL) PURE;
235 STDDISP(OnToolBar)(THIS_ VARIANT_BOOL) PURE;
236 STDDISP(OnMenuBar)(THIS_ VARIANT_BOOL) PURE;
237 STDDISP(OnStatusBar)(THIS_ VARIANT_BOOL) PURE;
238 STDDISP(OnFullScreen)(THIS_ VARIANT_BOOL) PURE;
239 STDDISP(OnTheaterMode)(THIS_ VARIANT_BOOL) PURE;
240 STDDISP(WindowSetResizable)(THIS_ VARIANT_BOOL) PURE;
241 STDDISP(WindowSetLeft)(THIS_ long) PURE;
242 STDDISP(WindowSetTop)(THIS_ long) PURE;
243 STDDISP(WindowSetWidth)(THIS_ long) PURE;
244 STDDISP(WindowSetHeight)(THIS_ long) PURE;
245 STDDISP(WindowClosing)(THIS_ VARIANT_BOOL,VARIANT_BOOL*) PURE;
246 STDDISP(ClientToHostWindow)(THIS_ long*,long*) PURE;
247 STDDISP(SetSecureLockIcon)(THIS_ long) PURE;
248 STDDISP(FileDownload)(THIS_ VARIANT_BOOL*) PURE;
249 };
250 #undef INTERFACE
251
252 #undef STDDISP
253
254 #ifdef __cplusplus
255 }
256 #endif
257 #endif