Adding callback if user is blocked by the server.

This commit is contained in:
lotodore
2010-07-14 14:30:16 +00:00
parent c25c52250d
commit 18613a2cb5
4 changed files with 16 additions and 1 deletions
+3 -1
View File
@@ -22,16 +22,18 @@
#define _DBDEFS_H_
#include <string>
#include <ctime>
typedef unsigned DB_id;
#define DB_ID_INVALID 0
struct DBPlayerData
{
DBPlayerData() : id(DB_ID_INVALID), last_login(0) {}
DB_id id;
std::string secret;
std::string country;
std::string last_login;
time_t last_login;
};
#endif
+1
View File
@@ -38,6 +38,7 @@ public:
virtual void PlayerLoginSuccess(unsigned requestId, const DBPlayerData &dbPlayerData) = 0;
virtual void PlayerLoginFailed(unsigned requestId) = 0;
virtual void PlayerLoginBlocked(unsigned requestId) = 0;
virtual void CreateGameSuccess(unsigned requestId, DB_id gameId) = 0;
virtual void CreateGameFailed(unsigned requestId) = 0;
+11
View File
@@ -123,6 +123,11 @@ public:
m_server.UserInvalid(requestId);
}
virtual void PlayerLoginBlocked(unsigned requestId)
{
m_server.UserBlocked(requestId);
}
virtual void CreateGameSuccess(unsigned requestId, DB_id gameId)
{
m_server.SetGameDBId((u_int32_t)requestId, gameId);
@@ -1509,6 +1514,12 @@ ServerLobbyThread::UserInvalid(unsigned playerId)
SessionError(m_sessionManager.GetSessionByUniquePlayerId(playerId, true), ERR_NET_INVALID_PASSWORD);
}
void
ServerLobbyThread::UserBlocked(unsigned playerId)
{
SessionError(m_sessionManager.GetSessionByUniquePlayerId(playerId, true), ERR_NET_PLAYER_BANNED);
}
void
ServerLobbyThread::RequestPlayerAvatar(SessionWrapper session)
{
+1
View File
@@ -147,6 +147,7 @@ protected:
void AuthenticatePlayer(SessionWrapper session);
void UserValid(unsigned playerId, const DBPlayerData &dbPlayerData);
void UserInvalid(unsigned playerId);
void UserBlocked(unsigned playerId);
void RequestPlayerAvatar(SessionWrapper session);
void TimerRemoveGame(const boost::system::error_code &ec);
void TimerRemovePlayer(const boost::system::error_code &ec);