aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/shared/Dynamic/FactoryHolder.h6
-rw-r--r--src/server/shared/Dynamic/ObjectRegistry.h11
-rw-r--r--src/server/shared/Logging/AppenderFile.cpp2
-rw-r--r--src/server/shared/Logging/AppenderFile.h4
4 files changed, 12 insertions, 11 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
diff --git a/src/server/shared/Logging/AppenderFile.cpp b/src/server/shared/Logging/AppenderFile.cpp
index f2532ad8bb8..3e79ac40c6f 100644
--- a/src/server/shared/Logging/AppenderFile.cpp
+++ b/src/server/shared/Logging/AppenderFile.cpp
@@ -45,7 +45,7 @@ AppenderFile::~AppenderFile()
void AppenderFile::_write(LogMessage const& message)
{
- bool exceedMaxSize = maxFileSize > 0 && (fileSize.value() + message.Size()) > maxFileSize;
+ bool exceedMaxSize = maxFileSize > 0 && (fileSize.load() + message.Size()) > maxFileSize;
if (dynamicName)
{
diff --git a/src/server/shared/Logging/AppenderFile.h b/src/server/shared/Logging/AppenderFile.h
index 1034b41f665..592742c2184 100644
--- a/src/server/shared/Logging/AppenderFile.h
+++ b/src/server/shared/Logging/AppenderFile.h
@@ -19,7 +19,7 @@
#define APPENDERFILE_H
#include "Appender.h"
-#include "ace/Atomic_Op.h"
+#include <atomic>
class AppenderFile: public Appender
{
@@ -38,7 +38,7 @@ class AppenderFile: public Appender
bool dynamicName;
bool backup;
uint64 maxFileSize;
- ACE_Atomic_Op<ACE_Thread_Mutex, uint64> fileSize;
+ std::atomic<uint64> fileSize;
};
#endif