diff options
author | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2005-07-16 18:37:38 +0000 |
---|---|---|
committer | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2005-07-16 18:37:38 +0000 |
commit | 49bc551cc81f23c6e5243e1ddb0ddf6d0159c544 (patch) | |
tree | 7cb6958a430334830c6fa2ef14eafb0051ecc54b /src/accounthandler.cpp | |
parent | b38bedf85a7582d20a1fee993cc6078f9463b40a (diff) | |
download | manaserv-49bc551cc81f23c6e5243e1ddb0ddf6d0159c544.tar.gz manaserv-49bc551cc81f23c6e5243e1ddb0ddf6d0159c544.tar.bz2 manaserv-49bc551cc81f23c6e5243e1ddb0ddf6d0159c544.tar.xz manaserv-49bc551cc81f23c6e5243e1ddb0ddf6d0159c544.zip |
Removed a lot of tabs used for indenting (please don't do that...), redid
MessageOut a bit so that it uses SDL_net, writes strings correctly and doesn't
rely on Packet to be expandable. Also specified message IDs explicitly.
Diffstat (limited to 'src/accounthandler.cpp')
-rw-r--r-- | src/accounthandler.cpp | 89 |
1 files changed, 45 insertions, 44 deletions
diff --git a/src/accounthandler.cpp b/src/accounthandler.cpp index 84f1c553..602d7f49 100644 --- a/src/accounthandler.cpp +++ b/src/accounthandler.cpp @@ -42,56 +42,57 @@ void AccountHandler::receiveMessage(NetComputer &computer, MessageIn &message) Storage &store = Storage::instance("tmw"); - char type = message.readByte(); + int type = message.readByte(); switch(type) { case CMSG_LOGIN: - { - std::string username = message.readString(); - std::string password = message.readString(); - - // see if the account exists - Account *acc = store.getAccount(username); - if (!acc) { - // account doesn't exist -- send error to client - std::cout << "Account does not exist " << username << std::endl; - return; - } - - if (acc->getPassword() != password) { - // bad password -- send error to client - std::cout << "Bad password for " << username << std::endl; - return; - } - - // Login OK! (send an OK message or something) - std::cout << "Login OK by " << username << std::endl; - } break; + { + std::string username = message.readString(); + std::string password = message.readString(); + + // see if the account exists + Account *acc = store.getAccount(username); + if (!acc) { + // account doesn't exist -- send error to client + std::cout << "Account does not exist " << username + << std::endl; + return; + } + + if (acc->getPassword() != password) { + // bad password -- send error to client + std::cout << "Bad password for " << username << std::endl; + return; + } + + // Login OK! (send an OK message or something) + std::cout << "Login OK by " << username << std::endl; + } break; case CMSG_REGISTER: - { - std::string username = message.readString(); - std::string password = message.readString(); - std::string email = message.readString(); + { + std::string username = message.readString(); + std::string password = message.readString(); + std::string email = message.readString(); - AccountPtr acc(new Account(username, password, email)); - store.addAccount(acc); + AccountPtr acc(new Account(username, password, email)); + store.addAccount(acc); - std::cout << "Account registered" << std::endl; - store.flush(); // flush changes - } break; + std::cout << "Account registered" << std::endl; + store.flush(); // flush changes + } break; case CMSG_CHAR_CREATE: - { - std::string name = message.readString(); - // TODO: Finish this message type (should a player customize stats - // slightly?) - } break; + { + std::string name = message.readString(); + // TODO: Finish this message type (should a player customize + // stats slightly?) + } break; default: - std::cout << "Invalid message type" << std::endl; - break; + std::cout << "Invalid message type" << std::endl; + break; } debugCatch(result); @@ -118,13 +119,13 @@ int AccountHandler::loginMessage(NetComputer &computer, MessageIn &message) // HANDLE_STATUS_BANNED // RETURN TMW_ACCOUNTERROR_ALREADYASSIGNED if: the handle is already // assigned - + // Get the character within that handle that the player is requesting // RETURN TMW_ACCOUNTERROR_CHARNOTFOUND if: character not found - + // Assign the player to that character // RETURN TMW_ACCOUNTERROR_ASSIGNFAILED if: assignment not successful - + // return TMW_SUCCESS -- successful exit return TMW_SUCCESS; } @@ -143,9 +144,9 @@ AccountHandler::assignAccount(NetComputer &computer, tmwserv::Account *account) { // RETURN TMW_ACCOUNTERROR_ASSIGNFAILED if: the account was accessed before // being initalized. - + // Assign the handle - - + + return TMW_SUCCESS; } |