Module: wine Branch: master Commit: 878a6a5a06908ebc97c51c7178756f70c6fb66d9 URL: http://source.winehq.org/git/wine.git/?a=commit;h=878a6a5a06908ebc97c51c7178...
Author: Michael Stefaniuc mstefani@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,