This commit is contained in:
romkazvo
2023-08-07 19:29:24 +08:00
commit 34d6c5d489
4832 changed files with 1389451 additions and 0 deletions

View File

@@ -0,0 +1,72 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>CDKeyDefines.h</h1><div class="fragment"><pre>00001 <span class="comment">/***SDOC*******************************************************************************************</span>
00002 <span class="comment"> * UbiSoft Network Development</span>
00003 <span class="comment"> * ---------------------------</span>
00004 <span class="comment"> *</span>
00005 <span class="comment"> * FILE........: CDKeyDefines.h</span>
00006 <span class="comment"> * CREATION....: May 2002</span>
00007 <span class="comment"> * AUTHOR......: Guillaume Plante</span>
00008 <span class="comment"> *</span>
00009 <span class="comment"> * DESCRIPTION.: This file contains numeric definition for the CDKey-system size and error #</span>
00010 <span class="comment"> *</span>
00011 <span class="comment"> **************************************************************************************************</span>
00012 <span class="comment"> * FILE HISTORY</span>
00013 <span class="comment"> **************************************************************************************************</span>
00014 <span class="comment"> *</span>
00015 <span class="comment"> * DATE........: </span>
00016 <span class="comment"> * AUTHOR......: </span>
00017 <span class="comment"> * DESCRIPTION.: </span>
00018 <span class="comment"> *</span>
00019 <span class="comment"> ******************************************************************************************EDOC***/</span>
00020
00021
00022 <span class="preprocessor">#ifndef _CDKEY_DEFINES_H_</span>
00023 <span class="preprocessor"></span><span class="preprocessor">#define _CDKEY_DEFINES_H_</span>
00024 <span class="preprocessor"></span>
00025 <span class="preprocessor">#include "GSTypes.h"</span>
00026
00027 <span class="comment">//-------------------- player status ------------------------------</span>
00028
00029 <span class="keyword">enum</span> CDKEY_PLAYER_STATUS
00030 {
00031 E_PLAYER_UNKNOWN,
00032 E_PLAYER_INVALID,
00033 E_PLAYER_VALID
00034 };
00035
00036 <span class="comment">//-------------------- defined sizes ------------------------------</span>
00037
00038 <span class="keyword">const</span> GSuint ACTIVATION_ID_SIZE = 16;
00039 <span class="keyword">const</span> GSuint AUTHORIZATION_ID_SIZE = 20;
00040 <span class="keyword">const</span> GSuint CDKEY_SIZE = 23;
00041 <span class="keyword">const</span> GSuint CDKEY_ID_SIZE = 20;
00042 <span class="keyword">const</span> GSuint CHALLENGE_SIZE = 5;
00043 <span class="keyword">const</span> GSuint VALIDATION_KEY_SIZE = 20;
00044 <span class="keyword">const</span> GSuint GLOBAL_ID_SIZE = 16;
00045
00046 <span class="comment">//-------------------- error codes --------------------------------</span>
00047
00048 <span class="keyword">const</span> GSushort ERRORCDKEY_SUCCESS = 0;
00049 <span class="keyword">const</span> GSushort ERRORCDKEY_TIMEOUT = 1;
00050 <span class="keyword">const</span> GSushort ERRORCDKEY_INVALID_CDKEY = 2;
00051 <span class="keyword">const</span> GSushort ERRORCDKEY_NOT_CHALLENGED = 3;
00052 <span class="keyword">const</span> GSushort ERRORCDKEY_ALREADY_ONLINE = 4;
00053 <span class="keyword">const</span> GSushort ERRORCDKEY_INTERNAL_ERROR = 5;
00054
00055 <span class="preprocessor">#endif //_CDKEY_DEFINES_H_</span>
</pre></div><hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,96 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>GSCDKeyCallbacks.h</h1><a href="GSCDKeyCallbacks_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">//****************************************************************************</span>
00002 <span class="comment">//* Author: Guillaume Plante gsdevelopers@ubisoft.com</span>
00003 <span class="comment">//* Date: 2002-06-06 15:47:17</span>
00010 <span class="comment"></span><span class="comment">//****************************************************************************</span>
00011
00012 <span class="preprocessor">#ifndef _GSCDKEYCALLBACKS_H_</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define _GSCDKEYCALLBACKS_H_</span>
00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "GSTypes.h"</span>
00016 <span class="preprocessor">#include "<a class="code" href="GSCDKeyDefines_8h.html">GSCDKeyDefines.h</a>"</span>
00017
00018
00027 <span class="comment">//============================================================================</span>
00028 <span class="comment">// CallBack CBCDKey_RcvActivationID</span>
00029 <span class="comment">// Author: Guillaume Plante gsdevelopers@ubisoft.com</span>
00030 <span class="comment">// Date: 2002-06-06 14:34:14</span>
00045 <span class="comment"></span><span class="comment">//============================================================================</span>
<a name="l00046"></a><a class="code" href="group__group4.html#a0">00046</a> <span class="keyword">typedef</span> GSvoid (__stdcall *<a class="code" href="group__group4.html#a0">CBCDKey_RcvActivationID</a>)(<a class="code" href="struct__REPLY__INFORMATION.html">PREPLY_INFORMATION</a> psReplyInfo,
00047 <a class="code" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo,GSubyte *pucActivationID,GSubyte *pucGlobalID);
00048
00049
00050 <span class="comment">//============================================================================</span>
00051 <span class="comment">// CallBack CBCDKey_RcvAuthorizationID</span>
00052 <span class="comment">// Author: Guillaume Plante gsdevelopers@ubisoft.com</span>
00053 <span class="comment">// Date: 2002-06-06 14:38:23</span>
00067 <span class="comment"></span><span class="comment">//============================================================================</span>
<a name="l00068"></a><a class="code" href="group__group4.html#a1">00068</a> <span class="keyword">typedef</span> GSvoid (__stdcall *<a class="code" href="group__group4.html#a1">CBCDKey_RcvAuthorizationID</a>)(<a class="code" href="struct__REPLY__INFORMATION.html">PREPLY_INFORMATION</a> psReplyInfo,
00069 <a class="code" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo,GSubyte *pucAuhorizationID);
00070
00082 <span class="comment">//============================================================================</span>
00083 <span class="comment">// CallBack CBCDKey_RcvValidationResponse</span>
00084 <span class="comment">// Author: Guillaume Plante gsdevelopers@ubisoft.com</span>
00085 <span class="comment">// Date: 2002-06-06 14:44:57</span>
00103 <span class="comment"></span><span class="comment">//============================================================================</span>
<a name="l00104"></a><a class="code" href="group__group5.html#a0">00104</a> <span class="keyword">typedef</span> GSvoid (__stdcall *<a class="code" href="group__group5.html#a0">CBCDKey_RcvValidationResponse</a>)(<a class="code" href="struct__REPLY__INFORMATION.html">PREPLY_INFORMATION</a> psReplyInfo,
00105 <a class="code" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo,GSubyte *pucAuhorizationID,CDKEY_PLAYER_STATUS eStatus,GSubyte *pucGlobalID);
00106
00107
00108 <span class="comment">//============================================================================</span>
00109 <span class="comment">// CallBack CBCDKey_RcvPlayerStatusRequest</span>
00110 <span class="comment">// Author: Guillaume Plante gsdevelopers@ubisoft.com</span>
00111 <span class="comment">// Date: 2002-06-06 14:49:13</span>
00127 <span class="comment"></span><span class="comment">//============================================================================</span>
<a name="l00128"></a><a class="code" href="group__group5.html#a1">00128</a> <span class="keyword">typedef</span> GSvoid (__stdcall *<a class="code" href="group__group5.html#a1">CBCDKey_RcvPlayerStatusRequest</a>)(<a class="code" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo,
00129 GSubyte *pucAuhorizationID);
00130
00131
00142 <span class="comment">//============================================================================</span>
00143 <span class="comment">// Function GSCDKey_FixRcvActivationID</span>
00144 <span class="comment">// Author: Guillaume Plante gsdevelopers@ubisoft.com</span>
00145 <span class="comment">// Date: 2002-06-06 14:56:15</span>
00162 <span class="comment"></span><span class="comment">//============================================================================</span>
00163 GSbool __stdcall <a class="code" href="group__group6.html#a0">GSCDKey_FixRcvActivationID</a>(GShandle pGSCDKeyHandle,<a class="code" href="group__group4.html#a0">CBCDKey_RcvActivationID</a> fRcvActivationID);
00164
00165
00166 <span class="comment">//============================================================================</span>
00167 <span class="comment">// Function GSCDKey_FixRcvAuthorizationID</span>
00168 <span class="comment">// Author: Guillaume Plante gsdevelopers@ubisoft.com</span>
00169 <span class="comment">// Date: 2002-06-06 14:58:29</span>
00186 <span class="comment"></span><span class="comment">//============================================================================</span>
00187 GSbool __stdcall <a class="code" href="group__group6.html#a1">GSCDKey_FixRcvAuthorizationID</a>(GShandle pGSCDKeyHandle,<a class="code" href="group__group4.html#a1">CBCDKey_RcvAuthorizationID</a> fRcvAuthorizationID);
00188
00189
00190 <span class="comment">//============================================================================</span>
00191 <span class="comment">// Function GSCDKey_FixRcvValidationResponse</span>
00192 <span class="comment">// Author: Guillaume Plante gsdevelopers@ubisoft.com</span>
00193 <span class="comment">// Date: 2002-06-06 14:58:37</span>
00210 <span class="comment"></span><span class="comment">//============================================================================</span>
00211 GSbool __stdcall <a class="code" href="group__group6.html#a2">GSCDKey_FixRcvValidationResponse</a>(GShandle pGSCDKeyHandle,<a class="code" href="group__group5.html#a0">CBCDKey_RcvValidationResponse</a> fRcvValidationResponse);
00212
00213
00214 <span class="comment">//============================================================================</span>
00215 <span class="comment">// Function GSCDKey_FixRcvPlayerStatusRequest</span>
00216 <span class="comment">// Author: Guillaume Plante gsdevelopers@ubisoft.com</span>
00217 <span class="comment">// Date: 2002-06-06 14:58:50</span>
00234 <span class="comment"></span><span class="comment">//============================================================================</span>
00235 GSbool __stdcall <a class="code" href="group__group6.html#a3">GSCDKey_FixRcvPlayerStatusRequest</a>(GShandle pGSCDKeyHandle,<a class="code" href="group__group5.html#a1">CBCDKey_RcvPlayerStatusRequest</a> fRcvPlayerStatusRequest);
00236
00239 <span class="preprocessor">#endif //_GSCDKEYCALLBACKS_H_</span>
</pre></div><hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,54 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>GSCDKeyCallbacks.h File Reference</h1>Callback definitions and register functionalities.
<a href="#_details">More...</a>
<p>
<code>#include "GSTypes.h"</code><br>
<code>#include "<a class="el" href="GSCDKeyDefines_8h-source.html">GSCDKeyDefines.h</a>"</code><br>
<p>
<a href="GSCDKeyCallbacks_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef GSvoid(*&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group4.html#a0">CBCDKey_RcvActivationID</a> )(<a class="el" href="struct__REPLY__INFORMATION.html">PREPLY_INFORMATION</a> psReplyInfo, <a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo, GSubyte *pucActivationID, GSubyte *pucGlobalID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Received a activation id request response from the validation server. </em> <a href="group__group4.html#a0"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef GSvoid(*&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group4.html#a1">CBCDKey_RcvAuthorizationID</a> )(<a class="el" href="struct__REPLY__INFORMATION.html">PREPLY_INFORMATION</a> psReplyInfo, <a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo, GSubyte *pucAuhorizationID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Received a authorization id request response from the validation server. </em> <a href="group__group4.html#a1"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef GSvoid(*&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group5.html#a0">CBCDKey_RcvValidationResponse</a> )(<a class="el" href="struct__REPLY__INFORMATION.html">PREPLY_INFORMATION</a> psReplyInfo, <a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo, GSubyte *pucAuhorizationID, CDKEY_PLAYER_STATUS eStatus, GSubyte *pucGlobalID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Received a validation status for a player from the validation server. </em> <a href="group__group5.html#a0"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef GSvoid(*&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group5.html#a1">CBCDKey_RcvPlayerStatusRequest</a> )(<a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo, GSubyte *pucAuhorizationID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Receive a player status request from the validation server. </em> <a href="group__group5.html#a1"></a><em><br><br></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>GSbool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group6.html#a0">GSCDKey_FixRcvActivationID</a> (GShandle pGSCDKeyHandle, <a class="el" href="GSCDKeyCallbacks_8h.html#a0">CBCDKey_RcvActivationID</a> fRcvActivationID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Register the callback. </em> <a href="group__group6.html#a0"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>GSbool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group6.html#a1">GSCDKey_FixRcvAuthorizationID</a> (GShandle pGSCDKeyHandle, <a class="el" href="GSCDKeyCallbacks_8h.html#a1">CBCDKey_RcvAuthorizationID</a> fRcvAuthorizationID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Register the callback. </em> <a href="group__group6.html#a1"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>GSbool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group6.html#a2">GSCDKey_FixRcvValidationResponse</a> (GShandle pGSCDKeyHandle, <a class="el" href="GSCDKeyCallbacks_8h.html#a0">CBCDKey_RcvValidationResponse</a> fRcvValidationResponse)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Register the callback. </em> <a href="group__group6.html#a2"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>GSbool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group6.html#a3">GSCDKey_FixRcvPlayerStatusRequest</a> (GShandle pGSCDKeyHandle, <a class="el" href="GSCDKeyCallbacks_8h.html#a1">CBCDKey_RcvPlayerStatusRequest</a> fRcvPlayerStatusRequest)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Register the callback. </em> <a href="group__group6.html#a3"></a><em><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This file contains the callback definitions and register functionalities for the cd key interface<hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,59 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>GSCDKeyDefines.h</h1><a href="GSCDKeyDefines_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">//****************************************************************************</span>
00002 <span class="comment">//* Author: Guillaume Plante gsdevelopers@ubisoft.com</span>
00003 <span class="comment">//* Date: 2002-06-06 15:20:01</span>
00010 <span class="comment"></span><span class="comment">//****************************************************************************</span>
00011
00012 <span class="preprocessor">#ifndef _GSCDKEYDEFINES_H_</span>
00013 <span class="preprocessor"></span><span class="preprocessor">#define _GSCDKEYDEFINES_H_</span>
00014 <span class="preprocessor"></span>
00015 <span class="preprocessor">#include "GSTypes.h"</span>
00016 <span class="preprocessor">#include "define.h"</span>
00017 <span class="preprocessor">#include "CDKeyDefines.h"</span>
00018
<a name="l00019"></a><a class="code" href="GSCDKeyDefines_8h.html#a0">00019</a> <span class="keyword">typedef</span> GSuint <a class="code" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a>;
00020
00021
<a name="l00027"></a><a class="code" href="struct__REPLY__INFORMATION.html">00027</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__REPLY__INFORMATION.html">_REPLY_INFORMATION</a>
00028 {
<a name="l00029"></a><a class="code" href="struct__REPLY__INFORMATION.html#o0">00029</a> <a class="code" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a> <a class="code" href="struct__REPLY__INFORMATION.html#o0">CDKeyRequest</a>;
<a name="l00030"></a><a class="code" href="struct__REPLY__INFORMATION.html#o1">00030</a> GSbool <a class="code" href="struct__REPLY__INFORMATION.html#o1">bSucceeded</a>;
<a name="l00031"></a><a class="code" href="struct__REPLY__INFORMATION.html#o2">00031</a> GSushort <a class="code" href="struct__REPLY__INFORMATION.html#o2">usErrorID</a>;
00032 } <a class="code" href="struct__REPLY__INFORMATION.html">REPLY_INFORMATION</a>,*<a class="code" href="struct__REPLY__INFORMATION.html">PREPLY_INFORMATION</a>;
00033
<a name="l00039"></a><a class="code" href="struct__VALIDATION__SERVER__INFO.html">00039</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__VALIDATION__SERVER__INFO.html">_VALIDATION_SERVER_INFO</a>
00040 {
<a name="l00041"></a><a class="code" href="struct__VALIDATION__SERVER__INFO.html#o0">00041</a> GSchar <a class="code" href="struct__VALIDATION__SERVER__INFO.html#o0">szIPAddress</a>[IPADDRESSLENGTH];
<a name="l00042"></a><a class="code" href="struct__VALIDATION__SERVER__INFO.html#o1">00042</a> GSushort <a class="code" href="struct__VALIDATION__SERVER__INFO.html#o1">usPort</a>;
00043 } <a class="code" href="struct__VALIDATION__SERVER__INFO.html">VALIDATION_SERVER_INFO</a>,*<a class="code" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a>;
00044
00045
<a name="l00051"></a><a class="code" href="struct__ACTIVATION__INFO.html">00051</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__ACTIVATION__INFO.html">_ACTIVATION_INFO</a>
00052 {
<a name="l00053"></a><a class="code" href="struct__ACTIVATION__INFO.html#o0">00053</a> GSchar <a class="code" href="struct__ACTIVATION__INFO.html#o0">szGameName</a>[GAMELENGTH];
<a name="l00054"></a><a class="code" href="struct__ACTIVATION__INFO.html#o1">00054</a> GSchar <a class="code" href="struct__ACTIVATION__INFO.html#o1">szCDKey</a>[CDKEY_SIZE + 1];
00055 } <a class="code" href="struct__ACTIVATION__INFO.html">ACTIVATION_INFO</a>,*<a class="code" href="struct__ACTIVATION__INFO.html">PACTIVATION_INFO</a>;
00056
<a name="l00062"></a><a class="code" href="struct__VALIDATION__INFO.html">00062</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="struct__VALIDATION__INFO.html">_VALIDATION_INFO</a>
00063 {
<a name="l00064"></a><a class="code" href="struct__VALIDATION__INFO.html#o0">00064</a> GSubyte <a class="code" href="struct__VALIDATION__INFO.html#o0">ucActivationID</a>[ACTIVATION_ID_SIZE];
<a name="l00065"></a><a class="code" href="struct__VALIDATION__INFO.html#o1">00065</a> GSchar <a class="code" href="struct__VALIDATION__INFO.html#o1">szCDKey</a>[CDKEY_SIZE + 1];
00066 } <a class="code" href="struct__VALIDATION__INFO.html">VALIDATION_INFO</a>,*<a class="code" href="struct__VALIDATION__INFO.html">PVALIDATION_INFO</a>;
00067
00068 <span class="preprocessor">#endif //_GSCDKEYDEFINES_H_</span>
</pre></div><hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,248 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>GSCDKeyDefines.h File Reference</h1>Structure definitions used in the cd key interface.
<a href="#_details">More...</a>
<p>
<code>#include "GSTypes.h"</code><br>
<code>#include "define.h"</code><br>
<code>#include "CDKeyDefines.h"</code><br>
<p>
<a href="GSCDKeyDefines_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Classes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="struct__ACTIVATION__INFO.html">_ACTIVATION_INFO</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Activation information structure. </em> <a href="struct__ACTIVATION__INFO.html#_details">More...</a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="struct__REPLY__INFORMATION.html">_REPLY_INFORMATION</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reply information structure (callback usage). </em> <a href="struct__REPLY__INFORMATION.html#_details">More...</a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="struct__VALIDATION__INFO.html">_VALIDATION_INFO</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Validation information structure. </em> <a href="struct__VALIDATION__INFO.html#_details">More...</a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>struct &nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="struct__VALIDATION__SERVER__INFO.html">_VALIDATION_SERVER_INFO</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Validation server information structure. </em> <a href="struct__VALIDATION__SERVER__INFO.html#_details">More...</a><em><br><br></td></tr>
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="a0" doxytag="GSCDKeyDefines.h::GSCDKeyRequest" ></a>
typedef GSuint&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Request identifier. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="struct__REPLY__INFORMATION.html">_REPLY_INFORMATION</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="GSCDKeyDefines_8h.html#a1">REPLY_INFORMATION</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reply information structure (callback usage). </em> <a href="#a1"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="struct__REPLY__INFORMATION.html">_REPLY_INFORMATION</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="GSCDKeyDefines_8h.html#a2">PREPLY_INFORMATION</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reply information structure (callback usage). </em> <a href="#a2"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="struct__VALIDATION__SERVER__INFO.html">_VALIDATION_SERVER_INFO</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="GSCDKeyDefines_8h.html#a3">VALIDATION_SERVER_INFO</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Validation server information structure. </em> <a href="#a3"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="struct__VALIDATION__SERVER__INFO.html">_VALIDATION_SERVER_INFO</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="GSCDKeyDefines_8h.html#a4">PVALIDATION_SERVER_INFO</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Validation server information structure. </em> <a href="#a4"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="struct__ACTIVATION__INFO.html">_ACTIVATION_INFO</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="GSCDKeyDefines_8h.html#a5">ACTIVATION_INFO</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Activation information structure. </em> <a href="#a5"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="struct__ACTIVATION__INFO.html">_ACTIVATION_INFO</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="GSCDKeyDefines_8h.html#a6">PACTIVATION_INFO</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Activation information structure. </em> <a href="#a6"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="struct__VALIDATION__INFO.html">_VALIDATION_INFO</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="GSCDKeyDefines_8h.html#a7">VALIDATION_INFO</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Validation information structure. </em> <a href="#a7"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef <a class="el" href="struct__VALIDATION__INFO.html">_VALIDATION_INFO</a> *&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="GSCDKeyDefines_8h.html#a8">PVALIDATION_INFO</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Validation information structure. </em> <a href="#a8"></a><em><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This file contains the different structure definitions used in the cd key interface<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="a5" doxytag="GSCDKeyDefines.h::ACTIVATION_INFO" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> typedef struct <a class="el" href="struct__ACTIVATION__INFO.html">_ACTIVATION_INFO</a> <a class="el" href="struct__ACTIVATION__INFO.html">ACTIVATION_INFO</a>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
This structure contains the activation information needed when requesting for a activation id </td>
</tr>
</table>
<a class="anchor" name="a6" doxytag="GSCDKeyDefines.h::PACTIVATION_INFO" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> typedef struct <a class="el" href="struct__ACTIVATION__INFO.html">_ACTIVATION_INFO</a>* <a class="el" href="struct__ACTIVATION__INFO.html">PACTIVATION_INFO</a>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
This structure contains the activation information needed when requesting for a activation id </td>
</tr>
</table>
<a class="anchor" name="a2" doxytag="GSCDKeyDefines.h::PREPLY_INFORMATION" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> typedef struct <a class="el" href="struct__REPLY__INFORMATION.html">_REPLY_INFORMATION</a>* <a class="el" href="struct__REPLY__INFORMATION.html">PREPLY_INFORMATION</a>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
This structure contains the data associated with a response to a request sent to the validation server </td>
</tr>
</table>
<a class="anchor" name="a8" doxytag="GSCDKeyDefines.h::PVALIDATION_INFO" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> typedef struct <a class="el" href="struct__VALIDATION__INFO.html">_VALIDATION_INFO</a>* <a class="el" href="struct__VALIDATION__INFO.html">PVALIDATION_INFO</a>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
This structure contains the validation information needed when requesting for cd key validation </td>
</tr>
</table>
<a class="anchor" name="a4" doxytag="GSCDKeyDefines.h::PVALIDATION_SERVER_INFO" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> typedef struct <a class="el" href="struct__VALIDATION__SERVER__INFO.html">_VALIDATION_SERVER_INFO</a>* <a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
This structure contains the validation server information that is used when sending data </td>
</tr>
</table>
<a class="anchor" name="a1" doxytag="GSCDKeyDefines.h::REPLY_INFORMATION" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> typedef struct <a class="el" href="struct__REPLY__INFORMATION.html">_REPLY_INFORMATION</a> <a class="el" href="struct__REPLY__INFORMATION.html">REPLY_INFORMATION</a>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
This structure contains the data associated with a response to a request sent to the validation server </td>
</tr>
</table>
<a class="anchor" name="a7" doxytag="GSCDKeyDefines.h::VALIDATION_INFO" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> typedef struct <a class="el" href="struct__VALIDATION__INFO.html">_VALIDATION_INFO</a> <a class="el" href="struct__VALIDATION__INFO.html">VALIDATION_INFO</a>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
This structure contains the validation information needed when requesting for cd key validation </td>
</tr>
</table>
<a class="anchor" name="a3" doxytag="GSCDKeyDefines.h::VALIDATION_SERVER_INFO" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> typedef struct <a class="el" href="struct__VALIDATION__SERVER__INFO.html">_VALIDATION_SERVER_INFO</a> <a class="el" href="struct__VALIDATION__SERVER__INFO.html">VALIDATION_SERVER_INFO</a>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
This structure contains the validation server information that is used when sending data </td>
</tr>
</table>
<hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,108 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>GSCDKeyInterface.h</h1><a href="GSCDKeyInterface_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 <span class="comment">//****************************************************************************</span>
00002 <span class="comment">//* Author: Guillaume Plante gsdevelopers@ubisoft.com</span>
00003 <span class="comment">//* Date: 2002-06-06 10:49:52</span>
00010 <span class="comment"></span><span class="comment">//****************************************************************************</span>
00011
00082 <span class="preprocessor">#ifndef _GSCDKEYINTERFACE_H_</span>
00083 <span class="preprocessor"></span><span class="preprocessor">#define _GSCDKEYINTERFACE_H_</span>
00084 <span class="preprocessor"></span>
00085 <span class="preprocessor">#include "<a class="code" href="GSCDKeyDefines_8h.html">GSCDKeyDefines.h</a>"</span>
00086 <span class="preprocessor">#include "<a class="code" href="GSCDKeyCallbacks_8h.html">GSCDKeyCallbacks.h</a>"</span>
00087
00088 <span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
00089
00099 <span class="comment">//============================================================================</span>
00100 <span class="comment">// Function GSCDKey_Initialize</span>
00101 <span class="comment">// Author: Guillaume Plante gsdevelopers@ubisoft.com</span>
00102 <span class="comment">// Date: 2002-06-06 10:51:55</span>
00120 <span class="comment"></span><span class="comment">//============================================================================</span>
00121 GShandle __stdcall <a class="code" href="group__group1.html#a0">GSCDKey_Initialize</a>(GSushort usPort);
00122
00123
00124 <span class="comment">//============================================================================</span>
00125 <span class="comment">// Function GSCDKey_Uninitialize</span>
00126 <span class="comment">// Author: Guillaume Plante gsdevelopers@ubisoft.com</span>
00127 <span class="comment">// Date: 2002-06-06 10:58:49</span>
00139 <span class="comment"></span><span class="comment">//============================================================================</span>
00140 GSvoid __stdcall <a class="code" href="group__group1.html#a1">GSCDKey_Uninitialize</a>(GShandle pGSCDKeyHandle = 0);
00141
00142
00143
00144 <span class="comment">//============================================================================</span>
00145 <span class="comment">// Function GSCDKey_Engine</span>
00146 <span class="comment">// Author: Guillaume Plante gsdevelopers@ubisoft.com</span>
00147 <span class="comment">// Date: 2002-06-06 11:06:12</span>
00165 <span class="comment"></span><span class="comment">//============================================================================</span>
00166 GSbool __stdcall <a class="code" href="group__group1.html#a2">GSCDKey_Engine</a>(GShandle pGSCDKeyHandle,GSuint uiMaxDelay = 500);
00167
00179 <span class="comment">//============================================================================</span>
00180 <span class="comment">// Function GSCDKey_ValidateUser</span>
00181 <span class="comment">// Author: Guillaume Plante gsdevelopers@ubisoft.com</span>
00182 <span class="comment">// Date: 2002-06-06 13:23:34</span>
00200 <span class="comment"></span><span class="comment">//============================================================================</span>
00201 <a class="code" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a> __stdcall <a class="code" href="group__group2.html#a0">GSCDKey_ValidateUser</a>(GShandle pGSCDKeyHandle,
00202 <a class="code" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo,
00203 GSubyte *pucAuhorizationID,GSchar *szGameName,
00204 GSushort usTimeout = 3);
00205
00206
00207 <span class="comment">//============================================================================</span>
00208 <span class="comment">// Function GSCDKey_DisconnectUser</span>
00209 <span class="comment">// Author: Guillaume Plante gsdevelopers@ubisoft.com</span>
00210 <span class="comment">// Date: 2002-06-06 13:57:12</span>
00225 <span class="comment"></span><span class="comment">//============================================================================</span>
00226 <a class="code" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a> __stdcall <a class="code" href="group__group2.html#a1">GSCDKey_DisconnectUser</a>(GShandle pGSCDKeyHandle,
00227 <a class="code" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo,
00228 GSubyte *pucAuhorizationID);
00229
00230
00231 <span class="comment">//============================================================================</span>
00232 <span class="comment">// Function GSCDKey_PlayerStatusReply</span>
00233 <span class="comment">// Author: Guillaume Plante gsdevelopers@ubisoft.com</span>
00234 <span class="comment">// Date: 2002-06-06 13:59:14</span>
00250 <span class="comment"></span><span class="comment">//============================================================================</span>
00251 <a class="code" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a> __stdcall <a class="code" href="group__group2.html#a2">GSCDKey_PlayerStatusReply</a>(GShandle pGSCDKeyHandle,
00252 <a class="code" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo,
00253 GSubyte *pucAuhorizationID,CDKEY_PLAYER_STATUS eStatus);
00254
00266 <span class="comment">//============================================================================</span>
00267 <span class="comment">// Function GSCDKey_RequestActivation</span>
00268 <span class="comment">// Author: Guillaume Plante gsdevelopers@ubisoft.com</span>
00269 <span class="comment">// Date: 2002-06-06 14:05:39</span>
00289 <span class="comment"></span><span class="comment">//============================================================================</span>
00290 <a class="code" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a> __stdcall <a class="code" href="group__group3.html#a0">GSCDKey_RequestActivation</a>(GShandle pGSCDKeyHandle,
00291 <a class="code" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo,
00292 <a class="code" href="struct__ACTIVATION__INFO.html">PACTIVATION_INFO</a> psActivationInfo,
00293 GSushort usTimeout = 6);
00294
00295
00296 <span class="comment">//============================================================================</span>
00297 <span class="comment">// Function GSCDKey_RequestAuthorization</span>
00298 <span class="comment">// Author: Guillaume Plante gsdevelopers@ubisoft.com</span>
00299 <span class="comment">// Date: 2002-06-06 14:16:15</span>
00318 <span class="comment"></span><span class="comment">//============================================================================</span>
00319 <a class="code" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a> __stdcall <a class="code" href="group__group3.html#a1">GSCDKey_RequestAuthorization</a>(GShandle pGSCDKeyHandle,
00320 <a class="code" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo,
00321 <a class="code" href="struct__VALIDATION__INFO.html">PVALIDATION_INFO</a> psValidationInfo,
00322 GSushort usTimeout = 3);
00323
00324 } <span class="comment">// extern "C"</span>
00325
00327 <span class="preprocessor">#endif //_GSCDKEYINTERFACE_H_</span>
</pre></div><hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,53 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>GSCDKeyInterface.h File Reference</h1>Interface ubi.com's cd key validation library.
<a href="#_details">More...</a>
<p>
<code>#include "<a class="el" href="GSCDKeyDefines_8h-source.html">GSCDKeyDefines.h</a>"</code><br>
<code>#include "<a class="el" href="GSCDKeyCallbacks_8h-source.html">GSCDKeyCallbacks.h</a>"</code><br>
<p>
<a href="GSCDKeyInterface_8h-source.html">Go to the source code of this file.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>GShandle&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group1.html#a0">GSCDKey_Initialize</a> (GSushort usPort)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the cd key library. </em> <a href="group__group1.html#a0"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>GSvoid&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group1.html#a1">GSCDKey_Uninitialize</a> (GShandle pGSCDKeyHandle=0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Uinitialize a cd key handle or the whole library. </em> <a href="group__group1.html#a1"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>GSbool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group1.html#a2">GSCDKey_Engine</a> (GShandle pGSCDKeyHandle, GSuint uiMaxDelay=500)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Message pump. </em> <a href="group__group1.html#a2"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group2.html#a0">GSCDKey_ValidateUser</a> (GShandle pGSCDKeyHandle, <a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo, GSubyte *pucAuhorizationID, GSchar *szGameName, GSushort usTimeout=3)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ask the validation server for a validation status of a player. </em> <a href="group__group2.html#a0"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group2.html#a1">GSCDKey_DisconnectUser</a> (GShandle pGSCDKeyHandle, <a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo, GSubyte *pucAuhorizationID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inform the validation server that a player has disconnected. </em> <a href="group__group2.html#a1"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group2.html#a2">GSCDKey_PlayerStatusReply</a> (GShandle pGSCDKeyHandle, <a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo, GSubyte *pucAuhorizationID, CDKEY_PLAYER_STATUS eStatus)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inform the validation server of a player status. </em> <a href="group__group2.html#a2"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group3.html#a0">GSCDKey_RequestActivation</a> (GShandle pGSCDKeyHandle, <a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo, <a class="el" href="struct__ACTIVATION__INFO.html">PACTIVATION_INFO</a> psActivationInfo, GSushort usTimeout=6)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Request cd key activation id for futur authorization request (called once). </em> <a href="group__group3.html#a0"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group3.html#a1">GSCDKey_RequestAuthorization</a> (GShandle pGSCDKeyHandle, <a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo, <a class="el" href="struct__VALIDATION__INFO.html">PVALIDATION_INFO</a> psValidationInfo, GSushort usTimeout=3)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a authorization request to the validation server. </em> <a href="group__group3.html#a1"></a><em><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This interface provides game server and game client functionality to activate and validate a user's cd key.<hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,23 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindexHL" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>gs-sdk-cdkey Class List</h1>Here are the classes, structs, unions and interfaces with brief descriptions:<table>
<tr><td class="indexkey"><a class="el" href="struct__ACTIVATION__INFO.html">_ACTIVATION_INFO</a></td><td class="indexvalue">Activation information structure </td></tr>
<tr><td class="indexkey"><a class="el" href="struct__REPLY__INFORMATION.html">_REPLY_INFORMATION</a></td><td class="indexvalue">Reply information structure (callback usage) </td></tr>
<tr><td class="indexkey"><a class="el" href="struct__VALIDATION__INFO.html">_VALIDATION_INFO</a></td><td class="indexvalue">Validation information structure </td></tr>
<tr><td class="indexkey"><a class="el" href="struct__VALIDATION__SERVER__INFO.html">_VALIDATION_SERVER_INFO</a></td><td class="indexvalue">Validation server information structure </td></tr>
</table>
<hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1,23 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindexHL" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>gs-sdk-cdkey File List</h1>Here is a list of all documented files with brief descriptions:<table>
<tr><td class="indexkey"><b>CDKeyDefines.h</b> <a href="CDKeyDefines_8h-source.html">[code]</a></td><td class="indexvalue"></td></tr>
<tr><td class="indexkey"><a class="el" href="GSCDKeyCallbacks_8h.html">GSCDKeyCallbacks.h</a> <a href="GSCDKeyCallbacks_8h-source.html">[code]</a></td><td class="indexvalue">Callback definitions and register functionalities </td></tr>
<tr><td class="indexkey"><a class="el" href="GSCDKeyDefines_8h.html">GSCDKeyDefines.h</a> <a href="GSCDKeyDefines_8h-source.html">[code]</a></td><td class="indexvalue">Structure definitions used in the cd key interface </td></tr>
<tr><td class="indexkey"><a class="el" href="GSCDKeyInterface_8h.html">GSCDKeyInterface.h</a> <a href="GSCDKeyInterface_8h-source.html">[code]</a></td><td class="indexvalue">Interface ubi.com's cd key validation library </td></tr>
</table>
<hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,30 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<div class="qindex"><a class="qindexHL" href="functions.html">All</a> | <a class="qindex" href="functions_vars.html">Variables</a></div>
<p>
Here is a list of all documented class members with links to the class documentation for each member:<ul>
<li>bSucceeded
: <a class="el" href="struct__REPLY__INFORMATION.html#o1">_REPLY_INFORMATION</a><li>CDKeyRequest
: <a class="el" href="struct__REPLY__INFORMATION.html#o0">_REPLY_INFORMATION</a><li>szCDKey
: <a class="el" href="struct__VALIDATION__INFO.html#o1">_VALIDATION_INFO</a>, <a class="el" href="struct__ACTIVATION__INFO.html#o1">_ACTIVATION_INFO</a><li>szGameName
: <a class="el" href="struct__ACTIVATION__INFO.html#o0">_ACTIVATION_INFO</a><li>szIPAddress
: <a class="el" href="struct__VALIDATION__SERVER__INFO.html#o0">_VALIDATION_SERVER_INFO</a><li>ucActivationID
: <a class="el" href="struct__VALIDATION__INFO.html#o0">_VALIDATION_INFO</a><li>usErrorID
: <a class="el" href="struct__REPLY__INFORMATION.html#o2">_REPLY_INFORMATION</a><li>usPort
: <a class="el" href="struct__VALIDATION__SERVER__INFO.html#o1">_VALIDATION_SERVER_INFO</a></ul>
<hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,30 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindexHL" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<div class="qindex"><a class="qindex" href="functions.html">All</a> | <a class="qindexHL" href="functions_vars.html">Variables</a></div>
<p>
<ul>
<li>bSucceeded
: <a class="el" href="struct__REPLY__INFORMATION.html#o1">_REPLY_INFORMATION</a><li>CDKeyRequest
: <a class="el" href="struct__REPLY__INFORMATION.html#o0">_REPLY_INFORMATION</a><li>szCDKey
: <a class="el" href="struct__VALIDATION__INFO.html#o1">_VALIDATION_INFO</a>, <a class="el" href="struct__ACTIVATION__INFO.html#o1">_ACTIVATION_INFO</a><li>szGameName
: <a class="el" href="struct__ACTIVATION__INFO.html#o0">_ACTIVATION_INFO</a><li>szIPAddress
: <a class="el" href="struct__VALIDATION__SERVER__INFO.html#o0">_VALIDATION_SERVER_INFO</a><li>ucActivationID
: <a class="el" href="struct__VALIDATION__INFO.html#o0">_VALIDATION_INFO</a><li>usErrorID
: <a class="el" href="struct__REPLY__INFORMATION.html#o2">_REPLY_INFORMATION</a><li>usPort
: <a class="el" href="struct__VALIDATION__SERVER__INFO.html#o1">_VALIDATION_SERVER_INFO</a></ul>
<hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,47 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindexHL" href="globals.html">File&nbsp;Members</a></div>
<div class="qindex"><a class="qindexHL" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_type.html">Typedefs</a></div>
<p>
Here is a list of all documented file members with links to the documentation:<ul>
<li>ACTIVATION_INFO
: <a class="el" href="GSCDKeyDefines_8h.html#a5">GSCDKeyDefines.h</a><li>CBCDKey_RcvActivationID
: <a class="el" href="GSCDKeyCallbacks_8h.html#a0">GSCDKeyCallbacks.h</a><li>CBCDKey_RcvAuthorizationID
: <a class="el" href="GSCDKeyCallbacks_8h.html#a1">GSCDKeyCallbacks.h</a><li>CBCDKey_RcvPlayerStatusRequest
: <a class="el" href="GSCDKeyCallbacks_8h.html#a1">GSCDKeyCallbacks.h</a><li>CBCDKey_RcvValidationResponse
: <a class="el" href="GSCDKeyCallbacks_8h.html#a0">GSCDKeyCallbacks.h</a><li>GSCDKey_DisconnectUser()
: <a class="el" href="GSCDKeyInterface_8h.html#a1">GSCDKeyInterface.h</a><li>GSCDKey_Engine()
: <a class="el" href="GSCDKeyInterface_8h.html#a2">GSCDKeyInterface.h</a><li>GSCDKey_FixRcvActivationID()
: <a class="el" href="GSCDKeyCallbacks_8h.html#a0">GSCDKeyCallbacks.h</a><li>GSCDKey_FixRcvAuthorizationID()
: <a class="el" href="GSCDKeyCallbacks_8h.html#a1">GSCDKeyCallbacks.h</a><li>GSCDKey_FixRcvPlayerStatusRequest()
: <a class="el" href="GSCDKeyCallbacks_8h.html#a3">GSCDKeyCallbacks.h</a><li>GSCDKey_FixRcvValidationResponse()
: <a class="el" href="GSCDKeyCallbacks_8h.html#a2">GSCDKeyCallbacks.h</a><li>GSCDKey_Initialize()
: <a class="el" href="GSCDKeyInterface_8h.html#a0">GSCDKeyInterface.h</a><li>GSCDKey_PlayerStatusReply()
: <a class="el" href="GSCDKeyInterface_8h.html#a2">GSCDKeyInterface.h</a><li>GSCDKey_RequestActivation()
: <a class="el" href="GSCDKeyInterface_8h.html#a0">GSCDKeyInterface.h</a><li>GSCDKey_RequestAuthorization()
: <a class="el" href="GSCDKeyInterface_8h.html#a1">GSCDKeyInterface.h</a><li>GSCDKey_Uninitialize()
: <a class="el" href="GSCDKeyInterface_8h.html#a1">GSCDKeyInterface.h</a><li>GSCDKey_ValidateUser()
: <a class="el" href="GSCDKeyInterface_8h.html#a0">GSCDKeyInterface.h</a><li>GSCDKeyRequest
: <a class="el" href="GSCDKeyDefines_8h.html#a0">GSCDKeyDefines.h</a><li>PACTIVATION_INFO
: <a class="el" href="GSCDKeyDefines_8h.html#a6">GSCDKeyDefines.h</a><li>PREPLY_INFORMATION
: <a class="el" href="GSCDKeyDefines_8h.html#a2">GSCDKeyDefines.h</a><li>PVALIDATION_INFO
: <a class="el" href="GSCDKeyDefines_8h.html#a8">GSCDKeyDefines.h</a><li>PVALIDATION_SERVER_INFO
: <a class="el" href="GSCDKeyDefines_8h.html#a4">GSCDKeyDefines.h</a><li>REPLY_INFORMATION
: <a class="el" href="GSCDKeyDefines_8h.html#a1">GSCDKeyDefines.h</a><li>VALIDATION_INFO
: <a class="el" href="GSCDKeyDefines_8h.html#a7">GSCDKeyDefines.h</a><li>VALIDATION_SERVER_INFO
: <a class="el" href="GSCDKeyDefines_8h.html#a3">GSCDKeyDefines.h</a></ul>
<hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,34 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindexHL" href="globals.html">File&nbsp;Members</a></div>
<div class="qindex"><a class="qindex" href="globals.html">All</a> | <a class="qindexHL" href="globals_func.html">Functions</a> | <a class="qindex" href="globals_type.html">Typedefs</a></div>
<p>
<ul>
<li>GSCDKey_DisconnectUser()
: <a class="el" href="GSCDKeyInterface_8h.html#a1">GSCDKeyInterface.h</a><li>GSCDKey_Engine()
: <a class="el" href="GSCDKeyInterface_8h.html#a2">GSCDKeyInterface.h</a><li>GSCDKey_FixRcvActivationID()
: <a class="el" href="GSCDKeyCallbacks_8h.html#a0">GSCDKeyCallbacks.h</a><li>GSCDKey_FixRcvAuthorizationID()
: <a class="el" href="GSCDKeyCallbacks_8h.html#a1">GSCDKeyCallbacks.h</a><li>GSCDKey_FixRcvPlayerStatusRequest()
: <a class="el" href="GSCDKeyCallbacks_8h.html#a3">GSCDKeyCallbacks.h</a><li>GSCDKey_FixRcvValidationResponse()
: <a class="el" href="GSCDKeyCallbacks_8h.html#a2">GSCDKeyCallbacks.h</a><li>GSCDKey_Initialize()
: <a class="el" href="GSCDKeyInterface_8h.html#a0">GSCDKeyInterface.h</a><li>GSCDKey_PlayerStatusReply()
: <a class="el" href="GSCDKeyInterface_8h.html#a2">GSCDKeyInterface.h</a><li>GSCDKey_RequestActivation()
: <a class="el" href="GSCDKeyInterface_8h.html#a0">GSCDKeyInterface.h</a><li>GSCDKey_RequestAuthorization()
: <a class="el" href="GSCDKeyInterface_8h.html#a1">GSCDKeyInterface.h</a><li>GSCDKey_Uninitialize()
: <a class="el" href="GSCDKeyInterface_8h.html#a1">GSCDKeyInterface.h</a><li>GSCDKey_ValidateUser()
: <a class="el" href="GSCDKeyInterface_8h.html#a0">GSCDKeyInterface.h</a></ul>
<hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,35 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindexHL" href="globals.html">File&nbsp;Members</a></div>
<div class="qindex"><a class="qindex" href="globals.html">All</a> | <a class="qindex" href="globals_func.html">Functions</a> | <a class="qindexHL" href="globals_type.html">Typedefs</a></div>
<p>
<ul>
<li>ACTIVATION_INFO
: <a class="el" href="GSCDKeyDefines_8h.html#a5">GSCDKeyDefines.h</a><li>CBCDKey_RcvActivationID
: <a class="el" href="GSCDKeyCallbacks_8h.html#a0">GSCDKeyCallbacks.h</a><li>CBCDKey_RcvAuthorizationID
: <a class="el" href="GSCDKeyCallbacks_8h.html#a1">GSCDKeyCallbacks.h</a><li>CBCDKey_RcvPlayerStatusRequest
: <a class="el" href="GSCDKeyCallbacks_8h.html#a1">GSCDKeyCallbacks.h</a><li>CBCDKey_RcvValidationResponse
: <a class="el" href="GSCDKeyCallbacks_8h.html#a0">GSCDKeyCallbacks.h</a><li>GSCDKeyRequest
: <a class="el" href="GSCDKeyDefines_8h.html#a0">GSCDKeyDefines.h</a><li>PACTIVATION_INFO
: <a class="el" href="GSCDKeyDefines_8h.html#a6">GSCDKeyDefines.h</a><li>PREPLY_INFORMATION
: <a class="el" href="GSCDKeyDefines_8h.html#a2">GSCDKeyDefines.h</a><li>PVALIDATION_INFO
: <a class="el" href="GSCDKeyDefines_8h.html#a8">GSCDKeyDefines.h</a><li>PVALIDATION_SERVER_INFO
: <a class="el" href="GSCDKeyDefines_8h.html#a4">GSCDKeyDefines.h</a><li>REPLY_INFORMATION
: <a class="el" href="GSCDKeyDefines_8h.html#a1">GSCDKeyDefines.h</a><li>VALIDATION_INFO
: <a class="el" href="GSCDKeyDefines_8h.html#a7">GSCDKeyDefines.h</a><li>VALIDATION_SERVER_INFO
: <a class="el" href="GSCDKeyDefines_8h.html#a3">GSCDKeyDefines.h</a></ul>
<hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,163 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>General functionalities</h1>General functionalities.
<a href="#_details">More...</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>GShandle&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group1.html#a0">GSCDKey_Initialize</a> (GSushort usPort)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initialize the cd key library. </em> <a href="#a0"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>GSvoid&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group1.html#a1">GSCDKey_Uninitialize</a> (GShandle pGSCDKeyHandle=0)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Uinitialize a cd key handle or the whole library. </em> <a href="#a1"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>GSbool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group1.html#a2">GSCDKey_Engine</a> (GShandle pGSCDKeyHandle, GSuint uiMaxDelay=500)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Message pump. </em> <a href="#a2"></a><em><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
These functions are used both by the game client and game server. They are use to initialize, uninitialize the library and process incomming/outgoing messages. <hr><h2>Function Documentation</h2>
<a class="anchor" name="a2" doxytag="GSCDKeyInterface.h::GSCDKey_Engine" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> GSbool GSCDKey_Engine </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">GShandle&nbsp;</td>
<td class="mdname" nowrap> <em>pGSCDKeyHandle</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>GSuint&nbsp;</td>
<td class="mdname" nowrap> <em>uiMaxDelay</em> = 500</td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Description:</b></dt><dd>This function send outgoing messages and process incomming messages. To insure smooth operation of the library, this function should be called at least 10 time a second. It will return GS_FALSE if the provided cd key handle is not valid.</dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>Status of the function call</dd></dl>
<dl compact><dt><b>Return values:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign=top><em>GS_TRUE</em>&nbsp;</td><td>the operation suceeded. </td></tr>
<tr><td valign=top><em>GS_FALSE</em>&nbsp;</td><td>the operation failed.</td></tr>
</table>
</dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign=top><em>pGSCDKeyHandle</em>&nbsp;</td><td>Handle on the cd key module </td></tr>
<tr><td valign=top><em>uiMaxDelay</em>&nbsp;</td><td>Maximum number of milisecond spent on processing messages </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<a class="anchor" name="a0" doxytag="GSCDKeyInterface.h::GSCDKey_Initialize" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> GShandle GSCDKey_Initialize </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">GSushort&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>usPort</em> </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Description:</b></dt><dd>This function will initialize the cd key library, on success it will return a handle that can be use for futur calls on this service. The provided port will be reserved for library communication and will be freed once the library is uninitialized, if the supplied port is not available (already binded) on the local machine, the initialization will fail.</dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>Status of the function call</dd></dl>
<dl compact><dt><b>Return values:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign=top><em>Handle</em>&nbsp;</td><td>on the created cd key module </td></tr>
<tr><td valign=top><em>0</em>&nbsp;</td><td>if the operation failed</td></tr>
</table>
</dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign=top><em>usPort</em>&nbsp;</td><td>The port on wich the client will listen to. </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<a class="anchor" name="a1" doxytag="GSCDKeyInterface.h::GSCDKey_Uninitialize" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> GSvoid GSCDKey_Uninitialize </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">GShandle&nbsp;</td>
<td class="mdname1" valign="top" nowrap> <em>pGSCDKeyHandle</em> = 0 </td>
<td class="md" valign="top">&nbsp;)&nbsp;</td>
<td class="md" nowrap></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Description:</b></dt><dd>This function will uninitialize a provided cd key handle or it will uninitialize all cd key handle if no argument are supplied.</dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>void</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign=top><em>pGSCDKeyHandle</em>&nbsp;</td><td>Handle on the cd key module </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,213 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>Game server functionalities</h1>Game server functionalities.
<a href="#_details">More...</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group2.html#a0">GSCDKey_ValidateUser</a> (GShandle pGSCDKeyHandle, <a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo, GSubyte *pucAuhorizationID, GSchar *szGameName, GSushort usTimeout=3)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Ask the validation server for a validation status of a player. </em> <a href="#a0"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group2.html#a1">GSCDKey_DisconnectUser</a> (GShandle pGSCDKeyHandle, <a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo, GSubyte *pucAuhorizationID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inform the validation server that a player has disconnected. </em> <a href="#a1"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group2.html#a2">GSCDKey_PlayerStatusReply</a> (GShandle pGSCDKeyHandle, <a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo, GSubyte *pucAuhorizationID, CDKEY_PLAYER_STATUS eStatus)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inform the validation server of a player status. </em> <a href="#a2"></a><em><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
These functions are used by the game server to ask the validation status of a player, inform the validation server of a player status and disconnection. <hr><h2>Function Documentation</h2>
<a class="anchor" name="a1" doxytag="GSCDKeyInterface.h::GSCDKey_DisconnectUser" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a> GSCDKey_DisconnectUser </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">GShandle&nbsp;</td>
<td class="mdname" nowrap> <em>pGSCDKeyHandle</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a>&nbsp;</td>
<td class="mdname" nowrap> <em>psValidationServerInfo</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>GSubyte *&nbsp;</td>
<td class="mdname" nowrap> <em>pucAuhorizationID</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Description:</b></dt><dd>This function is used to inform the validation server that a player has disconnected from the game server. This must be called whenever a game server detects a client disconnection.</dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>The id of the request</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign=top><em>pGSCDKeyHandle</em>&nbsp;</td><td>Handle on the created cd key module </td></tr>
<tr><td valign=top><em>psValidationServerInfo</em>&nbsp;</td><td>Validation server information </td></tr>
<tr><td valign=top><em>pucAuhorizationID</em>&nbsp;</td><td>Authorization id of the game client </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<a class="anchor" name="a2" doxytag="GSCDKeyInterface.h::GSCDKey_PlayerStatusReply" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a> GSCDKey_PlayerStatusReply </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">GShandle&nbsp;</td>
<td class="mdname" nowrap> <em>pGSCDKeyHandle</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a>&nbsp;</td>
<td class="mdname" nowrap> <em>psValidationServerInfo</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>GSubyte *&nbsp;</td>
<td class="mdname" nowrap> <em>pucAuhorizationID</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>CDKEY_PLAYER_STATUS&nbsp;</td>
<td class="mdname" nowrap> <em>eStatus</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Description:</b></dt><dd>This function is used to inform the validation server of a player status. This must be called with the correct status for a player whenever the game server receive a status request from the validation server via the CBCDKey_RcvPlayerStatusRequest callback.</dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>The id of the request</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign=top><em>pGSCDKeyHandle</em>&nbsp;</td><td>Handle on the created cd key module </td></tr>
<tr><td valign=top><em>psValidationServerInfo</em>&nbsp;</td><td>Validation server information </td></tr>
<tr><td valign=top><em>pucAuhorizationID</em>&nbsp;</td><td>Authorization id of the game client </td></tr>
<tr><td valign=top><em>eStatus</em>&nbsp;</td><td>Status of the player </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<a class="anchor" name="a0" doxytag="GSCDKeyInterface.h::GSCDKey_ValidateUser" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a> GSCDKey_ValidateUser </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">GShandle&nbsp;</td>
<td class="mdname" nowrap> <em>pGSCDKeyHandle</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a>&nbsp;</td>
<td class="mdname" nowrap> <em>psValidationServerInfo</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>GSubyte *&nbsp;</td>
<td class="mdname" nowrap> <em>pucAuhorizationID</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>GSchar *&nbsp;</td>
<td class="mdname" nowrap> <em>szGameName</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>GSushort&nbsp;</td>
<td class="mdname" nowrap> <em>usTimeout</em> = 3</td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Description:</b></dt><dd>This function is used to ask the validation server for a validation status of a player after the latter has connected on the game server. The game server will received the result via the CBCDKey_RcvValidationResponse callback.</dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>The id of the request</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign=top><em>pGSCDKeyHandle</em>&nbsp;</td><td>Handle on the created cd key module </td></tr>
<tr><td valign=top><em>psValidationServerInfo</em>&nbsp;</td><td>Validation server information </td></tr>
<tr><td valign=top><em>pucAuhorizationID</em>&nbsp;</td><td>Authorization id sent by the game client </td></tr>
<tr><td valign=top><em>szGameName</em>&nbsp;</td><td>Name of the game on the game server </td></tr>
<tr><td valign=top><em>usTimeout</em>&nbsp;</td><td>Number of second before the request is considered timed out default for this request is 3. 0 means a unlimited timeout value. </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,150 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>Game client functionalities</h1>Game client functionalities.
<a href="#_details">More...</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group3.html#a0">GSCDKey_RequestActivation</a> (GShandle pGSCDKeyHandle, <a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo, <a class="el" href="struct__ACTIVATION__INFO.html">PACTIVATION_INFO</a> psActivationInfo, GSushort usTimeout=6)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Request cd key activation id for futur authorization request (called once). </em> <a href="#a0"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="el" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group3.html#a1">GSCDKey_RequestAuthorization</a> (GShandle pGSCDKeyHandle, <a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo, <a class="el" href="struct__VALIDATION__INFO.html">PVALIDATION_INFO</a> psValidationInfo, GSushort usTimeout=3)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Send a authorization request to the validation server. </em> <a href="#a1"></a><em><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
These functions are used by the game client to request a activation and validation information from the validation server. <hr><h2>Function Documentation</h2>
<a class="anchor" name="a0" doxytag="GSCDKeyInterface.h::GSCDKey_RequestActivation" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a> GSCDKey_RequestActivation </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">GShandle&nbsp;</td>
<td class="mdname" nowrap> <em>pGSCDKeyHandle</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a>&nbsp;</td>
<td class="mdname" nowrap> <em>psValidationServerInfo</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="struct__ACTIVATION__INFO.html">PACTIVATION_INFO</a>&nbsp;</td>
<td class="mdname" nowrap> <em>psActivationInfo</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>GSushort&nbsp;</td>
<td class="mdname" nowrap> <em>usTimeout</em> = 6</td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Description:</b></dt><dd>This function is used to get the activation id that will be use in futur client authentication. This function should be called the first time a cd key authentication is needed (i.g. the first time a user plays online after the game installation). The activation id should be safely kept so that each subsequent authorization request use that activation id. After calling this request, the result will be returned via the CBCDKey_RcvActivationID callback. 0 means a unlimited timeout value.</dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>The id of the request</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign=top><em>pGSCDKeyHandle</em>&nbsp;</td><td>Handle on the created cd key module </td></tr>
<tr><td valign=top><em>psValidationServerInfo</em>&nbsp;</td><td>Validation server information </td></tr>
<tr><td valign=top><em>psActivationInfo</em>&nbsp;</td><td>Validation information </td></tr>
<tr><td valign=top><em>usTimeout</em>&nbsp;</td><td>Number of second before the request is considered timed out default for this request is 6. 0 means a unlimited timeout value. </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<a class="anchor" name="a1" doxytag="GSCDKeyInterface.h::GSCDKey_RequestAuthorization" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> <a class="el" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a> GSCDKey_RequestAuthorization </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">GShandle&nbsp;</td>
<td class="mdname" nowrap> <em>pGSCDKeyHandle</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a>&nbsp;</td>
<td class="mdname" nowrap> <em>psValidationServerInfo</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="struct__VALIDATION__INFO.html">PVALIDATION_INFO</a>&nbsp;</td>
<td class="mdname" nowrap> <em>psValidationInfo</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap>GSushort&nbsp;</td>
<td class="mdname" nowrap> <em>usTimeout</em> = 3</td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Description:</b></dt><dd>This function is used to validate a cd key before joining a game server. The validation information structure contains the activation id and the cd key. After having receive the result from this request via the CBCDKey_RcvAuthorizationID callback, the user can join a game server wich will ask the validation server for the player status (authenticated or not)</dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>The id of the request</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign=top><em>pGSCDKeyHandle</em>&nbsp;</td><td>Handle on the created cd key module </td></tr>
<tr><td valign=top><em>psValidationServerInfo</em>&nbsp;</td><td>Validation server information </td></tr>
<tr><td valign=top><em>psValidationInfo</em>&nbsp;</td><td>Validation information </td></tr>
<tr><td valign=top><em>usTimeout</em>&nbsp;</td><td>Number of second before the request is considered timed out default for this request is 3. 0 means a unlimited timeout value. </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,91 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>Game client callback</h1>Game client callback.
<a href="#_details">More...</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef GSvoid(*&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group4.html#a0">CBCDKey_RcvActivationID</a> )(<a class="el" href="struct__REPLY__INFORMATION.html">PREPLY_INFORMATION</a> psReplyInfo, <a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo, GSubyte *pucActivationID, GSubyte *pucGlobalID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Received a activation id request response from the validation server. </em> <a href="#a0"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef GSvoid(*&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group4.html#a1">CBCDKey_RcvAuthorizationID</a> )(<a class="el" href="struct__REPLY__INFORMATION.html">PREPLY_INFORMATION</a> psReplyInfo, <a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo, GSubyte *pucAuhorizationID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Received a authorization id request response from the validation server. </em> <a href="#a1"></a><em><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
These callback function are used by the game client to process response to queries sent to the validation server <hr><h2>Typedef Documentation</h2>
<a class="anchor" name="a0" doxytag="GSCDKeyCallbacks.h::CBCDKey_RcvActivationID" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> typedef GSvoid( * <a class="el" href="GSCDKeyCallbacks_8h.html#a0">CBCDKey_RcvActivationID</a>)(<a class="el" href="struct__REPLY__INFORMATION.html">PREPLY_INFORMATION</a> psReplyInfo, <a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo,GSubyte *pucActivationID,GSubyte *pucGlobalID)
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Description:</b></dt><dd>This callback will be called whenever the game client receive a response after requesting the validation server for a activation id.</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign=top><em>psReplyInfo</em>&nbsp;</td><td>Pointer to a reply information structure that contains request id and status </td></tr>
<tr><td valign=top><em>psValidationServerInfo</em>&nbsp;</td><td>Validation server information from where the response came </td></tr>
<tr><td valign=top><em>pucActivationID</em>&nbsp;</td><td>The activation id in case the request succedded </td></tr>
<tr><td valign=top><em>pucGlobalID</em>&nbsp;</td><td>The unique global identifier of the CDKey </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<a class="anchor" name="a1" doxytag="GSCDKeyCallbacks.h::CBCDKey_RcvAuthorizationID" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> typedef GSvoid( * <a class="el" href="GSCDKeyCallbacks_8h.html#a1">CBCDKey_RcvAuthorizationID</a>)(<a class="el" href="struct__REPLY__INFORMATION.html">PREPLY_INFORMATION</a> psReplyInfo, <a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo,GSubyte *pucAuhorizationID)
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Description:</b></dt><dd>This callback will be called whenever the game client receive a response after requesting the validation server for a authorization id.</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign=top><em>psReplyInfo</em>&nbsp;</td><td>Pointer to a reply information structure that contains request id and status </td></tr>
<tr><td valign=top><em>psValidationServerInfo</em>&nbsp;</td><td>Validation server information from where the response came </td></tr>
<tr><td valign=top><em>pucAuhorizationID</em>&nbsp;</td><td>The authorization id in case the request succedded </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,91 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>Game server callback</h1>Game server callback.
<a href="#_details">More...</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef GSvoid(*&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group5.html#a0">CBCDKey_RcvValidationResponse</a> )(<a class="el" href="struct__REPLY__INFORMATION.html">PREPLY_INFORMATION</a> psReplyInfo, <a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo, GSubyte *pucAuhorizationID, CDKEY_PLAYER_STATUS eStatus, GSubyte *pucGlobalID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Received a validation status for a player from the validation server. </em> <a href="#a0"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>typedef GSvoid(*&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group5.html#a1">CBCDKey_RcvPlayerStatusRequest</a> )(<a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo, GSubyte *pucAuhorizationID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Receive a player status request from the validation server. </em> <a href="#a1"></a><em><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
These callback function are used by the game server to process response to queries sent to or by the validation server <hr><h2>Typedef Documentation</h2>
<a class="anchor" name="a1" doxytag="GSCDKeyCallbacks.h::CBCDKey_RcvPlayerStatusRequest" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> typedef GSvoid( * <a class="el" href="GSCDKeyCallbacks_8h.html#a1">CBCDKey_RcvPlayerStatusRequest</a>)(<a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo, GSubyte *pucAuhorizationID)
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Description:</b></dt><dd>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.</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign=top><em>psValidationServerInfo</em>&nbsp;</td><td>Validation server information from where the response came </td></tr>
<tr><td valign=top><em>pucAuhorizationID</em>&nbsp;</td><td>The authorization id of the concerned player </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<a class="anchor" name="a0" doxytag="GSCDKeyCallbacks.h::CBCDKey_RcvValidationResponse" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> typedef GSvoid( * <a class="el" href="GSCDKeyCallbacks_8h.html#a0">CBCDKey_RcvValidationResponse</a>)(<a class="el" href="struct__REPLY__INFORMATION.html">PREPLY_INFORMATION</a> psReplyInfo, <a class="el" href="struct__VALIDATION__SERVER__INFO.html">PVALIDATION_SERVER_INFO</a> psValidationServerInfo,GSubyte *pucAuhorizationID,CDKEY_PLAYER_STATUS eStatus,GSubyte *pucGlobalID)
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Description:</b></dt><dd>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.</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign=top><em>psReplyInfo</em>&nbsp;</td><td>Pointer to a reply information structure that contains request id and status </td></tr>
<tr><td valign=top><em>psValidationServerInfo</em>&nbsp;</td><td>Validation server information from where the response came </td></tr>
<tr><td valign=top><em>pucAuhorizationID</em>&nbsp;</td><td>The authorization id in the query </td></tr>
<tr><td valign=top><em>eStatus</em>&nbsp;</td><td>The validation status of the player </td></tr>
<tr><td valign=top><em>pucGlobalID</em>&nbsp;</td><td>The unique global identifier of the CDKey </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,244 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>Callback register functions</h1>Callback register functions These functions are used to register the callback for a created cd key module.
<a href="#_details">More...</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>GSbool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group6.html#a0">GSCDKey_FixRcvActivationID</a> (GShandle pGSCDKeyHandle, <a class="el" href="GSCDKeyCallbacks_8h.html#a0">CBCDKey_RcvActivationID</a> fRcvActivationID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Register the callback. </em> <a href="#a0"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>GSbool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group6.html#a1">GSCDKey_FixRcvAuthorizationID</a> (GShandle pGSCDKeyHandle, <a class="el" href="GSCDKeyCallbacks_8h.html#a1">CBCDKey_RcvAuthorizationID</a> fRcvAuthorizationID)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Register the callback. </em> <a href="#a1"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>GSbool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group6.html#a2">GSCDKey_FixRcvValidationResponse</a> (GShandle pGSCDKeyHandle, <a class="el" href="GSCDKeyCallbacks_8h.html#a0">CBCDKey_RcvValidationResponse</a> fRcvValidationResponse)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Register the callback. </em> <a href="#a2"></a><em><br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top>GSbool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="group__group6.html#a3">GSCDKey_FixRcvPlayerStatusRequest</a> (GShandle pGSCDKeyHandle, <a class="el" href="GSCDKeyCallbacks_8h.html#a1">CBCDKey_RcvPlayerStatusRequest</a> fRcvPlayerStatusRequest)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Register the callback. </em> <a href="#a3"></a><em><br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="a0" doxytag="GSCDKeyCallbacks.h::GSCDKey_FixRcvActivationID" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> GSbool GSCDKey_FixRcvActivationID </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">GShandle&nbsp;</td>
<td class="mdname" nowrap> <em>pGSCDKeyHandle</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="GSCDKeyCallbacks_8h.html#a0">CBCDKey_RcvActivationID</a>&nbsp;</td>
<td class="mdname" nowrap> <em>fRcvActivationID</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Description:</b></dt><dd>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.</dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>Status of the function call</dd></dl>
<dl compact><dt><b>Return values:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign=top><em>GS_TRUE</em>&nbsp;</td><td>the operation suceeded. </td></tr>
<tr><td valign=top><em>GS_FALSE</em>&nbsp;</td><td>the operation failed.</td></tr>
</table>
</dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign=top><em>pGSCDKeyHandle</em>&nbsp;</td><td>Handle on the created cd key module </td></tr>
<tr><td valign=top><em>fRcvActivationID</em>&nbsp;</td><td>Function of type CBCDKey_RcvActivationID </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<a class="anchor" name="a1" doxytag="GSCDKeyCallbacks.h::GSCDKey_FixRcvAuthorizationID" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> GSbool GSCDKey_FixRcvAuthorizationID </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">GShandle&nbsp;</td>
<td class="mdname" nowrap> <em>pGSCDKeyHandle</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="GSCDKeyCallbacks_8h.html#a1">CBCDKey_RcvAuthorizationID</a>&nbsp;</td>
<td class="mdname" nowrap> <em>fRcvAuthorizationID</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Description:</b></dt><dd>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.</dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>Status of the function call</dd></dl>
<dl compact><dt><b>Return values:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign=top><em>GS_TRUE</em>&nbsp;</td><td>the operation suceeded. </td></tr>
<tr><td valign=top><em>GS_FALSE</em>&nbsp;</td><td>the operation failed.</td></tr>
</table>
</dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign=top><em>pGSCDKeyHandle</em>&nbsp;</td><td>Handle on the created cd key module </td></tr>
<tr><td valign=top><em>fRcvAuthorizationID</em>&nbsp;</td><td>Function of type CBCDKey_RcvAuthorizationID </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<a class="anchor" name="a3" doxytag="GSCDKeyCallbacks.h::GSCDKey_FixRcvPlayerStatusRequest" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> GSbool GSCDKey_FixRcvPlayerStatusRequest </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">GShandle&nbsp;</td>
<td class="mdname" nowrap> <em>pGSCDKeyHandle</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="GSCDKeyCallbacks_8h.html#a1">CBCDKey_RcvPlayerStatusRequest</a>&nbsp;</td>
<td class="mdname" nowrap> <em>fRcvPlayerStatusRequest</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Description:</b></dt><dd>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.</dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>Status of the function call</dd></dl>
<dl compact><dt><b>Return values:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign=top><em>GS_TRUE</em>&nbsp;</td><td>the operation suceeded. </td></tr>
<tr><td valign=top><em>GS_FALSE</em>&nbsp;</td><td>the operation failed.</td></tr>
</table>
</dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign=top><em>pGSCDKeyHandle</em>&nbsp;</td><td>Handle on the created cd key module </td></tr>
<tr><td valign=top><em>fRcvPlayerStatusRequest</em>&nbsp;</td><td>Function of type CBCDKey_RcvPlayerStatusRequest </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<a class="anchor" name="a2" doxytag="GSCDKeyCallbacks.h::GSCDKey_FixRcvValidationResponse" ></a><p>
<table class="mdTable" width="100%" cellpadding="2" cellspacing="0">
<tr>
<td class="mdRow">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td class="md" nowrap valign="top"> GSbool GSCDKey_FixRcvValidationResponse </td>
<td class="md" valign="top">(&nbsp;</td>
<td class="md" nowrap valign="top">GShandle&nbsp;</td>
<td class="mdname" nowrap> <em>pGSCDKeyHandle</em>, </td>
</tr>
<tr>
<td></td>
<td></td>
<td class="md" nowrap><a class="el" href="GSCDKeyCallbacks_8h.html#a0">CBCDKey_RcvValidationResponse</a>&nbsp;</td>
<td class="mdname" nowrap> <em>fRcvValidationResponse</em></td>
</tr>
<tr>
<td></td>
<td class="md">)&nbsp;</td>
<td class="md" colspan="2"></td>
</tr>
</table>
</td>
</tr>
</table>
<table cellspacing=5 cellpadding=0 border=0>
<tr>
<td>
&nbsp;
</td>
<td>
<p>
<dl compact><dt><b>Description:</b></dt><dd>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.</dd></dl>
<dl compact><dt><b>Returns:</b></dt><dd>Status of the function call</dd></dl>
<dl compact><dt><b>Return values:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign=top><em>GS_TRUE</em>&nbsp;</td><td>the operation suceeded. </td></tr>
<tr><td valign=top><em>GS_FALSE</em>&nbsp;</td><td>the operation failed.</td></tr>
</table>
</dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign=top><em>pGSCDKeyHandle</em>&nbsp;</td><td>Handle on the created cd key module </td></tr>
<tr><td valign=top><em>fRcvValidationResponse</em>&nbsp;</td><td>Function of type CBCDKey_RcvValidationResponse </td></tr>
</table>
</dl>
</td>
</tr>
</table>
<hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,246 @@
/******************************************************************/
/* */
/* File.........: gs-sdk-doc.css */
/* Author.......: Guillaume Plante <gplante@ubisoft.com> */
/* Description..: Cascading style sheet description file for */
/* the GameService SDKs documentation generation. */
/******************************************************************/
BODY {
font-family: Verdana,Helvetica;
font-size: 12px;
background: white;
color: black
}
/* target links */
A:link { BACKGROUND: none; COLOR: #273C56; FONT-FAMILY: Verdana, Helvetica; TEXT-DECORATION: underline}
A:active { BACKGROUND: none; COLOR: #273C56; FONT-FAMILY: Verdana, Helvetica; TEXT-DECORATION: underline}
A:visited { BACKGROUND: none; COLOR: #273C56; FONT-FAMILY: Verdana, Helvetica; TEXT-DECORATION: underline}
A:hover { BACKGROUND: none; COLOR: #7B7B7B; FONT-FAMILY: Verdana, Helvetica; TEXT-DECORATION: underline}
/* Header 1 */
H1 {
text-align: center;
color: #273C56;
font-family: Verdana,Helvetica;
font-size : 14px
}
/* Header 2 */
H2 {
font-family: Verdana,Helvetica;
color: #273C56;
font-size : 14px
}
/* Header 3 */
H3 {
font-family: Verdana,Helvetica;
color: #273C56;
font-size : 10px
}
CAPTION { font-weight: bold }
DIV.qindex { width: 100%;
background-color: #AAAEC4;
border: 4px solid #AAAEC4;
text-align: center;
margin-bottom: 2px;
color: #2A2F61;
font-size : 12px
}
A.qindex { text-decoration: none; font-weight: bold; color: #2A2F61 }
A.qindex:visited { text-decoration: none; font-weight: bold; color: #2A2F61 }
A.qindex:hover { text-decoration: none; background-color: #DEE0EC }
A.qindexHL { text-decoration: none; font-weight: bold; background-color: #ACAFC6; color: #ffffff }
A.qindexHL:hover { text-decoration: none; background-color: #ACAFC6; color: #ffffff }
A.qindexHL:visited { text-decoration: none; background-color: #ACAFC6; color: #ffffff }
A.el { text-decoration: none; font-weight: bold }
A.elRef { font-weight: bold }
A.code { text-decoration: none; font-weight: normal; color: #4444ee }
A.codeRef { font-weight: normal; color: #4444ee }
DL.el { margin-left: -1cm }
DIV.fragment {
width: 98%;
border: 1px solid #CCCCCC;
background-color: #f5f5f5;
padding-left: 4px;
margin: 4px
}
DIV.ah { background-color: black; font-weight: bold; color: #ffffff; margin-bottom: 3px; margin-top: 3px }
/* function prototype */
TD.md { font-size: 12px; background-color: #f2f2ff; font-weight: bold }
/* arguments name */
TD.mdname {font-size: 11px; background-color: #f2f2ff; font-weight: bold; color: #7B7B7B }
/* arguments name (from a predefined type) */
TD.mdname1 {font-size: 11px; background-color: #f2f2ff; font-weight: bold; color: #7B7B7B }
DIV.groupHeader {color: #476A91; margin-left: 14px; margin-top: 12px; margin-bottom: 6px; font-weight: bold;font-family: Verdana,Helvetica;font-size: 12px }
DIV.groupText { color: black; margin-left: 12px; font-style: italic; font-size: smaller; font-family: Verdana,Helvetica;font-size: 12px }
/* file list - file names */
TD.indexkey {
background-color: #eeeeff;
font-weight: bold;
padding-right : 10px;
font-size : 12px;
padding-top : 2px;
padding-left : 10px;
padding-bottom : 2px;
margin-left : 0px;
margin-right : 0px;
margin-top : 2px;
margin-bottom : 2px
}
/* file list - file description */
TD.indexvalue {
background-color: #eeeeff;
font-style: italic;
padding-right : 10px;
padding-top : 2px;
font-size : 12px;
padding-left : 10px;
padding-bottom : 2px;
margin-left : 0px;
margin-right : 0px;
margin-top : 2px;
margin-bottom : 2px
}
TR.memlist {
font-size : 12px;
background-color: #f0f0f0
}
/* source code definitions */
P.formulaDsp { text-align: center; }
IMG.formulaDsp { }
IMG.formulaInl { vertical-align: middle; }
SPAN.keyword { color: #008000 }
SPAN.keywordtype { color: #604020 }
SPAN.keywordflow { color: #e08000 }
SPAN.comment { color: #800000 }
SPAN.preprocessor { color: #806020 }
SPAN.stringliteral { color: #002080 }
SPAN.charliteral { color: #008080 }
.mdTable {
border: 1px solid #868686;
background-color: #f2f2ff;
font-size : 12px
}
.mdRow {
padding: 8px 20px;
font-size : 12px
}
.mdescLeft {
font-size: 11px;
font-family: Verdana,Helvetica;
background-color: #FAFAFA;
padding-left: 8px;
border-top: 1px none #E0E0E0;
border-right: 1px none #E0E0E0;
border-bottom: 1px none #E0E0E0;
border-left: 1px none #E0E0E0;
margin: 0px
}
.mdescRight {
font-size: 11px;
font-family: Verdana,Helvetica;
font-style: italic;
background-color: #FAFAFA;
padding-left: 4px;
border-top: 1px none #E0E0E0;
border-right: 1px none #E0E0E0;
border-bottom: 1px none #E0E0E0;
border-left: 1px none #E0E0E0;
margin: 0px;
padding-bottom: 0px;
padding-right: 8px
}
.memItemLeft {
padding: 1px 0px 0px 8px;
margin: 4px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-style: solid;
border-top-color: #E0E0E0;
border-right-color: #E0E0E0;
border-bottom-color: #E0E0E0;
border-left-color: #E0E0E0;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
background-color: #FAFAFA;
font-family: Verdana,Helvetica;
font-size: 11px
}
.memItemRight {
padding: 1px 0px 0px 8px;
margin: 4px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-style: solid;
border-top-color: #E0E0E0;
border-right-color: #E0E0E0;
border-bottom-color: #E0E0E0;
border-left-color: #E0E0E0;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
background-color: #FAFAFA;
font-family: Verdana,Helvetica;
font-size: 11px
}
.search { color: #0000ee;
font-weight: bold;
font-size: 11px
}
FORM.search { font-size: 10px;
margin-bottom: 0px;
margin-top: 0px
}
INPUT.search { font-size: 10px;
color: #000080;
font-weight: normal;
background-color: #eeeeff
}
TD.tiny { font-size: 10px
}

View File

@@ -0,0 +1,45 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindexHL" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>gs-sdk-cdkey </h1>
<p>
<h2><a class="anchor" name="intro">
Introduction</a></h2>
ubi.com cd key validation system interface<h2><a class="anchor" name="description">
Description</a></h2>
This sdk provides functionalities for a game developper to add a cd key validation mechanism in his project. This system works along the ubi.com validation server.<p>
It includes game server side functionalities:<ul>
<li>Get a player validation status</li><li>Inform the validation server of the player status</li></ul>
<p>
and game client side functionalities:<ul>
<li>Request cd key activation (once)</li><li>Request cd key validation</li></ul>
<p>
<b>Note for game client side:</b><br>
The cd key activation is done once before the first cd key athorization request. After requesting for a cd key activation , the user will receive a activation id that should be kept safely to be use in all futur authorization request before joining a game server.<p>
<b>Note for game server side:</b><br>
The game server will need to ask the validation server for a player validation status (VALID or INVALID) before choosing to disconnect or to keep the player, this is done after the game server has received the authorization id of the game client that want to join.<p>
These are the chronological steps needed to be accomplish in a client validation from a game server and game client point of view. The first step(1) must be accomplish only once, when the game client does not possess his ACTIVATION ID.<p>
1. The game client get his ACTIVATION ID from the validation server using the <a class="el" href="group__group3.html#a0">GSCDKey_RequestActivation()</a> function call. <b>This is done once</b> or if the client does not possess a ACTIVATION ID. The ACTIVATION ID should be kept localy in a file or in the registry for further access.<p>
2. The game client get his AUTHORIZATION ID from the validation server using the <a class="el" href="group__group3.html#a1">GSCDKey_RequestAuthorization()</a> function call. This step will be done every time a client want to join a game server, the client needs a new authorization id each time he want to join a game server. If this call fails the client has 2 choice:<ul>
<li>send the request again using <a class="el" href="group__group3.html#a1">GSCDKey_RequestAuthorization()</a> using a bigger timeout value (if the error was caused by a timeout)</li><li>use the last authorization id received the last time the user joined a game server. (there is a chance that the validation of this old authorization id will fail if the latter has timed-out on the validation server side)</li></ul>
<p>
3. After connecting to the game server, the game client send his AUTHORIZATION ID to the game server.<p>
4. After the game server have received a client connection and AUTHORIZATION ID, he validate the client using the <a class="el" href="group__group2.html#a0">GSCDKey_ValidateUser()</a> function call. The status of the player (CDKEY_PLAYER_STATUS) will be returned via the callback <a class="el" href="group__group5.html#a0">CBCDKey_RcvValidationResponse()</a>. If this request does not succeed, and that the error code is ERRORCDKEY_TIMEOUT it is recommended that the request be sent again with a bigger timeout value. If a ERRORCDKEY_TIMEOUT error still occurs after that, the ubi.com network may have problems. It is however recommended that the game server does not let the player connect. Otherwise, it may lead to :<ul>
<li>hacks in the game to force a timeout</li><li>attacks on ubi.com server to have request time out</li></ul>
<p>
Recommendations after the game server has receive the player status via the <a class="el" href="group__group2.html#a0">GSCDKey_ValidateUser()</a> callback:<ul>
<li>if the player status is E_PLAYER_UNKNOWN or E_PLAYER_INVALID the game server should disconnect the player.</li><li>if the player status is E_PLAYER_VALID the game server should keep the player. </li></ul>
<hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,25 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindexHL" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>gs-sdk-cdkey Modules</h1>Here is a list of all modules:<ul>
<li><a class="el" href="group__group4.html">Game client callback</a>
<li><a class="el" href="group__group5.html">Game server callback</a>
<li><a class="el" href="group__group6.html">Callback register functions</a>
<li><a class="el" href="group__group1.html">General functionalities</a>
<li><a class="el" href="group__group2.html">Game server functionalities</a>
<li><a class="el" href="group__group3.html">Game client functionalities</a>
</ul>
<hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,20 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>_ACTIVATION_INFO Member List</h1>This is the complete list of members for <a class="el" href="struct__ACTIVATION__INFO.html">_ACTIVATION_INFO</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="struct__ACTIVATION__INFO.html#o1">szCDKey</a></td><td><a class="el" href="struct__ACTIVATION__INFO.html">_ACTIVATION_INFO</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct__ACTIVATION__INFO.html#o0">szGameName</a></td><td><a class="el" href="struct__ACTIVATION__INFO.html">_ACTIVATION_INFO</a></td><td></td></tr>
</table><hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,39 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>_ACTIVATION_INFO Struct Reference</h1>Activation information structure.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="GSCDKeyDefines_8h-source.html">GSCDKeyDefines.h</a>&gt;</code>
<p>
<a href="struct__ACTIVATION__INFO-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="o0" doxytag="_ACTIVATION_INFO::szGameName" ></a>
GSchar&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="struct__ACTIVATION__INFO.html#o0">szGameName</a> [GAMELENGTH]</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The name of the game. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="o1" doxytag="_ACTIVATION_INFO::szCDKey" ></a>
GSchar&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="struct__ACTIVATION__INFO.html#o1">szCDKey</a> [CDKEY_SIZE+1]</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The user's cd key. <br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This structure contains the activation information needed when requesting for a activation id
<p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="GSCDKeyDefines_8h-source.html">GSCDKeyDefines.h</a></ul>
<hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,21 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>_REPLY_INFORMATION Member List</h1>This is the complete list of members for <a class="el" href="struct__REPLY__INFORMATION.html">_REPLY_INFORMATION</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="struct__REPLY__INFORMATION.html#o1">bSucceeded</a></td><td><a class="el" href="struct__REPLY__INFORMATION.html">_REPLY_INFORMATION</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct__REPLY__INFORMATION.html#o0">CDKeyRequest</a></td><td><a class="el" href="struct__REPLY__INFORMATION.html">_REPLY_INFORMATION</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct__REPLY__INFORMATION.html#o2">usErrorID</a></td><td><a class="el" href="struct__REPLY__INFORMATION.html">_REPLY_INFORMATION</a></td><td></td></tr>
</table><hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,43 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>_REPLY_INFORMATION Struct Reference</h1>Reply information structure (callback usage).
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="GSCDKeyDefines_8h-source.html">GSCDKeyDefines.h</a>&gt;</code>
<p>
<a href="struct__REPLY__INFORMATION-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="o0" doxytag="_REPLY_INFORMATION::CDKeyRequest" ></a>
<a class="el" href="GSCDKeyDefines_8h.html#a0">GSCDKeyRequest</a>&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="struct__REPLY__INFORMATION.html#o0">CDKeyRequest</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The cd key request id. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="o1" doxytag="_REPLY_INFORMATION::bSucceeded" ></a>
GSbool&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="struct__REPLY__INFORMATION.html#o1">bSucceeded</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">GS_TRUE is the request is a success, GS_FALSE else. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="o2" doxytag="_REPLY_INFORMATION::usErrorID" ></a>
GSushort&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="struct__REPLY__INFORMATION.html#o2">usErrorID</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The error id in case of failure (0 in case of success). <br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This structure contains the data associated with a response to a request sent to the validation server
<p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="GSCDKeyDefines_8h-source.html">GSCDKeyDefines.h</a></ul>
<hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,20 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>_VALIDATION_INFO Member List</h1>This is the complete list of members for <a class="el" href="struct__VALIDATION__INFO.html">_VALIDATION_INFO</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="struct__VALIDATION__INFO.html#o1">szCDKey</a></td><td><a class="el" href="struct__VALIDATION__INFO.html">_VALIDATION_INFO</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct__VALIDATION__INFO.html#o0">ucActivationID</a></td><td><a class="el" href="struct__VALIDATION__INFO.html">_VALIDATION_INFO</a></td><td></td></tr>
</table><hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,39 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>_VALIDATION_INFO Struct Reference</h1>Validation information structure.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="GSCDKeyDefines_8h-source.html">GSCDKeyDefines.h</a>&gt;</code>
<p>
<a href="struct__VALIDATION__INFO-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="o0" doxytag="_VALIDATION_INFO::ucActivationID" ></a>
GSubyte&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="struct__VALIDATION__INFO.html#o0">ucActivationID</a> [ACTIVATION_ID_SIZE]</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The activation id associated with a cd key. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="o1" doxytag="_VALIDATION_INFO::szCDKey" ></a>
GSchar&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="struct__VALIDATION__INFO.html#o1">szCDKey</a> [CDKEY_SIZE+1]</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The user's cd key. <br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This structure contains the validation information needed when requesting for cd key validation
<p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="GSCDKeyDefines_8h-source.html">GSCDKeyDefines.h</a></ul>
<hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,20 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>_VALIDATION_SERVER_INFO Member List</h1>This is the complete list of members for <a class="el" href="struct__VALIDATION__SERVER__INFO.html">_VALIDATION_SERVER_INFO</a>, including all inherited members.<table>
<tr class="memlist"><td><a class="el" href="struct__VALIDATION__SERVER__INFO.html#o0">szIPAddress</a></td><td><a class="el" href="struct__VALIDATION__SERVER__INFO.html">_VALIDATION_SERVER_INFO</a></td><td></td></tr>
<tr class="memlist"><td><a class="el" href="struct__VALIDATION__SERVER__INFO.html#o1">usPort</a></td><td><a class="el" href="struct__VALIDATION__SERVER__INFO.html">_VALIDATION_SERVER_INFO</a></td><td></td></tr>
</table><hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,39 @@
<HTML>
<HEAD>
<TITLE>Ubi.com GameService SDK</TITLE>
<LINK href="./gs-sdk-doc.css" rel="stylesheet" type="text/css">
</HEAD>
<BODY >
<!-- Generated by Doxygen 1.3.4 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div>
<h1>_VALIDATION_SERVER_INFO Struct Reference</h1>Validation server information structure.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="GSCDKeyDefines_8h-source.html">GSCDKeyDefines.h</a>&gt;</code>
<p>
<a href="struct__VALIDATION__SERVER__INFO-members.html">List of all members.</a><table border=0 cellpadding=0 cellspacing=0>
<tr><td></td></tr>
<tr><td colspan=2><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="o0" doxytag="_VALIDATION_SERVER_INFO::szIPAddress" ></a>
GSchar&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="struct__VALIDATION__SERVER__INFO.html#o0">szIPAddress</a> [IPADDRESSLENGTH]</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The ipaddress of the validation server. <br><br></td></tr>
<tr><td class="memItemLeft" nowrap align=right valign=top><a class="anchor" name="o1" doxytag="_VALIDATION_SERVER_INFO::usPort" ></a>
GSushort&nbsp;</td><td class="memItemRight" valign=bottom><a class="el" href="struct__VALIDATION__SERVER__INFO.html#o1">usPort</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The port the validation server will listen to. <br><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
This structure contains the validation server information that is used when sending data
<p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="GSCDKeyDefines_8h-source.html">GSCDKeyDefines.h</a></ul>
<hr>
<p align="right">
<i>Ubi.com GameService SDK - &copy;UbiSoft Entertainment 2002 </i><br>
<i><a href="mailto:gsdevteam@ubisoft.com">GameService development team</a></i>
</p>
</body>
</html>

View File

@@ -0,0 +1,55 @@
/***SDOC*******************************************************************************************
* UbiSoft Network Development
* ---------------------------
*
* FILE........: CDKeyDefines.h
* CREATION....: May 2002
* AUTHOR......: Guillaume Plante
*
* DESCRIPTION.: This file contains numeric definition for the CDKey-system size and error #
*
**************************************************************************************************
* FILE HISTORY
**************************************************************************************************
*
* DATE........:
* AUTHOR......:
* DESCRIPTION.:
*
******************************************************************************************EDOC***/
#ifndef _CDKEY_DEFINES_H_
#define _CDKEY_DEFINES_H_
#include "GSTypes.h"
//-------------------- player status ------------------------------
enum CDKEY_PLAYER_STATUS
{
E_PLAYER_UNKNOWN,
E_PLAYER_INVALID,
E_PLAYER_VALID
};
//-------------------- defined sizes ------------------------------
const GSuint ACTIVATION_ID_SIZE = 16;
const GSuint AUTHORIZATION_ID_SIZE = 20;
const GSuint CDKEY_SIZE = 23;
const GSuint CDKEY_ID_SIZE = 20;
const GSuint CHALLENGE_SIZE = 5;
const GSuint VALIDATION_KEY_SIZE = 20;
const GSuint GLOBAL_ID_SIZE = 16;
//-------------------- error codes --------------------------------
const GSushort ERRORCDKEY_SUCCESS = 0;
const GSushort ERRORCDKEY_TIMEOUT = 1;
const GSushort ERRORCDKEY_INVALID_CDKEY = 2;
const GSushort ERRORCDKEY_NOT_CHALLENGED = 3;
const GSushort ERRORCDKEY_ALREADY_ONLINE = 4;
const GSushort ERRORCDKEY_INTERNAL_ERROR = 5;
#endif //_CDKEY_DEFINES_H_

View File

@@ -0,0 +1,239 @@
//****************************************************************************
//* 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_

View File

@@ -0,0 +1,68 @@
//****************************************************************************
//* Author: Guillaume Plante gsdevelopers@ubisoft.com
//* Date: 2002-06-06 15:20:01
/*! \file GSCDKeyDefines.h
* \brief Structure definitions used in the cd key interface
*
* This file contains the different structure definitions used in the
* cd key interface
*/
//****************************************************************************
#ifndef _GSCDKEYDEFINES_H_
#define _GSCDKEYDEFINES_H_
#include "GSTypes.h"
#include "define.h"
#include "CDKeyDefines.h"
typedef GSuint GSCDKeyRequest; //!< Request identifier
/*!
\brief Reply information structure (callback usage)
This structure contains the data associated with a response to a request sent to the validation server
*/
typedef struct _REPLY_INFORMATION
{
GSCDKeyRequest CDKeyRequest; //!< The cd key request id
GSbool bSucceeded; //!< GS_TRUE is the request is a success, GS_FALSE else
GSushort usErrorID; //!< The error id in case of failure (0 in case of success)
} REPLY_INFORMATION,*PREPLY_INFORMATION;
/*!
\brief Validation server information structure
This structure contains the validation server information that is used when sending data
*/
typedef struct _VALIDATION_SERVER_INFO
{
GSchar szIPAddress[IPADDRESSLENGTH]; //!< The ipaddress of the validation server
GSushort usPort; //!< The port the validation server will listen to
} VALIDATION_SERVER_INFO,*PVALIDATION_SERVER_INFO;
/*!
\brief Activation information structure
This structure contains the activation information needed when requesting for a activation id
*/
typedef struct _ACTIVATION_INFO
{
GSchar szGameName[GAMELENGTH]; //!< The name of the game
GSchar szCDKey[CDKEY_SIZE + 1]; //!< The user's cd key
} ACTIVATION_INFO,*PACTIVATION_INFO;
/*!
\brief Validation information structure
This structure contains the validation information needed when requesting for cd key validation
*/
typedef struct _VALIDATION_INFO
{
GSubyte ucActivationID[ACTIVATION_ID_SIZE]; //!< The activation id associated with a cd key
GSchar szCDKey[CDKEY_SIZE + 1]; //!< The user's cd key
} VALIDATION_INFO,*PVALIDATION_INFO;
#endif //_GSCDKEYDEFINES_H_

View File

@@ -0,0 +1,327 @@
//****************************************************************************
//* Author: Guillaume Plante gsdevelopers@ubisoft.com
//* Date: 2002-06-06 10:49:52
/*! \file GSCDKeyInterface.h
* \brief Interface ubi.com's cd key validation library.
*
* This interface provides game server and game client functionality
* to activate and validate a user's cd key.
*/
//****************************************************************************
/*!
\mainpage gs-sdk-cdkey
\section intro Introduction
ubi.com cd key validation system interface
\section description Description
This sdk provides functionalities for a game developper to add a cd key validation
mechanism in his project. This system works along the ubi.com validation server.
It includes game server side functionalities:
- Get a player validation status
- Inform the validation server of the player status
and game client side functionalities:
- Request cd key activation (once)
- Request cd key validation
<b>Note for game client side:</b><br>
The cd key activation is done once before the first cd key athorization request.
After requesting for a cd key activation , the user will receive a activation id
that should be kept safely to be use in all futur authorization request before joining
a game server.
<b>Note for game server side:</b><br>
The game server will need to ask the validation server for a player
validation status (VALID or INVALID) before choosing to disconnect or to keep the player,
this is done after the game server has received the authorization id of the game client
that want to join.
These are the chronological steps needed to be accomplish in a client validation
from a game server and game client point of view. The first step(1) must be accomplish
only once, when the game client does not possess his ACTIVATION ID.
1. The game client get his ACTIVATION ID from the validation server using the
GSCDKey_RequestActivation() function call. <b>This is done once</b> or
if the client does not possess a ACTIVATION ID. The ACTIVATION ID should be
kept localy in a file or in the registry for further access.
2. The game client get his AUTHORIZATION ID from the validation server using the
GSCDKey_RequestAuthorization() function call. This step will be done every time
a client want to join a game server, the client needs a new authorization id
each time he want to join a game server. If this call fails the client has 2 choice:
- send the request again using GSCDKey_RequestAuthorization() using a bigger timeout
value (if the error was caused by a timeout)
- use the last authorization id received the last time the user joined a game server.
(there is a chance that the validation of this old authorization id will fail
if the latter has timed-out on the validation server side)
3. After connecting to the game server, the game client send his AUTHORIZATION ID to the game server.
4. After the game server have received a client connection and AUTHORIZATION ID,
he validate the client using the GSCDKey_ValidateUser() function call. The
status of the player (CDKEY_PLAYER_STATUS) will be returned via the callback
CBCDKey_RcvValidationResponse(). If this request does not succeed, and that the error
code is ERRORCDKEY_TIMEOUT it is recommended that the request be sent again
with a bigger timeout value. If a ERRORCDKEY_TIMEOUT error still occurs after that,
the ubi.com network may have problems. It is however recommended that the game server
does not let the player connect. Otherwise, it may lead to :
- hacks in the game to force a timeout
- attacks on ubi.com server to have request time out
Recommendations after the game server has receive the player status via the
GSCDKey_ValidateUser() callback:
- if the player status is E_PLAYER_UNKNOWN or E_PLAYER_INVALID the game server should
disconnect the player.
- if the player status is E_PLAYER_VALID the game server should keep the player.
*/
#ifndef _GSCDKEYINTERFACE_H_
#define _GSCDKEYINTERFACE_H_
#include "GSCDKeyDefines.h"
#include "GSCDKeyCallbacks.h"
extern "C" {
/*! @defgroup group1 General functionalities
\brief General functionalities
These functions are used both by the game client and game server.
They are use to initialize, uninitialize the library and process
incomming/outgoing messages.
@{
*/
//============================================================================
// Function GSCDKey_Initialize
// Author: Guillaume Plante gsdevelopers@ubisoft.com
// Date: 2002-06-06 10:51:55
/*!
\brief Initialize the cd key library
\par Description:
This function will initialize the cd key library, on success
it will return a handle that can be use for futur calls on this service.
The provided port will be reserved for library communication and will be
freed once the library is uninitialized, if the supplied port is not available
(already binded) on the local machine, the initialization will fail.
\return Status of the function call
\retval Handle on the created cd key module
\retval 0 if the operation failed
\param usPort The port on wich the client will listen to.
*/
//============================================================================
GShandle __stdcall GSCDKey_Initialize(GSushort usPort);
//============================================================================
// Function GSCDKey_Uninitialize
// Author: Guillaume Plante gsdevelopers@ubisoft.com
// Date: 2002-06-06 10:58:49
/*!
\brief Uinitialize a cd key handle or the whole library
\par Description:
This function will uninitialize a provided cd key handle or
it will uninitialize all cd key handle if no argument are supplied.
\return void
\param pGSCDKeyHandle Handle on the cd key module
*/
//============================================================================
GSvoid __stdcall GSCDKey_Uninitialize(GShandle pGSCDKeyHandle = 0);
//============================================================================
// Function GSCDKey_Engine
// Author: Guillaume Plante gsdevelopers@ubisoft.com
// Date: 2002-06-06 11:06:12
/*!
\brief Message pump
\par Description:
This function send outgoing messages and process incomming messages.
To insure smooth operation of the library, this function should be called
at least 10 time a second. It will return GS_FALSE if the provided
cd key handle is not valid.
\return Status of the function call
\retval GS_TRUE the operation suceeded.
\retval GS_FALSE the operation failed.
\param pGSCDKeyHandle Handle on the cd key module
\param uiMaxDelay Maximum number of milisecond spent on processing messages
*/
//============================================================================
GSbool __stdcall GSCDKey_Engine(GShandle pGSCDKeyHandle,GSuint uiMaxDelay = 500);
/*! @} end of group1 */
/*! @defgroup group2 Game server functionalities
\brief Game server functionalities
These functions are used by the game server to
ask the validation status of a player, inform the
validation server of a player status and disconnection.
@{
*/
//============================================================================
// Function GSCDKey_ValidateUser
// Author: Guillaume Plante gsdevelopers@ubisoft.com
// Date: 2002-06-06 13:23:34
/*!
\brief Ask the validation server for a validation status of a player
\par Description:
This function is used to ask the validation server for a validation status
of a player after the latter has connected on the game server. The game server
will received the result via the CBCDKey_RcvValidationResponse callback.
\return The id of the request
\param pGSCDKeyHandle Handle on the created cd key module
\param psValidationServerInfo Validation server information
\param pucAuhorizationID Authorization id sent by the game client
\param szGameName Name of the game on the game server
\param usTimeout Number of second before the request is considered timed out
default for this request is 3. 0 means a unlimited timeout value.
*/
//============================================================================
GSCDKeyRequest __stdcall GSCDKey_ValidateUser(GShandle pGSCDKeyHandle,
PVALIDATION_SERVER_INFO psValidationServerInfo,
GSubyte *pucAuhorizationID,GSchar *szGameName,
GSushort usTimeout = 3);
//============================================================================
// Function GSCDKey_DisconnectUser
// Author: Guillaume Plante gsdevelopers@ubisoft.com
// Date: 2002-06-06 13:57:12
/*!
\brief Inform the validation server that a player has disconnected
\par Description:
This function is used to inform the validation server that a player
has disconnected from the game server. This must be called whenever a game
server detects a client disconnection.
\return The id of the request
\param pGSCDKeyHandle Handle on the created cd key module
\param psValidationServerInfo Validation server information
\param pucAuhorizationID Authorization id of the game client
*/
//============================================================================
GSCDKeyRequest __stdcall GSCDKey_DisconnectUser(GShandle pGSCDKeyHandle,
PVALIDATION_SERVER_INFO psValidationServerInfo,
GSubyte *pucAuhorizationID);
//============================================================================
// Function GSCDKey_PlayerStatusReply
// Author: Guillaume Plante gsdevelopers@ubisoft.com
// Date: 2002-06-06 13:59:14
/*!
\brief Inform the validation server of a player status
\par Description:
This function is used to inform the validation server of a player status.
This must be called with the correct status for a player whenever the game server
receive a status request from the validation server via the
CBCDKey_RcvPlayerStatusRequest callback.
\return The id of the request
\param pGSCDKeyHandle Handle on the created cd key module
\param psValidationServerInfo Validation server information
\param pucAuhorizationID Authorization id of the game client
\param eStatus Status of the player
*/
//============================================================================
GSCDKeyRequest __stdcall GSCDKey_PlayerStatusReply(GShandle pGSCDKeyHandle,
PVALIDATION_SERVER_INFO psValidationServerInfo,
GSubyte *pucAuhorizationID,CDKEY_PLAYER_STATUS eStatus);
/*! @} end of group2 */
/*! @defgroup group3 Game client functionalities
\brief Game client functionalities
These functions are used by the game client to
request a activation and validation information
from the validation server.
@{
*/
//============================================================================
// Function GSCDKey_RequestActivation
// Author: Guillaume Plante gsdevelopers@ubisoft.com
// Date: 2002-06-06 14:05:39
/*!
\brief Request cd key activation id for futur authorization request (called once)
\par Description:
This function is used to get the activation id that will be use in
futur client authentication. This function should be called the first
time a cd key authentication is needed (i.g. the first time a user plays
online after the game installation). The activation id should be safely
kept so that each subsequent authorization request use that activation id.
After calling this request, the result will be returned via the
CBCDKey_RcvActivationID callback. 0 means a unlimited timeout value.
\return The id of the request
\param pGSCDKeyHandle Handle on the created cd key module
\param psValidationServerInfo Validation server information
\param psActivationInfo Validation information
\param usTimeout Number of second before the request is considered timed out
default for this request is 6. 0 means a unlimited timeout value.
*/
//============================================================================
GSCDKeyRequest __stdcall GSCDKey_RequestActivation(GShandle pGSCDKeyHandle,
PVALIDATION_SERVER_INFO psValidationServerInfo,
PACTIVATION_INFO psActivationInfo,
GSushort usTimeout = 6);
//============================================================================
// Function GSCDKey_RequestAuthorization
// Author: Guillaume Plante gsdevelopers@ubisoft.com
// Date: 2002-06-06 14:16:15
/*!
\brief Send a authorization request to the validation server
\par Description:
This function is used to validate a cd key before joining a game server.
The validation information structure contains the activation id and
the cd key. After having receive the result from this request via the
CBCDKey_RcvAuthorizationID callback, the user can join a game server
wich will ask the validation server for the player status (authenticated or not)
\return The id of the request
\param pGSCDKeyHandle Handle on the created cd key module
\param psValidationServerInfo Validation server information
\param psValidationInfo Validation information
\param usTimeout Number of second before the request is considered timed out
default for this request is 3. 0 means a unlimited timeout value.
*/
//============================================================================
GSCDKeyRequest __stdcall GSCDKey_RequestAuthorization(GShandle pGSCDKeyHandle,
PVALIDATION_SERVER_INFO psValidationServerInfo,
PVALIDATION_INFO psValidationInfo,
GSushort usTimeout = 3);
} // extern "C"
/*! @} end of group3 */
#endif //_GSCDKEYINTERFACE_H_