Michael Stefaniuc : dplayx: Merge the IDirectPlay4_AddGroupToGroup helper.
Alexandre Julliard
julliard at winehq.org
Tue Apr 2 13:38:35 CDT 2013
Module: wine
Branch: master
Commit: 684a666d23b5f96620239f24d0dfc451d0865c6a
URL: http://source.winehq.org/git/wine.git/?a=commit;h=684a666d23b5f96620239f24d0dfc451d0865c6a
Author: Michael Stefaniuc <mstefani at 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,
More information about the wine-cvs
mailing list