From 979f079a577e0eb34abed9f6b7be8ea156071d7b Mon Sep 17 00:00:00 2001 From: lotodore Date: Sun, 20 Mar 2011 22:38:03 +0000 Subject: [PATCH] No longer use database game id, because it may not exist yet (related to issue #14) --- src/db/common/serverdbgeneric.cpp | 4 ++-- src/db/serverdbcallback.h | 2 +- src/db/serverdbgeneric.h | 4 ++-- src/db/serverdbinterface.h | 4 ++-- src/db/serverdbnoaction.h | 4 ++-- src/net/common/servergame.cpp | 30 ++++++++-------------------- src/net/common/serverlobbythread.cpp | 12 ++--------- src/net/servergame.h | 4 ---- src/net/serverlobbythread.h | 2 -- 9 files changed, 19 insertions(+), 47 deletions(-) diff --git a/src/db/common/serverdbgeneric.cpp b/src/db/common/serverdbgeneric.cpp index ce957ce6..c32233bf 100644 --- a/src/db/common/serverdbgeneric.cpp +++ b/src/db/common/serverdbgeneric.cpp @@ -77,12 +77,12 @@ ServerDBGeneric::AsyncCreateGame(unsigned requestId, const string &/*gameName*/) } void -ServerDBGeneric::SetGamePlayerPlace(DB_id /*gameId*/, DB_id /*playerId*/, unsigned /*place*/) +ServerDBGeneric::SetGamePlayerPlace(unsigned /*requestId*/, DB_id /*playerId*/, unsigned /*place*/) { } void -ServerDBGeneric::EndGame(DB_id /*gameId*/) +ServerDBGeneric::EndGame(unsigned /*requestId*/) { } diff --git a/src/db/serverdbcallback.h b/src/db/serverdbcallback.h index 78cfba4d..c9f20f58 100644 --- a/src/db/serverdbcallback.h +++ b/src/db/serverdbcallback.h @@ -43,7 +43,7 @@ public: virtual void AvatarIsBlacklisted(unsigned requestId) = 0; virtual void AvatarIsOK(unsigned requestId) = 0; - virtual void CreateGameSuccess(unsigned requestId, DB_id gameId) = 0; + virtual void CreateGameSuccess(unsigned requestId) = 0; virtual void CreateGameFailed(unsigned requestId) = 0; virtual void ReportAvatarSuccess(unsigned requestId, unsigned replyId) = 0; diff --git a/src/db/serverdbgeneric.h b/src/db/serverdbgeneric.h index 228cada1..2ef16a3a 100644 --- a/src/db/serverdbgeneric.h +++ b/src/db/serverdbgeneric.h @@ -44,8 +44,8 @@ public: virtual void PlayerLogout(DB_id playerId); virtual void AsyncCreateGame(unsigned requestId, const std::string &gameName); - virtual void SetGamePlayerPlace(DB_id gameId, DB_id playerId, unsigned place); - virtual void EndGame(DB_id gameId); + virtual void SetGamePlayerPlace(unsigned requestId, DB_id playerId, unsigned place); + virtual void EndGame(unsigned requestId); virtual void AsyncReportAvatar(unsigned requestId, unsigned replyId, DB_id reportedPlayerId, const std::string &avatarHash, const std::string &avatarType, DB_id *byPlayerId); diff --git a/src/db/serverdbinterface.h b/src/db/serverdbinterface.h index d576085a..f0b111ac 100644 --- a/src/db/serverdbinterface.h +++ b/src/db/serverdbinterface.h @@ -44,8 +44,8 @@ public: virtual void PlayerLogout(DB_id playerId) = 0; virtual void AsyncCreateGame(unsigned requestId, const std::string &gameName) = 0; - virtual void SetGamePlayerPlace(DB_id gameId, DB_id playerId, unsigned place) = 0; - virtual void EndGame(DB_id gameId) = 0; + virtual void SetGamePlayerPlace(unsigned requestId, DB_id playerId, unsigned place) = 0; + virtual void EndGame(unsigned requestId) = 0; virtual void AsyncReportAvatar(unsigned requestId, unsigned replyId, DB_id reportedPlayerId, const std::string &avatarHash, const std::string &avatarType, DB_id *byPlayerId) = 0; }; diff --git a/src/db/serverdbnoaction.h b/src/db/serverdbnoaction.h index 370d4496..51c5d261 100644 --- a/src/db/serverdbnoaction.h +++ b/src/db/serverdbnoaction.h @@ -42,8 +42,8 @@ public: virtual void PlayerLogout(DB_id /*playerId*/) {} virtual void AsyncCreateGame(unsigned /*requestId*/, const std::string &/*gameName*/) {} - virtual void SetGamePlayerPlace(DB_id /*gameId*/, DB_id /*playerId*/, unsigned /*place*/) {} - virtual void EndGame(DB_id /*gameId*/) {} + virtual void SetGamePlayerPlace(unsigned /*requestId*/, DB_id /*playerId*/, unsigned /*place*/) {} + virtual void EndGame(unsigned /*requestId*/) {} virtual void AsyncReportAvatar(unsigned /*requestId*/, unsigned /*replyId*/, DB_id /*reportedPlayerId*/, const std::string &/*avatarHash*/, const std::string &/*avatarType*/, DB_id */*byPlayerId*/) {} }; diff --git a/src/net/common/servergame.cpp b/src/net/common/servergame.cpp index 44dbe606..7af0134b 100644 --- a/src/net/common/servergame.cpp +++ b/src/net/common/servergame.cpp @@ -50,7 +50,7 @@ static bool LessThanPlayerHandStartMoney(const boost::shared_ptr lobbyThread, u_int32_t id, const string &name, const string &pwd, const GameData &gameData, unsigned adminPlayerId, GuiInterface &gui, ConfigFile &playerConfig, Log &serverLog) : m_adminPlayerId(adminPlayerId), m_lobbyThread(lobbyThread), m_gui(gui), - m_gameData(gameData), m_curState(NULL), m_id(id), m_dbId(DB_ID_INVALID), m_name(name), + m_gameData(gameData), m_curState(NULL), m_id(id), m_name(name), m_password(pwd), m_playerConfig(playerConfig), m_serverLog(serverLog), m_gameNum(1), m_curPetitionId(1), m_doNotAutoKickSmallDelaySec(10), m_voteKickTimer(lobbyThread->GetIOService()), m_stateTimer1(lobbyThread->GetIOService()), m_stateTimer2(lobbyThread->GetIOService()) @@ -89,18 +89,6 @@ ServerGame::GetName() const return m_name; } -DB_id -ServerGame::GetDBId() const -{ - return m_dbId; -} - -void -ServerGame::SetDBId(DB_id newId) -{ - m_dbId = newId; -} - void ServerGame::AddSession(boost::shared_ptr session) { @@ -351,17 +339,15 @@ void ServerGame::StoreAndResetRanking() { // Store players in database. - if (GetDBId() != DB_ID_INVALID) { - RankingMap::const_iterator i = m_rankingMap.begin(); - RankingMap::const_iterator end = m_rankingMap.end(); - while (i != end) { - if ((*i).second.dbid != DB_ID_INVALID) { - GetDatabase().SetGamePlayerPlace(GetDBId(), (*i).second.dbid, (*i).second.place); - } - ++i; + RankingMap::const_iterator i = m_rankingMap.begin(); + RankingMap::const_iterator end = m_rankingMap.end(); + while (i != end) { + if ((*i).second.dbid != DB_ID_INVALID) { + GetDatabase().SetGamePlayerPlace(GetId(), (*i).second.dbid, (*i).second.place); } + ++i; } - GetDatabase().EndGame(GetDBId()); + GetDatabase().EndGame(GetId()); m_rankingMap.clear(); } diff --git a/src/net/common/serverlobbythread.cpp b/src/net/common/serverlobbythread.cpp index a2de270c..52eeb6dc 100644 --- a/src/net/common/serverlobbythread.cpp +++ b/src/net/common/serverlobbythread.cpp @@ -150,8 +150,8 @@ public: m_server.AvatarOK(requestId); } - virtual void CreateGameSuccess(unsigned requestId, DB_id gameId) { - m_server.SetGameDBId((u_int32_t)requestId, gameId); + virtual void CreateGameSuccess(unsigned /*requestId*/) { + // Nothing to do. } virtual void CreateGameFailed(unsigned requestId) { @@ -2054,14 +2054,6 @@ ServerLobbyThread::GetCallback() return m_gui; } -void -ServerLobbyThread::SetGameDBId(u_int32_t gameId, DB_id gameDBId) -{ - boost::shared_ptr game = InternalGetGameFromId(gameId); - if (game) - game->SetDBId(gameDBId); -} - ServerIrcBotCallback & ServerLobbyThread::GetIrcBotCallback() { diff --git a/src/net/servergame.h b/src/net/servergame.h index 92c14c65..2e83af6b 100644 --- a/src/net/servergame.h +++ b/src/net/servergame.h @@ -52,9 +52,6 @@ public: u_int32_t GetId() const; const std::string &GetName() const; - DB_id GetDBId() const; - void SetDBId(DB_id newId); - void AddSession(boost::shared_ptr session); void RemovePlayer(unsigned playerId, unsigned errorCode); @@ -193,7 +190,6 @@ private: ServerGameState *m_curState; const u_int32_t m_id; - DB_id m_dbId; const std::string m_name; const std::string m_password; ConfigFile &m_playerConfig; diff --git a/src/net/serverlobbythread.h b/src/net/serverlobbythread.h index 5dff2984..83db9a33 100644 --- a/src/net/serverlobbythread.h +++ b/src/net/serverlobbythread.h @@ -99,8 +99,6 @@ public: u_int32_t GetNextGameId(); ServerCallback &GetCallback(); - void SetGameDBId(u_int32_t gameId, DB_id gameDBId); - AvatarManager &GetAvatarManager(); ChatCleanerManager &GetChatCleaner();