ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

urlhist.c
Go to the documentation of this file.
00001 /*
00002  * Copyright 2006 Jacek Caban for CodeWeavers
00003  *
00004  * This library is free software; you can redistribute it and/or
00005  * modify it under the terms of the GNU Lesser General Public
00006  * License as published by the Free Software Foundation; either
00007  * version 2.1 of the License, or (at your option) any later version.
00008  *
00009  * This library is distributed in the hope that it will be useful,
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00012  * Lesser General Public License for more details.
00013  *
00014  * You should have received a copy of the GNU Lesser General Public
00015  * License along with this library; if not, write to the Free Software
00016  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
00017  */
00018 
00019 #include "wine/debug.h"
00020 #include "shdocvw.h"
00021 #include "urlhist.h"
00022 
00023 WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
00024 
00025 static HRESULT WINAPI UrlHistoryStg_QueryInterface(IUrlHistoryStg2 *iface, REFIID riid, void **ppv)
00026 {
00027     *ppv = NULL;
00028 
00029     if(IsEqualGUID(&IID_IUnknown, riid)) {
00030         TRACE("(IID_IUnknown %p)\n", ppv);
00031         *ppv = iface;
00032     }else if(IsEqualGUID(&IID_IUrlHistoryStg, riid)) {
00033         TRACE("(IID_IUrlHistoryStg %p)\n", ppv);
00034         *ppv = iface;
00035     }else if(IsEqualGUID(&IID_IUrlHistoryStg2, riid)) {
00036         TRACE("(IID_IUrlHistoryStg2 %p)\n", ppv);
00037         *ppv = iface;
00038     }
00039 
00040     if(*ppv) {
00041         IUnknown_AddRef((IUnknown*)*ppv);
00042         return S_OK;
00043     }
00044 
00045     WARN("(%s %p)\n", debugstr_guid(riid), ppv);
00046     return E_NOINTERFACE;
00047 }
00048 
00049 static ULONG WINAPI UrlHistoryStg_AddRef(IUrlHistoryStg2 *iface)
00050 {
00051     SHDOCVW_LockModule();
00052     return 2;
00053 }
00054 
00055 static ULONG WINAPI UrlHistoryStg_Release(IUrlHistoryStg2 *iface)
00056 {
00057     SHDOCVW_UnlockModule();
00058     return 1;
00059 }
00060 
00061 static HRESULT WINAPI UrlHistoryStg_AddUrl(IUrlHistoryStg2 *iface, LPCOLESTR lpcsUrl,
00062         LPCOLESTR pocsTitle, DWORD dwFlags)
00063 {
00064     FIXME("(%s %s %08x)\n", debugstr_w(lpcsUrl), debugstr_w(pocsTitle), dwFlags);
00065     return E_NOTIMPL;
00066 }
00067 
00068 static HRESULT WINAPI UrlHistoryStg_DeleteUrl(IUrlHistoryStg2 *iface, LPCOLESTR lpcsUrl,
00069         DWORD dwFlags)
00070 {
00071     FIXME("(%s %08x)\n", debugstr_w(lpcsUrl), dwFlags);
00072     return E_NOTIMPL;
00073 }
00074 
00075 static HRESULT WINAPI UrlHistoryStg_QueryUrl(IUrlHistoryStg2 *iface, LPCOLESTR lpcsUrl,
00076         DWORD dwFlags, LPSTATURL lpSTATURL)
00077 {
00078     FIXME("(%s %08x %p)\n", debugstr_w(lpcsUrl), dwFlags, lpSTATURL);
00079     return E_NOTIMPL;
00080 }
00081 
00082 static HRESULT WINAPI UrlHistoryStg_BindToObject(IUrlHistoryStg2 *iface, LPCOLESTR lpcsUrl,
00083         REFIID riid, void **ppv)
00084 {
00085     FIXME("(%s %s %p)\n", debugstr_w(lpcsUrl), debugstr_guid(riid), ppv);
00086     return E_NOTIMPL;
00087 }
00088 
00089 static HRESULT WINAPI UrlHistoryStg_EnumUrls(IUrlHistoryStg2 *iface, IEnumSTATURL **ppEnum)
00090 {
00091     FIXME("(%p)\n", ppEnum);
00092     return E_NOTIMPL;
00093 }
00094 
00095 static HRESULT WINAPI UrlHistoryStg_AddUrlAndNotify(IUrlHistoryStg2 *iface, LPCOLESTR pocsUrl,
00096         LPCOLESTR pocsTitle, DWORD dwFlags, BOOL fWriteHistory, IOleCommandTarget *poctNotify,
00097         IUnknown *punkISFolder)
00098 {
00099     FIXME("(%s %s %08x %x %p %p)\n", debugstr_w(pocsUrl), debugstr_w(pocsTitle),
00100           dwFlags, fWriteHistory, poctNotify, punkISFolder);
00101     return E_NOTIMPL;
00102 }
00103 
00104 static HRESULT WINAPI UrlHistoryStg_ClearHistory(IUrlHistoryStg2 *iface)
00105 {
00106     FIXME("()\n");
00107     return E_NOTIMPL;
00108 }
00109 
00110 static const IUrlHistoryStg2Vtbl UrlHistoryStg2Vtbl = {
00111     UrlHistoryStg_QueryInterface,
00112     UrlHistoryStg_AddRef,
00113     UrlHistoryStg_Release,
00114     UrlHistoryStg_AddUrl,
00115     UrlHistoryStg_DeleteUrl,
00116     UrlHistoryStg_QueryUrl,
00117     UrlHistoryStg_BindToObject,
00118     UrlHistoryStg_EnumUrls,
00119     UrlHistoryStg_AddUrlAndNotify,
00120     UrlHistoryStg_ClearHistory
00121 };
00122 
00123 static IUrlHistoryStg2 UrlHistoryStg2 = { &UrlHistoryStg2Vtbl };
00124 
00125 HRESULT CUrlHistory_Create(IUnknown *pOuter, REFIID riid, void **ppv)
00126 {
00127     if(pOuter)
00128         return CLASS_E_NOAGGREGATION;
00129 
00130     return IUrlHistoryStg_QueryInterface(&UrlHistoryStg2, riid, ppv);
00131 }

Generated on Fri May 25 2012 04:24:25 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.