aboutsummaryrefslogtreecommitdiff
path: root/src/server/shared
diff options
context:
space:
mode:
authorleak <leakzx@googlemail.com>2011-04-28 22:42:33 +0200
committerleak <leakzx@googlemail.com>2011-04-28 22:42:33 +0200
commita82654debd8fd00fec3f2024290876ab0d6dd175 (patch)
tree034e8ac183c66fe28e3823484e2a85e99c4b6114 /src/server/shared
parent03365e9a573667f5485f44642b47b05473094474 (diff)
Core/ObjectMgr: Refactor sItemStorage
Diffstat (limited to 'src/server/shared')
-rwxr-xr-xsrc/server/shared/Database/SQLStorage.cpp3
-rwxr-xr-xsrc/server/shared/Utilities/Util.h10
2 files changed, 10 insertions, 3 deletions
diff --git a/src/server/shared/Database/SQLStorage.cpp b/src/server/shared/Database/SQLStorage.cpp
index 6fcb7b1af9d..0ed1986486e 100755
--- a/src/server/shared/Database/SQLStorage.cpp
+++ b/src/server/shared/Database/SQLStorage.cpp
@@ -25,14 +25,11 @@ const char CreatureDataAddonInfofmt[]="iiiiiis";
const char CreatureInfoAddonInfofmt[]="iiiiiis";
const char GameObjectInfosrcfmt[]="iiissssiifiiiiiiiiiiiiiiiiiiiiiiiiiiiiiissi";
const char GameObjectInfodstfmt[]="iiissssiifiiiiiiiiiiiiiiiiiiiiiiiiiiiiiisii";
-const char ItemPrototypesrcfmt[]="iiiisiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiffiffiiiiiiiiiifiiifiiiiiifiiiiiifiiiiiifiiiiiifiiiisiiiiiiiiiiiiiiiiiiiiiiiiifiiisiiiii";
-const char ItemPrototypedstfmt[]="iiiisiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiffiffiiiiiiiiiifiiifiiiiiifiiiiiifiiiiiifiiiiiifiiiisiiiiiiiiiiiiiiiiiiiiiiiiifiiiiiiiii";
SQLStorage sCreatureStorage(CreatureInfosrcfmt, CreatureInfodstfmt, "entry","creature_template");
SQLStorage sCreatureDataAddonStorage(CreatureDataAddonInfofmt,"guid","creature_addon");
SQLStorage sCreatureInfoAddonStorage(CreatureInfoAddonInfofmt,"entry","creature_template_addon");
SQLStorage sGOStorage(GameObjectInfosrcfmt, GameObjectInfodstfmt, "entry","gameobject_template");
-SQLStorage sItemStorage(ItemPrototypesrcfmt, ItemPrototypedstfmt, "entry","item_template");
void SQLStorage::Free ()
{
diff --git a/src/server/shared/Utilities/Util.h b/src/server/shared/Utilities/Util.h
index a6a76439bdb..2e5d9a12ad7 100755
--- a/src/server/shared/Utilities/Util.h
+++ b/src/server/shared/Utilities/Util.h
@@ -24,6 +24,16 @@
#include <string>
#include <vector>
+// Searcher for map of structs
+template<typename T, class S> struct Finder
+{
+ T val_;
+ T S::* idMember_;
+
+ Finder(T val, T S::* idMember) : val_(val), idMember_(idMember) {}
+ bool operator()(const std::pair<int, S> &obj) { return obj.second.*idMember_ == val_; }
+};
+
struct Tokens: public std::vector<char*>
{
Tokens(const std::string &src, const char sep, uint32 vectorReserve = 0);