| /* |
| * Copyright 2006 Jacek Caban for CodeWeavers |
| * |
| * 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
| */ |
| |
| import "objidl.idl"; |
| import "oleidl.idl"; |
| import "oaidl.idl"; |
| import "docobj.idl"; |
| import "servprov.idl"; |
| |
| typedef enum _ADDURL_FLAG |
| { |
| ADDURL_FIRST = 0, |
| ADDURL_ADDTOHISTORYANDCACHE = 0, |
| ADDURL_ADDTOCACHE = 1, |
| ADDURL_Max = 0x7fffffff |
| } ADDURL_FLAG; |
| |
| /***************************************************************************** |
| * IEnumSTATURL interface |
| */ |
| [ |
| object, |
| uuid(3c374a42-bae4-11cf-bf7d-00aa006946ee), |
| pointer_default(unique) |
| ] |
| interface IEnumSTATURL : IUnknown |
| { |
| typedef [unique] IEnumSTATURL *LPENUMSTATURL; |
| |
| typedef struct _STATURL |
| { |
| DWORD cbSize; |
| LPWSTR pwcsUrl; |
| LPWSTR pwcsTitle; |
| FILETIME ftLastVisited; |
| FILETIME ftLastUpdated; |
| FILETIME ftExpires; |
| DWORD dwFlags; |
| } STATURL, *LPSTATURL; |
| |
| HRESULT Next( |
| [in] ULONG celt, |
| [in, out] LPSTATURL rgelt, |
| [in, out] ULONG *pceltFetched); |
| |
| HRESULT Skip([in] ULONG celt); |
| HRESULT Reset(); |
| HRESULT Clone([out] IEnumSTATURL **ppenum); |
| |
| HRESULT SetFilter( |
| [in] LPCOLESTR poszFilter, |
| [in] DWORD dwFlags); |
| } |
| |
| /***************************************************************************** |
| * IUrlHistoryStg interface |
| */ |
| [ |
| object, |
| uuid(3c374a41-bae4-11cf-bf7d-00aa006946ee), |
| pointer_default(unique) |
| ] |
| interface IUrlHistoryStg : IUnknown |
| { |
| typedef [unique] IUrlHistoryStg *LPURLHISTORYSTG; |
| |
| HRESULT AddUrl( |
| [in] LPCOLESTR pocsUrl, |
| [in, unique] LPCOLESTR pocsTitle, |
| [in] DWORD dwFlags); |
| |
| HRESULT DeleteUrl( |
| [in] LPCOLESTR pocsUrl, |
| [in] DWORD dwFlags); |
| |
| HRESULT QueryUrl( |
| [in] LPCOLESTR pocsUrl, |
| [in] DWORD dwFlags, |
| [in, out, unique] LPSTATURL lpSTATURL); |
| |
| HRESULT BindToObject( |
| [in] LPCOLESTR pocsUrl, |
| [in] REFIID riid, |
| [out, iid_is(riid)] void **ppvOut); |
| |
| HRESULT EnumUrls( |
| [out] IEnumSTATURL **ppEnum); |
| } |
| |
| /***************************************************************************** |
| * IUrlHistoryStg2 interface |
| */ |
| [ |
| object, |
| uuid(afa0dc11-c313-11d0-831a-00c04fd5ae38), |
| pointer_default(unique) |
| ] |
| interface IUrlHistoryStg2 : IUrlHistoryStg |
| { |
| typedef [unique] IUrlHistoryStg2 *LPURLHISTORYSTG2; |
| |
| HRESULT AddUrlAndNotify( |
| [in] LPCOLESTR pocsUrl, |
| [in,unique] LPCOLESTR pocsTitle, |
| [in] DWORD dwFlags, |
| [in] BOOL fWriteHistory, |
| [in] IOleCommandTarget *poctNotify, |
| [in, unique] IUnknown *punkISFolder); |
| |
| HRESULT ClearHistory(); |
| } |
| |
| /***************************************************************************** |
| * IUrlHistoryNotify interface |
| */ |
| [ |
| object, |
| uuid(bc40bec1-c493-11d0-831b-00C04fd5ae38), |
| pointer_default(unique) |
| ] |
| interface IUrlHistoryNotify : IOleCommandTarget |
| { |
| typedef [unique] IUrlHistoryNotify *LPURLHISTORYNOTIFY; |
| } |