summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/CMakeLists.txt2
-rw-r--r--src/Makefile.am2
-rw-r--r--src/net/eathena/familyhandler.cpp46
-rw-r--r--src/net/eathena/familyhandler.h13
-rw-r--r--src/net/eathena/familyrecv.cpp67
-rw-r--r--src/net/eathena/familyrecv.h45
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