Michael Stefaniuc : dplayx: Merge the IDirectPlay4_Close helper.

Alexandre Julliard julliard at winehq.org
Tue Apr 2 13:38:35 CDT 2013


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

Author: Michael Stefaniuc <mstefani at redhat.de>
Date:   Fri Mar 29 16:52:03 2013 +0100

dplayx: Merge the IDirectPlay4_Close helper.

---

 dlls/dplayx/dplay.c |   65 +++++++++++++++++++++-----------------------------
 1 files changed, 27 insertions(+), 38 deletions(-)

diff --git a/dlls/dplayx/dplay.c b/dlls/dplayx/dplay.c
index 1f69866..ffaee2d 100644
--- a/dlls/dplayx/dplay.c
+++ b/dlls/dplayx/dplay.c
@@ -156,7 +156,6 @@ static HRESULT DP_IF_SetGroupData
 static HRESULT DP_IF_GetPlayerCaps
           ( IDirectPlay2Impl* This, DPID idPlayer, LPDPCAPS lpDPCaps,
             DWORD dwFlags );
-static HRESULT DP_IF_Close( IDirectPlay2Impl* This, BOOL bAnsi );
 static HRESULT DP_IF_CancelMessage
           ( IDirectPlay4Impl* This, DWORD dwMsgID, DWORD dwFlags,
             DWORD dwMinPriority, DWORD dwMaxPriority, BOOL bAnsi );
@@ -670,49 +669,39 @@ static HRESULT WINAPI DirectPlay2WImpl_AddPlayerToGroup
   return DP_IF_AddPlayerToGroup( This, NULL, idGroup, idPlayer, FALSE );
 }
 
-static HRESULT DP_IF_Close( IDirectPlay2Impl* This, BOOL bAnsi )
+static HRESULT WINAPI IDirectPlay4AImpl_Close( IDirectPlay4A *iface )
 {
-  HRESULT hr = DP_OK;
-
-  TRACE("(%p)->(%u)\n", This, bAnsi );
-
-  /* FIXME: Need to find a new host I assume (how?) */
-  /* FIXME: Need to destroy all local groups */
-  /* FIXME: Need to migrate all remotely visible players to the new host */
-
-  /* Invoke the SP callback to inform of session close */
-  if( This->dp2->spData.lpCB->CloseEx )
-  {
-    DPSP_CLOSEDATA data;
-
-    TRACE( "Calling SP CloseEx\n" );
+    IDirectPlayImpl *This = impl_from_IDirectPlay4A( iface );
+    return IDirectPlayX_Close( &This->IDirectPlay4_iface);
+}
 
-    data.lpISP = This->dp2->spData.lpISP;
+static HRESULT WINAPI IDirectPlay4Impl_Close( IDirectPlay4 *iface )
+{
+    IDirectPlayImpl *This = impl_from_IDirectPlay4( iface );
+    HRESULT hr = DP_OK;
 
-    hr = (*This->dp2->spData.lpCB->CloseEx)( &data );
+    TRACE( "(%p)", This );
 
-  }
-  else if ( This->dp2->spData.lpCB->Close ) /* Try obsolete version */
-  {
-    TRACE( "Calling SP Close (obsolete interface)\n" );
+    /* FIXME: Need to find a new host I assume (how?) */
+    /* FIXME: Need to destroy all local groups */
+    /* FIXME: Need to migrate all remotely visible players to the new host */
 
-    hr = (*This->dp2->spData.lpCB->Close)();
-  }
-
-  return hr;
-}
+    /* Invoke the SP callback to inform of session close */
+    if( This->dp2->spData.lpCB->CloseEx )
+    {
+        DPSP_CLOSEDATA data;
 
-static HRESULT WINAPI IDirectPlay4AImpl_Close( IDirectPlay4A *iface )
-{
-  IDirectPlayImpl *This = impl_from_IDirectPlay4A( iface );
-  return DP_IF_Close( This, TRUE );
-}
+        TRACE( "Calling SP CloseEx\n" );
+        data.lpISP = This->dp2->spData.lpISP;
+        hr = (*This->dp2->spData.lpCB->CloseEx)( &data );
+    }
+    else if ( This->dp2->spData.lpCB->Close ) /* Try obsolete version */
+    {
+        TRACE( "Calling SP Close (obsolete interface)\n" );
+        hr = (*This->dp2->spData.lpCB->Close)();
+    }
 
-static HRESULT WINAPI DirectPlay2WImpl_Close
-          ( LPDIRECTPLAY2 iface )
-{
-  IDirectPlay2Impl *This = (IDirectPlay2Impl *)iface;
-  return DP_IF_Close( This, FALSE );
+    return hr;
 }
 
 static
@@ -4596,7 +4585,7 @@ static const IDirectPlay4Vtbl dp4_vt =
     IDirectPlay4Impl_Release,
 
   XCAST(AddPlayerToGroup)DirectPlay2WImpl_AddPlayerToGroup,
-  XCAST(Close)DirectPlay2WImpl_Close,
+    IDirectPlay4Impl_Close,
   XCAST(CreateGroup)DirectPlay2WImpl_CreateGroup,
   XCAST(CreatePlayer)DirectPlay2WImpl_CreatePlayer,
   XCAST(DeletePlayerFromGroup)DirectPlay2WImpl_DeletePlayerFromGroup,




More information about the wine-cvs mailing list