diff options
author | Spp- <spp@jorge.gr> | 2011-09-09 15:22:52 +0200 |
---|---|---|
committer | Spp- <spp@jorge.gr> | 2011-09-09 15:22:52 +0200 |
commit | 14b3ed91647b43742775b9880a0ff93e5c7237ea (patch) | |
tree | c2c32c329330cd24e1732e1192cc563d912ab91d /src | |
parent | 45af1238cfad926bc23c3801df2e7fa05074d6da (diff) |
Addons/AddonMgr: converted from singleton to namespace with free functions
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/game/Addons/AddonMgr.cpp | 36 | ||||
-rwxr-xr-x | src/server/game/Addons/AddonMgr.h | 35 | ||||
-rw-r--r-- | src/server/game/AuctionHouse/AuctionHouseMgr.h | 6 | ||||
-rwxr-xr-x | src/server/game/Server/WorldSession.cpp | 4 | ||||
-rwxr-xr-x | src/server/game/Server/WorldSession.h | 2 | ||||
-rwxr-xr-x | src/server/game/World/World.cpp | 4 |
6 files changed, 36 insertions, 51 deletions
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 <http://www.gnu.org/licenses/>. */ -#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 <list> + +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<SavedAddon> 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 diff --git a/src/server/game/Addons/AddonMgr.h b/src/server/game/Addons/AddonMgr.h index 9d68d2277fb..72edc3d1f6f 100755 --- a/src/server/game/Addons/AddonMgr.h +++ b/src/server/game/Addons/AddonMgr.h @@ -19,13 +19,9 @@ #ifndef _ADDONMGR_H #define _ADDONMGR_H -#include "Common.h" -#include <ace/Singleton.h> - +#include "Define.h" #include <string> -class WorldSession; - struct AddonInfo { AddonInfo(const std::string& name, uint8 enabled, uint32 crc, uint8 state, bool crcOrPubKey) @@ -56,33 +52,14 @@ struct SavedAddon uint32 CRC; }; -// List of client addons (for WorldSession). -typedef std::list<AddonInfo> AddonsList; - -// List of saved addons (in DB). -typedef std::list<SavedAddon> SavedAddonsList; - #define STANDARD_ADDON_CRC 0x4c1c776d -class AddonMgr +namespace AddonMgr { - friend class ACE_Singleton<AddonMgr, ACE_Null_Mutex>; - AddonMgr(); - ~AddonMgr(); - - public: - - void LoadFromDB(); - void SaveAddon(AddonInfo const& addon); - - SavedAddon const* GetAddonInfo(const std::string& name) const; - - private: - - SavedAddonsList m_knownAddons; // Known addons. -}; - -#define sAddonMgr ACE_Singleton<AddonMgr, ACE_Null_Mutex>::instance() + void LoadFromDB(); + void SaveAddon(AddonInfo const& addon); + SavedAddon const* GetAddonInfo(const std::string& name); +} #endif diff --git a/src/server/game/AuctionHouse/AuctionHouseMgr.h b/src/server/game/AuctionHouse/AuctionHouseMgr.h index 5e88ae1ff1d..ed5c5b206bc 100644 --- a/src/server/game/AuctionHouse/AuctionHouseMgr.h +++ b/src/server/game/AuctionHouse/AuctionHouseMgr.h @@ -124,8 +124,10 @@ class AuctionHouseObject class AuctionHouseMgr { friend class ACE_Singleton<AuctionHouseMgr, ACE_Null_Mutex>; - AuctionHouseMgr(); - ~AuctionHouseMgr(); + + private: + AuctionHouseMgr(); + ~AuctionHouseMgr(); public: diff --git a/src/server/game/Server/WorldSession.cpp b/src/server/game/Server/WorldSession.cpp index 025fbeb9c90..9ef989865bb 100755 --- a/src/server/game/Server/WorldSession.cpp +++ b/src/server/game/Server/WorldSession.cpp @@ -868,7 +868,7 @@ void WorldSession::ReadAddonsInfo(WorldPacket &data) AddonInfo addon(addonName, enabled, crc, 2, true); - SavedAddon const* savedAddon = sAddonMgr->GetAddonInfo(addonName); + SavedAddon const* savedAddon = AddonMgr::GetAddonInfo(addonName); if (savedAddon) { bool match = true; @@ -883,7 +883,7 @@ void WorldSession::ReadAddonsInfo(WorldPacket &data) } else { - sAddonMgr->SaveAddon(addon); + AddonMgr::SaveAddon(addon); sLog->outDetail("ADDON: %s (0x%x) was not known, saving...", addon.Name.c_str(), addon.CRC); } diff --git a/src/server/game/Server/WorldSession.h b/src/server/game/Server/WorldSession.h index fe082119f78..62954132fbb 100755 --- a/src/server/game/Server/WorldSession.h +++ b/src/server/game/Server/WorldSession.h @@ -939,6 +939,8 @@ class WorldSession uint32 _accountId; uint8 m_expansion; + typedef std::list<AddonInfo> AddonsList; + time_t _logoutTime; bool m_inQueue; // session wait in auth.queue bool m_playerLoading; // code processed in LoginPlayer diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp index 2a592969b4a..01ac32e167c 100755 --- a/src/server/game/World/World.cpp +++ b/src/server/game/World/World.cpp @@ -1337,7 +1337,7 @@ void World::SetInitialWorldSettings() LoadRandomEnchantmentsTable(); sLog->outString("Loading Disables"); - DisableMgr::LoadDisables(); // must be before loading quests and items + DisableMgr::LoadDisables(); // must be before loading quests and items sLog->outString("Loading Items..."); // must be after LoadRandomEnchantmentsTable and LoadPageTexts sObjectMgr->LoadItemTemplates(); @@ -1586,7 +1586,7 @@ void World::SetInitialWorldSettings() sTicketMgr->LoadSurveys(); sLog->outString("Loading client addons..."); - sAddonMgr->LoadFromDB(); + AddonMgr::LoadFromDB(); ///- Handle outdated emails (delete/return) sLog->outString("Returning old mails..."); |