diff options
| author | Subv <subv2112@gmail.com> | 2014-06-22 13:17:47 -0500 |
|---|---|---|
| committer | Subv <subv2112@gmail.com> | 2014-06-22 13:17:47 -0500 |
| commit | 79440b3d9d0c2388f4ee04e81561702847e7e34a (patch) | |
| tree | 5471d22783440599356bc0bed501e1d6218cd4ef /src/server/shared/Dynamic | |
| parent | fa1da7a921402a52d798b84cf42a4acc85f07973 (diff) | |
Shared/Misc: Removed some more ACE dependencies
Diffstat (limited to 'src/server/shared/Dynamic')
| -rw-r--r-- | src/server/shared/Dynamic/FactoryHolder.h | 6 | ||||
| -rw-r--r-- | src/server/shared/Dynamic/ObjectRegistry.h | 11 |
2 files changed, 9 insertions, 8 deletions
diff --git a/src/server/shared/Dynamic/FactoryHolder.h b/src/server/shared/Dynamic/FactoryHolder.h index aee84ab151e..a009fd37a7e 100644 --- a/src/server/shared/Dynamic/FactoryHolder.h +++ b/src/server/shared/Dynamic/FactoryHolder.h @@ -30,15 +30,13 @@ class FactoryHolder { public: typedef ObjectRegistry<FactoryHolder<T, Key >, Key > FactoryHolderRegistry; - friend class ACE_Singleton<FactoryHolderRegistry, ACE_Null_Mutex>; - typedef ACE_Singleton<FactoryHolderRegistry, ACE_Null_Mutex> FactoryHolderRepository; FactoryHolder(Key k) : i_key(k) { } virtual ~FactoryHolder() { } inline Key key() const { return i_key; } - void RegisterSelf(void) { FactoryHolderRepository::instance()->InsertItem(this, i_key); } - void DeregisterSelf(void) { FactoryHolderRepository::instance()->RemoveItem(this, false); } + void RegisterSelf(void) { FactoryHolderRegistry::instance()->InsertItem(this, i_key); } + void DeregisterSelf(void) { FactoryHolderRegistry::instance()->RemoveItem(this, false); } /// Abstract Factory create method virtual T* Create(void *data = NULL) const = 0; diff --git a/src/server/shared/Dynamic/ObjectRegistry.h b/src/server/shared/Dynamic/ObjectRegistry.h index be7ce00ac05..486b75b467e 100644 --- a/src/server/shared/Dynamic/ObjectRegistry.h +++ b/src/server/shared/Dynamic/ObjectRegistry.h @@ -20,12 +20,9 @@ #define TRINITY_OBJECTREGISTRY_H #include "Define.h" -#include <ace/Singleton.h> #include <string> -#include <vector> #include <map> -#include <unordered_map> /** ObjectRegistry holds all registry item of the same type */ @@ -33,7 +30,13 @@ template<class T, class Key = std::string> class ObjectRegistry { public: - typedef std::map<Key, T *> RegistryMapType; + typedef std::map<Key, T*> RegistryMapType; + + static ObjectRegistry<T, Key>* instance() + { + static ObjectRegistry<T, Key>* instance = new ObjectRegistry<T, Key>(); + return instance; + } /// Returns a registry item const T* GetRegistryItem(Key key) const |
