Commit 78b7286e authored by Jacek Caban's avatar Jacek Caban Committed by Alexandre Julliard

mshtml: Added stub implementation of IPersistStreamInit.

parent 5c932f96
...@@ -110,6 +110,9 @@ static HRESULT WINAPI HTMLDocument_QueryInterface(IHTMLDocument2 *iface, REFIID ...@@ -110,6 +110,9 @@ static HRESULT WINAPI HTMLDocument_QueryInterface(IHTMLDocument2 *iface, REFIID
}else if(IsEqualGUID(&IID_IConnectionPointContainer, riid)) { }else if(IsEqualGUID(&IID_IConnectionPointContainer, riid)) {
TRACE("(%p)->(IID_IConnectionPointContainer %p)\n", This, ppvObject); TRACE("(%p)->(IID_IConnectionPointContainer %p)\n", This, ppvObject);
*ppvObject = CONPTCONT(This); *ppvObject = CONPTCONT(This);
}else if(IsEqualGUID(&IID_IPersistStreamInit, riid)) {
TRACE("(%p)->(IID_IPersistStreamInit %p)\n", This, ppvObject);
*ppvObject = PERSTRINIT(This);
} }
if(*ppvObject) { if(*ppvObject) {
......
...@@ -64,6 +64,7 @@ typedef struct { ...@@ -64,6 +64,7 @@ typedef struct {
const IOleControlVtbl *lpOleControlVtbl; const IOleControlVtbl *lpOleControlVtbl;
const IHlinkTargetVtbl *lpHlinkTargetVtbl; const IHlinkTargetVtbl *lpHlinkTargetVtbl;
const IConnectionPointContainerVtbl *lpConnectionPointContainerVtbl; const IConnectionPointContainerVtbl *lpConnectionPointContainerVtbl;
const IPersistStreamInitVtbl *lpPersistStreamInitVtbl;
LONG ref; LONG ref;
...@@ -177,6 +178,7 @@ typedef struct { ...@@ -177,6 +178,7 @@ typedef struct {
#define STATUSCLB(x) ((IBindStatusCallback*) &(x)->lpBindStatusCallbackVtbl) #define STATUSCLB(x) ((IBindStatusCallback*) &(x)->lpBindStatusCallbackVtbl)
#define HLNKTARGET(x) ((IHlinkTarget*) &(x)->lpHlinkTargetVtbl) #define HLNKTARGET(x) ((IHlinkTarget*) &(x)->lpHlinkTargetVtbl)
#define CONPTCONT(x) ((IConnectionPointContainer*) &(x)->lpConnectionPointContainerVtbl) #define CONPTCONT(x) ((IConnectionPointContainer*) &(x)->lpConnectionPointContainerVtbl)
#define PERSTRINIT(x) ((IPersistStreamInit*) &(x)->lpPersistStreamInitVtbl)
#define NSWBCHROME(x) ((nsIWebBrowserChrome*) &(x)->lpWebBrowserChromeVtbl) #define NSWBCHROME(x) ((nsIWebBrowserChrome*) &(x)->lpWebBrowserChromeVtbl)
#define NSCML(x) ((nsIContextMenuListener*) &(x)->lpContextMenuListenerVtbl) #define NSCML(x) ((nsIContextMenuListener*) &(x)->lpContextMenuListenerVtbl)
......
...@@ -643,11 +643,90 @@ static const IPersistFileVtbl PersistFileVtbl = { ...@@ -643,11 +643,90 @@ static const IPersistFileVtbl PersistFileVtbl = {
PersistFile_GetCurFile PersistFile_GetCurFile
}; };
#define PERSTRINIT_THIS(iface) DEFINE_THIS(HTMLDocument, PersistStreamInit, iface);
static HRESULT WINAPI PersistStreamInit_QueryInterface(IPersistStreamInit *iface,
REFIID riid, void **ppv)
{
HTMLDocument *This = PERSTRINIT_THIS(iface);
return IHTMLDocument2_QueryInterface(HTMLDOC(This), riid, ppv);
}
static ULONG WINAPI PersistStreamInit_AddRef(IPersistStreamInit *iface)
{
HTMLDocument *This = PERSTRINIT_THIS(iface);
return IHTMLDocument2_AddRef(HTMLDOC(This));
}
static ULONG WINAPI PersistStreamInit_Release(IPersistStreamInit *iface)
{
HTMLDocument *This = PERSTRINIT_THIS(iface);
return IHTMLDocument2_AddRef(HTMLDOC(This));
}
static HRESULT WINAPI PersistStreamInit_GetClassID(IPersistStreamInit *iface, CLSID *pClassID)
{
HTMLDocument *This = PERSTRINIT_THIS(iface);
return IPersist_GetClassID(PERSIST(This), pClassID);
}
static HRESULT WINAPI PersistStreamInit_IsDirty(IPersistStreamInit *iface)
{
HTMLDocument *This = PERSTRINIT_THIS(iface);
FIXME("(%p)\n", This);
return E_NOTIMPL;
}
static HRESULT WINAPI PersistStreamInit_Load(IPersistStreamInit *iface, LPSTREAM pStm)
{
HTMLDocument *This = PERSTRINIT_THIS(iface);
FIXME("(%p)->(%p)\n", This, pStm);
return E_NOTIMPL;
}
static HRESULT WINAPI PersistStreamInit_Save(IPersistStreamInit *iface, LPSTREAM pStm,
BOOL fClearDirty)
{
HTMLDocument *This = PERSTRINIT_THIS(iface);
FIXME("(%p)->(%p %x)\n", This, pStm, fClearDirty);
return E_NOTIMPL;
}
static HRESULT WINAPI PersistStreamInit_GetSizeMax(IPersistStreamInit *iface,
ULARGE_INTEGER *pcbSize)
{
HTMLDocument *This = PERSTRINIT_THIS(iface);
FIXME("(%p)->(%p)\n", This, pcbSize);
return E_NOTIMPL;
}
static HRESULT WINAPI PersistStreamInit_InitNew(IPersistStreamInit *iface)
{
HTMLDocument *This = PERSTRINIT_THIS(iface);
FIXME("(%p)\n", This);
return E_NOTIMPL;
}
#undef PERSTRINIT_THIS
static const IPersistStreamInitVtbl PersistStreamInitVtbl = {
PersistStreamInit_QueryInterface,
PersistStreamInit_AddRef,
PersistStreamInit_Release,
PersistStreamInit_GetClassID,
PersistStreamInit_IsDirty,
PersistStreamInit_Load,
PersistStreamInit_Save,
PersistStreamInit_GetSizeMax,
PersistStreamInit_InitNew
};
void HTMLDocument_Persist_Init(HTMLDocument *This) void HTMLDocument_Persist_Init(HTMLDocument *This)
{ {
This->lpPersistMonikerVtbl = &PersistMonikerVtbl; This->lpPersistMonikerVtbl = &PersistMonikerVtbl;
This->lpPersistFileVtbl = &PersistFileVtbl; This->lpPersistFileVtbl = &PersistFileVtbl;
This->lpMonikerPropVtbl = &MonikerPropVtbl; This->lpMonikerPropVtbl = &MonikerPropVtbl;
This->lpPersistStreamInitVtbl = &PersistStreamInitVtbl;
This->status_callback = NULL; This->status_callback = NULL;
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment