240 lines
9.0 KiB
C
240 lines
9.0 KiB
C
//****************************************************************************
|
|
//* Author: Guillaume Plante gsdevelopers@ubisoft.com
|
|
//* Date: 2002-06-06 15:47:17
|
|
/*! \file GSCDKeyCallbacks.h
|
|
* \brief Callback definitions and register functionalities
|
|
*
|
|
* This file contains the callback definitions and register functionalities
|
|
* for the cd key interface
|
|
*/
|
|
//****************************************************************************
|
|
|
|
#ifndef _GSCDKEYCALLBACKS_H_
|
|
#define _GSCDKEYCALLBACKS_H_
|
|
|
|
#include "GSTypes.h"
|
|
#include "GSCDKeyDefines.h"
|
|
|
|
|
|
/*! @defgroup group4 Game client callback
|
|
\brief Game client callback
|
|
|
|
These callback function are used by the game client to
|
|
process response to queries sent to the validation server
|
|
@{
|
|
*/
|
|
|
|
//============================================================================
|
|
// CallBack CBCDKey_RcvActivationID
|
|
// Author: Guillaume Plante gsdevelopers@ubisoft.com
|
|
// Date: 2002-06-06 14:34:14
|
|
/*!
|
|
\brief Received a activation id request response from the validation server
|
|
\par Description:
|
|
This callback will be called whenever the game client receive a response
|
|
after requesting the validation server for a activation id.
|
|
|
|
\param psReplyInfo Pointer to a reply information structure that contains
|
|
request id and status
|
|
\param psValidationServerInfo Validation server information from where the
|
|
response came
|
|
\param pucActivationID The activation id in case the request succedded
|
|
\param pucGlobalID The unique global identifier of the CDKey
|
|
|
|
*/
|
|
//============================================================================
|
|
typedef GSvoid (__stdcall *CBCDKey_RcvActivationID)(PREPLY_INFORMATION psReplyInfo,
|
|
PVALIDATION_SERVER_INFO psValidationServerInfo,GSubyte *pucActivationID,GSubyte *pucGlobalID);
|
|
|
|
|
|
//============================================================================
|
|
// CallBack CBCDKey_RcvAuthorizationID
|
|
// Author: Guillaume Plante gsdevelopers@ubisoft.com
|
|
// Date: 2002-06-06 14:38:23
|
|
/*!
|
|
\brief Received a authorization id request response from the validation server
|
|
\par Description:
|
|
This callback will be called whenever the game client receive a response
|
|
after requesting the validation server for a authorization id.
|
|
|
|
\param psReplyInfo Pointer to a reply information structure that contains
|
|
request id and status
|
|
\param psValidationServerInfo Validation server information from where the
|
|
response came
|
|
\param pucAuhorizationID The authorization id in case the request succedded
|
|
|
|
*/
|
|
//============================================================================
|
|
typedef GSvoid (__stdcall *CBCDKey_RcvAuthorizationID)(PREPLY_INFORMATION psReplyInfo,
|
|
PVALIDATION_SERVER_INFO psValidationServerInfo,GSubyte *pucAuhorizationID);
|
|
|
|
/*! @} end of group4 */
|
|
|
|
/*! @defgroup group5 Game server callback
|
|
\brief Game server callback
|
|
|
|
These callback function are used by the game server to
|
|
process response to queries sent to or by the validation server
|
|
@{
|
|
*/
|
|
|
|
|
|
//============================================================================
|
|
// CallBack CBCDKey_RcvValidationResponse
|
|
// Author: Guillaume Plante gsdevelopers@ubisoft.com
|
|
// Date: 2002-06-06 14:44:57
|
|
/*!
|
|
\brief Received a validation status for a player from the validation server
|
|
\par Description:
|
|
This callback will be called whenever the game server receives a validation
|
|
status for a player after having sent a validation status query to the
|
|
validation server. It will inform the game server of the player validation status
|
|
so that the game server can choose to keep or disconnect the user.
|
|
|
|
\param psReplyInfo Pointer to a reply information structure that contains
|
|
request id and status
|
|
\param psValidationServerInfo Validation server information from where the
|
|
response came
|
|
\param pucAuhorizationID The authorization id in the query
|
|
\param eStatus The validation status of the player
|
|
\param pucGlobalID The unique global identifier of the CDKey
|
|
|
|
*/
|
|
//============================================================================
|
|
typedef GSvoid (__stdcall *CBCDKey_RcvValidationResponse)(PREPLY_INFORMATION psReplyInfo,
|
|
PVALIDATION_SERVER_INFO psValidationServerInfo,GSubyte *pucAuhorizationID,CDKEY_PLAYER_STATUS eStatus,GSubyte *pucGlobalID);
|
|
|
|
|
|
//============================================================================
|
|
// CallBack CBCDKey_RcvPlayerStatusRequest
|
|
// Author: Guillaume Plante gsdevelopers@ubisoft.com
|
|
// Date: 2002-06-06 14:49:13
|
|
/*!
|
|
\brief Receive a player status request from the validation server
|
|
\par Description:
|
|
This callback will be called whenever the game server receives a player
|
|
status request from the validation server. The game server should then
|
|
respond to this query with the function GSCDKey_PlayerStatusReply
|
|
to inform the validation server of the player status. The status
|
|
should be E_PLAYER_UNKNOWN if the player is not on the game server
|
|
at the moment of the request.
|
|
|
|
\param psValidationServerInfo Validation server information from where the
|
|
response came
|
|
\param pucAuhorizationID The authorization id of the concerned player
|
|
|
|
*/
|
|
//============================================================================
|
|
typedef GSvoid (__stdcall *CBCDKey_RcvPlayerStatusRequest)(PVALIDATION_SERVER_INFO psValidationServerInfo,
|
|
GSubyte *pucAuhorizationID);
|
|
|
|
|
|
/*! @} end of group5 */
|
|
|
|
/*! @defgroup group6 Callback register functions
|
|
\brief Callback register functions
|
|
These functions are used to register the callback for a created cd key module
|
|
|
|
@{
|
|
*/
|
|
|
|
|
|
//============================================================================
|
|
// Function GSCDKey_FixRcvActivationID
|
|
// Author: Guillaume Plante gsdevelopers@ubisoft.com
|
|
// Date: 2002-06-06 14:56:15
|
|
/*!
|
|
\brief Register the callback
|
|
\par Description:
|
|
This function is used to register the callback CBCDKey_RcvActivationID
|
|
in the library. If this is not correctly called, the callback will
|
|
nerver be triggered.
|
|
|
|
\return Status of the function call
|
|
|
|
\retval GS_TRUE the operation suceeded.
|
|
\retval GS_FALSE the operation failed.
|
|
|
|
\param pGSCDKeyHandle Handle on the created cd key module
|
|
\param fRcvActivationID Function of type CBCDKey_RcvActivationID
|
|
|
|
*/
|
|
//============================================================================
|
|
GSbool __stdcall GSCDKey_FixRcvActivationID(GShandle pGSCDKeyHandle,CBCDKey_RcvActivationID fRcvActivationID);
|
|
|
|
|
|
//============================================================================
|
|
// Function GSCDKey_FixRcvAuthorizationID
|
|
// Author: Guillaume Plante gsdevelopers@ubisoft.com
|
|
// Date: 2002-06-06 14:58:29
|
|
/*!
|
|
\brief Register the callback
|
|
\par Description:
|
|
This function is used to register the callback CBCDKey_RcvAuthorizationID
|
|
in the library. If this is not correctly called, the callback will
|
|
nerver be triggered.
|
|
|
|
\return Status of the function call
|
|
|
|
\retval GS_TRUE the operation suceeded.
|
|
\retval GS_FALSE the operation failed.
|
|
|
|
\param pGSCDKeyHandle Handle on the created cd key module
|
|
\param fRcvAuthorizationID Function of type CBCDKey_RcvAuthorizationID
|
|
|
|
*/
|
|
//============================================================================
|
|
GSbool __stdcall GSCDKey_FixRcvAuthorizationID(GShandle pGSCDKeyHandle,CBCDKey_RcvAuthorizationID fRcvAuthorizationID);
|
|
|
|
|
|
//============================================================================
|
|
// Function GSCDKey_FixRcvValidationResponse
|
|
// Author: Guillaume Plante gsdevelopers@ubisoft.com
|
|
// Date: 2002-06-06 14:58:37
|
|
/*!
|
|
\brief Register the callback
|
|
\par Description:
|
|
This function is used to register the callback CBCDKey_RcvValidationResponse
|
|
in the library. If this is not correctly called, the callback will
|
|
nerver be triggered.
|
|
|
|
\return Status of the function call
|
|
|
|
\retval GS_TRUE the operation suceeded.
|
|
\retval GS_FALSE the operation failed.
|
|
|
|
\param pGSCDKeyHandle Handle on the created cd key module
|
|
\param fRcvValidationResponse Function of type CBCDKey_RcvValidationResponse
|
|
|
|
*/
|
|
//============================================================================
|
|
GSbool __stdcall GSCDKey_FixRcvValidationResponse(GShandle pGSCDKeyHandle,CBCDKey_RcvValidationResponse fRcvValidationResponse);
|
|
|
|
|
|
//============================================================================
|
|
// Function GSCDKey_FixRcvPlayerStatusRequest
|
|
// Author: Guillaume Plante gsdevelopers@ubisoft.com
|
|
// Date: 2002-06-06 14:58:50
|
|
/*!
|
|
\brief Register the callback
|
|
\par Description:
|
|
This function is used to register the callback CBCDKey_RcvPlayerStatusRequest
|
|
in the library. If this is not correctly called, the callback will
|
|
nerver be triggered.
|
|
|
|
\return Status of the function call
|
|
|
|
\retval GS_TRUE the operation suceeded.
|
|
\retval GS_FALSE the operation failed.
|
|
|
|
\param pGSCDKeyHandle Handle on the created cd key module
|
|
\param fRcvPlayerStatusRequest Function of type CBCDKey_RcvPlayerStatusRequest
|
|
|
|
*/
|
|
//============================================================================
|
|
GSbool __stdcall GSCDKey_FixRcvPlayerStatusRequest(GShandle pGSCDKeyHandle,CBCDKey_RcvPlayerStatusRequest fRcvPlayerStatusRequest);
|
|
|
|
/*! @} end of group6 */
|
|
|
|
#endif //_GSCDKEYCALLBACKS_H_
|