summaryrefslogtreecommitdiff
path: root/src/net/ea
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/ea')
-rw-r--r--src/net/ea/chathandler.cpp27
-rw-r--r--src/net/ea/chathandler.h29
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