[PATCH 5/6] dplayx: Get rid of the useless IDirectPlayLobby{,2} vtables.
Michael Stefaniuc
mstefani at redhat.de
Tue Apr 9 15:36:47 CDT 2013
---
dlls/dplayx/dplobby.c | 169 +++-----------------------------------------------
1 file changed, 8 insertions(+), 161 deletions(-)
diff --git a/dlls/dplayx/dplobby.c b/dlls/dplayx/dplobby.c
index 9e53a30..b9e126f 100644
--- a/dlls/dplayx/dplobby.c
+++ b/dlls/dplayx/dplobby.c
@@ -94,12 +94,7 @@ typedef struct IDirectPlayLobbyImpl
} IDirectPlayLobbyImpl;
/* Forward declarations of virtual tables */
-static const IDirectPlayLobbyVtbl directPlayLobbyWVT;
-static const IDirectPlayLobby2Vtbl directPlayLobby2WVT;
static const IDirectPlayLobby3Vtbl directPlayLobby3WVT;
-
-static const IDirectPlayLobbyVtbl directPlayLobbyAVT;
-static const IDirectPlayLobby2Vtbl directPlayLobby2AVT;
static const IDirectPlayLobby3Vtbl directPlayLobby3AVT;
static BOOL DPL_CreateIUnknown( LPVOID lpDPL )
@@ -196,17 +191,11 @@ HRESULT DPL_CreateInterface
if ( !This )
return DPERR_OUTOFMEMORY;
- if ( IsEqualGUID( &IID_IUnknown, riid ) || IsEqualGUID( &IID_IDirectPlayLobby, riid ) )
- This->lpVtbl = &directPlayLobbyWVT;
- else if( IsEqualGUID( &IID_IDirectPlayLobbyA, riid ) )
- This->lpVtbl = &directPlayLobbyAVT;
- else if( IsEqualGUID( &IID_IDirectPlayLobby2, riid ) )
- This->lpVtbl = &directPlayLobby2WVT;
- else if( IsEqualGUID( &IID_IDirectPlayLobby2A, riid ) )
- This->lpVtbl = &directPlayLobby2AVT;
- else if( IsEqualGUID( &IID_IDirectPlayLobby3, riid ) )
+ if ( IsEqualGUID( &IID_IUnknown, riid ) || IsEqualGUID( &IID_IDirectPlayLobby, riid ) ||
+ IsEqualGUID( &IID_IDirectPlayLobby2, riid ) || IsEqualGUID( &IID_IDirectPlayLobby3, riid ) )
This->lpVtbl = &directPlayLobby3WVT;
- else if( IsEqualGUID( &IID_IDirectPlayLobby3A, riid ) )
+ else if ( IsEqualGUID( &IID_IDirectPlayLobbyA, riid ) ||
+ IsEqualGUID( &IID_IDirectPlayLobby2A, riid ) || IsEqualGUID( &IID_IDirectPlayLobby3A, riid ) )
This->lpVtbl = &directPlayLobby3AVT;
else
{
@@ -255,32 +244,14 @@ static HRESULT WINAPI DPL_QueryInterface
CopyMemory( *ppvObj, This, sizeof( *This ) );
(*(IDirectPlayLobbyAImpl**)ppvObj)->ulInterfaceRef = 0;
- if( IsEqualGUID( &IID_IUnknown, riid ) || IsEqualGUID( &IID_IDirectPlayLobby, riid ) )
- {
- IDirectPlayLobbyWImpl *This = *ppvObj;
- This->lpVtbl = &directPlayLobbyWVT;
- }
- else if( IsEqualGUID( &IID_IDirectPlayLobbyA, riid ) )
- {
- IDirectPlayLobbyAImpl *This = *ppvObj;
- This->lpVtbl = &directPlayLobbyAVT;
- }
- else if( IsEqualGUID( &IID_IDirectPlayLobby2, riid ) )
- {
- IDirectPlayLobby2WImpl *This = *ppvObj;
- This->lpVtbl = &directPlayLobby2WVT;
- }
- else if( IsEqualGUID( &IID_IDirectPlayLobby2A, riid ) )
- {
- IDirectPlayLobby2AImpl *This = *ppvObj;
- This->lpVtbl = &directPlayLobby2AVT;
- }
- else if( IsEqualGUID( &IID_IDirectPlayLobby3, riid ) )
+ if ( IsEqualGUID( &IID_IUnknown, riid ) || IsEqualGUID( &IID_IDirectPlayLobby, riid ) ||
+ IsEqualGUID( &IID_IDirectPlayLobby2, riid ) || IsEqualGUID( &IID_IDirectPlayLobby3, riid ) )
{
IDirectPlayLobby3WImpl *This = *ppvObj;
This->lpVtbl = &directPlayLobby3WVT;
}
- else if( IsEqualGUID( &IID_IDirectPlayLobby3A, riid ) )
+ else if ( IsEqualGUID( &IID_IDirectPlayLobbyA, riid ) ||
+ IsEqualGUID( &IID_IDirectPlayLobby2A, riid ) || IsEqualGUID( &IID_IDirectPlayLobby3A, riid ) )
{
IDirectPlayLobby3AImpl *This = *ppvObj;
This->lpVtbl = &directPlayLobby3AVT;
@@ -1624,130 +1595,6 @@ static HRESULT WINAPI IDirectPlayLobby3AImpl_WaitForConnectionSettings
}
-/* Virtual Table definitions for DPL{1,2,3}{A,W} */
-
-/* Note: Hack so we can reuse the old functions without compiler warnings */
-#if !defined(__STRICT_ANSI__) && defined(__GNUC__)
-# define XCAST(fun) (typeof(directPlayLobbyAVT.fun))
-#else
-# define XCAST(fun) (void*)
-#endif
-
-/* Direct Play Lobby 1 (ascii) Virtual Table for methods */
-/* All lobby 1 methods are exactly the same except QueryInterface */
-static const IDirectPlayLobbyVtbl directPlayLobbyAVT =
-{
-
- XCAST(QueryInterface)DPL_QueryInterface,
- XCAST(AddRef)DPL_AddRef,
- XCAST(Release)DPL_Release,
-
- IDirectPlayLobbyAImpl_Connect,
- IDirectPlayLobbyAImpl_CreateAddress,
- IDirectPlayLobbyAImpl_EnumAddress,
- IDirectPlayLobbyAImpl_EnumAddressTypes,
- IDirectPlayLobbyAImpl_EnumLocalApplications,
- IDirectPlayLobbyAImpl_GetConnectionSettings,
- IDirectPlayLobbyAImpl_ReceiveLobbyMessage,
- IDirectPlayLobbyAImpl_RunApplication,
- IDirectPlayLobbyAImpl_SendLobbyMessage,
- IDirectPlayLobbyAImpl_SetConnectionSettings,
- IDirectPlayLobbyAImpl_SetLobbyMessageEvent
-};
-#undef XCAST
-
-
-/* Note: Hack so we can reuse the old functions without compiler warnings */
-#if !defined(__STRICT_ANSI__) && defined(__GNUC__)
-# define XCAST(fun) (typeof(directPlayLobbyWVT.fun))
-#else
-# define XCAST(fun) (void*)
-#endif
-
-/* Direct Play Lobby 1 (unicode) Virtual Table for methods */
-static const IDirectPlayLobbyVtbl directPlayLobbyWVT =
-{
-
- XCAST(QueryInterface)DPL_QueryInterface,
- XCAST(AddRef)DPL_AddRef,
- XCAST(Release)DPL_Release,
-
- IDirectPlayLobbyWImpl_Connect,
- IDirectPlayLobbyWImpl_CreateAddress,
- IDirectPlayLobbyWImpl_EnumAddress,
- IDirectPlayLobbyWImpl_EnumAddressTypes,
- IDirectPlayLobbyWImpl_EnumLocalApplications,
- IDirectPlayLobbyWImpl_GetConnectionSettings,
- IDirectPlayLobbyWImpl_ReceiveLobbyMessage,
- IDirectPlayLobbyWImpl_RunApplication,
- IDirectPlayLobbyWImpl_SendLobbyMessage,
- IDirectPlayLobbyWImpl_SetConnectionSettings,
- IDirectPlayLobbyWImpl_SetLobbyMessageEvent
-};
-#undef XCAST
-
-/* Note: Hack so we can reuse the old functions without compiler warnings */
-#if !defined(__STRICT_ANSI__) && defined(__GNUC__)
-# define XCAST(fun) (typeof(directPlayLobby2AVT.fun))
-#else
-# define XCAST(fun) (void*)
-#endif
-
-/* Direct Play Lobby 2 (ascii) Virtual Table for methods */
-static const IDirectPlayLobby2Vtbl directPlayLobby2AVT =
-{
-
- XCAST(QueryInterface)DPL_QueryInterface,
- XCAST(AddRef)DPL_AddRef,
- XCAST(Release)DPL_Release,
-
- XCAST(Connect)IDirectPlayLobbyAImpl_Connect,
- XCAST(CreateAddress)IDirectPlayLobbyAImpl_CreateAddress,
- XCAST(EnumAddress)IDirectPlayLobbyAImpl_EnumAddress,
- XCAST(EnumAddressTypes)IDirectPlayLobbyAImpl_EnumAddressTypes,
- XCAST(EnumLocalApplications)IDirectPlayLobbyAImpl_EnumLocalApplications,
- XCAST(GetConnectionSettings)IDirectPlayLobbyAImpl_GetConnectionSettings,
- XCAST(ReceiveLobbyMessage)IDirectPlayLobbyAImpl_ReceiveLobbyMessage,
- XCAST(RunApplication)IDirectPlayLobbyAImpl_RunApplication,
- XCAST(SendLobbyMessage)IDirectPlayLobbyAImpl_SendLobbyMessage,
- XCAST(SetConnectionSettings)IDirectPlayLobbyAImpl_SetConnectionSettings,
- XCAST(SetLobbyMessageEvent)IDirectPlayLobbyAImpl_SetLobbyMessageEvent,
-
- IDirectPlayLobby2AImpl_CreateCompoundAddress
-};
-#undef XCAST
-
-/* Note: Hack so we can reuse the old functions without compiler warnings */
-#if !defined(__STRICT_ANSI__) && defined(__GNUC__)
-# define XCAST(fun) (typeof(directPlayLobby2WVT.fun))
-#else
-# define XCAST(fun) (void*)
-#endif
-
-/* Direct Play Lobby 2 (unicode) Virtual Table for methods */
-static const IDirectPlayLobby2Vtbl directPlayLobby2WVT =
-{
-
- XCAST(QueryInterface)DPL_QueryInterface,
- XCAST(AddRef)DPL_AddRef,
- XCAST(Release)DPL_Release,
-
- XCAST(Connect)IDirectPlayLobbyWImpl_Connect,
- XCAST(CreateAddress)IDirectPlayLobbyWImpl_CreateAddress,
- XCAST(EnumAddress)IDirectPlayLobbyWImpl_EnumAddress,
- XCAST(EnumAddressTypes)IDirectPlayLobbyWImpl_EnumAddressTypes,
- XCAST(EnumLocalApplications)IDirectPlayLobbyWImpl_EnumLocalApplications,
- XCAST(GetConnectionSettings)IDirectPlayLobbyWImpl_GetConnectionSettings,
- XCAST(ReceiveLobbyMessage)IDirectPlayLobbyWImpl_ReceiveLobbyMessage,
- XCAST(RunApplication)IDirectPlayLobbyWImpl_RunApplication,
- XCAST(SendLobbyMessage)IDirectPlayLobbyWImpl_SendLobbyMessage,
- XCAST(SetConnectionSettings)IDirectPlayLobbyWImpl_SetConnectionSettings,
- XCAST(SetLobbyMessageEvent)IDirectPlayLobbyWImpl_SetLobbyMessageEvent,
-
- IDirectPlayLobby2WImpl_CreateCompoundAddress
-};
-#undef XCAST
-
/* Direct Play Lobby 3 (ascii) Virtual Table for methods */
/* Note: Hack so we can reuse the old functions without compiler warnings */
--
1.7.11.7
More information about the wine-patches
mailing list