1/* 2 * Copyright 2006,2011 Jacek Caban for CodeWeavers 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 17 */ 18 19import "objidl.idl"; 20import "oleidl.idl"; 21import "urlmon.idl"; 22 23cpp_quote("#include <htiframe.h>") 24 25 26/***************************************************************************** 27 * ITargetFrame interface 28 */ 29[ 30 object, 31 uuid(d5f78c80-5252-11cf-90fa-00aa0042106e), 32 pointer_default(unique) 33] 34interface ITargetFrame: IUnknown 35{ 36 typedef [unique] ITargetFrame *LPTARGETFRAME; 37 38 typedef enum { 39 NAVIGATEFRAME_FL_RECORD = 0x01, 40 NAVIGATEFRAME_FL_POST = 0x02, 41 NAVIGATEFRAME_FL_NO_DOC_CACHE = 0x04, 42 NAVIGATEFRAME_FL_NO_IMAGE_CACHE = 0x08, 43 NAVIGATEFRAME_FL_AUTH_FAIL_CACHE_OK = 0x10, 44 NAVIGATEFRAME_FL_SENDING_FROM_FORM = 0x20, 45 NAVIGATEFRAME_FL_REALLY_SENDING_FROM_FORM = 0x40 46 } NAVIGATEFRAME_FLAGS; 47 48 typedef struct tagNavigateData { 49 ULONG ulTarget; 50 ULONG ulURL; 51 ULONG ulRefURL; 52 ULONG ulPostData; 53 DWORD dwFlags; 54 } NAVIGATEDATA; 55 56 HRESULT SetFrameName([in] LPCWSTR pszFrameName); 57 HRESULT GetFrameName([out] LPWSTR *ppszFrameName); 58 HRESULT GetParentFrame([out] IUnknown **ppunkParent); 59 60 HRESULT FindFrame( 61 [in] LPCWSTR pszTargetName, 62 [in] IUnknown *ppunkContextFrame, 63 [in] DWORD dwFlags, 64 [out] IUnknown **ppunkTargetFrame); 65 66 HRESULT SetFrameSrc([in] LPCWSTR pszFrameSrc); 67 HRESULT GetFrameSrc([out] LPWSTR *ppszFrameSrc); 68 HRESULT GetFramesContainer([out] IOleContainer **ppContainer); 69 HRESULT SetFrameOptions([in] DWORD dwFlags); 70 HRESULT GetFrameOptions([out] DWORD *pdwFlags); 71 72 HRESULT SetFrameMargins( 73 [in] DWORD dwWidth, 74 [in] DWORD dwHeight); 75 76 HRESULT GetFrameMargins( 77 [out] DWORD *pdwWidth, 78 [out] DWORD *pdwHeight); 79 80 HRESULT RemoteNavigate( 81 [in] ULONG cLength, 82 [in, size_is(cLength)] ULONG *pulData); 83 84 HRESULT OnChildFrameActivate([in] IUnknown *pUnkChildFrame); 85 HRESULT OnChildFrameDeactivate([in] IUnknown *pUnkChildFrame); 86} 87 88/***************************************************************************** 89 * ITargetFramePriv interface 90 */ 91[ 92 object, 93 uuid(9216e421-2bf5-11d0-82b4-00a0c90c29c5), 94 pointer_default(unique) 95] 96interface ITargetFramePriv : IUnknown 97{ 98 typedef [unique] ITargetFramePriv *LPTARGETFRAMEPRIV; 99 100 HRESULT FindFrameDownwards( 101 [in] LPCWSTR pszTargetName, 102 [in] DWORD dwFlags, 103 [out] IUnknown **ppunkTargetFrame); 104 105 HRESULT FindFrameInContext( 106 [in] LPCWSTR pszTargetName, 107 [in] IUnknown *punkContextFrame, 108 [in] DWORD dwFlags, 109 [out] IUnknown **ppunkTargetFrame); 110 111 HRESULT OnChildFrameActivate([in] IUnknown *pUnkChildFrame); 112 HRESULT OnChildFrameDeactivate([in] IUnknown *pUnkChildFrame); 113 114 HRESULT NavigateHack( 115 [in] DWORD grfHLNF, 116 [in, unique] LPBC pbc, 117 [in, unique] IBindStatusCallback *pibsc, 118 [in, unique] LPCWSTR pszTargetName, 119 [in] LPCWSTR pszUrl, 120 [in, unique] LPCWSTR pszLocation); 121 122 HRESULT FindBrowserByIndex( 123 [in] DWORD dwID, 124 [out] IUnknown **ppunkBrowser); 125} 126 127/***************************************************************************** 128 * ITargetFramePriv2 interface 129 */ 130[ 131 object, 132 uuid(b2c867e6-69d6-46f2-a611-ded9a4bd7fef), 133 pointer_default(unique) 134] 135interface ITargetFramePriv2 : ITargetFramePriv 136{ 137 typedef [unique] ITargetFramePriv2 *LPTARGETFRAMEPRIV2; 138 139 HRESULT AggregatedNavigation2( 140 [in] DWORD grfHLNF, 141 [in, unique] LPBC pbc, 142 [in, unique] IBindStatusCallback *pibsc, 143 [in, unique] LPCWSTR pszTargetName, 144 [in] IUri *pUri, 145 [in, unique] LPCWSTR pszLocation); 146} 147