Michael Stefaniuc : dmcompos: COM cleanup for the IDirectMusicChordMap iface.

Alexandre Julliard julliard at winehq.org
Tue Mar 11 14:45:40 CDT 2014


Module: wine
Branch: master
Commit: 4f03d5d1aebc0c828f3083b92b69cf5d8c77ca90
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=4f03d5d1aebc0c828f3083b92b69cf5d8c77ca90

Author: Michael Stefaniuc <mstefani at redhat.de>
Date:   Mon Mar 10 23:53:11 2014 +0100

dmcompos: COM cleanup for the IDirectMusicChordMap iface.

---

 dlls/dmcompos/chordmap.c         |   48 +++++++++++++++++++++++---------------
 dlls/dmcompos/dmcompos_private.h |    2 +-
 2 files changed, 30 insertions(+), 20 deletions(-)

diff --git a/dlls/dmcompos/chordmap.c b/dlls/dmcompos/chordmap.c
index 21849b8..2d22f37 100644
--- a/dlls/dmcompos/chordmap.c
+++ b/dlls/dmcompos/chordmap.c
@@ -23,7 +23,6 @@ WINE_DEFAULT_DEBUG_CHANNEL(dmcompos);
 WINE_DECLARE_DEBUG_CHANNEL(dmfile);
 
 static ULONG WINAPI IDirectMusicChordMapImpl_IUnknown_AddRef (LPUNKNOWN iface);
-static ULONG WINAPI IDirectMusicChordMapImpl_IDirectMusicChordMap_AddRef (LPDIRECTMUSICCHORDMAP iface);
 static ULONG WINAPI IDirectMusicChordMapImpl_IDirectMusicObject_AddRef (LPDIRECTMUSICOBJECT iface);
 static ULONG WINAPI IDirectMusicChordMapImpl_IPersistStream_AddRef (LPPERSISTSTREAM iface);
 
@@ -40,8 +39,8 @@ static HRESULT WINAPI IDirectMusicChordMapImpl_IUnknown_QueryInterface (LPUNKNOW
 		IDirectMusicChordMapImpl_IUnknown_AddRef ((LPUNKNOWN)&This->UnknownVtbl);
 		return S_OK;	
 	} else if (IsEqualIID (riid, &IID_IDirectMusicChordMap)) {
-		*ppobj = &This->ChordMapVtbl;
-		IDirectMusicChordMapImpl_IDirectMusicChordMap_AddRef ((LPDIRECTMUSICCHORDMAP)&This->ChordMapVtbl);
+                *ppobj = &This->IDirectMusicChordMap_iface;
+                IDirectMusicChordMap_AddRef(&This->IDirectMusicChordMap_iface);
 		return S_OK;
 	} else if (IsEqualIID (riid, &IID_IDirectMusicObject)) {
 		*ppobj = &This->ObjectVtbl;
@@ -90,32 +89,43 @@ static const IUnknownVtbl DirectMusicChordMap_Unknown_Vtbl = {
 };
 
 /* IDirectMusicChordMapImpl IDirectMusicChordMap part: */
-static HRESULT WINAPI IDirectMusicChordMapImpl_IDirectMusicChordMap_QueryInterface (LPDIRECTMUSICCHORDMAP iface, REFIID riid, LPVOID *ppobj) {
-	ICOM_THIS_MULTI(IDirectMusicChordMapImpl, ChordMapVtbl, iface);
+static inline IDirectMusicChordMapImpl *impl_from_IDirectMusicChordMap(IDirectMusicChordMap *iface)
+{
+    return CONTAINING_RECORD(iface, IDirectMusicChordMapImpl, IDirectMusicChordMap_iface);
+}
+
+static HRESULT WINAPI IDirectMusicChordMapImpl_QueryInterface(IDirectMusicChordMap *iface,
+        REFIID riid, void **ppobj)
+{
+    IDirectMusicChordMapImpl *This = impl_from_IDirectMusicChordMap(iface);
 	return IDirectMusicChordMapImpl_IUnknown_QueryInterface ((LPUNKNOWN)&This->UnknownVtbl, riid, ppobj);
 }
 
-static ULONG WINAPI IDirectMusicChordMapImpl_IDirectMusicChordMap_AddRef (LPDIRECTMUSICCHORDMAP iface) {
-	ICOM_THIS_MULTI(IDirectMusicChordMapImpl, ChordMapVtbl, iface);
+static ULONG WINAPI IDirectMusicChordMapImpl_AddRef(IDirectMusicChordMap *iface)
+{
+    IDirectMusicChordMapImpl *This = impl_from_IDirectMusicChordMap(iface);
 	return IDirectMusicChordMapImpl_IUnknown_AddRef ((LPUNKNOWN)&This->UnknownVtbl);
 }
 
-static ULONG WINAPI IDirectMusicChordMapImpl_IDirectMusicChordMap_Release (LPDIRECTMUSICCHORDMAP iface) {
-	ICOM_THIS_MULTI(IDirectMusicChordMapImpl, ChordMapVtbl, iface);
+static ULONG WINAPI IDirectMusicChordMapImpl_Release(IDirectMusicChordMap *iface)
+{
+    IDirectMusicChordMapImpl *This = impl_from_IDirectMusicChordMap(iface);
 	return IDirectMusicChordMapImpl_IUnknown_Release ((LPUNKNOWN)&This->UnknownVtbl);
 }
 
-static HRESULT WINAPI IDirectMusicChordMapImpl_IDirectMusicChordMap_GetScale (LPDIRECTMUSICCHORDMAP iface, DWORD* pdwScale) {
-	ICOM_THIS_MULTI(IDirectMusicChordMapImpl, ChordMapVtbl, iface);
-	FIXME("(%p, %p): stub\n", This, pdwScale);
-	return S_OK;
+static HRESULT WINAPI IDirectMusicChordMapImpl_GetScale(IDirectMusicChordMap *iface,
+        DWORD *pdwScale)
+{
+    IDirectMusicChordMapImpl *This = impl_from_IDirectMusicChordMap(iface);
+    FIXME("(%p, %p): stub\n", This, pdwScale);
+    return S_OK;
 }
 
-static const IDirectMusicChordMapVtbl DirectMusicChordMap_ChordMap_Vtbl = {
-	IDirectMusicChordMapImpl_IDirectMusicChordMap_QueryInterface,
-	IDirectMusicChordMapImpl_IDirectMusicChordMap_AddRef,
-	IDirectMusicChordMapImpl_IDirectMusicChordMap_Release,
-	IDirectMusicChordMapImpl_IDirectMusicChordMap_GetScale
+static const IDirectMusicChordMapVtbl dmchordmap_vtbl = {
+    IDirectMusicChordMapImpl_QueryInterface,
+    IDirectMusicChordMapImpl_AddRef,
+    IDirectMusicChordMapImpl_Release,
+    IDirectMusicChordMapImpl_GetScale
 };
 
 /* IDirectMusicChordMapImpl IDirectMusicObject part: */
@@ -534,7 +544,7 @@ HRESULT WINAPI create_dmchordmap(REFIID lpcGUID, void **ppobj)
 		return E_OUTOFMEMORY;
 	}
 	obj->UnknownVtbl = &DirectMusicChordMap_Unknown_Vtbl;
-	obj->ChordMapVtbl = &DirectMusicChordMap_ChordMap_Vtbl;
+        obj->IDirectMusicChordMap_iface.lpVtbl = &dmchordmap_vtbl;
 	obj->ObjectVtbl = &DirectMusicChordMap_Object_Vtbl;
 	obj->PersistStreamVtbl = &DirectMusicChordMap_PersistStream_Vtbl;
 	obj->pDesc = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(DMUS_OBJECTDESC));
diff --git a/dlls/dmcompos/dmcompos_private.h b/dlls/dmcompos/dmcompos_private.h
index 34ca422..6f680e5 100644
--- a/dlls/dmcompos/dmcompos_private.h
+++ b/dlls/dmcompos/dmcompos_private.h
@@ -63,7 +63,7 @@ extern HRESULT WINAPI create_dmsignposttrack(REFIID riid, void **ret_iface) DECL
 struct IDirectMusicChordMapImpl {
   /* IUnknown fields */
   const IUnknownVtbl *UnknownVtbl;
-  const IDirectMusicChordMapVtbl *ChordMapVtbl;
+  IDirectMusicChordMap IDirectMusicChordMap_iface;
   const IDirectMusicObjectVtbl *ObjectVtbl;
   const IPersistStreamVtbl *PersistStreamVtbl;
   LONG  ref;




More information about the wine-cvs mailing list