Build the .h files from their idl source at compile time, and remove
[wine] / include / exdisp.idl
1 /*
2  * Defines the COM interfaces and APIs related to the IE Web browser
3  *
4  * Copyright (C) 2001 John R. Sheets (for CodeWeavers)
5  * Copyright (C) 2003 Alexandre Julliard
6  *
7  * This library is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU Lesser General Public
9  * License as published by the Free Software Foundation; either
10  * version 2.1 of the License, or (at your option) any later version.
11  *
12  * This library is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
15  * Lesser General Public License for more details.
16  *
17  * You should have received a copy of the GNU Lesser General Public
18  * License along with this library; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20  */
21
22 import "ocidl.idl";
23 import "docobj.idl";
24
25
26 /*****************************************************************************
27  * IWebBrowser interface
28  */
29 [
30     object,
31     oleautomation,
32     uuid(eab22ac1-30c1-11cf-a7eb-0000c05bae0b)
33 ]
34 interface IWebBrowser : IDispatch
35 {
36     typedef enum BrowserNavConstants
37     {
38         navOpenInNewWindow   = 0x1,
39         navNoHistory         = 0x2,
40         navNoReadFromCache   = 0x4,
41         navNoWriteToCache    = 0x8,
42         navAllowAutosearch   = 0x10,
43         navBrowserBar        = 0x20,
44         navHyperlink         = 0x40,
45         navEnforceRestricted = 0x80
46     } BrowserNavConstants;
47
48     typedef enum RefreshConstants
49     {
50         REFRESH_NORMAL     = 0,
51         REFRESH_IFEXPIRED  = 1,
52         REFRESH_COMPLETELY = 3
53     } RefreshConstants;
54
55     HRESULT GoBack();
56     HRESULT GoForward();
57     HRESULT GoHome();
58     HRESULT GoSearch();
59     HRESULT Navigate(
60         [in] BSTR URL,
61         [in] VARIANT *Flags,
62         [in] VARIANT *TargetFrameName,
63         [in] VARIANT *PostData,
64         [in] VARIANT *Headers);
65     HRESULT Refresh();
66     HRESULT Refresh2( [in] VARIANT *Level );
67     HRESULT Stop();
68     HRESULT get_Application([out] IDispatch** ppDisp);
69     HRESULT get_Parent([out] IDispatch** ppDisp);
70     HRESULT get_Container([out] IDispatch** ppDisp);
71     HRESULT get_Document([out] IDispatch** ppDisp);
72     HRESULT get_TopLevelContainer([out] VARIANT_BOOL* pBool);
73     HRESULT get_Type([out] BSTR* Type);
74     HRESULT get_Left([out] long *pl);
75     HRESULT put_Left([in] long Left);
76     HRESULT get_Top([out] long *pl);
77     HRESULT put_Top([in] long Top);
78     HRESULT get_Width([out] long *pl);
79     HRESULT put_Width([in] long Width);
80     HRESULT get_Height([out] long *pl);
81     HRESULT put_Height([in] long Height);
82     HRESULT get_LocationName([out] BSTR *LocationName);
83     HRESULT get_LocationURL([out] BSTR * LocationURL);
84     HRESULT get_Busy([out] VARIANT_BOOL *pBool);
85 }
86
87
88 /*****************************************************************************
89  * IWebBrowserApp interface
90  */
91 [
92     object,
93     oleautomation,
94     uuid(0002df05-0000-0000-c000-000000000046)
95 ]
96 interface IWebBrowserApp : IWebBrowser
97 {
98     HRESULT Quit();
99     HRESULT ClientToWindow([in,out] int* pcx, [in,out] int* pcy);
100     HRESULT PutProperty([in] BSTR szProperty, [in] VARIANT vtValue);
101     HRESULT GetProperty([in] BSTR szProperty, [out] VARIANT *pvtValue);
102     HRESULT get_Name([out] BSTR* Name);
103     HRESULT get_HWND([out] long *pHWND);
104     HRESULT get_FullName([out] BSTR* FullName);
105     HRESULT get_Path([out] BSTR* Path);
106     HRESULT get_Visible([out] VARIANT_BOOL* pBool);
107     HRESULT put_Visible([in] VARIANT_BOOL Value);
108     HRESULT get_StatusBar([out] VARIANT_BOOL* pBool);
109     HRESULT put_StatusBar([in] VARIANT_BOOL Value);
110     HRESULT get_StatusText([out] BSTR *StatusText);
111     HRESULT put_StatusText([in] BSTR StatusText);
112     HRESULT get_ToolBar([out] int * Value);
113     HRESULT put_ToolBar([in] int Value);
114     HRESULT get_MenuBar([out] VARIANT_BOOL * Value);
115     HRESULT put_MenuBar([in] VARIANT_BOOL Value);
116     HRESULT get_FullScreen([out] VARIANT_BOOL * pbFullScreen);
117     HRESULT put_FullScreen([in] VARIANT_BOOL bFullScreen);
118 }
119
120 [
121     object,
122     oleautomation,
123     uuid(85cb6900-4d95-11cf-960c-0080c7f4ee85)
124 ]
125 interface IShellWindows : IDispatch
126 {
127     HRESULT get_Count( [out] long *Count );
128     HRESULT Item( [in] VARIANT index, [out] IDispatch **Folder );
129     HRESULT _NewEnum( [out] IUnknown **ppunk );
130     HRESULT Register( [in] IDispatch *pid, [in] long hWnd, [in] int swClass,
131                 [out] long *plCookie );
132     HRESULT RegisterPending( [in] long lThread, [in] VARIANT *pvarloc,
133                 [in] VARIANT *varlocRoot, [in] int swClass, [out] long *plCookie );
134     HRESULT Revoke( [in] long Cookie );
135     HRESULT OnNavigate( [in] long Cookie, [out] VARIANT *pvarLoc );
136     HRESULT OnActivated( [in] long Cookie, [in] VARIANT fActive );
137     HRESULT FindWindowSW( [in] VARIANT *pvarLoc, [in] VARIANT *pvarLocRoot, 
138                 [in] int swClass, [out] long *phwnd, int swfwOptions,
139                 IDispatch **ppdispOut );
140     HRESULT OnCreated( [in] long lCookie, [in] IUnknown *punk );
141     HRESULT ProcessAttachDetach( [in] VARIANT_BOOL fAttach );
142 }
143
144 /* FIXME */
145 cpp_quote("DEFINE_GUID(CLSID_WebBrowser, 0x8856f961, 0x340a, 0x11d0, 0xa9, 0x6b, 0x00, 0xc0, 0x4f, 0xd7, 0x05, 0xa2);")