/* * 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);")