diff options
author | Andrei Karas <akaras@inbox.ru> | 2015-08-26 02:24:11 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2015-08-26 02:24:11 +0300 |
commit | 9eea292d5035c8a592ba8b69b1a1c3f78cd08406 (patch) | |
tree | aa344d62a105c1a459caf78c41a779ca0d000e4d /src | |
parent | 424023ca450e6f44d4d66468c1c3e3b551d9200c (diff) | |
download | manaverse-9eea292d5035c8a592ba8b69b1a1c3f78cd08406.tar.gz manaverse-9eea292d5035c8a592ba8b69b1a1c3f78cd08406.tar.bz2 manaverse-9eea292d5035c8a592ba8b69b1a1c3f78cd08406.tar.xz manaverse-9eea292d5035c8a592ba8b69b1a1c3f78cd08406.zip |
Move receive code from familyhandler into separate file.
Diffstat (limited to 'src')
-rw-r--r-- | src/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/net/eathena/familyhandler.cpp | 46 | ||||
-rw-r--r-- | src/net/eathena/familyhandler.h | 13 | ||||
-rw-r--r-- | src/net/eathena/familyrecv.cpp | 67 | ||||
-rw-r--r-- | src/net/eathena/familyrecv.h | 45 |
6 files changed, 125 insertions, 50 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 59ed284f4..1933083e0 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1577,6 +1577,8 @@ SET(SRCS_EATHENA net/eathena/elementalrecv.h net/eathena/familyhandler.cpp net/eathena/familyhandler.h + net/eathena/familyrecv.cpp + net/eathena/familyrecv.h net/eathena/friendshandler.cpp net/eathena/friendshandler.h net/eathena/gamehandler.cpp diff --git a/src/Makefile.am b/src/Makefile.am index e5b1f5787..2d4883359 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1423,6 +1423,8 @@ manaplus_SOURCES += gui/windows/bankwindow.cpp \ net/eathena/elementalrecv.h \ net/eathena/familyhandler.cpp \ net/eathena/familyhandler.h \ + net/eathena/familyrecv.cpp \ + net/eathena/familyrecv.h \ net/eathena/friendshandler.cpp \ net/eathena/friendshandler.h \ net/eathena/gamehandler.cpp \ diff --git a/src/net/eathena/familyhandler.cpp b/src/net/eathena/familyhandler.cpp index a21de5ec2..b0cf00031 100644 --- a/src/net/eathena/familyhandler.cpp +++ b/src/net/eathena/familyhandler.cpp @@ -24,6 +24,7 @@ #include "being/being.h" +#include "net/eathena/familyrecv.h" #include "net/eathena/messageout.h" #include "net/eathena/protocol.h" @@ -34,14 +35,11 @@ extern Net::FamilyHandler *familyHandler; namespace EAthena { -int FamilyHandler::mParent1 = 0; -int FamilyHandler::mParent2 = 0; - FamilyHandler::FamilyHandler() : MessageHandler() { - mParent1 = 0; - mParent2 = 0; + FamilyRecv::mParent1 = 0; + FamilyRecv::mParent2 = 0; static const uint16_t _messages[] = { @@ -60,19 +58,19 @@ void FamilyHandler::handleMessage(Net::MessageIn &msg) switch (msg.getId()) { case SMSG_FAMILY_ASK_FOR_CHILD: - processAskForChild(msg); + FamilyRecv::processAskForChild(msg); break; case SMSG_FAMILY_CALL_PARTNER: - processCallPartner(msg); + FamilyRecv::processCallPartner(msg); break; case SMSG_FAMILY_DIVORCED: - processDivorced(msg); + FamilyRecv::processDivorced(msg); break; case SMSG_FAMILY_ASK_FOR_CHILD_REPLY: - processAskForChildReply(msg); + FamilyRecv::processAskForChildReply(msg); break; default: @@ -89,38 +87,12 @@ void FamilyHandler::askForChild(const Being *const being) outMsg.writeBeingId(being->getId(), "account id"); } -void FamilyHandler::processAskForChild(Net::MessageIn &msg) -{ - UNIMPLIMENTEDPACKET; - msg.readInt32("account id who ask"); - msg.readInt32("acoount id for other parent"); - msg.readString(24, "name who ask"); -} - -void FamilyHandler::processCallPartner(Net::MessageIn &msg) -{ - UNIMPLIMENTEDPACKET; - msg.readString(24, "name"); -} - void FamilyHandler::askForChildReply(const bool accept) { createOutPacket(CMSG_FAMILY_ASK_FOR_CHILD_REPLY); - outMsg.writeInt32(mParent1, "parent1"); - outMsg.writeInt32(mParent2, "parent2"); + outMsg.writeInt32(FamilyRecv::mParent1, "parent1"); + outMsg.writeInt32(FamilyRecv::mParent2, "parent2"); outMsg.writeInt32(accept ? 0: 1, "result"); } -void FamilyHandler::processDivorced(Net::MessageIn &msg) -{ - UNIMPLIMENTEDPACKET; - msg.readString(24, "name"); -} - -void FamilyHandler::processAskForChildReply(Net::MessageIn &msg) -{ - UNIMPLIMENTEDPACKET; - msg.readInt32("type"); -} - } // namespace EAthena diff --git a/src/net/eathena/familyhandler.h b/src/net/eathena/familyhandler.h index 8238fc417..16acc8b67 100644 --- a/src/net/eathena/familyhandler.h +++ b/src/net/eathena/familyhandler.h @@ -42,19 +42,6 @@ class FamilyHandler final : public MessageHandler, void askForChild(const Being *const being) override final; void askForChildReply(const bool accept) override final; - - protected: - static void processAskForChild(Net::MessageIn &msg); - - static void processCallPartner(Net::MessageIn &msg); - - static void processDivorced(Net::MessageIn &msg); - - static void processAskForChildReply(Net::MessageIn &msg); - - private: - static int mParent1; - static int mParent2; }; } // namespace EAthena diff --git a/src/net/eathena/familyrecv.cpp b/src/net/eathena/familyrecv.cpp new file mode 100644 index 000000000..76fae2ff2 --- /dev/null +++ b/src/net/eathena/familyrecv.cpp @@ -0,0 +1,67 @@ +/* + * 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 <http://www.gnu.org/licenses/>. + */ + +#include "net/eathena/familyrecv.h" + +#include "logger.h" + +#include "being/being.h" + +#include "net/eathena/messageout.h" +#include "net/eathena/protocol.h" + +#include "debug.h" + +namespace EAthena +{ + +namespace FamilyRecv +{ + int mParent1 = 0; + int mParent2 = 0; +} // namespace FamilyRecv + +void FamilyRecv::processAskForChild(Net::MessageIn &msg) +{ + UNIMPLIMENTEDPACKET; + msg.readInt32("account id who ask"); + msg.readInt32("acoount id for other parent"); + msg.readString(24, "name who ask"); +} + +void FamilyRecv::processCallPartner(Net::MessageIn &msg) +{ + UNIMPLIMENTEDPACKET; + msg.readString(24, "name"); +} + +void FamilyRecv::processDivorced(Net::MessageIn &msg) +{ + UNIMPLIMENTEDPACKET; + msg.readString(24, "name"); +} + +void FamilyRecv::processAskForChildReply(Net::MessageIn &msg) +{ + UNIMPLIMENTEDPACKET; + msg.readInt32("type"); +} + +} // namespace EAthena diff --git a/src/net/eathena/familyrecv.h b/src/net/eathena/familyrecv.h new file mode 100644 index 000000000..e1f5560e7 --- /dev/null +++ b/src/net/eathena/familyrecv.h @@ -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 <http://www.gnu.org/licenses/>. + */ + +#ifndef NET_EATHENA_FAMILYRECV_H +#define NET_EATHENA_FAMILYRECV_H + +#ifdef EATHENA_SUPPORT + +#include "net/familyhandler.h" + +#include "net/eathena/messagehandler.h" + +namespace EAthena +{ + namespace FamilyRecv + { + extern int mParent1; + extern int mParent2; + + void processAskForChild(Net::MessageIn &msg); + void processCallPartner(Net::MessageIn &msg); + void processDivorced(Net::MessageIn &msg); + void processAskForChildReply(Net::MessageIn &msg); + } // namespace FamilyRecv +} // namespace EAthena + +#endif // EATHENA_SUPPORT +#endif // NET_EATHENA_FAMILYRECV_H |