blob: 34f3d418ee317d8dde7925e31c04e1f83caeb27b [file] [log] [blame]
/*
* Defines the COM interfaces and APIs related to the IE Web browser
*
* Copyright (C) 2001 John R. Sheets (for CodeWeavers)
* Copyright (C) 2003 Alexandre Julliard
*
* 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
*/
import "ocidl.idl";
import "docobj.idl";
/*****************************************************************************
* IWebBrowser interface
*/
[
object,
oleautomation,
uuid(eab22ac1-30c1-11cf-a7eb-0000c05bae0b)
]
interface IWebBrowser : IDispatch
{
typedef enum BrowserNavConstants
{
navOpenInNewWindow = 0x1,
navNoHistory = 0x2,
navNoReadFromCache = 0x4,
navNoWriteToCache = 0x8,
navAllowAutosearch = 0x10,
navBrowserBar = 0x20,
navHyperlink = 0x40,
navEnforceRestricted = 0x80
} BrowserNavConstants;
typedef enum RefreshConstants
{
REFRESH_NORMAL = 0,
REFRESH_IFEXPIRED = 1,
REFRESH_COMPLETELY = 3
} RefreshConstants;
HRESULT GoBack();
HRESULT GoForward();
HRESULT GoHome();
HRESULT GoSearch();
HRESULT Navigate(
[in] BSTR URL,
[in] VARIANT *Flags,
[in] VARIANT *TargetFrameName,
[in] VARIANT *PostData,
[in] VARIANT *Headers);
HRESULT Refresh();
HRESULT Refresh2( [in] VARIANT *Level );
HRESULT Stop();
HRESULT get_Application([out] IDispatch** ppDisp);
HRESULT get_Parent([out] IDispatch** ppDisp);
HRESULT get_Container([out] IDispatch** ppDisp);
HRESULT get_Document([out] IDispatch** ppDisp);
HRESULT get_TopLevelContainer([out] VARIANT_BOOL* pBool);
HRESULT get_Type([out] BSTR* Type);
HRESULT get_Left([out] long *pl);
HRESULT put_Left([in] long Left);
HRESULT get_Top([out] long *pl);
HRESULT put_Top([in] long Top);
HRESULT get_Width([out] long *pl);
HRESULT put_Width([in] long Width);
HRESULT get_Height([out] long *pl);
HRESULT put_Height([in] long Height);
HRESULT get_LocationName([out] BSTR *LocationName);
HRESULT get_LocationURL([out] BSTR * LocationURL);
HRESULT get_Busy([out] VARIANT_BOOL *pBool);
}
/*****************************************************************************
* IWebBrowserApp interface
*/
[
object,
oleautomation,
uuid(0002df05-0000-0000-c000-000000000046)
]
interface IWebBrowserApp : IWebBrowser
{
HRESULT Quit();
HRESULT ClientToWindow([in,out] int* pcx, [in,out] int* pcy);
HRESULT PutProperty([in] BSTR szProperty, [in] VARIANT vtValue);
HRESULT GetProperty([in] BSTR szProperty, [out] VARIANT *pvtValue);
HRESULT get_Name([out] BSTR* Name);
HRESULT get_HWND([out] long *pHWND);
HRESULT get_FullName([out] BSTR* FullName);
HRESULT get_Path([out] BSTR* Path);
HRESULT get_Visible([out] VARIANT_BOOL* pBool);
HRESULT put_Visible([in] VARIANT_BOOL Value);
HRESULT get_StatusBar([out] VARIANT_BOOL* pBool);
HRESULT put_StatusBar([in] VARIANT_BOOL Value);
HRESULT get_StatusText([out] BSTR *StatusText);
HRESULT put_StatusText([in] BSTR StatusText);
HRESULT get_ToolBar([out] int * Value);
HRESULT put_ToolBar([in] int Value);
HRESULT get_MenuBar([out] VARIANT_BOOL * Value);
HRESULT put_MenuBar([in] VARIANT_BOOL Value);
HRESULT get_FullScreen([out] VARIANT_BOOL * pbFullScreen);
HRESULT put_FullScreen([in] VARIANT_BOOL bFullScreen);
}
/* FIXME */
cpp_quote("DEFINE_GUID(CLSID_WebBrowser, 0x8856f961, 0x340a, 0x11d0, 0xa9, 0x6b, 0x00, 0xc0, 0x4f, 0xd7, 0x05, 0xa2);")