From 24e4e3c241f39c088bd6f9eb471a2c0285c4eebf Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 10 Sep 2014 16:04:21 +0300 Subject: Add mailhandler for now empty. --- src/CMakeLists.txt | 5 ++++ src/Makefile.am | 5 ++++ src/net/eathena/generalhandler.cpp | 4 +++- src/net/eathena/generalhandler.h | 1 + src/net/eathena/mailhandler.cpp | 48 ++++++++++++++++++++++++++++++++++++++ src/net/eathena/mailhandler.h | 44 ++++++++++++++++++++++++++++++++++ src/net/mailhandler.h | 38 ++++++++++++++++++++++++++++++ src/net/net.cpp | 6 +++++ src/net/net.h | 3 ++- src/net/tmwa/generalhandler.cpp | 4 +++- src/net/tmwa/generalhandler.h | 1 + src/net/tmwa/mailhandler.cpp | 48 ++++++++++++++++++++++++++++++++++++++ src/net/tmwa/mailhandler.h | 44 ++++++++++++++++++++++++++++++++++ 13 files changed, 248 insertions(+), 3 deletions(-) create mode 100644 src/net/eathena/mailhandler.cpp create mode 100644 src/net/eathena/mailhandler.h create mode 100644 src/net/mailhandler.h create mode 100644 src/net/tmwa/mailhandler.cpp create mode 100644 src/net/tmwa/mailhandler.h 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 . + */ + +#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 . + */ + +#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 . + */ + +#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 . + */ + +#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 . + */ + +#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 -- cgit v1.2.3-70-g09d2