Vijay Kiran Kamuju : dhtmled.ocx: Add IPersistStorage stub interface.

Alexandre Julliard julliard at winehq.org
Wed Apr 7 15:48:31 CDT 2021


Module: wine
Branch: master
Commit: 166697189d2e1ec620aa7e8c084f62bf5b53b94f
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=166697189d2e1ec620aa7e8c084f62bf5b53b94f

Author: Vijay Kiran Kamuju <infyquest at gmail.com>
Date:   Wed Apr  7 12:11:19 2021 +0200

dhtmled.ocx: Add IPersistStorage stub interface.

Signed-off-by: Vijay Kiran Kamuju <infyquest at gmail.com>
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/dhtmled.ocx/edit.c | 83 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 83 insertions(+)

diff --git a/dlls/dhtmled.ocx/edit.c b/dlls/dhtmled.ocx/edit.c
index e92e96f4050..b96630c73e5 100644
--- a/dlls/dhtmled.ocx/edit.c
+++ b/dlls/dhtmled.ocx/edit.c
@@ -30,6 +30,7 @@ typedef struct
     IDHTMLEdit IDHTMLEdit_iface;
     IOleObject IOleObject_iface;
     IProvideClassInfo2 IProvideClassInfo2_iface;
+    IPersistStorage IPersistStorage_iface;
     IPersistStreamInit IPersistStreamInit_iface;
     IOleControl IOleControl_iface;
     IViewObjectEx IViewObjectEx_iface;
@@ -59,6 +60,11 @@ static inline DHTMLEditImpl *impl_from_IProvideClassInfo2(IProvideClassInfo2 *if
     return CONTAINING_RECORD(iface, DHTMLEditImpl, IProvideClassInfo2_iface);
 }
 
+static inline DHTMLEditImpl *impl_from_IPersistStorage(IPersistStorage *iface)
+{
+    return CONTAINING_RECORD(iface, DHTMLEditImpl, IPersistStorage_iface);
+}
+
 static inline DHTMLEditImpl *impl_from_IPersistStreamInit(IPersistStreamInit *iface)
 {
     return CONTAINING_RECORD(iface, DHTMLEditImpl, IPersistStreamInit_iface);
@@ -133,6 +139,12 @@ static HRESULT dhtml_edit_qi(DHTMLEditImpl *This, REFIID iid, void **out)
         *out = &This->IProvideClassInfo2_iface;
         return S_OK;
     }
+    else if (IsEqualGUID(iid, &IID_IPersistStorage))
+    {
+        dhtml_edit_addref(This);
+        *out = &This->IPersistStorage_iface;
+        return S_OK;
+    }
     else if (IsEqualGUID(iid, &IID_IPersistStreamInit))
     {
         dhtml_edit_addref(This);
@@ -928,6 +940,76 @@ static const IProvideClassInfo2Vtbl ProvideClassInfo2Vtbl = {
     ProvideClassInfo2_GetGUID
 };
 
+static HRESULT WINAPI PersistStorage_QueryInterface(IPersistStorage *iface, REFIID iid, void **out)
+{
+    return dhtml_edit_qi(impl_from_IPersistStorage(iface), iid, out);
+}
+
+static ULONG WINAPI PersistStorage_AddRef(IPersistStorage *iface)
+{
+    return dhtml_edit_addref(impl_from_IPersistStorage(iface));
+}
+
+static ULONG WINAPI PersistStorage_Release(IPersistStorage *iface)
+{
+    return dhtml_edit_release(impl_from_IPersistStorage(iface));
+}
+
+static HRESULT WINAPI PersistStorage_GetClassID(IPersistStorage *iface, CLSID *clsid)
+{
+    DHTMLEditImpl *This = impl_from_IPersistStorage(iface);
+    FIXME("(%p)->(%p) stub\n", This, clsid);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI PersistStorage_IsDirty(IPersistStorage *iface)
+{
+    DHTMLEditImpl *This = impl_from_IPersistStorage(iface);
+    FIXME("(%p) stub\n", This);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI PersistStorage_InitNew(IPersistStorage *iface, LPSTORAGE storage)
+{
+    DHTMLEditImpl *This = impl_from_IPersistStorage(iface);
+    FIXME("(%p)->(%p) stub\n", This, storage);
+    return S_OK;
+}
+
+static HRESULT WINAPI PersistStorage_Load(IPersistStorage *iface, LPSTORAGE storage)
+{
+    DHTMLEditImpl *This = impl_from_IPersistStorage(iface);
+    FIXME("(%p)->(%p) stub\n", This, storage);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI PersistStorage_Save(IPersistStorage *iface, LPSTORAGE storage, BOOL sameasld)
+{
+    DHTMLEditImpl *This = impl_from_IPersistStorage(iface);
+    FIXME("(%p)->(%p, %u) stub\n", This, storage, sameasld);
+    return E_NOTIMPL;
+}
+
+static HRESULT WINAPI PersistStorage_SaveCompleted(IPersistStorage *iface, LPSTORAGE storage)
+{
+    DHTMLEditImpl *This = impl_from_IPersistStorage(iface);
+    FIXME("(%p)->(%p)\n", This, storage);
+    return E_NOTIMPL;
+}
+
+static const IPersistStorageVtbl PersistStorageVtbl =
+{
+    PersistStorage_QueryInterface,
+    PersistStorage_AddRef,
+    PersistStorage_Release,
+    PersistStorage_GetClassID,
+    PersistStorage_IsDirty,
+    PersistStorage_InitNew,
+    PersistStorage_Load,
+    PersistStorage_Save,
+    PersistStorage_SaveCompleted
+};
+
 static HRESULT WINAPI PersistStreamInit_QueryInterface(IPersistStreamInit *iface, REFIID iid, void **out)
 {
     return dhtml_edit_qi(impl_from_IPersistStreamInit(iface), iid, out);
@@ -1563,6 +1645,7 @@ HRESULT dhtml_edit_create(REFIID iid, void **out)
     This->IDHTMLEdit_iface.lpVtbl = &DHTMLEditVtbl;
     This->IOleObject_iface.lpVtbl = &OleObjectVtbl;
     This->IProvideClassInfo2_iface.lpVtbl = &ProvideClassInfo2Vtbl;
+    This->IPersistStorage_iface.lpVtbl = &PersistStorageVtbl;
     This->IPersistStreamInit_iface.lpVtbl = &PersistStreamInitVtbl;
     This->IOleControl_iface.lpVtbl = &OleControlVtbl;
     This->IViewObjectEx_iface.lpVtbl = &ViewObjectExVtbl;




More information about the wine-cvs mailing list