Prevent memory leak and superfluous status notifications.
[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 /* FIXME */
121 cpp_quote("DEFINE_GUID(CLSID_WebBrowser, 0x8856f961, 0x340a, 0x11d0, 0xa9, 0x6b, 0x00, 0xc0, 0x4f, 0xd7, 0x05, 0xa2);")