Preparing admin functions in PokerTH client.

This commit is contained in:
lotodore
2013-02-24 16:22:51 +01:00
parent 6d85adf7e2
commit 883ccdcf44
13 changed files with 77 additions and 15 deletions
+24
View File
@@ -30,6 +30,7 @@
*****************************************************************************/
#include <net/serverbanmanager.h>
#include <algorithm>
using namespace std;
@@ -43,6 +44,15 @@ ServerBanManager::~ServerBanManager()
{
}
void
ServerBanManager::SetAdminPlayerIds(const std::list<DB_id> adminList)
{
boost::mutex::scoped_lock lock(m_banMutex);
m_adminPlayers.resize(adminList.size());
copy(adminList.begin(), adminList.end(), m_adminPlayers.begin());
sort(m_adminPlayers.begin(), m_adminPlayers.end());
}
void
ServerBanManager::BanPlayerName(const std::string &playerName, unsigned durationHours)
{
@@ -140,6 +150,20 @@ ServerBanManager::ClearBanList()
m_banIPAddressMap.clear();
}
bool
ServerBanManager::IsAdminPlayer(DB_id playerId) const
{
bool retVal = false;
if (playerId != DB_ID_INVALID) {
boost::mutex::scoped_lock lock(m_banMutex);
if (binary_search(m_adminPlayers.begin(), m_adminPlayers.end(), playerId)) {
retVal = true;
}
}
return retVal;
}
bool
ServerBanManager::IsPlayerBanned(const std::string &name) const
{