From 9eea292d5035c8a592ba8b69b1a1c3f78cd08406 Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Wed, 26 Aug 2015 02:24:11 +0300 Subject: Move receive code from familyhandler into separate file. --- src/CMakeLists.txt | 2 ++ src/Makefile.am | 2 ++ src/net/eathena/familyhandler.cpp | 46 ++++++--------------------- src/net/eathena/familyhandler.h | 13 -------- src/net/eathena/familyrecv.cpp | 67 +++++++++++++++++++++++++++++++++++++++ src/net/eathena/familyrecv.h | 45 ++++++++++++++++++++++++++ 6 files changed, 125 insertions(+), 50 deletions(-) create mode 100644 src/net/eathena/familyrecv.cpp create mode 100644 src/net/eathena/familyrecv.h 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 . + */ + +#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 . + */ + +#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 -- cgit v1.2.3-60-g2f50