summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/CMakeLists.txt5
-rw-r--r--src/Makefile.am5
-rw-r--r--src/net/eathena/generalhandler.cpp4
-rw-r--r--src/net/eathena/generalhandler.h1
-rw-r--r--src/net/eathena/mailhandler.cpp48
-rw-r--r--src/net/eathena/mailhandler.h44
-rw-r--r--src/net/mailhandler.h38
-rw-r--r--src/net/net.cpp6
-rw-r--r--src/net/net.h3
-rw-r--r--src/net/tmwa/generalhandler.cpp4
-rw-r--r--src/net/tmwa/generalhandler.h1
-rw-r--r--src/net/tmwa/mailhandler.cpp48
-rw-r--r--src/net/tmwa/mailhandler.h44
13 files changed, 248 insertions, 3 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 60d1624a1..a6cbcb69f 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -525,6 +525,7 @@ SET(SRCS
net/ea/inventoryitem.h
net/logindata.h
net/loginhandler.h
+ net/mailhandler.h
net/messagehandler.h
net/messagein.cpp
net/messagein.h
@@ -1290,6 +1291,8 @@ SET(SRCS_TMWA
net/tmwa/itemhandler.h
net/tmwa/loginhandler.cpp
net/tmwa/loginhandler.h
+ net/tmwa/mailhandler.cpp
+ net/tmwa/mailhandler.h
net/tmwa/messagehandler.cpp
net/tmwa/messagehandler.h
net/tmwa/messagein.cpp
@@ -1344,6 +1347,8 @@ SET(SRCS_EATHENA
net/eathena/itemhandler.h
net/eathena/loginhandler.cpp
net/eathena/loginhandler.h
+ net/eathena/mailhandler.cpp
+ net/eathena/mailhandler.h
net/eathena/messagehandler.cpp
net/eathena/messagehandler.h
net/eathena/messagein.cpp
diff --git a/src/Makefile.am b/src/Makefile.am
index fa20bf562..993d1ab63 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -652,6 +652,7 @@ manaplus_SOURCES += gui/widgets/avatarlistbox.cpp \
net/ea/inventoryitem.h \
net/logindata.h \
net/loginhandler.h \
+ net/mailhandler.h \
net/messagehandler.h \
net/messagein.cpp \
net/messagein.h \
@@ -1220,6 +1221,8 @@ manaplus_SOURCES += \
net/tmwa/itemhandler.h \
net/tmwa/loginhandler.cpp \
net/tmwa/loginhandler.h \
+ net/tmwa/mailhandler.cpp \
+ net/tmwa/mailhandler.h \
net/tmwa/messagehandler.cpp \
net/tmwa/messagehandler.h \
net/tmwa/messagein.cpp \
@@ -1274,6 +1277,8 @@ manaplus_SOURCES += net/eathena/adminhandler.cpp \
net/eathena/itemhandler.h \
net/eathena/loginhandler.cpp \
net/eathena/loginhandler.h \
+ net/eathena/mailhandler.cpp \
+ net/eathena/mailhandler.h \
net/eathena/messagehandler.cpp \
net/eathena/messagehandler.h \
net/eathena/messagein.cpp \
diff --git a/src/net/eathena/generalhandler.cpp b/src/net/eathena/generalhandler.cpp
index fb248c80c..1dcedd29d 100644
--- a/src/net/eathena/generalhandler.cpp
+++ b/src/net/eathena/generalhandler.cpp
@@ -49,6 +49,7 @@
#include "net/eathena/inventoryhandler.h"
#include "net/eathena/itemhandler.h"
#include "net/eathena/loginhandler.h"
+#include "net/eathena/mailhandler.h"
#include "net/eathena/network.h"
#include "net/eathena/npchandler.h"
#include "net/eathena/partyhandler.h"
@@ -94,7 +95,8 @@ GeneralHandler::GeneralHandler() :
mSkillHandler(new SkillHandler),
mTradeHandler(new TradeHandler),
mQuestHandler(new QuestHandler),
- mServerFeatures(new ServerFeatures)
+ mServerFeatures(new ServerFeatures),
+ mMailHandler(new MailHandler)
{
static const uint16_t _messages[] =
{
diff --git a/src/net/eathena/generalhandler.h b/src/net/eathena/generalhandler.h
index 0a3dc5c17..8c913a076 100644
--- a/src/net/eathena/generalhandler.h
+++ b/src/net/eathena/generalhandler.h
@@ -79,6 +79,7 @@ class GeneralHandler final : public MessageHandler,
MessageHandlerPtr mTradeHandler;
MessageHandlerPtr mQuestHandler;
ServerFeatures *mServerFeatures;
+ MessageHandlerPtr mMailHandler;
};
} // namespace EAthena
diff --git a/src/net/eathena/mailhandler.cpp b/src/net/eathena/mailhandler.cpp
new file mode 100644
index 000000000..32080b529
--- /dev/null
+++ b/src/net/eathena/mailhandler.cpp
@@ -0,0 +1,48 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2011-2014 The ManaPlus Developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "net/eathena/mailhandler.h"
+
+#include "net/eathena/messageout.h"
+#include "net/eathena/protocol.h"
+
+#include "debug.h"
+
+extern Net::MailHandler *mailHandler;
+
+namespace EAthena
+{
+
+MailHandler::MailHandler() :
+ MessageHandler()
+{
+ static const uint16_t _messages[] =
+ {
+ 0
+ };
+ handledMessages = _messages;
+ mailHandler = this;
+}
+
+void MailHandler::handleMessage(Net::MessageIn &msg)
+{
+}
+
+} // namespace EAthena
diff --git a/src/net/eathena/mailhandler.h b/src/net/eathena/mailhandler.h
new file mode 100644
index 000000000..c3a44cfab
--- /dev/null
+++ b/src/net/eathena/mailhandler.h
@@ -0,0 +1,44 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2011-2014 The ManaPlus Developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef NET_EATHENA_MAILHANDLER_H
+#define NET_EATHENA_MAILHANDLER_H
+
+#include "net/mailhandler.h"
+
+#include "net/eathena/messagehandler.h"
+
+namespace EAthena
+{
+class MessageOut;
+
+class MailHandler final : public MessageHandler, public Net::MailHandler
+{
+ public:
+ MailHandler();
+
+ A_DELETE_COPY(MailHandler)
+
+ void handleMessage(Net::MessageIn &msg) override final;
+};
+
+} // namespace EAthena
+
+#endif // NET_EATHENA_MAILHANDLER_H
diff --git a/src/net/mailhandler.h b/src/net/mailhandler.h
new file mode 100644
index 000000000..2f18edf7b
--- /dev/null
+++ b/src/net/mailhandler.h
@@ -0,0 +1,38 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2011-2014 The ManaPlus Developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef NET_MAILHANDLER_H
+#define NET_MAILHANDLER_H
+
+#include "localconsts.h"
+
+namespace Net
+{
+
+class MailHandler notfinal
+{
+ public:
+ virtual ~MailHandler()
+ { }
+};
+
+} // namespace Net
+
+#endif // NET_MAILHANDLER_H
diff --git a/src/net/net.cpp b/src/net/net.cpp
index c238731a5..1ca5ac5c0 100644
--- a/src/net/net.cpp
+++ b/src/net/net.cpp
@@ -51,6 +51,7 @@ Net::TradeHandler *tradeHandler = nullptr;
Net::BeingHandler *beingHandler = nullptr;
Net::BuySellHandler *buySellHandler = nullptr;
Net::ServerFeatures *serverFeatures = nullptr;
+Net::MailHandler *mailHandler = nullptr;
Net::AdminHandler *Net::getAdminHandler()
{
@@ -137,6 +138,11 @@ Net::ServerFeatures *Net::getServerFeatures()
return serverFeatures;
}
+Net::MailHandler *Net::getMailHandler()
+{
+ return mailHandler;
+}
+
namespace Net
{
ServerInfo::Type networkType = ServerInfo::UNKNOWN;
diff --git a/src/net/net.h b/src/net/net.h
index a1267e77a..0189daaf0 100644
--- a/src/net/net.h
+++ b/src/net/net.h
@@ -45,6 +45,7 @@ class GeneralHandler;
class GuildHandler;
class InventoryHandler;
class LoginHandler;
+class MailHandler;
class NpcHandler;
class PartyHandler;
class PetHandler;
@@ -70,8 +71,8 @@ PlayerHandler *getPlayerHandler() A_WARN_UNUSED;
SkillHandler *getSkillHandler() A_WARN_UNUSED;
TradeHandler *getTradeHandler() A_WARN_UNUSED;
BuySellHandler *getBuySellHandler() A_WARN_UNUSED;
-
ServerFeatures *getServerFeatures() A_WARN_UNUSED;
+MailHandler *getMailHandler() A_WARN_UNUSED;
ServerInfo::Type getNetworkType() A_WARN_UNUSED;
diff --git a/src/net/tmwa/generalhandler.cpp b/src/net/tmwa/generalhandler.cpp
index be33614a2..bd812b6b3 100644
--- a/src/net/tmwa/generalhandler.cpp
+++ b/src/net/tmwa/generalhandler.cpp
@@ -49,6 +49,7 @@
#include "net/tmwa/inventoryhandler.h"
#include "net/tmwa/itemhandler.h"
#include "net/tmwa/loginhandler.h"
+#include "net/tmwa/mailhandler.h"
#include "net/tmwa/network.h"
#include "net/tmwa/npchandler.h"
#include "net/tmwa/partyhandler.h"
@@ -94,7 +95,8 @@ GeneralHandler::GeneralHandler() :
mSkillHandler(new SkillHandler),
mTradeHandler(new TradeHandler),
mQuestHandler(new QuestHandler),
- mServerFeatures(new ServerFeatures)
+ mServerFeatures(new ServerFeatures),
+ mMailHandler(new MailHandler)
{
static const uint16_t _messages[] =
{
diff --git a/src/net/tmwa/generalhandler.h b/src/net/tmwa/generalhandler.h
index cf2d848f0..c4c04af63 100644
--- a/src/net/tmwa/generalhandler.h
+++ b/src/net/tmwa/generalhandler.h
@@ -79,6 +79,7 @@ class GeneralHandler final : public MessageHandler,
MessageHandlerPtr mTradeHandler;
MessageHandlerPtr mQuestHandler;
ServerFeatures *mServerFeatures;
+ MessageHandlerPtr mMailHandler;
};
} // namespace TmwAthena
diff --git a/src/net/tmwa/mailhandler.cpp b/src/net/tmwa/mailhandler.cpp
new file mode 100644
index 000000000..3673f536e
--- /dev/null
+++ b/src/net/tmwa/mailhandler.cpp
@@ -0,0 +1,48 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2011-2014 The ManaPlus Developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "net/tmwa/mailhandler.h"
+
+#include "net/tmwa/messageout.h"
+#include "net/tmwa/protocol.h"
+
+#include "debug.h"
+
+extern Net::MailHandler *mailHandler;
+
+namespace TmwAthena
+{
+
+MailHandler::MailHandler() :
+ MessageHandler()
+{
+ static const uint16_t _messages[] =
+ {
+ 0
+ };
+ handledMessages = _messages;
+ mailHandler = this;
+}
+
+void MailHandler::handleMessage(Net::MessageIn &msg)
+{
+}
+
+} // namespace TmwAthena
diff --git a/src/net/tmwa/mailhandler.h b/src/net/tmwa/mailhandler.h
new file mode 100644
index 000000000..f90415086
--- /dev/null
+++ b/src/net/tmwa/mailhandler.h
@@ -0,0 +1,44 @@
+/*
+ * The ManaPlus Client
+ * Copyright (C) 2011-2014 The ManaPlus Developers
+ *
+ * This file is part of The ManaPlus Client.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef NET_TMWA_MAILHANDLER_H
+#define NET_TMWA_MAILHANDLER_H
+
+#include "net/mailhandler.h"
+
+#include "net/tmwa/messagehandler.h"
+
+namespace TmwAthena
+{
+class MessageOut;
+
+class MailHandler final : public MessageHandler, public Net::MailHandler
+{
+ public:
+ MailHandler();
+
+ A_DELETE_COPY(MailHandler)
+
+ void handleMessage(Net::MessageIn &msg) override final;
+};
+
+} // namespace TmwAthena
+
+#endif // NET_TMWA_MAILHANDLER_H