2 * Implementation of IPersist interfaces for IE Web Browser control
4 * Copyright 2001 John R. Sheets (for CodeWeavers)
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 #include "wine/debug.h"
24 WINE_DEFAULT_DEBUG_CHANNEL(shdocvw);
26 /**********************************************************************
27 * Implement the IPersistStorage interface
30 static HRESULT WINAPI WBPS_QueryInterface(LPPERSISTSTORAGE iface,
31 REFIID riid, LPVOID *ppobj)
33 FIXME("- no interface\n\tIID:\t%s\n", debugstr_guid(riid));
35 if (ppobj == NULL) return E_POINTER;
40 static ULONG WINAPI WBPS_AddRef(LPPERSISTSTORAGE iface)
44 return 2; /* non-heap based object */
47 static ULONG WINAPI WBPS_Release(LPPERSISTSTORAGE iface)
49 SHDOCVW_UnlockModule();
51 return 1; /* non-heap based object */
54 static HRESULT WINAPI WBPS_GetClassID(LPPERSISTSTORAGE iface, CLSID *pClassID)
56 FIXME("stub: CLSID = %s\n", debugstr_guid(pClassID));
60 static HRESULT WINAPI WBPS_IsDirty(LPPERSISTSTORAGE iface)
66 static HRESULT WINAPI WBPS_InitNew(LPPERSISTSTORAGE iface, LPSTORAGE pStg)
68 FIXME("stub: LPSTORAGE = %p\n", pStg);
72 static HRESULT WINAPI WBPS_Load(LPPERSISTSTORAGE iface, LPSTORAGE pStg)
74 FIXME("stub: LPSTORAGE = %p\n", pStg);
78 static HRESULT WINAPI WBPS_Save(LPPERSISTSTORAGE iface, LPSTORAGE pStg,
81 FIXME("stub: LPSTORAGE = %p, fSameAsLoad = %d\n", pStg, fSameAsLoad);
85 static HRESULT WINAPI WBPS_SaveCompleted(LPPERSISTSTORAGE iface, LPSTORAGE pStgNew)
87 FIXME("stub: LPSTORAGE = %p\n", pStgNew);
91 /**********************************************************************
92 * IPersistStorage virtual function table for IE Web Browser component
95 static const IPersistStorageVtbl WBPS_Vtbl =
108 IPersistStorageImpl SHDOCVW_PersistStorage = {&WBPS_Vtbl};
111 /**********************************************************************
112 * Implement the IPersistStreamInit interface
115 static HRESULT WINAPI WBPSI_QueryInterface(LPPERSISTSTREAMINIT iface,
116 REFIID riid, LPVOID *ppobj)
118 FIXME("- no interface\n\tIID:\t%s\n", debugstr_guid(riid));
120 if (ppobj == NULL) return E_POINTER;
122 return E_NOINTERFACE;
125 static ULONG WINAPI WBPSI_AddRef(LPPERSISTSTREAMINIT iface)
127 SHDOCVW_LockModule();
129 return 2; /* non-heap based object */
132 static ULONG WINAPI WBPSI_Release(LPPERSISTSTREAMINIT iface)
134 SHDOCVW_UnlockModule();
136 return 1; /* non-heap based object */
139 static HRESULT WINAPI WBPSI_GetClassID(LPPERSISTSTREAMINIT iface, CLSID *pClassID)
141 FIXME("stub: CLSID = %s\n", debugstr_guid(pClassID));
145 static HRESULT WINAPI WBPSI_IsDirty(LPPERSISTSTREAMINIT iface)
151 static HRESULT WINAPI WBPSI_Load(LPPERSISTSTREAMINIT iface, LPSTREAM pStg)
153 FIXME("stub: LPSTORAGE = %p\n", pStg);
157 static HRESULT WINAPI WBPSI_Save(LPPERSISTSTREAMINIT iface, LPSTREAM pStg,
160 FIXME("stub: LPSTORAGE = %p, fSameAsLoad = %d\n", pStg, fSameAsLoad);
164 static HRESULT WINAPI WBPSI_GetSizeMax(LPPERSISTSTREAMINIT iface,
165 ULARGE_INTEGER *pcbSize)
167 FIXME("stub: ULARGE_INTEGER = %p\n", pcbSize);
171 static HRESULT WINAPI WBPSI_InitNew(LPPERSISTSTREAMINIT iface)
177 /**********************************************************************
178 * IPersistStreamInit virtual function table for IE Web Browser component
181 static const IPersistStreamInitVtbl WBPSI_Vtbl =
183 WBPSI_QueryInterface,
194 IPersistStreamInitImpl SHDOCVW_PersistStreamInit = {&WBPSI_Vtbl};