From 291f73098e52742bed3f4c4271524e347ee317e1 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 7 Jan 2015 00:53:46 +0300 Subject: Add empty vending handler. --- src/CMakeLists.txt | 5 ++++ src/Makefile.am | 9 +++++-- src/net/eathena/generalhandler.cpp | 5 +++- src/net/eathena/generalhandler.h | 1 + src/net/eathena/vendinghandler.cpp | 52 ++++++++++++++++++++++++++++++++++++++ src/net/eathena/vendinghandler.h | 43 +++++++++++++++++++++++++++++++ src/net/net.cpp | 2 ++ src/net/tmwa/generalhandler.cpp | 5 +++- src/net/tmwa/generalhandler.h | 1 + src/net/tmwa/vendinghandler.cpp | 45 +++++++++++++++++++++++++++++++++ src/net/tmwa/vendinghandler.h | 44 ++++++++++++++++++++++++++++++++ src/net/vendinghandler.h | 42 ++++++++++++++++++++++++++++++ 12 files changed, 250 insertions(+), 4 deletions(-) create mode 100644 src/net/eathena/vendinghandler.cpp create mode 100644 src/net/eathena/vendinghandler.h create mode 100644 src/net/tmwa/vendinghandler.cpp create mode 100644 src/net/tmwa/vendinghandler.h create mode 100644 src/net/vendinghandler.h (limited to 'src') diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 90f82fe88..a0fa78e31 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -577,6 +577,7 @@ SET(SRCS net/tradehandler.h enums/net/updatetype.h net/uploadcharinfo.h + net/vendinghandler.h net/worldinfo.h net/packetcounters.cpp net/packetcounters.h @@ -1391,6 +1392,8 @@ SET(SRCS_TMWA net/tmwa/sprite.h net/tmwa/tradehandler.cpp net/tmwa/tradehandler.h + net/tmwa/vendinghandler.cpp + net/tmwa/vendinghandler.h ) SET(SRCS_EATHENA @@ -1470,6 +1473,8 @@ SET(SRCS_EATHENA net/eathena/sprite.h net/eathena/tradehandler.cpp net/eathena/tradehandler.h + net/eathena/vendinghandler.cpp + net/eathena/vendinghandler.h ) IF (WIN32) diff --git a/src/Makefile.am b/src/Makefile.am index 0139599e4..f0bcb6686 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -708,6 +708,7 @@ manaplus_SOURCES += gui/widgets/avatarlistbox.cpp \ net/tradehandler.h \ enums/net/updatetype.h \ net/uploadcharinfo.h \ + net/vendinghandler.h \ net/worldinfo.h \ net/packetcounters.cpp \ net/packetcounters.h \ @@ -1324,7 +1325,9 @@ manaplus_SOURCES += \ net/tmwa/skillhandler.h \ net/tmwa/sprite.h \ net/tmwa/tradehandler.cpp \ - net/tmwa/tradehandler.h + net/tmwa/tradehandler.h \ + net/tmwa/vendinghandler.cpp \ + net/tmwa/vendinghandler.h endif if ENABLE_EATHENA @@ -1404,7 +1407,9 @@ manaplus_SOURCES += net/eathena/adminhandler.cpp \ net/eathena/skillhandler.h \ net/eathena/sprite.h \ net/eathena/tradehandler.cpp \ - net/eathena/tradehandler.h + net/eathena/tradehandler.h \ + net/eathena/vendinghandler.cpp \ + net/eathena/vendinghandler.h endif manaplus_SOURCES += \ diff --git a/src/net/eathena/generalhandler.cpp b/src/net/eathena/generalhandler.cpp index 30697388e..570d79136 100644 --- a/src/net/eathena/generalhandler.cpp +++ b/src/net/eathena/generalhandler.cpp @@ -69,6 +69,7 @@ #include "net/eathena/tradehandler.h" #include "net/eathena/skillhandler.h" #include "net/eathena/questhandler.h" +#include "net/eathena/vendinghandler.h" #include "resources/db/itemdbstat.h" @@ -115,7 +116,8 @@ GeneralHandler::GeneralHandler() : mHomunculusHandler(new HomunculusHandler), mFriendsHandler(new FriendsHandler), mElementalHandler(new ElementalHandler), - mMarketHandler(new MarketHandler) + mMarketHandler(new MarketHandler), + mVendingHandler(new VendingHandler) { static const uint16_t _messages[] = { @@ -304,6 +306,7 @@ void GeneralHandler::load() mNetwork->registerHandler(mFriendsHandler); mNetwork->registerHandler(mElementalHandler); mNetwork->registerHandler(mMarketHandler); + mNetwork->registerHandler(mVendingHandler); } void GeneralHandler::reload() diff --git a/src/net/eathena/generalhandler.h b/src/net/eathena/generalhandler.h index b19a3aeaa..fcd22265e 100644 --- a/src/net/eathena/generalhandler.h +++ b/src/net/eathena/generalhandler.h @@ -94,6 +94,7 @@ class GeneralHandler final : public MessageHandler, MessageHandlerPtr mFriendsHandler; MessageHandlerPtr mElementalHandler; MessageHandlerPtr mMarketHandler; + MessageHandlerPtr mVendingHandler; }; } // namespace EAthena diff --git a/src/net/eathena/vendinghandler.cpp b/src/net/eathena/vendinghandler.cpp new file mode 100644 index 000000000..ea9ddeda6 --- /dev/null +++ b/src/net/eathena/vendinghandler.cpp @@ -0,0 +1,52 @@ +/* + * The ManaPlus Client + * Copyright (C) 2011-2015 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/vendinghandler.h" + +#include "net/eathena/protocol.h" + +#include "debug.h" + +extern Net::VendingHandler *vendingHandler; + +namespace EAthena +{ + +VendingHandler::VendingHandler() : + MessageHandler() +{ + static const uint16_t _messages[] = + { + 0 + }; + handledMessages = _messages; + vendingHandler = this; +} + +void VendingHandler::handleMessage(Net::MessageIn &msg) +{ + switch (msg.getId()) + { + default: + break; + } +} + +} // namespace EAthena diff --git a/src/net/eathena/vendinghandler.h b/src/net/eathena/vendinghandler.h new file mode 100644 index 000000000..46eac0ed9 --- /dev/null +++ b/src/net/eathena/vendinghandler.h @@ -0,0 +1,43 @@ +/* + * The ManaPlus Client + * Copyright (C) 2011-2015 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_VENDINGHANDLER_H +#define NET_EATHENA_VENDINGHANDLER_H + +#include "net/vendinghandler.h" + +#include "net/eathena/messagehandler.h" + +namespace EAthena +{ +class VendingHandler final : public MessageHandler, + public Net::VendingHandler +{ + public: + VendingHandler(); + + A_DELETE_COPY(VendingHandler) + + void handleMessage(Net::MessageIn &msg) override final; +}; + +} // namespace EAthena + +#endif // NET_EATHENA_VENDINGHANDLER_H diff --git a/src/net/net.cpp b/src/net/net.cpp index e744786cd..d9b32dc29 100644 --- a/src/net/net.cpp +++ b/src/net/net.cpp @@ -68,6 +68,7 @@ namespace Net class ServerFeatures; class SkillHandler; class TradeHandler; + class VendingHandler; } // namespace Net Net::AdminHandler *adminHandler = nullptr; @@ -99,6 +100,7 @@ Net::HomunculusHandler *homunculusHandler = nullptr; Net::FriendsHandler *friendsHandler = nullptr; Net::ElementalHandler *elementalHandler = nullptr; Net::MarketHandler *marketHandler = nullptr; +Net::VendingHandler *vendingHandler = nullptr; namespace Net { diff --git a/src/net/tmwa/generalhandler.cpp b/src/net/tmwa/generalhandler.cpp index b42020ce0..a34da33dc 100644 --- a/src/net/tmwa/generalhandler.cpp +++ b/src/net/tmwa/generalhandler.cpp @@ -67,6 +67,7 @@ #include "net/tmwa/tradehandler.h" #include "net/tmwa/skillhandler.h" #include "net/tmwa/questhandler.h" +#include "net/tmwa/vendinghandler.h" #include "resources/db/itemdbstat.h" @@ -113,7 +114,8 @@ GeneralHandler::GeneralHandler() : mHomunculusHandler(new HomunculusHandler), mFriendsHandler(new FriendsHandler), mElementalHandler(new ElementalHandler), - mMarketHandler(new MarketHandler) + mMarketHandler(new MarketHandler), + mVendingHandler(new VendingHandler) { static const uint16_t _messages[] = { @@ -240,6 +242,7 @@ void GeneralHandler::load() mNetwork->registerHandler(mFriendsHandler); mNetwork->registerHandler(mElementalHandler); mNetwork->registerHandler(mMarketHandler); + mNetwork->registerHandler(mVendingHandler); } void GeneralHandler::reload() diff --git a/src/net/tmwa/generalhandler.h b/src/net/tmwa/generalhandler.h index 6da362e96..ed1bc983c 100644 --- a/src/net/tmwa/generalhandler.h +++ b/src/net/tmwa/generalhandler.h @@ -92,6 +92,7 @@ class GeneralHandler final : public MessageHandler, MessageHandlerPtr mFriendsHandler; MessageHandlerPtr mElementalHandler; MessageHandlerPtr mMarketHandler; + MessageHandlerPtr mVendingHandler; }; } // namespace TmwAthena diff --git a/src/net/tmwa/vendinghandler.cpp b/src/net/tmwa/vendinghandler.cpp new file mode 100644 index 000000000..2250f2f1e --- /dev/null +++ b/src/net/tmwa/vendinghandler.cpp @@ -0,0 +1,45 @@ +/* + * The ManaPlus Client + * Copyright (C) 2011-2015 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/vendinghandler.h" + +#include "debug.h" + +extern Net::VendingHandler *vendingHandler; + +namespace TmwAthena +{ + +VendingHandler::VendingHandler() : + MessageHandler() +{ + static const uint16_t _messages[] = + { + 0 + }; + handledMessages = _messages; + vendingHandler = this; +} + +void VendingHandler::handleMessage(Net::MessageIn &msg A_UNUSED) +{ +} + +} // namespace TmwAthena diff --git a/src/net/tmwa/vendinghandler.h b/src/net/tmwa/vendinghandler.h new file mode 100644 index 000000000..567494110 --- /dev/null +++ b/src/net/tmwa/vendinghandler.h @@ -0,0 +1,44 @@ +/* + * The ManaPlus Client + * Copyright (C) 2011-2015 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_VENDINGHANDLER_H +#define NET_TMWA_VENDINGHANDLER_H + +#include "net/vendinghandler.h" + +#include "net/tmwa/messagehandler.h" + +namespace TmwAthena +{ + +class VendingHandler final : public MessageHandler, + public Net::VendingHandler +{ + public: + VendingHandler(); + + A_DELETE_COPY(VendingHandler) + + void handleMessage(Net::MessageIn &msg) override final; +}; + +} // namespace TmwAthena + +#endif // NET_TMWA_VENDINGHANDLER_H diff --git a/src/net/vendinghandler.h b/src/net/vendinghandler.h new file mode 100644 index 000000000..d0bff9198 --- /dev/null +++ b/src/net/vendinghandler.h @@ -0,0 +1,42 @@ +/* + * The ManaPlus Client + * Copyright (C) 2011-2015 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_VENDINGHANDLER_H +#define NET_VENDINGHANDLER_H + +#include + +#include "localconsts.h" + +namespace Net +{ + +class VendingHandler notfinal +{ + public: + virtual ~VendingHandler() + { } +}; + +} // namespace Net + +extern Net::VendingHandler *vendingHandler; + +#endif // NET_VENDINGHANDLER_H -- cgit v1.2.3-60-g2f50