Changeset 943 for trunk/src


Ignore:
Timestamp:
Sep 15, 1999, 7:27:23 PM (26 years ago)
Author:
phaller
Message:

.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/DPlayX/dplayx.cpp

    r940 r943  
    1 /* $Id: dplayx.cpp,v 1.1 1999-09-15 16:07:26 phaller Exp $ */
     1/* $Id: dplayx.cpp,v 1.2 1999-09-15 17:27:23 phaller Exp $ */
    22
    33/* Direct Play 3 and Direct Play Lobby 2 Implementation
     
    402402}
    403403
     404static ULONG WINAPI IDirectPlayLobbyAImpl_AddRef
     405( LPDIRECTPLAYLOBBYA iface )
     406{
     407  return IDirectPlayLobby2AImpl_AddRef( (LPDIRECTPLAYLOBBY2A)iface );
     408}
     409
    404410
    405411/*
     
    437443}
    438444
     445static ULONG WINAPI IDirectPlayLobbyAImpl_Release
     446( LPDIRECTPLAYLOBBYA iface )
     447{
     448  return IDirectPlayLobby2AImpl_Release( (LPDIRECTPLAYLOBBY2A)iface );
     449}
     450
    439451
    440452/********************************************************************
     
    456468}
    457469
     470
    458471static HRESULT WINAPI IDirectPlayLobby2WImpl_Connect
    459472( LPDIRECTPLAYLOBBY2 iface,
     
    522535
    523536}
     537
     538static HRESULT WINAPI IDirectPlayLobbyAImpl_Connect
     539( LPDIRECTPLAYLOBBYA iface,
     540  DWORD dwFlags,
     541  LPDIRECTPLAY2* lplpDP,
     542  IUnknown *pUnk)
     543{
     544  return IDirectPlayLobby2AImpl_Connect( (LPDIRECTPLAYLOBBY2A)iface,
     545                                         dwFlags,
     546                                         (LPDIRECTPLAY2*)lplpDP,
     547                                         pUnk);
     548}
     549
    524550
    525551/********************************************************************
     
    558584}
    559585
     586static HRESULT WINAPI IDirectPlayLobbyAImpl_CreateAddress
     587( LPDIRECTPLAYLOBBYA iface,
     588  REFGUID guidSP,
     589  REFGUID guidDataType,
     590  LPCVOID lpData,
     591  DWORD dwDataSize,
     592  LPVOID lpAddress,
     593  LPDWORD lpdwAddressSize )
     594{
     595  return IDirectPlayLobby2AImpl_CreateAddress( (LPDIRECTPLAYLOBBY2A)iface,
     596                                              guidSP,
     597                                              guidDataType,
     598                                              lpData,
     599                                              dwDataSize,
     600                                              lpAddress,
     601                                              lpdwAddressSize);
     602}
     603
    560604
    561605/********************************************************************
     
    586630  return DPERR_OUTOFMEMORY;
    587631}
     632
     633static HRESULT WINAPI IDirectPlayLobbyAImpl_EnumAddress
     634( LPDIRECTPLAYLOBBYA iface,
     635  LPDPENUMADDRESSCALLBACK lpEnumAddressCallback,
     636  LPCVOID lpAddress,
     637  DWORD dwAddressSize,
     638  LPVOID lpContext)
     639{
     640  return IDirectPlayLobby2AImpl_EnumAddress( (LPDIRECTPLAYLOBBY2A)iface,
     641                                             lpEnumAddressCallback,
     642                                             lpAddress,
     643                                             dwAddressSize,
     644                                             lpContext);
     645}
     646
    588647
    589648/********************************************************************
     
    11981257
    11991258
    1200 /* Note: Hack so we can reuse the old functions without compiler warnings */
    1201 #if !defined(__STRICT_ANSI__) && defined(__GNUC__)
    1202 # define XCAST(fun)     (typeof(directPlayLobbyAVT.fn##fun))
    1203 #else
    1204 # define XCAST(fun)     (void*)
    1205 #endif
    1206 
    12071259/* Direct Play Lobby 1 (ascii) Virtual Table for methods */
    12081260/* All lobby 1 methods are exactly the same except QueryInterface */
     1261
     1262
    12091263struct ICOM_VTABLE(IDirectPlayLobby) directPlayLobbyAVT =
    12101264{
    12111265  ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
    12121266  IDirectPlayLobbyAImpl_QueryInterface,
    1213   XCAST(AddRef)IDirectPlayLobby2AImpl_AddRef,
    1214   XCAST(Release)IDirectPlayLobby2AImpl_Release,
    1215   XCAST(Connect)IDirectPlayLobby2AImpl_Connect,
    1216   XCAST(CreateAddress)IDirectPlayLobby2AImpl_CreateAddress,
    1217   XCAST(EnumAddress)IDirectPlayLobby2AImpl_EnumAddress,
    1218   XCAST(EnumAddressTypes)IDirectPlayLobby2AImpl_EnumAddressTypes,
    1219   XCAST(EnumLocalApplications)IDirectPlayLobby2AImpl_EnumLocalApplications,
    1220   XCAST(GetConnectionSettings)IDirectPlayLobby2AImpl_GetConnectionSettings,
    1221   XCAST(ReceiveLobbyMessage)IDirectPlayLobby2AImpl_ReceiveLobbyMessage,
    1222   XCAST(RunApplication)IDirectPlayLobby2AImpl_RunApplication,
    1223   XCAST(SendLobbyMessage)IDirectPlayLobby2AImpl_SendLobbyMessage,
    1224   XCAST(SetConnectionSettings)IDirectPlayLobby2AImpl_SetConnectionSettings,
    1225   XCAST(SetLobbyMessageEvent)IDirectPlayLobby2AImpl_SetLobbyMessageEvent
     1267  IDirectPlayLobbyAImpl_AddRef,
     1268  IDirectPlayLobbyAImpl_Release,
     1269  IDirectPlayLobbyAImpl_Connect,
     1270  IDirectPlayLobbyAImpl_CreateAddress,
     1271  IDirectPlayLobbyAImpl_EnumAddress,
     1272  IDirectPlayLobbyAImpl_EnumAddressTypes,
     1273  IDirectPlayLobbyAImpl_EnumLocalApplications,
     1274  IDirectPlayLobbyAImpl_GetConnectionSettings,
     1275  IDirectPlayLobbyAImpl_ReceiveLobbyMessage,
     1276  IDirectPlayLobbyAImpl_RunApplication,
     1277  IDirectPlayLobbyAImpl_SendLobbyMessage,
     1278  IDirectPlayLobbyAImpl_SetConnectionSettings,
     1279  IDirectPlayLobbyAImpl_SetLobbyMessageEvent
    12261280};
    1227 #undef XCAST
    1228 
    1229 
    1230 /* Note: Hack so we can reuse the old functions without compiler warnings */
    1231 #if !defined(__STRICT_ANSI__) && defined(__GNUC__)
    1232 # define XCAST(fun)     (typeof(directPlayLobbyWVT.fn##fun))
    1233 #else
    1234 # define XCAST(fun)     (void*)
    1235 #endif
     1281
    12361282
    12371283/* Direct Play Lobby 1 (unicode) Virtual Table for methods */
     
    12401286  ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
    12411287  IDirectPlayLobbyW_QueryInterface,
    1242   XCAST(AddRef)IDirectPlayLobby2WImpl_AddRef,
    1243   XCAST(Release)IDirectPlayLobby2WImpl_Release,
    1244   XCAST(Connect)IDirectPlayLobby2WImpl_Connect,
    1245   XCAST(CreateAddress)IDirectPlayLobby2WImpl_CreateAddress,
    1246   XCAST(EnumAddress)IDirectPlayLobby2WImpl_EnumAddress,
    1247   XCAST(EnumAddressTypes)IDirectPlayLobby2WImpl_EnumAddressTypes,
    1248   XCAST(EnumLocalApplications)IDirectPlayLobby2WImpl_EnumLocalApplications,
    1249   XCAST(GetConnectionSettings)IDirectPlayLobby2WImpl_GetConnectionSettings,
    1250   XCAST(ReceiveLobbyMessage)IDirectPlayLobby2WImpl_ReceiveLobbyMessage,
    1251   XCAST(RunApplication)IDirectPlayLobby2WImpl_RunApplication,
    1252   XCAST(SendLobbyMessage)IDirectPlayLobby2WImpl_SendLobbyMessage,
    1253   XCAST(SetConnectionSettings)IDirectPlayLobby2WImpl_SetConnectionSettings,
    1254   XCAST(SetLobbyMessageEvent)IDirectPlayLobby2WImpl_SetLobbyMessageEvent
     1288  IDirectPlayLobbyAImpl_AddRef,
     1289  IDirectPlayLobbyAImpl_Release,
     1290  IDirectPlayLobbyAImpl_Connect,
     1291  IDirectPlayLobbyAImpl_CreateAddress,
     1292  IDirectPlayLobbyAImpl_EnumAddress,
     1293  IDirectPlayLobbyAImpl_EnumAddressTypes,
     1294  IDirectPlayLobbyAImpl_EnumLocalApplications,
     1295  IDirectPlayLobbyWImpl_GetConnectionSettings,
     1296  IDirectPlayLobbyAImpl_ReceiveLobbyMessage,
     1297  IDirectPlayLobbyAImpl_RunApplication,
     1298  IDirectPlayLobbyAImpl_SendLobbyMessage,
     1299  IDirectPlayLobbyAImpl_SetConnectionSettings,
     1300  IDirectPlayLobbyAImpl_SetLobbyMessageEvent
    12551301};
    1256 #undef XCAST
    12571302
    12581303
     
    17301775}
    17311776
     1777static ULONG WINAPI DirectPlay2WImpl_AddRef (LPDIRECTPLAY2 iface)
     1778{
     1779  return DirectPlay3WImpl_AddRef( (LPDIRECTPLAY3) iface );
     1780}
     1781
    17321782static ULONG WINAPI DirectPlay3WImpl_Release
    17331783( LPDIRECTPLAY3 iface )
     
    17521802}
    17531803
     1804static ULONG WINAPI DirectPlay2WImpl_Release (LPDIRECTPLAY2 iface)
     1805{
     1806  return DirectPlay3WImpl_Release( (LPDIRECTPLAY3) iface );
     1807}
     1808
    17541809static ULONG WINAPI DirectPlay3A_Release
    17551810( LPDIRECTPLAY3A iface )
     
    17721827
    17731828  return This->ref;
     1829}
     1830
     1831static ULONG WINAPI DirectPlay2AImpl_AddRef (LPDIRECTPLAY2A iface)
     1832{
     1833  return DirectPlay3AImpl_AddRef( (LPDIRECTPLAY3A) iface );
    17741834}
    17751835
     
    24852545
    24862546
    2487 /* Note: Hack so we can reuse the old functions without compiler warnings */
    2488 #if !defined(__STRICT_ANSI__) && defined(__GNUC__)
    2489 # define XCAST(fun)     (typeof(directPlay2WVT.fn##fun))
    2490 #else
    2491 # define XCAST(fun)     (void*)
    2492 #endif
    2493 
    24942547ICOM_VTABLE(IDirectPlay2) directPlay2WVT =
    24952548{
    24962549  ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
    24972550  DirectPlay2W_QueryInterface,
    2498   XCAST(AddRef)DirectPlay3WImpl_AddRef,
    2499   XCAST(Release)DirectPlay3WImpl_Release,
    2500   XCAST(AddPlayerToGroup)DirectPlay3WImpl_AddPlayerToGroup,
    2501   XCAST(Close)DirectPlay3WImpl_Close,
    2502   XCAST(CreateGroup)DirectPlay3WImpl_CreateGroup,
    2503   XCAST(CreatePlayer)DirectPlay3WImpl_CreatePlayer,
    2504   XCAST(DeletePlayerFromGroup)DirectPlay3WImpl_DeletePlayerFromGroup,
    2505   XCAST(DestroyGroup)DirectPlay3WImpl_DestroyGroup,
    2506   XCAST(DestroyPlayer)DirectPlay3WImpl_DestroyPlayer,
    2507   XCAST(EnumGroupPlayers)DirectPlay3WImpl_EnumGroupPlayers,
    2508   XCAST(EnumGroups)DirectPlay3WImpl_EnumGroups,
    2509   XCAST(EnumPlayers)DirectPlay3WImpl_EnumPlayers,
    2510   XCAST(EnumSessions)DirectPlay3WImpl_EnumSessions,
    2511   XCAST(GetCaps)DirectPlay3WImpl_GetCaps,
    2512   XCAST(GetGroupData)DirectPlay3WImpl_GetGroupData,
    2513   XCAST(GetGroupName)DirectPlay3WImpl_GetGroupName,
    2514   XCAST(GetMessageCount)DirectPlay3WImpl_GetMessageCount,
    2515   XCAST(GetPlayerAddress)DirectPlay3WImpl_GetPlayerAddress,
    2516   XCAST(GetPlayerCaps)DirectPlay3WImpl_GetPlayerCaps,
    2517   XCAST(GetPlayerData)DirectPlay3WImpl_GetPlayerData,
    2518   XCAST(GetPlayerName)DirectPlay3WImpl_GetPlayerName,
    2519   XCAST(GetSessionDesc)DirectPlay3WImpl_GetSessionDesc,
    2520   XCAST(Initialize)DirectPlay3WImpl_Initialize,
    2521   XCAST(Open)DirectPlay3WImpl_Open,
    2522   XCAST(Receive)DirectPlay3WImpl_Receive,
    2523   XCAST(Send)DirectPlay3WImpl_Send,
    2524   XCAST(SetGroupData)DirectPlay3WImpl_SetGroupData,
    2525   XCAST(SetGroupName)DirectPlay3WImpl_SetGroupName,
    2526   XCAST(SetPlayerData)DirectPlay3WImpl_SetPlayerData,
    2527   XCAST(SetPlayerName)DirectPlay3WImpl_SetPlayerName,
    2528   XCAST(SetSessionDesc)DirectPlay3WImpl_SetSessionDesc
     2551  DirectPlay2WImpl_AddRef,
     2552  DirectPlay2WImpl_Release,
     2553  DirectPlay2WImpl_AddPlayerToGroup,
     2554  DirectPlay2WImpl_Close,
     2555  DirectPlay2WImpl_CreateGroup,
     2556  DirectPlay2WImpl_CreatePlayer,
     2557  DirectPlay2WImpl_DeletePlayerFromGroup,
     2558  DirectPlay2WImpl_DestroyGroup,
     2559  DirectPlay2WImpl_DestroyPlayer,
     2560  DirectPlay2WImpl_EnumGroupPlayers,
     2561  DirectPlay2WImpl_EnumGroups,
     2562  DirectPlay2WImpl_EnumPlayers,
     2563  DirectPlay2WImpl_EnumSessions,
     2564  DirectPlay2WImpl_GetCaps,
     2565  DirectPlay2WImpl_GetGroupData,
     2566  DirectPlay2WImpl_GetGroupName,
     2567  DirectPlay2WImpl_GetMessageCount,
     2568  DirectPlay2WImpl_GetPlayerAddress,
     2569  DirectPlay2WImpl_GetPlayerCaps,
     2570  DirectPlay2WImpl_GetPlayerData,
     2571  DirectPlay2WImpl_GetPlayerName,
     2572  DirectPlay2WImpl_GetSessionDesc,
     2573  DirectPlay2WImpl_Initialize,
     2574  DirectPlay2WImpl_Open,
     2575  DirectPlay2WImpl_Receive,
     2576  DirectPlay2WImpl_Send,
     2577  DirectPlay2WImpl_SetGroupData,
     2578  DirectPlay2WImpl_SetGroupName,
     2579  DirectPlay2WImpl_SetPlayerData,
     2580  DirectPlay2WImpl_SetPlayerName,
     2581  DirectPlay2WImpl_SetSessionDesc
    25292582};
    2530 #undef XCAST
    2531 
    2532 
    2533 /* Note: Hack so we can reuse the old functions without compiler warnings */
    2534 #if !defined(__STRICT_ANSI__) && defined(__GNUC__)
    2535 # define XCAST(fun)     (typeof(directPlay2AVT.fn##fun))
    2536 #else
    2537 # define XCAST(fun)     (void*)
    2538 #endif
     2583
    25392584
    25402585ICOM_VTABLE(IDirectPlay2) directPlay2AVT =
     
    25422587  ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
    25432588  DirectPlay2A_QueryInterface,
    2544   XCAST(AddRef)DirectPlay3WImpl_AddRef,
    2545   XCAST(Release)DirectPlay3A_Release,
    2546   XCAST(AddPlayerToGroup)DirectPlay3A_AddPlayerToGroup,
    2547   XCAST(Close)DirectPlay3A_Close,
    2548   XCAST(CreateGroup)DirectPlay3A_CreateGroup,
    2549   XCAST(CreatePlayer)DirectPlay3A_CreatePlayer,
    2550   XCAST(DeletePlayerFromGroup)DirectPlay3A_DeletePlayerFromGroup,
    2551   XCAST(DestroyGroup)DirectPlay3A_DestroyGroup,
    2552   XCAST(DestroyPlayer)DirectPlay3A_DestroyPlayer,
    2553   XCAST(EnumGroupPlayers)DirectPlay3A_EnumGroupPlayers,
    2554   XCAST(EnumGroups)DirectPlay3A_EnumGroups,
    2555   XCAST(EnumPlayers)DirectPlay3A_EnumPlayers,
    2556   XCAST(EnumSessions)DirectPlay3A_EnumSessions,
    2557   XCAST(GetCaps)DirectPlay3A_GetCaps,
    2558   XCAST(GetGroupData)DirectPlay3A_GetGroupData,
    2559   XCAST(GetGroupName)DirectPlay3A_GetGroupName,
    2560   XCAST(GetMessageCount)DirectPlay3A_GetMessageCount,
    2561   XCAST(GetPlayerAddress)DirectPlay3A_GetPlayerAddress,
    2562   XCAST(GetPlayerCaps)DirectPlay3A_GetPlayerCaps,
    2563   XCAST(GetPlayerData)DirectPlay3A_GetPlayerData,
    2564   XCAST(GetPlayerName)DirectPlay3A_GetPlayerName,
    2565   XCAST(GetSessionDesc)DirectPlay3A_GetSessionDesc,
    2566   XCAST(Initialize)DirectPlay3A_Initialize,
    2567   XCAST(Open)DirectPlay3A_Open,
    2568   XCAST(Receive)DirectPlay3A_Receive,
    2569   XCAST(Send)DirectPlay3A_Send,
    2570   XCAST(SetGroupData)DirectPlay3A_SetGroupData,
    2571   XCAST(SetGroupName)DirectPlay3A_SetGroupName,
    2572   XCAST(SetPlayerData)DirectPlay3A_SetPlayerData,
    2573   XCAST(SetPlayerName)DirectPlay3A_SetPlayerName,
    2574   XCAST(SetSessionDesc)DirectPlay3A_SetSessionDesc
     2589  DirectPlay2WImpl_AddRef, //???
     2590  DirectPlay2A_Release,
     2591  DirectPlay2A_AddPlayerToGroup,
     2592  DirectPlay2A_Close,
     2593  DirectPlay2A_CreateGroup,
     2594  DirectPlay2A_CreatePlayer,
     2595  DirectPlay2A_DeletePlayerFromGroup,
     2596  DirectPlay2A_DestroyGroup,
     2597  DirectPlay2A_DestroyPlayer,
     2598  DirectPlay2A_EnumGroupPlayers,
     2599  DirectPlay2A_EnumGroups,
     2600  DirectPlay2A_EnumPlayers,
     2601  DirectPlay2A_EnumSessions,
     2602  DirectPlay2A_GetCaps,
     2603  DirectPlay2A_GetGroupData,
     2604  DirectPlay2A_GetGroupName,
     2605  DirectPlay2A_GetMessageCount,
     2606  DirectPlay2A_GetPlayerAddress,
     2607  DirectPlay2A_GetPlayerCaps,
     2608  DirectPlay2A_GetPlayerData,
     2609  DirectPlay2A_GetPlayerName,
     2610  DirectPlay2A_GetSessionDesc,
     2611  DirectPlay2A_Initialize,
     2612  DirectPlay2A_Open,
     2613  DirectPlay2A_Receive,
     2614  DirectPlay2A_Send,
     2615  DirectPlay2A_SetGroupData,
     2616  DirectPlay2A_SetGroupName,
     2617  DirectPlay2A_SetPlayerData,
     2618  DirectPlay2A_SetPlayerName,
     2619  DirectPlay2A_SetSessionDesc
    25752620};
    2576 #undef XCAST
    25772621
    25782622
Note: See TracChangeset for help on using the changeset viewer.