summaryrefslogtreecommitdiff
path: root/src/net/eathena
diff options
context:
space:
mode:
Diffstat (limited to 'src/net/eathena')
-rw-r--r--src/net/eathena/generalhandler.cpp5
-rw-r--r--src/net/eathena/generalhandler.h1
-rw-r--r--src/net/eathena/homunculushandler.cpp57
-rw-r--r--src/net/eathena/homunculushandler.h45
4 files changed, 107 insertions, 1 deletions
diff --git a/src/net/eathena/generalhandler.cpp b/src/net/eathena/generalhandler.cpp
index dba1ee41e..2b5da81e4 100644
--- a/src/net/eathena/generalhandler.cpp
+++ b/src/net/eathena/generalhandler.cpp
@@ -51,6 +51,7 @@
#include "net/eathena/familyhandler.h"
#include "net/eathena/gamehandler.h"
#include "net/eathena/guildhandler.h"
+#include "net/eathena/homunculushandler.h"
#include "net/eathena/inventoryhandler.h"
#include "net/eathena/itemhandler.h"
#include "net/eathena/loginhandler.h"
@@ -108,7 +109,8 @@ GeneralHandler::GeneralHandler() :
mFamilyHandler(new FamilyHandler),
mBankHandler(new BankHandler),
mMercenaryHandler(new MercenaryHandler),
- mBuyingStoreHandler(new BuyingStoreHandler)
+ mBuyingStoreHandler(new BuyingStoreHandler),
+ mHomunculusHandler(new HomunculusHandler)
{
static const uint16_t _messages[] =
{
@@ -213,6 +215,7 @@ void GeneralHandler::load()
mNetwork->registerHandler(mBankHandler);
mNetwork->registerHandler(mMercenaryHandler);
mNetwork->registerHandler(mBuyingStoreHandler);
+ mNetwork->registerHandler(mHomunculusHandler);
}
void GeneralHandler::reload()
diff --git a/src/net/eathena/generalhandler.h b/src/net/eathena/generalhandler.h
index 56070b247..7f68f5f54 100644
--- a/src/net/eathena/generalhandler.h
+++ b/src/net/eathena/generalhandler.h
@@ -86,6 +86,7 @@ class GeneralHandler final : public MessageHandler,
MessageHandlerPtr mBankHandler;
MessageHandlerPtr mMercenaryHandler;
MessageHandlerPtr mBuyingStoreHandler;
+ MessageHandlerPtr mHomunculusHandler;
};
} // namespace EAthena
diff --git a/src/net/eathena/homunculushandler.cpp b/src/net/eathena/homunculushandler.cpp
new file mode 100644
index 000000000..c00025daa
--- /dev/null
+++ b/src/net/eathena/homunculushandler.cpp
@@ -0,0 +1,57 @@
+/*
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+
+#include "net/eathena/homunculushandler.h"
+
+#include "logger.h"
+
+#include "net/ea/eaprotocol.h"
+
+#include "net/eathena/messageout.h"
+#include "net/eathena/protocol.h"
+
+#include "debug.h"
+
+extern Net::HomunculusHandler *homunculusHandler;
+
+namespace EAthena
+{
+
+HomunculusHandler::HomunculusHandler() :
+ MessageHandler()
+{
+ static const uint16_t _messages[] =
+ {
+ 0
+ };
+ handledMessages = _messages;
+ homunculusHandler = this;
+}
+
+void HomunculusHandler::handleMessage(Net::MessageIn &msg)
+{
+ switch (msg.getId())
+ {
+ default:
+ break;
+ }
+}
+
+} // namespace EAthena
diff --git a/src/net/eathena/homunculushandler.h b/src/net/eathena/homunculushandler.h
new file mode 100644
index 000000000..9a2e5bd76
--- /dev/null
+++ b/src/net/eathena/homunculushandler.h
@@ -0,0 +1,45 @@
+/*
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef NET_EATHENA_HOMUNCULUSHANDLER_H
+#define NET_EATHENA_HOMUNCULUSHANDLER_H
+
+#include "net/homunculushandler.h"
+
+#include "net/eathena/messagehandler.h"
+
+namespace EAthena
+{
+class MessageOut;
+
+class HomunculusHandler final : public MessageHandler,
+ public Net::HomunculusHandler
+{
+ public:
+ HomunculusHandler();
+
+ A_DELETE_COPY(HomunculusHandler)
+
+ void handleMessage(Net::MessageIn &msg) override final;
+};
+
+} // namespace EAthena
+
+#endif // NET_EATHENA_HOMUNCULUSHANDLER_H