From 961b1482f903c7f583eac639e7bf7b98e8d544c6 Mon Sep 17 00:00:00 2001
From: Andrei Karas <akaras@inbox.ru>
Date: Tue, 20 May 2014 18:58:23 +0300
Subject: Move equipbackend into separate file.

---
 src/CMakeLists.txt            |   1 +
 src/Makefile.am               |   1 +
 src/net/ea/equipbackend.h     | 103 ++++++++++++++++++++++++++++++++++++++++++
 src/net/ea/inventoryhandler.h |  70 +---------------------------
 4 files changed, 107 insertions(+), 68 deletions(-)
 create mode 100644 src/net/ea/equipbackend.h

(limited to 'src')

diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index f69598c91..d3ff59769 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -995,6 +995,7 @@ SET(SRCS_EVOL
     net/ea/chathandler.cpp
     net/ea/chathandler.h
     net/ea/eaprotocol.h
+    net/ea/equipbackend.h
     net/ea/gamehandler.cpp
     net/ea/gamehandler.h
     net/ea/guildhandler.cpp
diff --git a/src/Makefile.am b/src/Makefile.am
index 8f22a71bf..316512827 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1047,6 +1047,7 @@ manaplus_SOURCES += \
 	      net/ea/chathandler.cpp \
 	      net/ea/chathandler.h \
 	      net/ea/eaprotocol.h \
+	      net/ea/equipbackend.h \
 	      net/ea/gamehandler.cpp \
 	      net/ea/gamehandler.h \
 	      net/ea/guildhandler.cpp \
diff --git a/src/net/ea/equipbackend.h b/src/net/ea/equipbackend.h
new file mode 100644
index 000000000..ff1813500
--- /dev/null
+++ b/src/net/ea/equipbackend.h
@@ -0,0 +1,103 @@
+/*
+ *  The ManaPlus Client
+ *  Copyright (C) 2004-2009  The Mana World Development Team
+ *  Copyright (C) 2009-2010  The Mana Developers
+ *  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_EA_EQUIPBACKEND_H
+#define NET_EA_EQUIPBACKEND_H
+
+#include "equipment.h"
+#include "inventory.h"
+#include "item.h"
+
+namespace Ea
+{
+
+class EquipBackend : public Equipment::Backend
+{
+    public:
+        EquipBackend()
+        {
+            memset(mEquipment, -1, sizeof(mEquipment));
+        }
+
+        A_DELETE_COPY(EquipBackend)
+
+        Item *getEquipment(const int index) const override final A_WARN_UNUSED
+        {
+            int invyIndex = mEquipment[index];
+            if (invyIndex == -1)
+                return nullptr;
+
+            const Inventory *const inv = PlayerInfo::getInventory();
+            if (inv)
+                return inv->getItem(invyIndex);
+            else
+                return nullptr;
+        }
+
+        void clear()
+        {
+            Inventory *const inv = PlayerInfo::getInventory();
+            if (!inv)
+                return;
+            for (int i = 0; i < EQUIPMENT_SIZE; i++)
+            {
+                if (mEquipment[i] != -1)
+                {
+                    Item* item = inv->getItem(i);
+                    if (item)
+                        item->setEquipped(false);
+                }
+
+                mEquipment[i] = -1;
+            }
+        }
+
+        void setEquipment(const int index, const int inventoryIndex)
+        {
+            Inventory *const inv = PlayerInfo::getInventory();
+            if (!inv)
+                return;
+
+            // Unequip existing item
+            Item *item = inv->getItem(mEquipment[index]);
+
+            if (item)
+                item->setEquipped(false);
+
+            // not checking index because it must be safe
+            mEquipment[index] = inventoryIndex;
+
+            item = inv->getItem(inventoryIndex);
+            if (item)
+                item->setEquipped(true);
+
+            if (inventoryWindow)
+                inventoryWindow->updateButtons();
+        }
+
+    private:
+        int mEquipment[EQUIPMENT_SIZE];
+};
+
+}  // namespace Ea
+
+#endif  // NET_EA_EQUIPBACKEND_H
diff --git a/src/net/ea/inventoryhandler.h b/src/net/ea/inventoryhandler.h
index 4546b75bb..670153aed 100644
--- a/src/net/ea/inventoryhandler.h
+++ b/src/net/ea/inventoryhandler.h
@@ -34,6 +34,8 @@
 
 #include "net/inventoryhandler.h"
 
+#include "net/ea/equipbackend.h"
+
 #include <vector>
 #include <queue>
 
@@ -45,74 +47,6 @@ namespace Net
 namespace Ea
 {
 
-class EquipBackend : public Equipment::Backend
-{
-    public:
-        EquipBackend()
-        {
-            memset(mEquipment, -1, sizeof(mEquipment));
-        }
-
-        A_DELETE_COPY(EquipBackend)
-
-        Item *getEquipment(const int index) const override final A_WARN_UNUSED
-        {
-            int invyIndex = mEquipment[index];
-            if (invyIndex == -1)
-                return nullptr;
-
-            const Inventory *const inv = PlayerInfo::getInventory();
-            if (inv)
-                return inv->getItem(invyIndex);
-            else
-                return nullptr;
-        }
-
-        void clear()
-        {
-            Inventory *const inv = PlayerInfo::getInventory();
-            if (!inv)
-                return;
-            for (int i = 0; i < EQUIPMENT_SIZE; i++)
-            {
-                if (mEquipment[i] != -1)
-                {
-                    Item* item = inv->getItem(i);
-                    if (item)
-                        item->setEquipped(false);
-                }
-
-                mEquipment[i] = -1;
-            }
-        }
-
-        void setEquipment(const int index, const int inventoryIndex)
-        {
-            Inventory *const inv = PlayerInfo::getInventory();
-            if (!inv)
-                return;
-
-            // Unequip existing item
-            Item *item = inv->getItem(mEquipment[index]);
-
-            if (item)
-                item->setEquipped(false);
-
-            // not checking index because it must be safe
-            mEquipment[index] = inventoryIndex;
-
-            item = inv->getItem(inventoryIndex);
-            if (item)
-                item->setEquipped(true);
-
-            if (inventoryWindow)
-                inventoryWindow->updateButtons();
-        }
-
-    private:
-        int mEquipment[EQUIPMENT_SIZE];
-};
-
 /**
  * Used to cache storage data until we get size data for it.
  */
-- 
cgit v1.2.3-70-g09d2