aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Pools
diff options
context:
space:
mode:
authorMachiavelli <none@none>2010-06-25 00:18:01 +0200
committerMachiavelli <none@none>2010-06-25 00:18:01 +0200
commit0f7657b68c8b6444fadb480cdd0f87631391afa5 (patch)
treea5ffdaecbb1332ffbc655916842a23a622340c98 /src/server/game/Pools
parenta6b9e716a61334e218cff227f66b0c51053e72f3 (diff)
Get rid of Trinity Singleton and Threading patterns and replace them with ACE_Singletons and ACE_GUARD_x macro´s with ACE_Thread_Mutex´es respectively.
Also get rid of unused CountedReference class that used Trinity threading pattern. --HG-- branch : trunk
Diffstat (limited to 'src/server/game/Pools')
-rw-r--r--src/server/game/Pools/PoolHandler.cpp15
-rw-r--r--src/server/game/Pools/PoolHandler.h11
2 files changed, 12 insertions, 14 deletions
diff --git a/src/server/game/Pools/PoolHandler.cpp b/src/server/game/Pools/PoolHandler.cpp
index 731d71c6b19..4a7c99216bd 100644
--- a/src/server/game/Pools/PoolHandler.cpp
+++ b/src/server/game/Pools/PoolHandler.cpp
@@ -21,9 +21,6 @@
#include "ProgressBar.h"
#include "Log.h"
#include "MapManager.h"
-#include "SingletonImp.h"
-
-INSTANTIATE_SINGLETON_1(PoolHandler);
////////////////////////////////////////////////////////////
// template class SpawnedPoolData
@@ -201,7 +198,7 @@ void PoolGroup<Creature>::Despawn1Object(uint32 guid)
{
objmgr.RemoveCreatureFromGrid(guid, data);
- if (Creature* pCreature = ObjectAccessor::Instance().GetObjectInWorld(MAKE_NEW_GUID(guid, data->id, HIGHGUID_UNIT), (Creature*)NULL))
+ if (Creature* pCreature = sObjectAccessor.GetObjectInWorld(MAKE_NEW_GUID(guid, data->id, HIGHGUID_UNIT), (Creature*)NULL))
pCreature->AddObjectToRemoveList();
}
}
@@ -214,7 +211,7 @@ void PoolGroup<GameObject>::Despawn1Object(uint32 guid)
{
objmgr.RemoveGameobjectFromGrid(guid, data);
- if (GameObject* pGameobject = ObjectAccessor::Instance().GetObjectInWorld(MAKE_NEW_GUID(guid, data->id, HIGHGUID_GAMEOBJECT), (GameObject*)NULL))
+ if (GameObject* pGameobject = sObjectAccessor.GetObjectInWorld(MAKE_NEW_GUID(guid, data->id, HIGHGUID_GAMEOBJECT), (GameObject*)NULL))
pGameobject->AddObjectToRemoveList();
}
}
@@ -297,7 +294,7 @@ void PoolGroup<Creature>::Spawn1Object(PoolObject* obj)
objmgr.AddCreatureToGrid(obj->guid, data);
// Spawn if necessary (loaded grids only)
- Map* map = const_cast<Map*>(MapManager::Instance().CreateBaseMap(data->mapid));
+ Map* map = const_cast<Map*>(sMapMgr.CreateBaseMap(data->mapid));
// We use spawn coords to spawn
if (!map->Instanceable() && map->IsLoaded(data->posX, data->posY))
{
@@ -323,7 +320,7 @@ void PoolGroup<GameObject>::Spawn1Object(PoolObject* obj)
objmgr.AddGameobjectToGrid(obj->guid, data);
// Spawn if necessary (loaded grids only)
// this base map checked as non-instanced and then only existed
- Map* map = const_cast<Map*>(MapManager::Instance().CreateBaseMap(data->mapid));
+ Map* map = const_cast<Map*>(sMapMgr.CreateBaseMap(data->mapid));
// We use current coords to unspawn, not spawn coords since creature can have changed grid
if (!map->Instanceable() && map->IsLoaded(data->posX, data->posY))
{
@@ -355,7 +352,7 @@ template <>
void PoolGroup<Creature>::ReSpawn1Object(PoolObject* obj)
{
if (CreatureData const* data = objmgr.GetCreatureData(obj->guid))
- if (Creature* pCreature = ObjectAccessor::Instance().GetObjectInWorld(MAKE_NEW_GUID(obj->guid, data->id, HIGHGUID_UNIT), (Creature*)NULL))
+ if (Creature* pCreature = sObjectAccessor.GetObjectInWorld(MAKE_NEW_GUID(obj->guid, data->id, HIGHGUID_UNIT), (Creature*)NULL))
pCreature->GetMap()->Add(pCreature);
}
@@ -364,7 +361,7 @@ template <>
void PoolGroup<GameObject>::ReSpawn1Object(PoolObject* obj)
{
if (GameObjectData const* data = objmgr.GetGOData(obj->guid))
- if (GameObject* pGameobject = ObjectAccessor::Instance().GetObjectInWorld(MAKE_NEW_GUID(obj->guid, data->id, HIGHGUID_GAMEOBJECT), (GameObject*)NULL))
+ if (GameObject* pGameobject = sObjectAccessor.GetObjectInWorld(MAKE_NEW_GUID(obj->guid, data->id, HIGHGUID_GAMEOBJECT), (GameObject*)NULL))
pGameobject->GetMap()->Add(pGameobject);
}
diff --git a/src/server/game/Pools/PoolHandler.h b/src/server/game/Pools/PoolHandler.h
index df62badd9c8..156bc47a2a9 100644
--- a/src/server/game/Pools/PoolHandler.h
+++ b/src/server/game/Pools/PoolHandler.h
@@ -20,7 +20,7 @@
#define TRINITY_POOLHANDLER_H
#include "Define.h"
-#include "Singleton.h"
+#include "ace/Singleton.h"
#include "Creature.h"
#include "GameObject.h"
@@ -89,10 +89,11 @@ class PoolGroup
class PoolHandler
{
- public:
- PoolHandler();
- ~PoolHandler() {};
+ friend class ACE_Singleton<PoolHandler, ACE_Null_Mutex>;
+ PoolHandler();
+ ~PoolHandler() {};
+ public:
void LoadFromDB();
void Initialize();
@@ -134,7 +135,7 @@ class PoolHandler
SpawnedPoolData mSpawnedData;
};
-#define poolhandler Trinity::Singleton<PoolHandler>::Instance()
+#define poolhandler (*ACE_Singleton<PoolHandler, ACE_Null_Mutex>::instance())
// Method that tell if the creature is part of a pool and return the pool id if yes
template<>