ddraw: Avoid LPD3DVERTEXBUFFERDESC.
[wine] / include / urlhist.idl
1 /*
2  * Copyright 2006 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 "oaidl.idl";
22 import "docobj.idl";
23
24 cpp_quote("#define STATURL_QUERYFLAG_ISCACHED  0x010000")
25 cpp_quote("#define STATURL_QUERYFLAG_NOURL     0x020000")
26 cpp_quote("#define STATURL_QUERYFLAG_NOTITLE   0x040000")
27 cpp_quote("#define STATURL_QUERYFLAG_TOPLEVEL  0x080000")
28
29 cpp_quote("#define STATURLFLAG_ISCACHED    0x0001")
30 cpp_quote("#define STATURLFLAG_ISTOPLEVEL  0x0002")
31
32 typedef enum _ADDURL_FLAG
33 {
34     ADDURL_FIRST                = 0,
35     ADDURL_ADDTOHISTORYANDCACHE = 0,
36     ADDURL_ADDTOCACHE           = 1,
37     ADDURL_Max                  = 0x7fffffff
38 } ADDURL_FLAG;
39
40 /*****************************************************************************
41  *    IEnumSTATURL interface
42  */
43 [
44     object,
45     uuid(3c374a42-bae4-11cf-bf7d-00aa006946ee),
46     pointer_default(unique)
47 ]
48 interface IEnumSTATURL : IUnknown
49 {
50     typedef [unique] IEnumSTATURL *LPENUMSTATURL;
51
52     typedef struct _STATURL
53     {
54         DWORD cbSize;
55         LPWSTR pwcsUrl;
56         LPWSTR pwcsTitle;
57         FILETIME ftLastVisited;
58         FILETIME ftLastUpdated;
59         FILETIME ftExpires;
60         DWORD dwFlags;
61     } STATURL, *LPSTATURL;
62
63     HRESULT Next(
64         [in] ULONG celt,
65         [in, out] LPSTATURL rgelt,
66         [in, out] ULONG *pceltFetched);
67
68     HRESULT Skip([in] ULONG celt);
69     HRESULT Reset();
70     HRESULT Clone([out] IEnumSTATURL **ppenum);
71
72     HRESULT SetFilter(
73         [in] LPCOLESTR poszFilter,
74         [in] DWORD dwFlags);
75 }
76
77 /*****************************************************************************
78  *    IUrlHistoryStg interface
79  */
80 [
81     object,
82     uuid(3c374a41-bae4-11cf-bf7d-00aa006946ee),
83     pointer_default(unique)
84 ]
85 interface IUrlHistoryStg : IUnknown
86 {
87     typedef [unique] IUrlHistoryStg *LPURLHISTORYSTG;
88
89     HRESULT AddUrl(
90         [in] LPCOLESTR pocsUrl,
91         [in, unique] LPCOLESTR pocsTitle,
92         [in] DWORD dwFlags);
93
94     HRESULT DeleteUrl(
95         [in] LPCOLESTR pocsUrl,
96         [in] DWORD dwFlags);
97
98     HRESULT QueryUrl(
99         [in] LPCOLESTR pocsUrl,
100         [in] DWORD dwFlags,
101         [in, out, unique] LPSTATURL lpSTATURL);
102
103     HRESULT BindToObject(
104         [in] LPCOLESTR pocsUrl,
105         [in] REFIID riid,
106         [out, iid_is(riid)] void **ppvOut);
107
108     HRESULT EnumUrls(
109         [out] IEnumSTATURL **ppEnum);
110 }
111
112 /*****************************************************************************
113  *    IUrlHistoryStg2 interface
114  */
115 [
116     object,
117     uuid(afa0dc11-c313-11d0-831a-00c04fd5ae38),
118     pointer_default(unique)
119 ]
120 interface IUrlHistoryStg2 : IUrlHistoryStg
121 {
122     typedef [unique] IUrlHistoryStg2 *LPURLHISTORYSTG2;
123
124     HRESULT AddUrlAndNotify(
125         [in] LPCOLESTR pocsUrl,
126         [in,unique] LPCOLESTR pocsTitle,
127         [in] DWORD dwFlags,
128         [in] BOOL fWriteHistory,
129         [in] IOleCommandTarget *poctNotify,
130         [in, unique] IUnknown *punkISFolder);
131
132     HRESULT ClearHistory();
133 }
134
135 /*****************************************************************************
136  *    IUrlHistoryNotify interface
137  */
138 [
139     object,
140     uuid(bc40bec1-c493-11d0-831b-00C04fd5ae38),
141     pointer_default(unique)
142 ]
143 interface IUrlHistoryNotify : IOleCommandTarget
144 {
145     typedef [unique] IUrlHistoryNotify *LPURLHISTORYNOTIFY;
146 }