From 14b3ed91647b43742775b9880a0ff93e5c7237ea Mon Sep 17 00:00:00 2001 From: Spp- Date: Fri, 9 Sep 2011 15:22:52 +0200 Subject: Addons/AddonMgr: converted from singleton to namespace with free functions --- src/server/game/Addons/AddonMgr.cpp | 36 ++++++++++++++++++++---------------- 1 file changed, 20 insertions(+), 16 deletions(-) (limited to 'src/server/game/Addons/AddonMgr.cpp') diff --git a/src/server/game/Addons/AddonMgr.cpp b/src/server/game/Addons/AddonMgr.cpp index d892e64b316..70c72fba7e6 100755 --- a/src/server/game/Addons/AddonMgr.cpp +++ b/src/server/game/Addons/AddonMgr.cpp @@ -16,27 +16,31 @@ * with this program. If not, see . */ -#include "DatabaseEnv.h" #include "AddonMgr.h" -#include "ObjectAccessor.h" -#include "Player.h" -#include "Util.h" -#include "SHA1.h" +#include "DatabaseEnv.h" +#include "Log.h" +#include "Timer.h" -AddonMgr::AddonMgr() +#include + +namespace AddonMgr { -} -AddonMgr::~AddonMgr() +// Anonymous namespace ensures file scope of all the stuff inside it, even +// if you add something more to this namespace somewhere else. +namespace { + // List of saved addons (in DB). + typedef std::list SavedAddonsList; + + SavedAddonsList m_knownAddons; } -void AddonMgr::LoadFromDB() +void LoadFromDB() { uint32 oldMSTime = getMSTime(); QueryResult result = CharacterDatabase.Query("SELECT name, crc FROM addons"); - if (!result) { sLog->outString(">> Loaded 0 known addons. DB table `addons` is empty!"); @@ -53,8 +57,7 @@ void AddonMgr::LoadFromDB() std::string name = fields[0].GetString(); uint32 crc = fields[1].GetUInt32(); - SavedAddon addon(name, crc); - m_knownAddons.push_back(addon); + m_knownAddons.push_back(SavedAddon(name, crc)); ++count; } @@ -64,17 +67,16 @@ void AddonMgr::LoadFromDB() sLog->outString(); } -void AddonMgr::SaveAddon(AddonInfo const& addon) +void SaveAddon(AddonInfo const& addon) { std::string name = addon.Name; CharacterDatabase.EscapeString(name); CharacterDatabase.PExecute("INSERT INTO addons (name, crc) VALUES ('%s', %u)", name.c_str(), addon.CRC); - SavedAddon newAddon(addon.Name, addon.CRC); - m_knownAddons.push_back(newAddon); + m_knownAddons.push_back(SavedAddon(addon.Name, addon.CRC)); } -SavedAddon const* AddonMgr::GetAddonInfo(const std::string& name) const +SavedAddon const* GetAddonInfo(const std::string& name) { for (SavedAddonsList::const_iterator it = m_knownAddons.begin(); it != m_knownAddons.end(); ++it) { @@ -85,3 +87,5 @@ SavedAddon const* AddonMgr::GetAddonInfo(const std::string& name) const return NULL; } + +} // Namespace -- cgit v1.2.3