Main Page | Modules | Class List | File List | Class Members | File Members

# GSClientClass.h

    00001 #ifndef _GSCLIENCLASS_H_
    00002 #define _GSCLIENCLASS_H_
    00003
    00004 #include "GSErrors.h"
    00005 #include "GSLoginCB.h"
    00006 #include "GSFriendsCB.h"
    00007 #include "GSLobbyCB.h"
    00008 #include "GSPersistentCB.h"
    00009 #include "GSLadderQueryCB.h"
    00010 #include "GSRemoteAlgorithmCB.h"
    00011 #include "LadderDefines.h"
    00012 #include "RemoteAlgorithmDefines.h"
    00013
    00014 class CGLClientLIB;
    00015
    00016 class clGLClient : public clLoginCallbacks, public clFriendsCallbacks,
    00017                    public clLobbyCallbacks, public clPersistentCallbacks,
    00018                    public clLadderQueryCallbacks
    00019 {
    00020         public:
    00021                 clGLClient();
    00022                 virtual ~clGLClient();
    00023
    00024                 GSbool GL_AddRouterPing(GSint lID, GSchar *szIPAddress, GSint lPort);
    00025                 GSbool GL_GetFirstPing(GSint *plID);
    00026                 GSbool GL_ClearRouterPing();
    00027
    00028                 //Login Messages
    00029                 GSbool Login_Engine(GSuint uiMaxPostingDelay = 500, GSuint uiMaxsOperationalDelay = 800);
    00030                 GSbool LoginSend_Connect(const GSchar* szAddress, GSushort lPort);
    00031                 GSbool LoginSend_Disconnect();
    00032                 GSbool LoginSend_LoginRouter(const GSchar* szAlias, const GSchar* szPassword,
    00033                         const GSchar* szVersion, GSbool bPublicIP = GS_TRUE);
    00034                 GSbool LoginSend_LoginWaitModule(const GSchar* szAlias);
    00035                 GSbool LoginSend_JoinWaitModule();
    00036                 GSbool LoginSend_PlayerInfo(const GSchar* szAlias);
    00037                 GSbool LoginSend_Sleep();
    00038                 GSbool LoginSend_WakeUp();
    00039                 GSbool LoginSend_ModifyAccount(const GSchar* szPassword, const GSchar* szFirstName,
    00040                                                                  const GSchar* szLastName, const GSchar* szEmail, const GSchar* szCountry);
    00041                 GSbool LoginSend_CreateAccount(const GSchar* szVersion, const GSchar* szNickName, const GSchar* szPassword, const GSchar* szFirstName,
    00042                                                                 const GSchar* szLastName, const GSchar* szEmail, const GSchar* szCountry);
    00043                 GSbool LoginSend_RequestMOTD(const GSchar *szLanguage);
    00044
    00045                 //Friends Messages
    00046                 GSbool Friends_Engine(GSuint uiMaxPostingDelay = 500, GSuint uiMaxsOperationalDelay = 800);
    00047                 GSbool FriendsSend_Connect();
    00048                 GSbool FriendsSend_Disconnect();
    00049                 GSbool FriendsSend_Login(GSint lStatus = 0, GSint lMood = 0);
    00050                 GSbool FriendsSend_AddFriend(const GSchar* szFriend, const GSchar* szGroup, GSint lOptions);
    00051                 GSbool FriendsSend_DelFriend (const GSchar* szFriend);
    00052                 GSbool FriendsSend_FriendList();
    00053
    00054         GSRESULT FriendsSend_IgnorePlayer( const GSchar * szPlayer );
    00055         GSRESULT FriendsSend_UnignorePlayer( const GSchar * szPlayer);
    00056         GSRESULT FriendsSend_ListIgnoredPlayers();
    00057
    00058                 GSbool FriendsSend_PagePlayer(const GSchar* pszAlias, const GSchar* szMessage);
    00059                 GSbool FriendsSend_PeerPlayer(const GSchar* pszAlias, GSvoid *p_Buffer, GSuint uiLength);
    00060                 GSbool FriendsSend_StatusChange(GSint lStatus, GSint lMood);
    00061                 GSbool FriendsSend_ChangeFriend(const GSchar* szFriend, const GSchar* szGroup, GSint lOptions);
    00062                 GSbool FriendsSend_SearchPlayer(const GSchar* pszAlias, const GSchar* pszSurName, const GSchar* pszFirstName, const GSchar* pszCountry, const GSchar* pszEmail, GSint lSex, const GSchar* pszGame);
    00063                 GSbool FriendsSend_GetPlayerScores(const GSchar* pszAlias);
    00064
    00065                 //Lobby messages
    00066                 GSbool Lobby_Engine(GSuint uiMaxPostingDelay = 500, GSuint uiMaxsOperationalDelay = 800);
    00067                 GSbool LobbySend_Connect();
    00068                 GSbool LobbySend_Login(const GSchar* szGames, GSbool bPublicIP = GS_TRUE, GSushort usPlayerStatus = 0 );
    00069                 GSbool LobbySend_Disconnect(GSint iLobbyServerID);
    00070                 GSbool LobbySend_DisconnectAll();
    00071
    00072                 GSbool LobbySend_CreateRoom(GSint iParentGroupID, GSint iLobbyServerID, const GSchar *szRoomName,
    00073                         const GSchar *szGames, GSushort usRoomType, GSushort usMaxPlayers, GSushort usMaxVisitors,
    00074                         const GSvoid *vpData, GSint iSize, const GSvoid* vpAltGroupInfo, GSint iAltGroupInfoSize,
    00075                         const GSchar *szPassword, const GSchar *szGameVersion, const GSchar *szGSVersion);
    00076
    00077                 GSbool LobbySend_JoinLobby(GSint iGroupID, GSint iLobbyServerID,
    00078                         const GSchar *szPassword, GSint iConfig = 0);
    00079                 GSbool LobbySend_JoinRoom(GSint iGroupID, GSint iLobbyServerID, const GSchar *szPassword,
    00080                         GSbool bVisitor, const GSchar *szVersion, GSint iConfig = 0);
    00081                 GSbool LobbySend_LeaveGroup(GSint iGroupID, GSint iLobbyServerID);
    00082
    00083                 GSbool LobbySend_GetGroupInfo(GSint iGroupID, GSint iLobbyServerID, GSint iconfig);
    00084                 GSbool LobbySend_GetAlternateGroupInfo(GSint iGroupID, GSint iLobbyServerID );
    00085
    00086                 GSbool LobbySend_InitMatchResults(GSuint uiMatchID);
    00087                 GSbool LobbySend_SetMatchResult(GSchar *szAlias, GSuint uiFieldID, GSint iFieldValue);
    00088                 GSbool LobbySend_SubmitMatchResult(GSint iGroupID, GSint iLobbyServerID);
    00089                 GSbool LobbySend_ClearMatchResult();
    00090
    00091                 GSbool LobbySend_StartMatch(GSint iGroupID, GSint iLobbyServerID, GSuint uiMode = 0 );
    00092         GSbool LobbySend_MatchFinish(GSint iGroupID, GSint iLobbyServerID);
    00093                 GSbool LobbySend_PlayerMatchStarted(GSint iGroupID, GSint iLobbyServerID);
    00094                 GSbool LobbySend_PlayerMatchFinished(GSint iGroupID, GSint iLobbyServerID);
    00095
    00096                 GSbool LobbySend_NewMaster(GSint iGroupID, GSint iLobbyServerID, GSchar *szAlias);
    00097                 GSbool LobbySend_PlayerKick(GSint iGroupID, GSint iLobbyServerID, GSchar *szAlias, GSchar *szReason);
    00098                 GSbool LobbySend_GetParentGroupID(GSint iGroupID, GSint iLobbyServerID);
    00099                 GSbool LobbySend_UpdateRoomConfig(GSint iGroupID, GSint iLobbyServerID, GSbyte bDedicatedServer,
    00100                                                         GSbyte bOpen, GSbyte bScore_Submission, GSint iMaxPlayers,
    00101                                                         GSint iMaxVisitors, const GSchar* szPassword, const GSvoid* vpData,
    00102                                                         GSint iSize, const GSvoid* vpAltGroupInfo, GSint iGroupInfoSize );
    00103
    00104                 GSbool LobbySend_GameStart(GSint iGroupID, GSint iLobbyServerID);
    00105                 GSbool LobbySend_GameReady(GSint iGroupID, GSint iLobbyServerID, GSvoid* vpGameData, GSint iSize,
    00106                                         GSushort usPort = 0, GSchar *szIPAddress = 0);
    00107                 GSbool LobbySend_GameFinish(GSint iGroupID, GSint iLobbyServerID);
    00108                 GSbool LobbySend_GameConnected(GSint iGroupID, GSint iLobbyServerID);
    00109
    00110                 GSbool LobbySend_UpdateGameInfo(GSint iGroupID, GSint iLobbyServerID, GSvoid* vpGameData, GSint iSize,
    00111                                                                          GSushort usPort = 0, GSchar *szIPAddress = 0);
    00112                 GSbool LobbySend_PlayerBan(GSint iGroupID, GSint iLobbyServerID, GSchar *szAlias, GSchar *szReason);
    00113                 GSbool LobbySend_PlayerUnBan(GSint iGroupID, GSint iLobbyServerID, GSchar *szAlias);
    00114                 GSbool LobbySend_GetPlayerBannedList(GSint iGroupID, GSint iLobbyServerID);
    00115                 GSbool LobbySend_SetPlayerInfo(GSvoid *vpPlayerData, GSint iPlayerDataSize);
    00116                 GSbool LobbySend_GetPlayerGroups(GSchar *szAlias);
    00117                 GSbool LobbySend_ChangeRequestedLobbies(const GSchar* szGames);
    00118
    00119                 GSbool PS_Engine(GSuint uiMaxPostingDelay = 500, GSuint uiMaxsOperationalDelay = 800);
    00120                 GSbool PSSend_Login();
    00121                 GSbool PSSend_Disconnect();
    00122                 GSuint PSSend_GetPrivateData(const GSchar *szGame, GSint iEventID,
    00123                         GSint iRecordID);
    00124                 GSuint PSSend_SetPrivateData(const GSchar *szGame, GSint iEventID,
    00125                         GSint iRecordID, const GSvoid *vpData, GSint iSize);
    00126                 GSuint PSSend_GetPublicData(const GSchar *szGame, GSint iEventID,
    00127                         GSint iRecordID, const GSchar *szPlayerAlias = 0);
    00128                 GSuint PSSend_SetPublicData(const GSchar *szGame, GSint iEventID,
    00129                         GSint iRecordID, const GSvoid *vpData, GSint iSize);
    00130
    00131         GSbool LadderQuery_Initialize(GSchar *szLocale);
    00132                 GSbool LadderQuery_Uninitialize();
    00133                 GSbool LadderQuery_Engine(GSuint uiMaxPostingDelay = 500,GSuint uiMaxsOperationalDelay = 800);
    00134                 GSuint LadderQuery_SendRequest();
    00135
    00136                 GSbool LadderQuery_CreateRequest(GSchar *szGameName, GSuint uiEvent = 0, GSuint uiMode = 0);
    00137                 GSbool LadderQuery_RequestPivotUser(const GSchar *pszEntry, GSuint uiNumberOfEntries);
    00138                 GSbool LadderQuery_RequestPivotRow(GSuint  uiEntry, GSuint uiNumberOfEntries);
    00139                 GSbool LadderQuery_RequestSet(const GSchar *pszEntries[], GSuint uiNumberOfEntries);
    00140                 GSbool LadderQuery_RequestOrderedList(GSuint uiFirstEntry, GSuint uiNumberOfEntries);
    00141
    00142                 GSbool LadderQuery_AddSortConstraint(const GSchar *pszField, GSbool bSortDirection);
    00143                 GSbool LadderQuery_AddFilterConstraint(const LADDER_FILTER *pLadderFilter[], GSuint uiListOfFilters);
    00144                 GSbool LadderQuery_AddDisplayConstraint(const GSchar *pszFields[], GSuint uiNumberOfFields);
    00145
    00146                 GSbool LadderQuery_GetResultSearchCount(GSuint uiRequestID, GSuint & uiCount);
    00147                 GSbool LadderQuery_GetResultEntryCount(GSuint uiRequestID, GSuint & uiCount);
    00148                 GSbool LadderQuery_GetResultFieldCaption(GSuint uiRequestID, const GSchar *pszField, GSchar * pszCaption);
    00149                 GSbool LadderQuery_StartResultEntryEnumeration(GSuint uiRequestID, GSuint uiStartEntry);
    00150                 GSbool LadderQuery_NextResultEntry(GSuint uiRequestID);
    00151                 GSbool LadderQuery_GetCurrentEntryField(GSuint uiRequestID, const GSchar *pszField, GSint & iValue);
    00152                 GSbool LadderQuery_GetCurrentEntryFieldAsString(GSuint uiRequestID, const GSchar *pszField, GSchar * pszValue);
    00153                 GSvoid LadderQuery_ReleaseResult(GSuint uiRequestID);
    00154
    00155         GSRESULT RemoteAlgorithm_Initialise(const GSchar * szGameName);
    00156         GSRESULT RemoteAlgorithm_Uninitialise();
    00157         GSRESULT RemoteAlgorithm_Engine(GSuint uiMaxPostingDelay = 500,
    00158                                         GSuint uiMaxsOperationalDelay = 800);
    00159         GSRESULT RemoteAlgorithm_Execute(GSuint uiAlgoId,
    00160                                          RAE_VALUE * pInput, GSuint uiNumInput,
    00161                                          RemoteAlgorithm_OutputCB fOutput,
    00162                                          GSvoid * pData, GSuint & uiRequest);
    00163
    00164                 private:
    00165                         CGLClientLIB *m_pClientLIB;
    00166
    00167 };
    00168
    00169 #endif //_GSCLIENCLASS_H_

Ubi.com GameService SDK - ©UbiSoft Entertainment 2002
GameService development team