3 * Copyright 2012, 2013 MinGW.org project
5 * Permission is hereby granted, free of charge, to any person obtaining a
6 * copy of this software and associated documentation files (the "Software"),
7 * to deal in the Software without restriction, including without limitation
8 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
9 * and/or sell copies of the Software, and to permit persons to whom the
10 * Software is furnished to do so, subject to the following conditions:
12 * The above copyright notice and this permission notice (including the next
13 * paragraph) shall be included in all copies or substantial portions of the
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22 * DEALINGS IN THE SOFTWARE.
26 #pragma GCC system_header
36 EXTERN_C const CLSID CLSID_WebBrowser;
37 EXTERN_C const IID DIID_DWebBrowserEvents;
40 navOpenInNewWindow = 0x1,
42 navNoReadFromCache = 0x4,
43 navNoWriteTocache = 0x8,
44 navAllowAutosearch = 0x10,
47 } BrowserNavConstants;
49 EXTERN_C const IID IID_IWebBrowser;
50 #define INTERFACE IWebBrowser
51 DECLARE_INTERFACE_(IWebBrowser,IDispatch)
53 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
54 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
55 STDMETHOD_(ULONG,Release)(THIS) PURE;
56 STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
57 STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
58 STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
59 STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
61 STDMETHOD(GoBack)(THIS) PURE;
62 STDMETHOD(GoForward)(THIS) PURE;
63 STDMETHOD(GoHome)(THIS) PURE;
64 STDMETHOD(GoSearch)(THIS) PURE;
65 STDMETHOD(Navigate)(THIS_ BSTR,VARIANT*,VARIANT*,VARIANT*,VARIANT*) PURE;
66 STDMETHOD(Refresh)(THIS) PURE;
67 STDMETHOD(Refresh2)(THIS_ VARIANT*) PURE;
68 STDMETHOD(Stop)(THIS) PURE;
69 STDMETHOD(get_Application)(THIS_ IDispatch**) PURE;
70 STDMETHOD(get_Parent)(THIS_ IDispatch**) PURE;
71 STDMETHOD(get_Container)(THIS_ IDispatch**) PURE;
72 STDMETHOD(get_Document)(THIS_ IDispatch**) PURE;
73 STDMETHOD(get_TopLevelContainer)(THIS_ VARIANT_BOOL*) PURE;
74 STDMETHOD(get_Type)(THIS_ BSTR*) PURE;
75 STDMETHOD(get_Left)(THIS_ long*) PURE;
76 STDMETHOD(put_Left)(THIS_ long) PURE;
77 STDMETHOD(get_Top)(THIS_ long*) PURE;
78 STDMETHOD(put_Top)(THIS_ long) PURE;
79 STDMETHOD(get_Width)(THIS_ long*) PURE;
80 STDMETHOD(put_Width)(THIS_ long) PURE;
81 STDMETHOD(get_Height)(THIS_ long*) PURE;
82 STDMETHOD(put_Height)(THIS_ long) PURE;
83 STDMETHOD(get_LocationName)(THIS_ BSTR*) PURE;
84 STDMETHOD(get_LocationURL)(THIS_ BSTR*) PURE;
85 STDMETHOD(get_Busy)(THIS_ VARIANT_BOOL*) PURE;
89 EXTERN_C const IID IID_IWebBrowserApp;
90 #define INTERFACE IWebBrowserApp
91 DECLARE_INTERFACE_(IWebBrowserApp,IWebBrowser)
93 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
94 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
95 STDMETHOD_(ULONG,Release)(THIS) PURE;
96 STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
97 STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
98 STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
99 STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
101 STDMETHOD(GoBack)(THIS) PURE;
102 STDMETHOD(GoForward)(THIS) PURE;
103 STDMETHOD(GoHome)(THIS) PURE;
104 STDMETHOD(GoSearch)(THIS) PURE;
105 STDMETHOD(Navigate)(THIS_ BSTR,VARIANT*,VARIANT*,VARIANT*,VARIANT*) PURE;
106 STDMETHOD(Refresh)(THIS) PURE;
107 STDMETHOD(Refresh2)(THIS_ VARIANT*) PURE;
108 STDMETHOD(Stop)(THIS) PURE;
109 STDMETHOD(get_Application)(THIS_ IDispatch**) PURE;
110 STDMETHOD(get_Parent)(THIS_ IDispatch**) PURE;
111 STDMETHOD(get_Container)(THIS_ IDispatch**) PURE;
112 STDMETHOD(get_Document)(THIS_ IDispatch**) PURE;
113 STDMETHOD(get_TopLevelContainer)(THIS_ VARIANT_BOOL*) PURE;
114 STDMETHOD(get_Type)(THIS_ BSTR*) PURE;
115 STDMETHOD(get_Left)(THIS_ long*) PURE;
116 STDMETHOD(put_Left)(THIS_ long) PURE;
117 STDMETHOD(get_Top)(THIS_ long*) PURE;
118 STDMETHOD(put_Top)(THIS_ long) PURE;
119 STDMETHOD(get_Width)(THIS_ long*) PURE;
120 STDMETHOD(put_Width)(THIS_ long) PURE;
121 STDMETHOD(get_Height)(THIS_ long*) PURE;
122 STDMETHOD(put_Height)(THIS_ long) PURE;
123 STDMETHOD(get_LocationName)(THIS_ BSTR*) PURE;
124 STDMETHOD(get_LocationURL)(THIS_ BSTR*) PURE;
125 STDMETHOD(get_Busy)(THIS_ VARIANT_BOOL*) PURE;
127 STDMETHOD(Quit)(THIS) PURE;
128 STDMETHOD(ClientToWindow)(THIS_ int*,int*) PURE;
129 STDMETHOD(PutProperty)(THIS_ BSTR,VARIANT) PURE;
130 STDMETHOD(GetProperty)(THIS_ BSTR,VARIANT*) PURE;
131 STDMETHOD(get_Name)(THIS_ BSTR*) PURE;
132 STDMETHOD(get_HWND)(THIS_ long*) PURE;
133 STDMETHOD(get_FullName)(THIS_ BSTR*) PURE;
134 STDMETHOD(get_Path)(THIS_ BSTR*) PURE;
135 STDMETHOD(get_Visible)(THIS_ VARIANT_BOOL*) PURE;
136 STDMETHOD(put_Visible)(THIS_ VARIANT_BOOL) PURE;
137 STDMETHOD(get_StatusBar)(THIS_ VARIANT_BOOL*) PURE;
138 STDMETHOD(put_StatusBar)(THIS_ VARIANT_BOOL) PURE;
139 STDMETHOD(get_StatusText)(THIS_ BSTR*) PURE;
140 STDMETHOD(put_StatusText)(THIS_ BSTR) PURE;
141 STDMETHOD(get_ToolBar)(THIS_ int*) PURE;
142 STDMETHOD(put_ToolBar)(THIS_ int) PURE;
143 STDMETHOD(get_MenuBar)(THIS_ VARIANT_BOOL*) PURE;
144 STDMETHOD(put_MenuBar)(THIS_ VARIANT_BOOL) PURE;
145 STDMETHOD(get_FullScreen)(THIS_ VARIANT_BOOL*) PURE;
146 STDMETHOD(put_FullScreen)(THIS_ VARIANT_BOOL) PURE;
150 EXTERN_C const IID IID_IWebBrowser2;
151 #define INTERFACE IWebBrowser2
152 DECLARE_INTERFACE_(IWebBrowser2,IWebBrowserApp)
154 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
155 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
156 STDMETHOD_(ULONG,Release)(THIS) PURE;
157 STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
158 STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
159 STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
160 STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;
162 STDMETHOD(GoBack)(THIS) PURE;
163 STDMETHOD(GoForward)(THIS) PURE;
164 STDMETHOD(GoHome)(THIS) PURE;
165 STDMETHOD(GoSearch)(THIS) PURE;
166 STDMETHOD(Navigate)(THIS_ BSTR,VARIANT*,VARIANT*,VARIANT*,VARIANT*) PURE;
167 STDMETHOD(Refresh)(THIS) PURE;
168 STDMETHOD(Refresh2)(THIS_ VARIANT*) PURE;
169 STDMETHOD(Stop)(THIS) PURE;
170 STDMETHOD(get_Application)(THIS_ IDispatch**) PURE;
171 STDMETHOD(get_Parent)(THIS_ IDispatch**) PURE;
172 STDMETHOD(get_Container)(THIS_ IDispatch**) PURE;
173 STDMETHOD(get_Document)(THIS_ IDispatch**) PURE;
174 STDMETHOD(get_TopLevelContainer)(THIS_ VARIANT_BOOL*) PURE;
175 STDMETHOD(get_Type)(THIS_ BSTR*) PURE;
176 STDMETHOD(get_Left)(THIS_ long*) PURE;
177 STDMETHOD(put_Left)(THIS_ long) PURE;
178 STDMETHOD(get_Top)(THIS_ long*) PURE;
179 STDMETHOD(put_Top)(THIS_ long) PURE;
180 STDMETHOD(get_Width)(THIS_ long*) PURE;
181 STDMETHOD(put_Width)(THIS_ long) PURE;
182 STDMETHOD(get_Height)(THIS_ long*) PURE;
183 STDMETHOD(put_Height)(THIS_ long) PURE;
184 STDMETHOD(get_LocationName)(THIS_ BSTR*) PURE;
185 STDMETHOD(get_LocationURL)(THIS_ BSTR*) PURE;
186 STDMETHOD(get_Busy)(THIS_ VARIANT_BOOL*) PURE;
188 STDMETHOD(Quit)(THIS) PURE;
189 STDMETHOD(ClientToWindow)(THIS_ int*,int*) PURE;
190 STDMETHOD(PutProperty)(THIS_ BSTR,VARIANT) PURE;
191 STDMETHOD(GetProperty)(THIS_ BSTR,VARIANT*) PURE;
192 STDMETHOD(get_Name)(THIS_ BSTR*) PURE;
193 STDMETHOD(get_HWND)(THIS_ long*) PURE;
194 STDMETHOD(get_FullName)(THIS_ BSTR*) PURE;
195 STDMETHOD(get_Path)(THIS_ BSTR*) PURE;
196 STDMETHOD(get_Visible)(THIS_ VARIANT_BOOL*) PURE;
197 STDMETHOD(put_Visible)(THIS_ VARIANT_BOOL) PURE;
198 STDMETHOD(get_StatusBar)(THIS_ VARIANT_BOOL*) PURE;
199 STDMETHOD(put_StatusBar)(THIS_ VARIANT_BOOL) PURE;
200 STDMETHOD(get_StatusText)(THIS_ BSTR*) PURE;
201 STDMETHOD(put_StatusText)(THIS_ BSTR) PURE;
202 STDMETHOD(get_ToolBar)(THIS_ int*) PURE;
203 STDMETHOD(put_ToolBar)(THIS_ int) PURE;
204 STDMETHOD(get_MenuBar)(THIS_ VARIANT_BOOL*) PURE;
205 STDMETHOD(put_MenuBar)(THIS_ VARIANT_BOOL) PURE;
206 STDMETHOD(get_FullScreen)(THIS_ VARIANT_BOOL*) PURE;
207 STDMETHOD(put_FullScreen)(THIS_ VARIANT_BOOL) PURE;
209 STDMETHOD(Navigate2)(THIS_ VARIANT*,VARIANT*,VARIANT*,VARIANT*,VARIANT*) PURE;
210 STDMETHOD(QueryStatusWB)(THIS_ OLECMDID,OLECMDF*) PURE;
211 STDMETHOD(ExecWB)(THIS_ OLECMDID,OLECMDEXECOPT,VARIANT*,VARIANT*) PURE;
212 STDMETHOD(ShowBrowserBar)(THIS_ VARIANT*,VARIANT*,VARIANT*) PURE;
213 STDMETHOD(get_ReadyState)(THIS_ READYSTATE*) PURE;
214 STDMETHOD(get_Offline)(THIS_ VARIANT_BOOL*) PURE;
215 STDMETHOD(put_Offline)(THIS_ VARIANT_BOOL) PURE;
216 STDMETHOD(get_Silent)(THIS_ VARIANT_BOOL*) PURE;
217 STDMETHOD(put_Silent)(THIS_ VARIANT_BOOL) PURE;
218 STDMETHOD(get_RegisterAsBrowser)(THIS_ VARIANT_BOOL*) PURE;
219 STDMETHOD(put_RegisterAsBrowser)(THIS_ VARIANT_BOOL) PURE;
220 STDMETHOD(get_RegistaerAsDropTarget)(THIS_ VARIANT_BOOL*) PURE;
221 STDMETHOD(put_RegisterAsDropTarget)(THIS_ VARIANT_BOOL) PURE;
222 STDMETHOD(get_TheaterMode)(THIS_ VARIANT_BOOL*) PURE;
223 STDMETHOD(put_TheaterMode)(THIS_ VARIANT_BOOL) PURE;
224 STDMETHOD(get_AddressBar)(THIS_ VARIANT_BOOL*) PURE;
225 STDMETHOD(put_AddressBar)(THIS_ VARIANT_BOOL) PURE;
226 STDMETHOD(get_Resizable)(THIS_ VARIANT_BOOL*) PURE;
227 STDMETHOD(put_Resizable)(THIS_ VARIANT_BOOL) PURE;
231 EXTERN_C const IID DIID_DWebBrowserEvents2;
232 #define INTERFACE DWebBrowserEvents2
233 DECLARE_INTERFACE_(DWebBrowserEvents2,IDispatch)
235 STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
236 STDMETHOD_(ULONG,AddRef)(THIS) PURE;
237 STDMETHOD_(ULONG,Release)(THIS) PURE;
238 STDMETHOD(GetTypeInfoCount)(THIS_ UINT*) PURE;
239 STDMETHOD(GetTypeInfo)(THIS_ UINT,LCID,LPTYPEINFO*) PURE;
240 STDMETHOD(GetIDsOfNames)(THIS_ REFIID,LPOLESTR*,UINT,LCID,DISPID*) PURE;
241 STDMETHOD(Invoke)(THIS_ DISPID,REFIID,LCID,WORD,DISPPARAMS*,VARIANT*,EXCEPINFO*,UINT*) PURE;