htiframe.idl: Added ITargetFramePriv and ITargetFramePriv2 declarations.
[wine] / include / htiframe.idl
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
19 import "objidl.idl";
20 import "oleidl.idl";
21 import "urlmon.idl";
22
23 /*****************************************************************************
24  *    ITargetNotify interface
25  */
26 [
27     object,
28     uuid(863a99a0-21bc-11d0-82b4-00a0c90c29c5),
29     pointer_default(unique)
30 ]
31 interface ITargetNotify : IUnknown
32 {
33     typedef [unique] ITargetNotify *LPTARGETNOTIFY;
34
35     HRESULT OnCreate(
36             [in] IUnknown *pUnkDestination,
37             [in] ULONG cbCookie);
38
39     HRESULT OnReuse([in] IUnknown *pUnkDestination);
40 }
41
42 /*****************************************************************************
43  *    ITargetNotify2 interface
44  */
45 [
46     object,
47     uuid(3050f6b1-98b5-11cf-bb82-00aa00bdce0b),
48     pointer_default(unique)
49 ]
50 interface ITargetNotify2 : ITargetNotify
51 {
52     typedef [unique] ITargetNotify2 *LPTARGETNOTIFY2;
53
54     HRESULT GetOptionString([in,out] BSTR *pbstrOptions);
55 }
56
57 /*****************************************************************************
58  *    ITargetFrame2 interface
59  */
60 [
61     object,
62     uuid(86d52e11-94a8-11d0-82af-00c04fd5ae38),
63     pointer_default(unique)
64 ]
65 interface ITargetFrame2 : IUnknown
66 {
67     typedef [unique] ITargetFrame2 *LPTARGETFRAME2;
68
69     typedef enum {
70         FINDFRAME_NONE               = 0,
71         FINDFRAME_JUSTTESTEXISTENCE  = 1,
72         FINDFRAME_INTERNAL           = 0x80000000
73     } FINDFRAME_FLAGS;
74
75     typedef enum {
76         FRAMEOPTIONS_SCROLL_YES   = 0x00000001,
77         FRAMEOPTIONS_SCROLL_NO    = 0x00000002,
78         FRAMEOPTIONS_SCROLL_AUTO  = 0x00000004,
79         FRAMEOPTIONS_NORESIZE     = 0x00000008,
80         FRAMEOPTIONS_NO3DBORDER   = 0x00000010,
81         FRAMEOPTIONS_DESKTOP      = 0x00000020,
82         FRAMEOPTIONS_BROWSERBAND  = 0x00000040
83     } FRAMEOPTIONS_FLAGS;
84
85     HRESULT SetFrameName([in] LPCWSTR pszFrameName);
86
87     HRESULT GetFrameName([out] LPWSTR *ppszFrameName);
88
89     HRESULT GetParentFrame([out] IUnknown **ppunkParent);
90
91     HRESULT SetFrameSrc([in] LPCWSTR pszFrameSrc);
92
93     HRESULT GetFrameSrc([out] LPWSTR *ppszFrameSrc);
94
95     HRESULT GetFramesContainer([out] IOleContainer **ppContainer);
96
97     HRESULT SetFrameOptions([in] DWORD dwFlags);
98
99     HRESULT GetFrameOptions([out] DWORD *pdwFlags);
100
101     HRESULT SetFrameMargins(
102             [in] DWORD dwWidth,
103             [in] DWORD dwHeight);
104
105     HRESULT GetFrameMargins(
106             [out] DWORD *pdwWidth,
107             [out] DWORD *pdwHeight);
108
109     HRESULT FindFrame(
110             [in,unique] LPCWSTR pszTargetName,
111             [in] DWORD dwFlags,
112             [out] IUnknown **ppunkTargetFrame);
113
114     HRESULT GetTargetAlias(
115             [in,unique] LPCWSTR pszTargetName,
116              [out] LPWSTR *ppszTargetAlias);
117 }
118
119 /*****************************************************************************
120  *    ITargetContainer interface
121  */
122 [
123     object,
124     uuid(7847ec01-2bec-11d0-82b4-00a0c90C29c5),
125     pointer_default(unique)
126 ]
127 interface ITargetContainer : IUnknown
128 {
129     typedef [unique] ITargetContainer *LPTARGETCONTAINER;
130
131     HRESULT GetFrameUrl([out] LPWSTR *ppszFrameSrc);
132
133     HRESULT GetFramesContainer([out] IOleContainer **ppContainer);
134
135 }
136
137 /*****************************************************************************
138  *    ITargetFramePriv interface
139  */
140 [
141     object,
142     uuid(9216e421-2bf5-11d0-82b4-00a0c90c29c5),
143     pointer_default(unique)
144 ]
145 interface ITargetFramePriv : IUnknown
146 {
147     typedef [unique] ITargetFramePriv *LPTARGETFRAMEPRIV;
148
149     HRESULT FindFrameDownwards(
150             [in] LPCWSTR pszTargetName,
151             [in] DWORD dwFlags,
152             [out] IUnknown **ppunkTargetFrame);
153
154     HRESULT FindFrameInContext(
155             [in] LPCWSTR pszTargetName,
156             [in] IUnknown *punkContextFrame,
157             [in] DWORD dwFlags,
158             [out] IUnknown **ppunkTargetFrame);
159
160     HRESULT OnChildFrameActivate([in] IUnknown *pUnkChildFrame);
161     HRESULT OnChildFrameDeactivate([in] IUnknown *pUnkChildFrame);
162
163     HRESULT NavigateHack(
164             [in] DWORD grfHLNF,
165             [in, unique] LPBC pbc,
166             [in, unique] IBindStatusCallback *pibsc,
167             [in, unique] LPCWSTR pszTargetName,
168             [in] LPCWSTR pszUrl,
169             [in, unique] LPCWSTR pszLocation);
170
171     HRESULT FindBrowserByIndex(
172             [in] DWORD dwID,
173             [out] IUnknown **ppunkBrowser);
174 }
175
176 /*****************************************************************************
177  *    ITargetFramePriv2 interface
178  */
179 [
180     object,
181     uuid(b2c867e6-69d6-46f2-a611-ded9a4bd7fef),
182     pointer_default(unique)
183 ]
184 interface ITargetFramePriv2 : ITargetFramePriv
185 {
186     typedef [unique] ITargetFramePriv2 *LPTARGETFRAMEPRIV2;
187
188     HRESULT AggregatedNavigation2(
189             [in] DWORD grfHLNF,
190             [in, unique] LPBC pbc,
191             [in, unique] IBindStatusCallback *pibsc,
192             [in, unique] LPCWSTR pszTargetName,
193             [in] IUri *pUri,
194             [in, unique] LPCWSTR pszLocation);
195 }