Files
FC1/Ubisoft.com/GSServices/SDKS64/gs-sdk-base/include/GSClientClass.h
romkazvo 34d6c5d489 123
2023-08-07 19:29:24 +08:00

170 lines
9.0 KiB
C++

#ifndef _GSCLIENCLASS_H_
#define _GSCLIENCLASS_H_
#include "GSErrors.h"
#include "GSLoginCB.h"
#include "GSFriendsCB.h"
#include "GSLobbyCB.h"
#include "GSPersistentCB.h"
#include "GSLadderQueryCB.h"
#include "GSRemoteAlgorithmCB.h"
#include "LadderDefines.h"
#include "RemoteAlgorithmDefines.h"
class CGLClientLIB;
class clGLClient : public clLoginCallbacks, public clFriendsCallbacks,
public clLobbyCallbacks, public clPersistentCallbacks,
public clLadderQueryCallbacks
{
public:
clGLClient();
virtual ~clGLClient();
GSbool GL_AddRouterPing(GSint lID, GSchar *szIPAddress, GSint lPort);
GSbool GL_GetFirstPing(GSint *plID);
GSbool GL_ClearRouterPing();
//Login Messages
GSbool Login_Engine(GSuint uiMaxPostingDelay = 500, GSuint uiMaxsOperationalDelay = 800);
GSbool LoginSend_Connect(const GSchar* szAddress, GSushort lPort);
GSbool LoginSend_Disconnect();
GSbool LoginSend_LoginRouter(const GSchar* szAlias, const GSchar* szPassword,
const GSchar* szVersion, GSbool bPublicIP = GS_TRUE);
GSbool LoginSend_LoginWaitModule(const GSchar* szAlias);
GSbool LoginSend_JoinWaitModule();
GSbool LoginSend_PlayerInfo(const GSchar* szAlias);
GSbool LoginSend_Sleep();
GSbool LoginSend_WakeUp();
GSbool LoginSend_ModifyAccount(const GSchar* szPassword, const GSchar* szFirstName,
const GSchar* szLastName, const GSchar* szEmail, const GSchar* szCountry);
GSbool LoginSend_CreateAccount(const GSchar* szVersion, const GSchar* szNickName, const GSchar* szPassword, const GSchar* szFirstName,
const GSchar* szLastName, const GSchar* szEmail, const GSchar* szCountry);
GSbool LoginSend_RequestMOTD(const GSchar *szLanguage);
//Friends Messages
GSbool Friends_Engine(GSuint uiMaxPostingDelay = 500, GSuint uiMaxsOperationalDelay = 800);
GSbool FriendsSend_Connect();
GSbool FriendsSend_Disconnect();
GSbool FriendsSend_Login(GSint lStatus = 0, GSint lMood = 0);
GSbool FriendsSend_AddFriend(const GSchar* szFriend, const GSchar* szGroup, GSint lOptions);
GSbool FriendsSend_DelFriend (const GSchar* szFriend);
GSbool FriendsSend_FriendList();
GSRESULT FriendsSend_IgnorePlayer( const GSchar * szPlayer );
GSRESULT FriendsSend_UnignorePlayer( const GSchar * szPlayer);
GSRESULT FriendsSend_ListIgnoredPlayers();
GSbool FriendsSend_PagePlayer(const GSchar* pszAlias, const GSchar* szMessage);
GSbool FriendsSend_PeerPlayer(const GSchar* pszAlias, GSvoid *p_Buffer, GSuint uiLength);
GSbool FriendsSend_StatusChange(GSint lStatus, GSint lMood);
GSbool FriendsSend_ChangeFriend(const GSchar* szFriend, const GSchar* szGroup, GSint lOptions);
GSbool FriendsSend_SearchPlayer(const GSchar* pszAlias, const GSchar* pszSurName, const GSchar* pszFirstName, const GSchar* pszCountry, const GSchar* pszEmail, GSint lSex, const GSchar* pszGame);
GSbool FriendsSend_GetPlayerScores(const GSchar* pszAlias);
//Lobby messages
GSbool Lobby_Engine(GSuint uiMaxPostingDelay = 500, GSuint uiMaxsOperationalDelay = 800);
GSbool LobbySend_Connect();
GSbool LobbySend_Login(const GSchar* szGames, GSbool bPublicIP = GS_TRUE, GSushort usPlayerStatus = 0 );
GSbool LobbySend_Disconnect(GSint iLobbyServerID);
GSbool LobbySend_DisconnectAll();
GSbool LobbySend_CreateRoom(GSint iParentGroupID, GSint iLobbyServerID, const GSchar *szRoomName,
const GSchar *szGames, GSushort usRoomType, GSushort usMaxPlayers, GSushort usMaxVisitors,
const GSvoid *vpData, GSint iSize, const GSvoid* vpAltGroupInfo, GSint iAltGroupInfoSize,
const GSchar *szPassword, const GSchar *szGameVersion, const GSchar *szGSVersion);
GSbool LobbySend_JoinLobby(GSint iGroupID, GSint iLobbyServerID,
const GSchar *szPassword, GSint iConfig = 0);
GSbool LobbySend_JoinRoom(GSint iGroupID, GSint iLobbyServerID, const GSchar *szPassword,
GSbool bVisitor, const GSchar *szVersion, GSint iConfig = 0);
GSbool LobbySend_LeaveGroup(GSint iGroupID, GSint iLobbyServerID);
GSbool LobbySend_GetGroupInfo(GSint iGroupID, GSint iLobbyServerID, GSint iconfig);
GSbool LobbySend_GetAlternateGroupInfo(GSint iGroupID, GSint iLobbyServerID );
GSbool LobbySend_InitMatchResults(GSuint uiMatchID);
GSbool LobbySend_SetMatchResult(GSchar *szAlias, GSuint uiFieldID, GSint iFieldValue);
GSbool LobbySend_SubmitMatchResult(GSint iGroupID, GSint iLobbyServerID);
GSbool LobbySend_ClearMatchResult();
GSbool LobbySend_StartMatch(GSint iGroupID, GSint iLobbyServerID, GSuint uiMode = 0 );
GSbool LobbySend_MatchFinish(GSint iGroupID, GSint iLobbyServerID);
GSbool LobbySend_PlayerMatchStarted(GSint iGroupID, GSint iLobbyServerID);
GSbool LobbySend_PlayerMatchFinished(GSint iGroupID, GSint iLobbyServerID);
GSbool LobbySend_NewMaster(GSint iGroupID, GSint iLobbyServerID, GSchar *szAlias);
GSbool LobbySend_PlayerKick(GSint iGroupID, GSint iLobbyServerID, GSchar *szAlias, GSchar *szReason);
GSbool LobbySend_GetParentGroupID(GSint iGroupID, GSint iLobbyServerID);
GSbool LobbySend_UpdateRoomConfig(GSint iGroupID, GSint iLobbyServerID, GSbyte bDedicatedServer,
GSbyte bOpen, GSbyte bScore_Submission, GSint iMaxPlayers,
GSint iMaxVisitors, const GSchar* szPassword, const GSvoid* vpData,
GSint iSize, const GSvoid* vpAltGroupInfo, GSint iGroupInfoSize );
GSbool LobbySend_GameStart(GSint iGroupID, GSint iLobbyServerID);
GSbool LobbySend_GameReady(GSint iGroupID, GSint iLobbyServerID, GSvoid* vpGameData, GSint iSize,
GSushort usPort = 0, GSchar *szIPAddress = 0);
GSbool LobbySend_GameFinish(GSint iGroupID, GSint iLobbyServerID);
GSbool LobbySend_GameConnected(GSint iGroupID, GSint iLobbyServerID);
GSbool LobbySend_UpdateGameInfo(GSint iGroupID, GSint iLobbyServerID, GSvoid* vpGameData, GSint iSize,
GSushort usPort = 0, GSchar *szIPAddress = 0);
GSbool LobbySend_PlayerBan(GSint iGroupID, GSint iLobbyServerID, GSchar *szAlias, GSchar *szReason);
GSbool LobbySend_PlayerUnBan(GSint iGroupID, GSint iLobbyServerID, GSchar *szAlias);
GSbool LobbySend_GetPlayerBannedList(GSint iGroupID, GSint iLobbyServerID);
GSbool LobbySend_SetPlayerInfo(GSvoid *vpPlayerData, GSint iPlayerDataSize);
GSbool LobbySend_GetPlayerGroups(GSchar *szAlias);
GSbool LobbySend_ChangeRequestedLobbies(const GSchar* szGames);
GSbool PS_Engine(GSuint uiMaxPostingDelay = 500, GSuint uiMaxsOperationalDelay = 800);
GSbool PSSend_Login();
GSbool PSSend_Disconnect();
GSuint PSSend_GetPrivateData(const GSchar *szGame, GSint iEventID,
GSint iRecordID);
GSuint PSSend_SetPrivateData(const GSchar *szGame, GSint iEventID,
GSint iRecordID, const GSvoid *vpData, GSint iSize);
GSuint PSSend_GetPublicData(const GSchar *szGame, GSint iEventID,
GSint iRecordID, const GSchar *szPlayerAlias = 0);
GSuint PSSend_SetPublicData(const GSchar *szGame, GSint iEventID,
GSint iRecordID, const GSvoid *vpData, GSint iSize);
GSbool LadderQuery_Initialize(GSchar *szLocale);
GSbool LadderQuery_Uninitialize();
GSbool LadderQuery_Engine(GSuint uiMaxPostingDelay = 500,GSuint uiMaxsOperationalDelay = 800);
GSuint LadderQuery_SendRequest();
GSbool LadderQuery_CreateRequest(GSchar *szGameName, GSuint uiEvent = 0, GSuint uiMode = 0);
GSbool LadderQuery_RequestPivotUser(const GSchar *pszEntry, GSuint uiNumberOfEntries);
GSbool LadderQuery_RequestPivotRow(GSuint uiEntry, GSuint uiNumberOfEntries);
GSbool LadderQuery_RequestSet(const GSchar *pszEntries[], GSuint uiNumberOfEntries);
GSbool LadderQuery_RequestOrderedList(GSuint uiFirstEntry, GSuint uiNumberOfEntries);
GSbool LadderQuery_AddSortConstraint(const GSchar *pszField, GSbool bSortDirection);
GSbool LadderQuery_AddFilterConstraint(const LADDER_FILTER *pLadderFilter[], GSuint uiListOfFilters);
GSbool LadderQuery_AddDisplayConstraint(const GSchar *pszFields[], GSuint uiNumberOfFields);
GSbool LadderQuery_GetResultSearchCount(GSuint uiRequestID, GSuint & uiCount);
GSbool LadderQuery_GetResultEntryCount(GSuint uiRequestID, GSuint & uiCount);
GSbool LadderQuery_GetResultFieldCaption(GSuint uiRequestID, const GSchar *pszField, GSchar * pszCaption);
GSbool LadderQuery_StartResultEntryEnumeration(GSuint uiRequestID, GSuint uiStartEntry);
GSbool LadderQuery_NextResultEntry(GSuint uiRequestID);
GSbool LadderQuery_GetCurrentEntryField(GSuint uiRequestID, const GSchar *pszField, GSint & iValue);
GSbool LadderQuery_GetCurrentEntryFieldAsString(GSuint uiRequestID, const GSchar *pszField, GSchar * pszValue);
GSvoid LadderQuery_ReleaseResult(GSuint uiRequestID);
GSRESULT RemoteAlgorithm_Initialise(const GSchar * szGameName);
GSRESULT RemoteAlgorithm_Uninitialise();
GSRESULT RemoteAlgorithm_Engine(GSuint uiMaxPostingDelay = 500,
GSuint uiMaxsOperationalDelay = 800);
GSRESULT RemoteAlgorithm_Execute(GSuint uiAlgoId,
RAE_VALUE * pInput, GSuint uiNumInput,
RemoteAlgorithm_OutputCB fOutput,
GSvoid * pData, GSuint & uiRequest);
private:
CGLClientLIB *m_pClientLIB;
};
#endif //_GSCLIENCLASS_H_