diff options
author | David Athay <ko2fan@gmail.com> | 2009-04-23 17:30:23 +0100 |
---|---|---|
committer | David Athay <ko2fan@gmail.com> | 2009-04-23 17:30:23 +0100 |
commit | 70b378e1850832202a75bb35d6c6ca609e4ebe66 (patch) | |
tree | e4c82f2bc8a41153b024f23e3f1866721304e5cd /src/chat-server | |
parent | d48980a532d1d10593fbef888d4355015afc7936 (diff) | |
download | manaserv-70b378e1850832202a75bb35d6c6ca609e4ebe66.tar.gz manaserv-70b378e1850832202a75bb35d6c6ca609e4ebe66.tar.bz2 manaserv-70b378e1850832202a75bb35d6c6ca609e4ebe66.tar.xz manaserv-70b378e1850832202a75bb35d6c6ca609e4ebe66.zip |
Added listing all online users
Diffstat (limited to 'src/chat-server')
-rw-r--r-- | src/chat-server/chathandler.cpp | 21 | ||||
-rw-r--r-- | src/chat-server/chathandler.hpp | 5 |
2 files changed, 26 insertions, 0 deletions
diff --git a/src/chat-server/chathandler.cpp b/src/chat-server/chathandler.cpp index 515d56b8..c1387ce2 100644 --- a/src/chat-server/chathandler.cpp +++ b/src/chat-server/chathandler.cpp @@ -164,6 +164,10 @@ void ChatHandler::processMessage(NetComputer *comp, MessageIn &message) handlePrivMsgMessage(computer, message); break; + case PCMSG_WHO: + handleWhoMessage(computer); + break; + case PCMSG_ENTER_CHANNEL: handleEnterChannelMessage(computer, message); break; @@ -370,6 +374,23 @@ ChatHandler::handlePrivMsgMessage(ChatClient &client, MessageIn &msg) storage->addTransaction(trans); } +void ChatHandler::handleWhoMessage(ChatClient &client) +{ + MessageOut reply(CPMSG_WHO_RESPONSE); + + std::map<std::string, ChatClient*>::iterator itr, itr_end; + itr = mPlayerMap.begin(); + itr_end = mPlayerMap.end(); + + while (itr != itr_end) + { + reply.writeString(itr->first); + ++itr; + } + + client.send(reply); +} + void ChatHandler::handleEnterChannelMessage(ChatClient &client, MessageIn &msg) { MessageOut reply(CPMSG_ENTER_CHANNEL_RESPONSE); diff --git a/src/chat-server/chathandler.hpp b/src/chat-server/chathandler.hpp index c58206d9..1de44fc9 100644 --- a/src/chat-server/chathandler.hpp +++ b/src/chat-server/chathandler.hpp @@ -164,6 +164,11 @@ class ChatHandler : public ConnectionHandler handlePrivMsgMessage(ChatClient &client, MessageIn &msg); /** + * Deal with Who messages. + */ + void handleWhoMessage(ChatClient &client); + + /** * Deal with player entering channel. */ void |