Fixing compiler error.

This commit is contained in:
lotodore
2009-09-19 21:01:51 +00:00
parent 4856dc2a45
commit 3112c9ded7
2 changed files with 41 additions and 22 deletions
+39 -22
View File
@@ -878,8 +878,8 @@ ServerLobbyThread::HandleNetPacketInit(SessionWrapper session, const InitMessage
const AuthenticatedLogin_t *authLogin = &initMessage.login.choice.authenticatedLogin;
playerName = string((const char *)authLogin->playerName.buf, authLogin->playerName.size);
password = string((const char *)authLogin->password.buf, authLogin->password.size);
if (anonLogin->avatar)
memcpy(avatarMD5.data, anonLogin->avatar->buf, MD5_DATA_SIZE);
if (authLogin->avatar)
memcpy(avatarMD5.data, authLogin->avatar->buf, MD5_DATA_SIZE);
}
else
SessionError(session, ERR_NET_INVALID_PASSWORD); // TODO not yet supported
@@ -934,27 +934,10 @@ ServerLobbyThread::HandleNetPacketInit(SessionWrapper session, const InitMessage
m_sessionManager.SetSessionPlayerData(session.sessionData->GetId(), tmpPlayerData);
session.playerData = tmpPlayerData;
string avatarFileName;
if (!avatarMD5.IsZero()
&& !GetAvatarManager().GetAvatarFileName(avatarMD5, avatarFileName))
{
bool avatarRecentlyRequested = false;
{
boost::mutex::scoped_lock lock(m_timerAvatarClientAddressMapMutex);
if (m_timerAvatarClientAddressMap.find(session.sessionData->GetClientAddr()) != m_timerAvatarClientAddressMap.end())
avatarRecentlyRequested = true;
}
if (avatarRecentlyRequested)
SessionError(session, ERR_NET_AVATAR_UPLOAD_BLOCKED);
else
RequestPlayerAvatar(session);
}
if (guestUser)
InitAfterLogin(session);
else
{
if (!avatarFileName.empty())
session.playerData->SetAvatarFile(avatarFileName);
EstablishSession(session);
}
AuthenticatePlayer(session, password);
}
void
@@ -1206,6 +1189,34 @@ ServerLobbyThread::HandleNetPacketChatRequest(SessionWrapper session, const Chat
}
}
void
ServerLobbyThread::InitAfterLogin(SessionWrapper session)
{
assert(session.playerData);
const MD5Buf &avatarMD5 = session.playerData->GetAvatarMD5();
string avatarFileName;
if (!avatarMD5.IsZero()
&& !GetAvatarManager().GetAvatarFileName(avatarMD5, avatarFileName))
{
bool avatarRecentlyRequested = false;
{
boost::mutex::scoped_lock lock(m_timerAvatarClientAddressMapMutex);
if (m_timerAvatarClientAddressMap.find(session.sessionData->GetClientAddr()) != m_timerAvatarClientAddressMap.end())
avatarRecentlyRequested = true;
}
if (avatarRecentlyRequested)
SessionError(session, ERR_NET_AVATAR_UPLOAD_BLOCKED);
else
RequestPlayerAvatar(session);
}
else
{
if (!avatarFileName.empty())
session.playerData->SetAvatarFile(avatarFileName);
EstablishSession(session);
}
}
void
ServerLobbyThread::EstablishSession(SessionWrapper session)
{
@@ -1241,6 +1252,12 @@ ServerLobbyThread::EstablishSession(SessionWrapper session)
UpdateStatisticsNumberOfPlayers();
}
void
ServerLobbyThread::AuthenticatePlayer(SessionWrapper session, const std::string &password)
{
// TODO
}
void
ServerLobbyThread::RequestPlayerAvatar(SessionWrapper session)
{