winehq.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
January
2003
December
November
October
September
August
July
June
May
April
March
February
January
2002
December
November
October
September
August
July
June
May
April
March
February
January
2001
December
November
October
September
August
July
June
May
April
March
February
List overview
wine-commits
April 2013
----- 2025 -----
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
----- 2003 -----
December 2003
November 2003
October 2003
September 2003
August 2003
July 2003
June 2003
May 2003
April 2003
March 2003
February 2003
January 2003
----- 2002 -----
December 2002
November 2002
October 2002
September 2002
August 2002
July 2002
June 2002
May 2002
April 2002
March 2002
February 2002
January 2002
----- 2001 -----
December 2001
November 2001
October 2001
September 2001
August 2001
July 2001
June 2001
May 2001
April 2001
March 2001
February 2001
wine-commits@winehq.org
2 participants
579 discussions
Start a n
N
ew thread
Michael Stefaniuc : dplayx: Cleanup the IDirectPlay_Cancel* methods.
by Alexandre Julliard
02 Apr '13
02 Apr '13
Module: wine Branch: master Commit: 73fa61d3b52275bc1af953cf013f883912826acd URL:
http://source.winehq.org/git/wine.git/?a=commit;h=73fa61d3b52275bc1af953cf0…
Author: Michael Stefaniuc <mstefani(a)redhat.de> Date: Fri Mar 29 17:07:24 2013 +0100 dplayx: Cleanup the IDirectPlay_Cancel* methods. --- dlls/dplayx/dplay.c | 126 +++++++++++++++++++-------------------------------- 1 files changed, 46 insertions(+), 80 deletions(-) diff --git a/dlls/dplayx/dplay.c b/dlls/dplayx/dplay.c index b0eb731..405aee7 100644 --- a/dlls/dplayx/dplay.c +++ b/dlls/dplayx/dplay.c @@ -120,9 +120,6 @@ static HRESULT DP_SP_SendEx ( IDirectPlay2Impl* This, DWORD dwFlags, LPVOID lpData, DWORD dwDataSize, DWORD dwPriority, DWORD dwTimeout, LPVOID lpContext, LPDWORD lpdwMsgID ); -static HRESULT DP_IF_CancelMessage - ( IDirectPlay4Impl* This, DWORD dwMsgID, DWORD dwFlags, - DWORD dwMinPriority, DWORD dwMaxPriority, BOOL bAnsi ); static BOOL CALLBACK cbDPCreateEnumConnections( LPCGUID lpguidSP, LPVOID lpConnection, DWORD dwConnectionSize, LPCDPNAME lpName, DWORD dwFlags, LPVOID lpContext ); @@ -4018,104 +4015,73 @@ static HRESULT WINAPI IDirectPlay4Impl_GetMessageQueue( IDirectPlay4 *iface, DPI return hr; } -static HRESULT DP_IF_CancelMessage - ( IDirectPlay4Impl* This, DWORD dwMsgID, DWORD dwFlags, - DWORD dwMinPriority, DWORD dwMaxPriority, BOOL bAnsi ) +static HRESULT dplay_cancelmsg ( IDirectPlayImpl* This, DWORD msgid, DWORD flags, DWORD minprio, + DWORD maxprio ) { - HRESULT hr = DP_OK; + HRESULT hr = DP_OK; - FIXME( "(%p)->(0x%08x,0x%08x,%u): semi stub\n", - This, dwMsgID, dwFlags, bAnsi ); + FIXME( "(%p)->(0x%08x,0x%08x): semi stub\n", This, msgid, flags ); - if( This->dp2->spData.lpCB->Cancel ) - { - DPSP_CANCELDATA data; + if ( This->dp2->spData.lpCB->Cancel ) + { + DPSP_CANCELDATA data; - TRACE( "Calling SP Cancel\n" ); + TRACE( "Calling SP Cancel\n" ); - /* FIXME: Undocumented callback */ + /* FIXME: Undocumented callback */ - data.lpISP = This->dp2->spData.lpISP; - data.dwFlags = dwFlags; - data.lprglpvSPMsgID = NULL; - data.cSPMsgID = dwMsgID; - data.dwMinPriority = dwMinPriority; - data.dwMaxPriority = dwMaxPriority; + data.lpISP = This->dp2->spData.lpISP; + data.dwFlags = flags; + data.lprglpvSPMsgID = NULL; + data.cSPMsgID = msgid; + data.dwMinPriority = minprio; + data.dwMaxPriority = maxprio; - hr = (*This->dp2->spData.lpCB->Cancel)( &data ); - } - else - { - FIXME( "SP doesn't implement Cancel\n" ); - } + hr = (*This->dp2->spData.lpCB->Cancel)( &data ); + } + else + FIXME( "SP doesn't implement Cancel\n" ); - return hr; + return hr; } -static HRESULT WINAPI DirectPlay4AImpl_CancelMessage - ( LPDIRECTPLAY4A iface, DWORD dwMsgID, DWORD dwFlags ) +static HRESULT WINAPI IDirectPlay4AImpl_CancelMessage( IDirectPlay4A *iface, DWORD msgid, + DWORD flags ) { - IDirectPlayImpl *This = impl_from_IDirectPlay4A( iface ); - - if( dwFlags != 0 ) - { - return DPERR_INVALIDFLAGS; - } - - if( dwMsgID == 0 ) - { - dwFlags |= DPCANCELSEND_ALL; - } - - return DP_IF_CancelMessage( This, dwMsgID, dwFlags, 0, 0, TRUE ); + IDirectPlayImpl *This = impl_from_IDirectPlay4A( iface ); + return IDirectPlayX_CancelMessage( &This->IDirectPlay4_iface, msgid, flags ); } -static HRESULT WINAPI DirectPlay4WImpl_CancelMessage - ( LPDIRECTPLAY4 iface, DWORD dwMsgID, DWORD dwFlags ) +static HRESULT WINAPI IDirectPlay4Impl_CancelMessage( IDirectPlay4 *iface, DWORD msgid, + DWORD flags ) { - IDirectPlay4Impl *This = (IDirectPlay4Impl *)iface; + IDirectPlayImpl *This = impl_from_IDirectPlay4( iface ); - if( dwFlags != 0 ) - { - return DPERR_INVALIDFLAGS; - } + if ( flags != 0 ) + return DPERR_INVALIDFLAGS; - if( dwMsgID == 0 ) - { - dwFlags |= DPCANCELSEND_ALL; - } + if ( msgid == 0 ) + flags |= DPCANCELSEND_ALL; - return DP_IF_CancelMessage( This, dwMsgID, dwFlags, 0, 0, FALSE ); + return dplay_cancelmsg( This, msgid, flags, 0, 0 ); } -static HRESULT WINAPI DirectPlay4AImpl_CancelPriority - ( LPDIRECTPLAY4A iface, DWORD dwMinPriority, DWORD dwMaxPriority, - DWORD dwFlags ) +static HRESULT WINAPI IDirectPlay4AImpl_CancelPriority( IDirectPlay4A *iface, DWORD minprio, + DWORD maxprio, DWORD flags ) { - IDirectPlayImpl *This = impl_from_IDirectPlay4A( iface ); - - if( dwFlags != 0 ) - { - return DPERR_INVALIDFLAGS; - } - - return DP_IF_CancelMessage( This, 0, DPCANCELSEND_PRIORITY, dwMinPriority, - dwMaxPriority, TRUE ); + IDirectPlayImpl *This = impl_from_IDirectPlay4A( iface ); + return IDirectPlayX_CancelPriority( &This->IDirectPlay4_iface, minprio, maxprio, flags ); } -static HRESULT WINAPI DirectPlay4WImpl_CancelPriority - ( LPDIRECTPLAY4 iface, DWORD dwMinPriority, DWORD dwMaxPriority, - DWORD dwFlags ) +static HRESULT WINAPI IDirectPlay4Impl_CancelPriority( IDirectPlay4 *iface, DWORD minprio, + DWORD maxprio, DWORD flags ) { - IDirectPlay4Impl *This = (IDirectPlay4Impl *)iface; + IDirectPlayImpl *This = impl_from_IDirectPlay4( iface ); - if( dwFlags != 0 ) - { - return DPERR_INVALIDFLAGS; - } + if ( flags != 0 ) + return DPERR_INVALIDFLAGS; - return DP_IF_CancelMessage( This, 0, DPCANCELSEND_PRIORITY, dwMinPriority, - dwMaxPriority, FALSE ); + return dplay_cancelmsg( This, 0, DPCANCELSEND_PRIORITY, minprio, maxprio ); } /* Note: Hack so we can reuse the old functions without compiler warnings */ @@ -4173,8 +4139,8 @@ static const IDirectPlay4Vtbl dp4_vt = IDirectPlay4Impl_SetGroupOwner, IDirectPlay4Impl_SendEx, IDirectPlay4Impl_GetMessageQueue, - DirectPlay4WImpl_CancelMessage, - DirectPlay4WImpl_CancelPriority + IDirectPlay4Impl_CancelMessage, + IDirectPlay4Impl_CancelPriority }; #undef XCAST @@ -4232,8 +4198,8 @@ static const IDirectPlay4Vtbl dp4A_vt = DirectPlay4AImpl_SetGroupOwner, IDirectPlay4AImpl_SendEx, IDirectPlay4AImpl_GetMessageQueue, - DirectPlay4AImpl_CancelMessage, - DirectPlay4AImpl_CancelPriority + IDirectPlay4AImpl_CancelMessage, + IDirectPlay4AImpl_CancelPriority }; HRESULT dplay_create( REFIID riid, void **ppv )
1
0
0
0
Michael Stefaniuc : dplayx: Merge the IDirectPlay4_GetMessageQueue helper.
by Alexandre Julliard
02 Apr '13
02 Apr '13
Module: wine Branch: master Commit: da430fd17cef850c4ea5005a70e51d18c4636491 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=da430fd17cef850c4ea5005a7…
Author: Michael Stefaniuc <mstefani(a)redhat.de> Date: Fri Mar 29 17:06:39 2013 +0100 dplayx: Merge the IDirectPlay4_GetMessageQueue helper. --- dlls/dplayx/dplay.c | 80 +++++++++++++++++++------------------------------- 1 files changed, 31 insertions(+), 49 deletions(-) diff --git a/dlls/dplayx/dplay.c b/dlls/dplayx/dplay.c index 91becd8..b0eb731 100644 --- a/dlls/dplayx/dplay.c +++ b/dlls/dplayx/dplay.c @@ -116,9 +116,6 @@ static HRESULT DP_SecureOpen static HRESULT DP_IF_Receive ( IDirectPlay2Impl* This, LPDPID lpidFrom, LPDPID lpidTo, DWORD dwFlags, LPVOID lpData, LPDWORD lpdwDataSize, BOOL bAnsi ); -static HRESULT DP_IF_GetMessageQueue - ( IDirectPlay4Impl* This, DPID idFrom, DPID idTo, DWORD dwFlags, - LPDWORD lpdwNumMsgs, LPDWORD lpdwNumBytes, BOOL bAnsi ); static HRESULT DP_SP_SendEx ( IDirectPlay2Impl* This, DWORD dwFlags, LPVOID lpData, DWORD dwDataSize, DWORD dwPriority, DWORD dwTimeout, @@ -3981,59 +3978,44 @@ static HRESULT DP_SP_SendEx return DP_OK; } -static HRESULT DP_IF_GetMessageQueue - ( IDirectPlay4Impl* This, DPID idFrom, DPID idTo, DWORD dwFlags, - LPDWORD lpdwNumMsgs, LPDWORD lpdwNumBytes, BOOL bAnsi ) +static HRESULT WINAPI IDirectPlay4AImpl_GetMessageQueue( IDirectPlay4A *iface, DPID from, DPID to, + DWORD flags, DWORD *msgs, DWORD *bytes ) { - HRESULT hr = DP_OK; - - FIXME( "(%p)->(0x%08x,0x%08x,0x%08x,%p,%p,%u): semi stub\n", - This, idFrom, idTo, dwFlags, lpdwNumMsgs, lpdwNumBytes, bAnsi ); - - /* FIXME: Do we need to do idFrom and idTo sanity checking here? */ - /* FIXME: What about sends which are not immediate? */ + IDirectPlayImpl *This = impl_from_IDirectPlay4A( iface ); + return IDirectPlayX_GetMessageQueue( &This->IDirectPlay4_iface, from, to, flags, msgs, bytes ); +} - if( This->dp2->spData.lpCB->GetMessageQueue ) - { - DPSP_GETMESSAGEQUEUEDATA data; +static HRESULT WINAPI IDirectPlay4Impl_GetMessageQueue( IDirectPlay4 *iface, DPID from, DPID to, + DWORD flags, DWORD *msgs, DWORD *bytes ) +{ + IDirectPlayImpl *This = impl_from_IDirectPlay4( iface ); + HRESULT hr = DP_OK; - FIXME( "Calling SP GetMessageQueue - is it right?\n" ); + FIXME( "(%p)->(0x%08x,0x%08x,0x%08x,%p,%p): semi-stub\n", This, from, to, flags, msgs, bytes ); - /* FIXME: None of this is documented :( */ + /* FIXME: Do we need to do from and to sanity checking here? */ + /* FIXME: What about sends which are not immediate? */ - data.lpISP = This->dp2->spData.lpISP; - data.dwFlags = dwFlags; - data.idFrom = idFrom; - data.idTo = idTo; - data.lpdwNumMsgs = lpdwNumMsgs; - data.lpdwNumBytes = lpdwNumBytes; + if ( This->dp2->spData.lpCB->GetMessageQueue ) + { + DPSP_GETMESSAGEQUEUEDATA data; - hr = (*This->dp2->spData.lpCB->GetMessageQueue)( &data ); - } - else - { - FIXME( "No SP for GetMessageQueue - fake some data\n" ); - } + FIXME( "Calling SP GetMessageQueue - is it right?\n" ); - return hr; -} + /* FIXME: None of this is documented :( */ + data.lpISP = This->dp2->spData.lpISP; + data.dwFlags = flags; + data.idFrom = from; + data.idTo = to; + data.lpdwNumMsgs = msgs; + data.lpdwNumBytes = bytes; -static HRESULT WINAPI DirectPlay4AImpl_GetMessageQueue - ( LPDIRECTPLAY4A iface, DPID idFrom, DPID idTo, DWORD dwFlags, - LPDWORD lpdwNumMsgs, LPDWORD lpdwNumBytes ) -{ - IDirectPlayImpl *This = impl_from_IDirectPlay4A( iface ); - return DP_IF_GetMessageQueue( This, idFrom, idTo, dwFlags, lpdwNumMsgs, - lpdwNumBytes, TRUE ); -} + hr = (*This->dp2->spData.lpCB->GetMessageQueue)( &data ); + } + else + FIXME( "No SP for GetMessageQueue - fake some data\n" ); -static HRESULT WINAPI DirectPlay4WImpl_GetMessageQueue - ( LPDIRECTPLAY4 iface, DPID idFrom, DPID idTo, DWORD dwFlags, - LPDWORD lpdwNumMsgs, LPDWORD lpdwNumBytes ) -{ - IDirectPlay4Impl *This = (IDirectPlay4Impl *)iface; - return DP_IF_GetMessageQueue( This, idFrom, idTo, dwFlags, lpdwNumMsgs, - lpdwNumBytes, FALSE ); + return hr; } static HRESULT DP_IF_CancelMessage @@ -4190,7 +4172,7 @@ static const IDirectPlay4Vtbl dp4_vt = IDirectPlay4Impl_GetGroupOwner, IDirectPlay4Impl_SetGroupOwner, IDirectPlay4Impl_SendEx, - DirectPlay4WImpl_GetMessageQueue, + IDirectPlay4Impl_GetMessageQueue, DirectPlay4WImpl_CancelMessage, DirectPlay4WImpl_CancelPriority }; @@ -4249,7 +4231,7 @@ static const IDirectPlay4Vtbl dp4A_vt = DirectPlay4AImpl_GetGroupOwner, DirectPlay4AImpl_SetGroupOwner, IDirectPlay4AImpl_SendEx, - DirectPlay4AImpl_GetMessageQueue, + IDirectPlay4AImpl_GetMessageQueue, DirectPlay4AImpl_CancelMessage, DirectPlay4AImpl_CancelPriority };
1
0
0
0
Michael Stefaniuc : dplayx: Merge the IDirectPlay4_SendEx helper.
by Alexandre Julliard
02 Apr '13
02 Apr '13
Module: wine Branch: master Commit: 7964f423278b410e06ebb456739525a13c22fec5 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=7964f423278b410e06ebb4567…
Author: Michael Stefaniuc <mstefani(a)redhat.de> Date: Fri Mar 29 17:05:50 2013 +0100 dplayx: Merge the IDirectPlay4_SendEx helper. --- dlls/dplayx/dplay.c | 188 ++++++++++++++++---------------------------------- 1 files changed, 60 insertions(+), 128 deletions(-) Diff:
http://source.winehq.org/git/wine.git/?a=commitdiff;h=7964f423278b410e06ebb…
1
0
0
0
Michael Stefaniuc : dplayx: Merge the IDirectPlay4_EnumSessions helper.
by Alexandre Julliard
02 Apr '13
02 Apr '13
Module: wine Branch: master Commit: 31065c62d4bcba500107a71d32bf13424f9f83d0 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=31065c62d4bcba500107a71d3…
Author: Michael Stefaniuc <mstefani(a)redhat.de> Date: Fri Mar 29 17:04:20 2013 +0100 dplayx: Merge the IDirectPlay4_EnumSessions helper. --- dlls/dplayx/dplay.c | 276 +++++++++++++++++++++------------------------------ 1 files changed, 111 insertions(+), 165 deletions(-) Diff:
http://source.winehq.org/git/wine.git/?a=commitdiff;h=31065c62d4bcba500107a…
1
0
0
0
Michael Stefaniuc : dplayx: Merge the IDirectPlay4_AddPlayerToGroup helper.
by Alexandre Julliard
02 Apr '13
02 Apr '13
Module: wine Branch: master Commit: 5dc2b8f69cf3d564e3193d00cdc966cea5dd2c62 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=5dc2b8f69cf3d564e3193d00c…
Author: Michael Stefaniuc <mstefani(a)redhat.de> Date: Fri Mar 29 17:03:51 2013 +0100 dplayx: Merge the IDirectPlay4_AddPlayerToGroup helper. --- dlls/dplayx/dplay.c | 166 ++++++++++++++++++++++---------------------------- 1 files changed, 73 insertions(+), 93 deletions(-) diff --git a/dlls/dplayx/dplay.c b/dlls/dplayx/dplay.c index e01034d..ff08b0b 100644 --- a/dlls/dplayx/dplay.c +++ b/dlls/dplayx/dplay.c @@ -106,9 +106,6 @@ static HRESULT DP_IF_CreateGroupInGroup ( IDirectPlay3Impl* This, LPVOID lpMsgHdr, DPID idParentGroup, LPDPID lpidGroup, LPDPNAME lpGroupName, LPVOID lpData, DWORD dwDataSize, DWORD dwFlags, BOOL bAnsi ); -static HRESULT DP_IF_AddPlayerToGroup - ( IDirectPlay2Impl* This, LPVOID lpMsgHdr, DPID idGroup, - DPID idPlayer, BOOL bAnsi ); static HRESULT DP_SetSessionDesc ( IDirectPlay2Impl* This, LPCDPSESSIONDESC2 lpSessDesc, DWORD dwFlags, BOOL bInitial, BOOL bAnsi ); @@ -428,86 +425,6 @@ HRESULT DP_HandleMessage( IDirectPlay2Impl* This, LPCVOID lpcMessageBody, } -static HRESULT DP_IF_AddPlayerToGroup - ( IDirectPlay2Impl* This, LPVOID lpMsgHdr, DPID idGroup, - DPID idPlayer, BOOL bAnsi ) -{ - lpGroupData lpGData; - lpPlayerList lpPList; - lpPlayerList lpNewPList; - - TRACE( "(%p)->(%p,0x%08x,0x%08x,%u)\n", - This, lpMsgHdr, idGroup, idPlayer, bAnsi ); - - if( This->dp2->connectionInitialized == NO_PROVIDER ) - { - return DPERR_UNINITIALIZED; - } - - /* Find the group */ - if( ( lpGData = DP_FindAnyGroup( This, idGroup ) ) == NULL ) - { - return DPERR_INVALIDGROUP; - } - - /* Find the player */ - if( ( lpPList = DP_FindPlayer( This, idPlayer ) ) == NULL ) - { - return DPERR_INVALIDPLAYER; - } - - /* Create a player list (ie "shortcut" ) */ - lpNewPList = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof( *lpNewPList ) ); - if( lpNewPList == NULL ) - { - return DPERR_CANTADDPLAYER; - } - - /* Add the shortcut */ - lpPList->lpPData->uRef++; - lpNewPList->lpPData = lpPList->lpPData; - - /* Add the player to the list of players for this group */ - DPQ_INSERT(lpGData->players,lpNewPList,players); - - /* Let the SP know that we've added a player to the group */ - if( This->dp2->spData.lpCB->AddPlayerToGroup ) - { - DPSP_ADDPLAYERTOGROUPDATA data; - - TRACE( "Calling SP AddPlayerToGroup\n" ); - - data.idPlayer = idPlayer; - data.idGroup = idGroup; - data.lpISP = This->dp2->spData.lpISP; - - (*This->dp2->spData.lpCB->AddPlayerToGroup)( &data ); - } - - /* Inform all other peers of the addition of player to the group. If there are - * no peers keep this event quiet. - * Also, if this event was the result of another machine sending it to us, - * don't bother rebroadcasting it. - */ - if( ( lpMsgHdr == NULL ) && - This->dp2->lpSessionDesc && - ( This->dp2->lpSessionDesc->dwFlags & DPSESSION_MULTICASTSERVER ) ) - { - DPMSG_ADDPLAYERTOGROUP msg; - msg.dwType = DPSYS_ADDPLAYERTOGROUP; - - msg.dpIdGroup = idGroup; - msg.dpIdPlayer = idPlayer; - - /* FIXME: Correct to just use send effectively? */ - /* FIXME: Should size include data w/ message or just message "header" */ - /* FIXME: Check return code */ - DP_SendEx( This, DPID_SERVERPLAYER, DPID_ALLPLAYERS, 0, &msg, sizeof( msg ), 0, 0, NULL, NULL, bAnsi ); - } - - return DP_OK; -} - static HRESULT WINAPI IDirectPlay4AImpl_QueryInterface( IDirectPlay4A *iface, REFIID riid, void **ppv ) { @@ -618,18 +535,82 @@ static ULONG WINAPI IDirectPlay4Impl_Release(IDirectPlay4 *iface) return ref; } -static HRESULT WINAPI IDirectPlay4AImpl_AddPlayerToGroup( IDirectPlay4A *iface, DPID idGroup, - DPID idPlayer ) +static HRESULT WINAPI IDirectPlay4AImpl_AddPlayerToGroup( IDirectPlay4A *iface, DPID group, + DPID player ) { - IDirectPlayImpl *This = impl_from_IDirectPlay4A( iface ); - return DP_IF_AddPlayerToGroup( This, NULL, idGroup, idPlayer, TRUE ); + IDirectPlayImpl *This = impl_from_IDirectPlay4A( iface ); + return IDirectPlayX_AddPlayerToGroup( &This->IDirectPlay4_iface, group, player ); } -static HRESULT WINAPI DirectPlay2WImpl_AddPlayerToGroup - ( LPDIRECTPLAY2 iface, DPID idGroup, DPID idPlayer ) +static HRESULT WINAPI IDirectPlay4Impl_AddPlayerToGroup( IDirectPlay4 *iface, DPID group, + DPID player ) { - IDirectPlay2Impl *This = (IDirectPlay2Impl *)iface; - return DP_IF_AddPlayerToGroup( This, NULL, idGroup, idPlayer, FALSE ); + IDirectPlayImpl *This = impl_from_IDirectPlay4( iface ); + lpGroupData gdata; + lpPlayerList plist; + lpPlayerList newplist; + + TRACE( "(%p)->(0x%08x,0x%08x)\n", This, group, player ); + + if ( This->dp2->connectionInitialized == NO_PROVIDER ) + return DPERR_UNINITIALIZED; + + /* Find the group */ + if ( ( gdata = DP_FindAnyGroup( This, group ) ) == NULL ) + return DPERR_INVALIDGROUP; + + /* Find the player */ + if ( ( plist = DP_FindPlayer( This, player ) ) == NULL ) + return DPERR_INVALIDPLAYER; + + /* Create a player list (ie "shortcut" ) */ + newplist = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof( *newplist ) ); + if ( !newplist ) + return DPERR_CANTADDPLAYER; + + /* Add the shortcut */ + plist->lpPData->uRef++; + newplist->lpPData = plist->lpPData; + + /* Add the player to the list of players for this group */ + DPQ_INSERT(gdata->players, newplist, players); + + /* Let the SP know that we've added a player to the group */ + if ( This->dp2->spData.lpCB->AddPlayerToGroup ) + { + DPSP_ADDPLAYERTOGROUPDATA data; + + TRACE( "Calling SP AddPlayerToGroup\n" ); + + data.idPlayer = player; + data.idGroup = group; + data.lpISP = This->dp2->spData.lpISP; + + (*This->dp2->spData.lpCB->AddPlayerToGroup)( &data ); + } + + /* Inform all other peers of the addition of player to the group. If there are + * no peers keep this event quiet. + * Also, if this event was the result of another machine sending it to us, + * don't bother rebroadcasting it. + */ + if ( This->dp2->lpSessionDesc && + ( This->dp2->lpSessionDesc->dwFlags & DPSESSION_MULTICASTSERVER ) ) + { + DPMSG_ADDPLAYERTOGROUP msg; + msg.dwType = DPSYS_ADDPLAYERTOGROUP; + + msg.dpIdGroup = group; + msg.dpIdPlayer = player; + + /* FIXME: Correct to just use send effectively? */ + /* FIXME: Should size include data w/ message or just message "header" */ + /* FIXME: Check return code */ + IDirectPlayX_SendEx( iface, DPID_SERVERPLAYER, DPID_ALLPLAYERS, 0, &msg, sizeof( msg ), + 0, 0, NULL, NULL ); + } + + return DP_OK; } static HRESULT WINAPI IDirectPlay4AImpl_Close( IDirectPlay4A *iface ) @@ -4284,8 +4265,7 @@ static const IDirectPlay4Vtbl dp4_vt = IDirectPlay4Impl_QueryInterface, IDirectPlay4Impl_AddRef, IDirectPlay4Impl_Release, - - XCAST(AddPlayerToGroup)DirectPlay2WImpl_AddPlayerToGroup, + IDirectPlay4Impl_AddPlayerToGroup, IDirectPlay4Impl_Close, XCAST(CreateGroup)DirectPlay2WImpl_CreateGroup, XCAST(CreatePlayer)DirectPlay2WImpl_CreatePlayer,
1
0
0
0
Michael Stefaniuc : dplayx: Merge the IDirectPlay4_GetGroupParent helper.
by Alexandre Julliard
02 Apr '13
02 Apr '13
Module: wine Branch: master Commit: 06edee2da763259638c1399a550125f4268e4f39 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=06edee2da763259638c1399a5…
Author: Michael Stefaniuc <mstefani(a)redhat.de> Date: Fri Mar 29 17:03:19 2013 +0100 dplayx: Merge the IDirectPlay4_GetGroupParent helper. --- dlls/dplayx/dplay.c | 43 ++++++++++++++++--------------------------- 1 files changed, 16 insertions(+), 27 deletions(-) diff --git a/dlls/dplayx/dplay.c b/dlls/dplayx/dplay.c index ff4f469..e01034d 100644 --- a/dlls/dplayx/dplay.c +++ b/dlls/dplayx/dplay.c @@ -133,9 +133,6 @@ static HRESULT DP_SP_SendEx static HRESULT DP_IF_CancelMessage ( IDirectPlay4Impl* This, DWORD dwMsgID, DWORD dwFlags, DWORD dwMinPriority, DWORD dwMaxPriority, BOOL bAnsi ); -static HRESULT DP_IF_GetGroupParent - ( IDirectPlay3AImpl* This, DPID idGroup, LPDPID lpidGroup, - BOOL bAnsi ); static HRESULT DP_IF_EnumSessions ( IDirectPlay2Impl* This, LPDPSESSIONDESC2 lpsd, DWORD dwTimeout, LPDPENUMSESSIONSCALLBACK2 lpEnumSessionsCallback2, @@ -3879,35 +3876,27 @@ static HRESULT WINAPI IDirectPlay4Impl_GetGroupFlags( IDirectPlay4 *iface, DPID return DP_OK; } -static HRESULT DP_IF_GetGroupParent - ( IDirectPlay3AImpl* This, DPID idGroup, LPDPID lpidGroup, - BOOL bAnsi ) +static HRESULT WINAPI IDirectPlay4AImpl_GetGroupParent( IDirectPlay4A *iface, DPID group, + DPID *parent ) { - lpGroupData lpGData; + IDirectPlayImpl *This = impl_from_IDirectPlay4A( iface ); + return IDirectPlayX_GetGroupParent( &This->IDirectPlay4_iface, group, parent ); +} - TRACE("(%p)->(0x%08x,%p,%u)\n", This, idGroup, lpidGroup, bAnsi ); +static HRESULT WINAPI IDirectPlay4Impl_GetGroupParent( IDirectPlay4 *iface, DPID group, + DPID *parent ) +{ + IDirectPlayImpl *This = impl_from_IDirectPlay4( iface ); + lpGroupData gdata; - if( ( lpGData = DP_FindAnyGroup( (IDirectPlay2AImpl*)This, idGroup ) ) == NULL ) - { - return DPERR_INVALIDGROUP; - } + TRACE( "(%p)->(0x%08x,%p)\n", This, group, parent ); - *lpidGroup = lpGData->dpid; + if ( ( gdata = DP_FindAnyGroup( This, group ) ) == NULL ) + return DPERR_INVALIDGROUP; - return DP_OK; -} + *parent = gdata->dpid; -static HRESULT WINAPI IDirectPlay4AImpl_GetGroupParent( IDirectPlay4A *iface, DPID idGroup, - DPID *lpidGroup ) -{ - IDirectPlayImpl *This = impl_from_IDirectPlay4A( iface ); - return DP_IF_GetGroupParent( This, idGroup, lpidGroup, TRUE ); -} -static HRESULT WINAPI DirectPlay3WImpl_GetGroupParent - ( LPDIRECTPLAY3 iface, DPID idGroup, LPDPID lpidGroup ) -{ - IDirectPlay3Impl *This = (IDirectPlay3Impl *)iface; - return DP_IF_GetGroupParent( This, idGroup, lpidGroup, FALSE ); + return DP_OK; } static HRESULT WINAPI IDirectPlay4AImpl_GetPlayerAccount( IDirectPlay4A *iface, DPID player, @@ -4337,7 +4326,7 @@ static const IDirectPlay4Vtbl dp4_vt = IDirectPlay4Impl_SetGroupConnectionSettings, IDirectPlay4Impl_StartSession, IDirectPlay4Impl_GetGroupFlags, - XCAST(GetGroupParent)DirectPlay3WImpl_GetGroupParent, + IDirectPlay4Impl_GetGroupParent, IDirectPlay4Impl_GetPlayerAccount, IDirectPlay4Impl_GetPlayerFlags, IDirectPlay4Impl_GetGroupOwner,
1
0
0
0
Michael Stefaniuc : dplayx: Merge the IDirectPlay4_InitializeConnection helper.
by Alexandre Julliard
02 Apr '13
02 Apr '13
Module: wine Branch: master Commit: 03464daa3d8a66dfa8f3cae400dc8acdee4dfbd3 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=03464daa3d8a66dfa8f3cae40…
Author: Michael Stefaniuc <mstefani(a)redhat.de> Date: Fri Mar 29 17:02:30 2013 +0100 dplayx: Merge the IDirectPlay4_InitializeConnection helper. --- dlls/dplayx/dplay.c | 144 +++++++++++++++++++------------------------------- 1 files changed, 55 insertions(+), 89 deletions(-) diff --git a/dlls/dplayx/dplay.c b/dlls/dplayx/dplay.c index 6547b3c..ff4f469 100644 --- a/dlls/dplayx/dplay.c +++ b/dlls/dplayx/dplay.c @@ -140,8 +140,6 @@ static HRESULT DP_IF_EnumSessions ( IDirectPlay2Impl* This, LPDPSESSIONDESC2 lpsd, DWORD dwTimeout, LPDPENUMSESSIONSCALLBACK2 lpEnumSessionsCallback2, LPVOID lpContext, DWORD dwFlags, BOOL bAnsi ); -static HRESULT DP_IF_InitializeConnection - ( IDirectPlay3Impl* This, LPVOID lpConnection, DWORD dwFlags, BOOL bAnsi ); static BOOL CALLBACK cbDPCreateEnumConnections( LPCGUID lpguidSP, LPVOID lpConnection, DWORD dwConnectionSize, LPCDPNAME lpName, DWORD dwFlags, LPVOID lpContext ); @@ -1896,8 +1894,7 @@ static HRESULT DP_IF_EnumSessions return DPERR_GENERIC; } - hr = DP_IF_InitializeConnection( (IDirectPlay3Impl*)This, lpConnection, - 0, bAnsi ); + hr = IDirectPlayX_InitializeConnection( &This->IDirectPlay4_iface, lpConnection, 0 ); if( FAILED(hr) ) { return hr; @@ -3735,103 +3732,72 @@ HRESULT DP_InitializeDPLSP( IDirectPlay3Impl* This, HMODULE hLobbyProvider ) return hr; } -static HRESULT DP_IF_InitializeConnection - ( IDirectPlay3Impl* This, LPVOID lpConnection, DWORD dwFlags, BOOL bAnsi ) +static HRESULT WINAPI IDirectPlay4AImpl_InitializeConnection( IDirectPlay4A *iface, + void *connection, DWORD flags ) { - HMODULE hServiceProvider; - HRESULT hr; - GUID guidSP; - const DWORD dwAddrSize = 80; /* FIXME: Need to calculate it correctly */ - BOOL bIsDpSp; /* TRUE if Direct Play SP, FALSE if Direct Play Lobby SP */ - - TRACE("(%p)->(%p,0x%08x,%u)\n", This, lpConnection, dwFlags, bAnsi ); - - if ( lpConnection == NULL ) - { - return DPERR_INVALIDPARAMS; - } - - if( dwFlags != 0 ) - { - return DPERR_INVALIDFLAGS; - } - - if( This->dp2->connectionInitialized != NO_PROVIDER ) - { - return DPERR_ALREADYINITIALIZED; - } - - /* Find out what the requested SP is and how large this buffer is */ - hr = DPL_EnumAddress( DP_GetSpLpGuidFromCompoundAddress, lpConnection, - dwAddrSize, &guidSP ); - - if( FAILED(hr) ) - { - ERR( "Invalid compound address?\n" ); - return DPERR_UNAVAILABLE; - } - - /* Load the service provider */ - hServiceProvider = DP_LoadSP( &guidSP, &This->dp2->spData, &bIsDpSp ); + IDirectPlayImpl *This = impl_from_IDirectPlay4A( iface ); + return IDirectPlayX_InitializeConnection( &This->IDirectPlay4_iface, connection, flags ); +} - if( hServiceProvider == 0 ) - { - ERR( "Unable to load service provider %s\n", debugstr_guid(&guidSP) ); - return DPERR_UNAVAILABLE; - } +static HRESULT WINAPI IDirectPlay4Impl_InitializeConnection( IDirectPlay4 *iface, + void *connection, DWORD flags ) +{ + IDirectPlayImpl *This = impl_from_IDirectPlay4( iface ); + HMODULE servprov; + GUID sp; + const DWORD size = 80; /* FIXME: Need to calculate it correctly */ + BOOL is_dp_sp; /* TRUE if Direct Play SP, FALSE if Direct Play Lobby SP */ + HRESULT hr; - if( bIsDpSp ) - { - /* Fill in what we can of the Service Provider required information. - * The rest was be done in DP_LoadSP - */ - This->dp2->spData.lpAddress = lpConnection; - This->dp2->spData.dwAddressSize = dwAddrSize; - This->dp2->spData.lpGuid = &guidSP; + TRACE( "(%p)->(%p,0x%08x)\n", This, connection, flags ); - hr = DP_InitializeDPSP( This, hServiceProvider ); - } - else - { - This->dp2->dplspData.lpAddress = lpConnection; + if ( !connection ) + return DPERR_INVALIDPARAMS; - hr = DP_InitializeDPLSP( This, hServiceProvider ); - } + if ( flags ) + return DPERR_INVALIDFLAGS; - if( FAILED(hr) ) - { - return hr; - } + if ( This->dp2->connectionInitialized != NO_PROVIDER ) + return DPERR_ALREADYINITIALIZED; - return DP_OK; -} + /* Find out what the requested SP is and how large this buffer is */ + hr = DPL_EnumAddress( DP_GetSpLpGuidFromCompoundAddress, connection, size, &sp ); -static HRESULT WINAPI IDirectPlay4AImpl_InitializeConnection( IDirectPlay4A *iface, - void *lpConnection, DWORD dwFlags ) -{ - IDirectPlayImpl *This = impl_from_IDirectPlay4A( iface ); + if ( FAILED(hr) ) + { + ERR( "Invalid compound address?\n" ); + return DPERR_UNAVAILABLE; + } - /* This may not be externally invoked once either an SP or LP is initialized */ - if( This->dp2->connectionInitialized != NO_PROVIDER ) - { - return DPERR_ALREADYINITIALIZED; - } + /* Load the service provider */ + servprov = DP_LoadSP( &sp, &This->dp2->spData, &is_dp_sp ); - return DP_IF_InitializeConnection( This, lpConnection, dwFlags, TRUE ); -} + if ( !servprov ) + { + ERR( "Unable to load service provider %s\n", debugstr_guid(&sp) ); + return DPERR_UNAVAILABLE; + } -static HRESULT WINAPI DirectPlay3WImpl_InitializeConnection - ( LPDIRECTPLAY3 iface, LPVOID lpConnection, DWORD dwFlags ) -{ - IDirectPlay3Impl *This = (IDirectPlay3Impl *)iface; + if ( is_dp_sp ) + { + /* Fill in what we can of the Service Provider required information. + * The rest was be done in DP_LoadSP + */ + This->dp2->spData.lpAddress = connection; + This->dp2->spData.dwAddressSize = size; + This->dp2->spData.lpGuid = &sp; + hr = DP_InitializeDPSP( This, servprov ); + } + else + { + This->dp2->dplspData.lpAddress = connection; + hr = DP_InitializeDPLSP( This, servprov ); + } - /* This may not be externally invoked once either an SP or LP is initialized */ - if( This->dp2->connectionInitialized != NO_PROVIDER ) - { - return DPERR_ALREADYINITIALIZED; - } + if ( FAILED(hr) ) + return hr; - return DP_IF_InitializeConnection( This, lpConnection, dwFlags, FALSE ); + return DP_OK; } static HRESULT WINAPI IDirectPlay4AImpl_SecureOpen( IDirectPlay4A *iface, @@ -4365,7 +4331,7 @@ static const IDirectPlay4Vtbl dp4_vt = IDirectPlay4Impl_EnumConnections, IDirectPlay4Impl_EnumGroupsInGroup, IDirectPlay4Impl_GetGroupConnectionSettings, - XCAST(InitializeConnection)DirectPlay3WImpl_InitializeConnection, + IDirectPlay4Impl_InitializeConnection, XCAST(SecureOpen)DirectPlay3WImpl_SecureOpen, IDirectPlay4Impl_SendChatMessage, IDirectPlay4Impl_SetGroupConnectionSettings,
1
0
0
0
Michael Stefaniuc : dplayx: Merge the IDirectPlay4_EnumGroupsInGroup helper .
by Alexandre Julliard
02 Apr '13
02 Apr '13
Module: wine Branch: master Commit: c3df4764cf53af62d7c4e056778267652d0f0d83 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=c3df4764cf53af62d7c4e0567…
Author: Michael Stefaniuc <mstefani(a)redhat.de> Date: Fri Mar 29 17:01:34 2013 +0100 dplayx: Merge the IDirectPlay4_EnumGroupsInGroup helper. --- dlls/dplayx/dplay.c | 104 ++++++++++++++++---------------------------------- 1 files changed, 33 insertions(+), 71 deletions(-) diff --git a/dlls/dplayx/dplay.c b/dlls/dplayx/dplay.c index 8345833..6547b3c 100644 --- a/dlls/dplayx/dplay.c +++ b/dlls/dplayx/dplay.c @@ -133,10 +133,6 @@ static HRESULT DP_SP_SendEx static HRESULT DP_IF_CancelMessage ( IDirectPlay4Impl* This, DWORD dwMsgID, DWORD dwFlags, DWORD dwMinPriority, DWORD dwMaxPriority, BOOL bAnsi ); -static HRESULT DP_IF_EnumGroupsInGroup - ( IDirectPlay3AImpl* This, DPID idGroup, LPGUID lpguidInstance, - LPDPENUMPLAYERSCALLBACK2 lpEnumPlayersCallback2, - LPVOID lpContext, DWORD dwFlags, BOOL bAnsi ); static HRESULT DP_IF_GetGroupParent ( IDirectPlay3AImpl* This, DPID idGroup, LPDPID lpidGroup, BOOL bAnsi ); @@ -1533,8 +1529,8 @@ static HRESULT DP_IF_DestroyGroup &context, 0 ); /* Remove all links to groups that this group has since this is dp3 */ - DP_IF_EnumGroupsInGroup( (IDirectPlay3Impl*)This, idGroup, NULL, - cbRemoveGroupOrPlayer, (LPVOID)&context, 0, bAnsi ); + IDirectPlayX_EnumGroupsInGroup( &This->IDirectPlay4_iface, idGroup, NULL, cbRemoveGroupOrPlayer, + (void*)&context, 0 ); /* Remove this group from the parent group - if it has one */ if( ( idGroup != DPID_SYSTEM_GROUP ) && ( lpGData->parent != DPID_SYSTEM_GROUP ) ) @@ -1650,11 +1646,8 @@ cbDeletePlayerFromAllGroups( /* Enumerate all groups in this group since this will normally only * be called for top level groups */ - DP_IF_EnumGroupsInGroup( (IDirectPlay3Impl*)lpCtxt->This, - dpId, NULL, - cbDeletePlayerFromAllGroups, - lpContext, DPENUMGROUPS_ALL, - lpCtxt->bAnsi ); + IDirectPlayX_EnumGroupsInGroup( &lpCtxt->This->IDirectPlay4_iface, dpId, NULL, + cbDeletePlayerFromAllGroups, lpContext, DPENUMGROUPS_ALL); } else @@ -3441,77 +3434,46 @@ static HRESULT WINAPI IDirectPlay4Impl_EnumConnections( IDirectPlay4 *iface, return DP_OK; } -static HRESULT DP_IF_EnumGroupsInGroup - ( IDirectPlay3AImpl* This, DPID idGroup, LPGUID lpguidInstance, - LPDPENUMPLAYERSCALLBACK2 lpEnumPlayersCallback2, - LPVOID lpContext, DWORD dwFlags, BOOL bAnsi ) +static HRESULT WINAPI IDirectPlay4AImpl_EnumGroupsInGroup( IDirectPlay4A *iface, DPID group, + GUID *instance, LPDPENUMPLAYERSCALLBACK2 enumplayercb, void *context, DWORD flags ) { - lpGroupList lpGList; - lpGroupData lpGData; + IDirectPlayImpl *This = impl_from_IDirectPlay4A( iface ); + return IDirectPlayX_EnumGroupsInGroup( &This->IDirectPlay4_iface, group, instance, + enumplayercb, context, flags ); +} - FIXME( "(%p)->(0x%08x,%p,%p,%p,0x%08x,%u): semi stub\n", - This, idGroup, lpguidInstance, lpEnumPlayersCallback2, - lpContext, dwFlags, bAnsi ); +static HRESULT WINAPI IDirectPlay4Impl_EnumGroupsInGroup( IDirectPlay4 *iface, DPID group, + GUID *instance, LPDPENUMPLAYERSCALLBACK2 enumplayercb, void *context, DWORD flags ) +{ + IDirectPlayImpl *This = impl_from_IDirectPlay4( iface ); + lpGroupList glist; + lpGroupData gdata; - if( This->dp2->connectionInitialized == NO_PROVIDER ) - { - return DPERR_UNINITIALIZED; - } + FIXME( "(%p)->(0x%08x,%p,%p,%p,0x%08x): semi stub\n", This, group, instance, enumplayercb, + context, flags ); - if( ( lpGData = DP_FindAnyGroup( (IDirectPlay2AImpl*)This, idGroup ) ) == NULL ) - { - return DPERR_INVALIDGROUP; - } + if ( This->dp2->connectionInitialized == NO_PROVIDER ) + return DPERR_UNINITIALIZED; - if( DPQ_IS_EMPTY( lpGData->groups ) ) - { - return DP_OK; - } + if ( ( gdata = DP_FindAnyGroup(This, group ) ) == NULL ) + return DPERR_INVALIDGROUP; - lpGList = DPQ_FIRST( lpGData->groups ); + if ( DPQ_IS_EMPTY( gdata->groups ) ) + return DP_OK; - for( ;; ) - { - /* FIXME: Should check dwFlags for match here */ - if( !(*lpEnumPlayersCallback2)( lpGList->lpGData->dpid, DPPLAYERTYPE_GROUP, - &lpGList->lpGData->name, dwFlags, - lpContext ) ) + for( glist = DPQ_FIRST( gdata->groups ); ; glist = DPQ_NEXT( glist->groups ) ) { - return DP_OK; /* User requested break */ - } + /* FIXME: Should check flags for match here */ + if ( !(*enumplayercb)( glist->lpGData->dpid, DPPLAYERTYPE_GROUP, &glist->lpGData->name, + flags, context ) ) + return DP_OK; /* User requested break */ - if( DPQ_IS_ENDOFLIST( lpGList->groups ) ) - { - break; + if ( DPQ_IS_ENDOFLIST( glist->groups ) ) + break; } - lpGList = DPQ_NEXT( lpGList->groups ); - - } - - return DP_OK; -} - -static HRESULT WINAPI IDirectPlay4AImpl_EnumGroupsInGroup( IDirectPlay4A *iface, DPID idGroup, - GUID *lpguidInstance, LPDPENUMPLAYERSCALLBACK2 lpEnumPlayersCallback2, void *lpContext, - DWORD dwFlags ) -{ - IDirectPlayImpl *This = impl_from_IDirectPlay4A( iface ); - return DP_IF_EnumGroupsInGroup( This, idGroup, lpguidInstance, - lpEnumPlayersCallback2, lpContext, dwFlags, - TRUE ); -} - -static HRESULT WINAPI DirectPlay3WImpl_EnumGroupsInGroup - ( LPDIRECTPLAY3A iface, DPID idGroup, LPGUID lpguidInstance, - LPDPENUMPLAYERSCALLBACK2 lpEnumPlayersCallback2, LPVOID lpContext, - DWORD dwFlags ) -{ - IDirectPlay3Impl *This = (IDirectPlay3Impl *)iface; - return DP_IF_EnumGroupsInGroup( This, idGroup, lpguidInstance, - lpEnumPlayersCallback2, lpContext, dwFlags, - FALSE ); + return DP_OK; } static HRESULT WINAPI IDirectPlay4AImpl_GetGroupConnectionSettings( IDirectPlay4A *iface, @@ -4401,7 +4363,7 @@ static const IDirectPlay4Vtbl dp4_vt = XCAST(CreateGroupInGroup)DirectPlay3WImpl_CreateGroupInGroup, IDirectPlay4Impl_DeleteGroupFromGroup, IDirectPlay4Impl_EnumConnections, - XCAST(EnumGroupsInGroup)DirectPlay3WImpl_EnumGroupsInGroup, + IDirectPlay4Impl_EnumGroupsInGroup, IDirectPlay4Impl_GetGroupConnectionSettings, XCAST(InitializeConnection)DirectPlay3WImpl_InitializeConnection, XCAST(SecureOpen)DirectPlay3WImpl_SecureOpen,
1
0
0
0
Michael Stefaniuc : dplayx: Merge the IDirectPlay4_DeleteGroupFromGroup helper.
by Alexandre Julliard
02 Apr '13
02 Apr '13
Module: wine Branch: master Commit: db97f14f4bd5b1ce75f64837595e81f161f7eb8a URL:
http://source.winehq.org/git/wine.git/?a=commit;h=db97f14f4bd5b1ce75f648375…
Author: Michael Stefaniuc <mstefani(a)redhat.de> Date: Fri Mar 29 17:00:34 2013 +0100 dplayx: Merge the IDirectPlay4_DeleteGroupFromGroup helper. --- dlls/dplayx/dplay.c | 86 +++++++++++++++++++-------------------------------- 1 files changed, 32 insertions(+), 54 deletions(-) diff --git a/dlls/dplayx/dplay.c b/dlls/dplayx/dplay.c index 2236532..8345833 100644 --- a/dlls/dplayx/dplay.c +++ b/dlls/dplayx/dplay.c @@ -109,8 +109,6 @@ static HRESULT DP_IF_CreateGroupInGroup static HRESULT DP_IF_AddPlayerToGroup ( IDirectPlay2Impl* This, LPVOID lpMsgHdr, DPID idGroup, DPID idPlayer, BOOL bAnsi ); -static HRESULT DP_IF_DeleteGroupFromGroup - ( IDirectPlay3Impl* This, DPID idParentGroup, DPID idGroup ); static HRESULT DP_SetSessionDesc ( IDirectPlay2Impl* This, LPCDPSESSIONDESC2 lpSessDesc, DWORD dwFlags, BOOL bInitial, BOOL bAnsi ); @@ -1500,14 +1498,9 @@ cbRemoveGroupOrPlayer( if( dwPlayerType == DPPLAYERTYPE_GROUP ) { - if( FAILED( DP_IF_DeleteGroupFromGroup( lpCtxt->This, lpCtxt->idGroup, - dpId ) - ) - ) - { - ERR( "Unable to delete group 0x%08x from group 0x%08x\n", - dpId, lpCtxt->idGroup ); - } + if ( FAILED( IDirectPlayX_DeleteGroupFromGroup( &lpCtxt->This->IDirectPlay4_iface, + lpCtxt->idGroup, dpId ) ) ) + ERR( "Unable to delete group 0x%08x from group 0x%08x\n", dpId, lpCtxt->idGroup ); } else if ( FAILED( IDirectPlayX_DeletePlayerFromGroup( &lpCtxt->This->IDirectPlay4_iface, lpCtxt->idGroup, dpId ) ) ) @@ -1544,13 +1537,8 @@ static HRESULT DP_IF_DestroyGroup cbRemoveGroupOrPlayer, (LPVOID)&context, 0, bAnsi ); /* Remove this group from the parent group - if it has one */ - if( ( idGroup != DPID_SYSTEM_GROUP ) && - ( lpGData->parent != DPID_SYSTEM_GROUP ) - ) - { - DP_IF_DeleteGroupFromGroup( (IDirectPlay3Impl*)This, lpGData->parent, - idGroup ); - } + if( ( idGroup != DPID_SYSTEM_GROUP ) && ( lpGData->parent != DPID_SYSTEM_GROUP ) ) + IDirectPlayX_DeleteGroupFromGroup( &This->IDirectPlay4_iface, lpGData->parent, idGroup ); /* Now delete this group data and list from the system group */ DP_DeleteGroup( This, idGroup ); @@ -3136,52 +3124,42 @@ static HRESULT WINAPI DirectPlay3WImpl_CreateGroupInGroup dwFlags, FALSE ); } -static HRESULT DP_IF_DeleteGroupFromGroup - ( IDirectPlay3Impl* This, DPID idParentGroup, DPID idGroup ) +static HRESULT WINAPI IDirectPlay4AImpl_DeleteGroupFromGroup( IDirectPlay4A *iface, DPID parent, + DPID group ) { - lpGroupList lpGList; - lpGroupData lpGParentData; - - TRACE("(%p)->(0x%08x,0x%08x)\n", This, idParentGroup, idGroup ); + IDirectPlayImpl *This = impl_from_IDirectPlay4A( iface ); + return IDirectPlayX_DeleteGroupFromGroup( &This->IDirectPlay4_iface, parent, group ); +} - /* Is the parent group valid? */ - if( ( lpGParentData = DP_FindAnyGroup( (IDirectPlay2AImpl*)This, idParentGroup ) ) == NULL ) - { - return DPERR_INVALIDGROUP; - } +static HRESULT WINAPI IDirectPlay4Impl_DeleteGroupFromGroup( IDirectPlay4 *iface, DPID parent, + DPID group ) +{ + IDirectPlayImpl *This = impl_from_IDirectPlay4( iface ); + lpGroupList glist; + lpGroupData parentdata; - /* Remove the group from the parent group queue */ - DPQ_REMOVE_ENTRY( lpGParentData->groups, groups, lpGData->dpid, ==, idGroup, lpGList ); + TRACE("(%p)->(0x%08x,0x%08x)\n", This, parent, group ); - if( lpGList == NULL ) - { - return DPERR_INVALIDGROUP; - } + /* Is the parent group valid? */ + if ( ( parentdata = DP_FindAnyGroup(This, parent ) ) == NULL ) + return DPERR_INVALIDGROUP; - /* Decrement the ref count */ - lpGList->lpGData->uRef--; + /* Remove the group from the parent group queue */ + DPQ_REMOVE_ENTRY( parentdata->groups, groups, lpGData->dpid, ==, group, glist ); - /* Free up the list item */ - HeapFree( GetProcessHeap(), 0, lpGList ); + if ( glist == NULL ) + return DPERR_INVALIDGROUP; - /* Should send a DELETEGROUPFROMGROUP message */ - FIXME( "message not sent\n" ); + /* Decrement the ref count */ + glist->lpGData->uRef--; - return DP_OK; -} + /* Free up the list item */ + HeapFree( GetProcessHeap(), 0, glist ); -static HRESULT WINAPI IDirectPlay4AImpl_DeleteGroupFromGroup( IDirectPlay4A *iface, - DPID idParentGroup, DPID idGroup ) -{ - IDirectPlayImpl *This = impl_from_IDirectPlay4A( iface ); - return DP_IF_DeleteGroupFromGroup( This, idParentGroup, idGroup ); -} + /* Should send a DELETEGROUPFROMGROUP message */ + FIXME( "message not sent\n" ); -static HRESULT WINAPI DirectPlay3WImpl_DeleteGroupFromGroup - ( LPDIRECTPLAY3 iface, DPID idParentGroup, DPID idGroup ) -{ - IDirectPlay3Impl *This = (IDirectPlay3Impl *)iface; - return DP_IF_DeleteGroupFromGroup( This, idParentGroup, idGroup ); + return DP_OK; } static BOOL DP_BuildSPCompoundAddr( LPGUID lpcSpGuid, LPVOID* lplpAddrBuf, @@ -4421,7 +4399,7 @@ static const IDirectPlay4Vtbl dp4_vt = XCAST(SetSessionDesc)DirectPlay2WImpl_SetSessionDesc, IDirectPlay4Impl_AddGroupToGroup, XCAST(CreateGroupInGroup)DirectPlay3WImpl_CreateGroupInGroup, - XCAST(DeleteGroupFromGroup)DirectPlay3WImpl_DeleteGroupFromGroup, + IDirectPlay4Impl_DeleteGroupFromGroup, IDirectPlay4Impl_EnumConnections, XCAST(EnumGroupsInGroup)DirectPlay3WImpl_EnumGroupsInGroup, IDirectPlay4Impl_GetGroupConnectionSettings,
1
0
0
0
Michael Stefaniuc : dplayx: Merge the IDirectPlay4_AddGroupToGroup helper.
by Alexandre Julliard
02 Apr '13
02 Apr '13
Module: wine Branch: master Commit: 684a666d23b5f96620239f24d0dfc451d0865c6a URL:
http://source.winehq.org/git/wine.git/?a=commit;h=684a666d23b5f96620239f24d…
Author: Michael Stefaniuc <mstefani(a)redhat.de> Date: Fri Mar 29 16:58:20 2013 +0100 dplayx: Merge the IDirectPlay4_AddGroupToGroup helper. --- dlls/dplayx/dplay.c | 80 +++++++++++++++++++------------------------------- 1 files changed, 31 insertions(+), 49 deletions(-) diff --git a/dlls/dplayx/dplay.c b/dlls/dplayx/dplay.c index 6372a1e..2236532 100644 --- a/dlls/dplayx/dplay.c +++ b/dlls/dplayx/dplay.c @@ -98,8 +98,6 @@ static HRESULT DP_IF_SetGroupName static HRESULT DP_IF_SetPlayerName ( IDirectPlay2Impl* This, DPID idPlayer, LPDPNAME lpPlayerName, DWORD dwFlags, BOOL bAnsi ); -static HRESULT DP_IF_AddGroupToGroup - ( IDirectPlay3Impl* This, DPID idParentGroup, DPID idGroup ); static HRESULT DP_IF_CreateGroup ( IDirectPlay2AImpl* This, LPVOID lpMsgHdr, LPDPID lpidGroup, LPDPNAME lpGroupName, LPVOID lpData, DWORD dwDataSize, @@ -2975,62 +2973,47 @@ static void DP_CopySessionDesc( LPDPSESSIONDESC2 lpSessionDest, } } - -static HRESULT DP_IF_AddGroupToGroup - ( IDirectPlay3Impl* This, DPID idParentGroup, DPID idGroup ) +static HRESULT WINAPI IDirectPlay4AImpl_AddGroupToGroup( IDirectPlay4A *iface, DPID parent, + DPID group ) { - lpGroupData lpGData; - lpGroupList lpNewGList; - - TRACE( "(%p)->(0x%08x,0x%08x)\n", This, idParentGroup, idGroup ); + IDirectPlayImpl *This = impl_from_IDirectPlay4A( iface ); + return IDirectPlayX_AddGroupToGroup( &This->IDirectPlay4_iface, parent, group ); +} - if( This->dp2->connectionInitialized == NO_PROVIDER ) - { - return DPERR_UNINITIALIZED; - } +static HRESULT WINAPI IDirectPlay4Impl_AddGroupToGroup( IDirectPlay4 *iface, DPID parent, + DPID group ) +{ + IDirectPlayImpl *This = impl_from_IDirectPlay4( iface ); + lpGroupData gdata; + lpGroupList glist; - if( DP_FindAnyGroup( (IDirectPlay2AImpl*)This, idParentGroup ) == NULL ) - { - return DPERR_INVALIDGROUP; - } + TRACE( "(%p)->(0x%08x,0x%08x)\n", This, parent, group ); - if( ( lpGData = DP_FindAnyGroup( (IDirectPlay2AImpl*)This, idGroup ) ) == NULL ) - { - return DPERR_INVALIDGROUP; - } + if ( This->dp2->connectionInitialized == NO_PROVIDER ) + return DPERR_UNINITIALIZED; - /* Create a player list (ie "shortcut" ) */ - lpNewGList = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof( *lpNewGList ) ); - if( lpNewGList == NULL ) - { - return DPERR_CANTADDPLAYER; - } + if ( !DP_FindAnyGroup(This, parent ) ) + return DPERR_INVALIDGROUP; - /* Add the shortcut */ - lpGData->uRef++; - lpNewGList->lpGData = lpGData; + if ( ( gdata = DP_FindAnyGroup(This, group ) ) == NULL ) + return DPERR_INVALIDGROUP; - /* Add the player to the list of players for this group */ - DPQ_INSERT( lpGData->groups, lpNewGList, groups ); + /* Create a player list (ie "shortcut" ) */ + glist = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof( *glist ) ); + if ( !glist ) + return DPERR_CANTADDPLAYER; - /* Send a ADDGROUPTOGROUP message */ - FIXME( "Not sending message\n" ); + /* Add the shortcut */ + gdata->uRef++; + glist->lpGData = gdata; - return DP_OK; -} + /* Add the player to the list of players for this group */ + DPQ_INSERT( gdata->groups, glist, groups ); -static HRESULT WINAPI IDirectPlay4AImpl_AddGroupToGroup( IDirectPlay4A *iface, DPID idParentGroup, - DPID idGroup ) -{ - IDirectPlayImpl *This = impl_from_IDirectPlay4A( iface ); - return DP_IF_AddGroupToGroup( This, idParentGroup, idGroup ); -} + /* Send a ADDGROUPTOGROUP message */ + FIXME( "Not sending message\n" ); -static HRESULT WINAPI DirectPlay3WImpl_AddGroupToGroup - ( LPDIRECTPLAY3 iface, DPID idParentGroup, DPID idGroup ) -{ - IDirectPlay3Impl *This = (IDirectPlay3Impl *)iface; - return DP_IF_AddGroupToGroup( This, idParentGroup, idGroup ); + return DP_OK; } static HRESULT DP_IF_CreateGroupInGroup @@ -4436,8 +4419,7 @@ static const IDirectPlay4Vtbl dp4_vt = IDirectPlay4Impl_SetPlayerData, XCAST(SetPlayerName)DirectPlay2WImpl_SetPlayerName, XCAST(SetSessionDesc)DirectPlay2WImpl_SetSessionDesc, - - XCAST(AddGroupToGroup)DirectPlay3WImpl_AddGroupToGroup, + IDirectPlay4Impl_AddGroupToGroup, XCAST(CreateGroupInGroup)DirectPlay3WImpl_CreateGroupInGroup, XCAST(DeleteGroupFromGroup)DirectPlay3WImpl_DeleteGroupFromGroup, IDirectPlay4Impl_EnumConnections,
1
0
0
0
← Newer
1
...
47
48
49
50
51
52
53
...
58
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
Results per page:
10
25
50
100
200