diff options
Diffstat (limited to 'src/net/ea')
-rw-r--r-- | src/net/ea/chathandler.cpp | 27 | ||||
-rw-r--r-- | src/net/ea/chathandler.h | 29 |
2 files changed, 32 insertions, 24 deletions
diff --git a/src/net/ea/chathandler.cpp b/src/net/ea/chathandler.cpp index 4e5d2300b..4fe3cae63 100644 --- a/src/net/ea/chathandler.cpp +++ b/src/net/ea/chathandler.cpp @@ -51,13 +51,20 @@ namespace Ea { -ChatHandler::ChatHandler() : - mSentWhispers(), - mMotdTime(-1), - mShowAllLang(serverConfig.getValue("showAllLang", 0)), - mShowMotd(config.getBoolValue("showmotd")), - mSkipping(true) +WhisperQueue ChatHandler::mSentWhispers; +int ChatHandler::mMotdTime = -1; +bool ChatHandler::mShowAllLang = false; +bool ChatHandler::mShowMotd = false; +bool ChatHandler::mSkipping = true; + +ChatHandler::ChatHandler() { + if (!mSentWhispers.empty()) + mSentWhispers.pop(); + mMotdTime = -1; + mShowAllLang = serverConfig.getValue("showAllLang", 0); + mShowMotd = config.getBoolValue("showmotd"); + mSkipping = true; } void ChatHandler::clear() @@ -157,7 +164,7 @@ void ChatHandler::processWhisperResponseContinue(const uint8_t type) } void ChatHandler::processWhisperContinue(const std::string &nick, - std::string chatMsg) const + std::string chatMsg) { // ignoring future whisper messages if (chatMsg.find("\302\202G") == 0 || chatMsg.find("\302\202A") == 0) @@ -277,7 +284,7 @@ void ChatHandler::processWhisperContinue(const std::string &nick, BLOCK_END("ChatHandler::processWhisper") } -void ChatHandler::processBeingChat(Net::MessageIn &msg) const +void ChatHandler::processBeingChat(Net::MessageIn &msg) { if (!actorManager) return; @@ -356,7 +363,7 @@ void ChatHandler::processBeingChat(Net::MessageIn &msg) const BLOCK_END("ChatHandler::processBeingChat") } -void ChatHandler::processMVP(Net::MessageIn &msg) const +void ChatHandler::processMVP(Net::MessageIn &msg) { BLOCK_START("ChatHandler::processMVP") // Display MVP player @@ -372,7 +379,7 @@ void ChatHandler::processMVP(Net::MessageIn &msg) const BLOCK_END("ChatHandler::processMVP") } -void ChatHandler::processIgnoreAllResponse(Net::MessageIn &msg) const +void ChatHandler::processIgnoreAllResponse(Net::MessageIn &msg) { BLOCK_START("ChatHandler::processIgnoreAllResponse") const uint8_t action = msg.readUInt8("action"); diff --git a/src/net/ea/chathandler.h b/src/net/ea/chathandler.h index 80cf6afbb..5555aa7a3 100644 --- a/src/net/ea/chathandler.h +++ b/src/net/ea/chathandler.h @@ -35,6 +35,8 @@ namespace Net namespace Ea { +typedef std::queue<std::string> WhisperQueue; + class ChatHandler notfinal : public Net::ChatHandler { public: @@ -48,30 +50,29 @@ class ChatHandler notfinal : public Net::ChatHandler void me(const std::string &restrict text, const std::string &restrict channel) const override final; - virtual void processBeingChat(Net::MessageIn &msg) const; + static void processBeingChat(Net::MessageIn &msg); - virtual void processMVP(Net::MessageIn &msg) const; + static void processMVP(Net::MessageIn &msg); - virtual void processIgnoreAllResponse(Net::MessageIn &msg) const; + static void processIgnoreAllResponse(Net::MessageIn &msg); void clear() override final; - void processWhisperContinue(const std::string &nick, - std::string chatMsg) const; + static void processWhisperContinue(const std::string &nick, + std::string chatMsg); - void processWhisperResponseContinue(const uint8_t type); + static void processWhisperResponseContinue(const uint8_t type); protected: - std::string getPopLastWhisperNick(); + static std::string getPopLastWhisperNick(); - std::string getLastWhisperNick(); + static std::string getLastWhisperNick(); - typedef std::queue<std::string> WhisperQueue; - WhisperQueue mSentWhispers; - int mMotdTime; - bool mShowAllLang; - bool mShowMotd; - bool mSkipping; + static WhisperQueue mSentWhispers; + static int mMotdTime; + static bool mShowAllLang; + static bool mShowMotd; + static bool mSkipping; }; } // namespace Ea |