aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorNaios <naios-dev@live.de>2016-03-11 15:50:17 +0100
committerNaios <naios-dev@live.de>2016-03-11 18:22:39 +0100
commit5c91586797f199259567629a1d4d3f987c73e53c (patch)
tree0b6a484caf9dfa75d88d14aeb78e9d82da8c87d0 /src
parentf123c396591ffb50fa7e02365235740df618f579 (diff)
Core/Common: Move singleton instances into compilation units
* Fixes issues when building shared libraries (prevents gcc and clang from providing several instance)
Diffstat (limited to 'src')
-rw-r--r--src/common/Collision/Models/GameObjectModel.h2
-rw-r--r--src/common/Configuration/Config.cpp6
-rw-r--r--src/common/Configuration/Config.h6
-rw-r--r--src/common/Logging/Log.cpp6
-rw-r--r--src/common/Logging/Log.h6
-rw-r--r--src/server/game/World/World.cpp3
6 files changed, 17 insertions, 12 deletions
diff --git a/src/common/Collision/Models/GameObjectModel.h b/src/common/Collision/Models/GameObjectModel.h
index 9d8687233c1..7834f53c63a 100644
--- a/src/common/Collision/Models/GameObjectModel.h
+++ b/src/common/Collision/Models/GameObjectModel.h
@@ -84,4 +84,6 @@ private:
std::unique_ptr<GameObjectModelOwnerBase> owner;
};
+void LoadGameObjectModelList(std::string const& dataPath);
+
#endif // _GAMEOBJECT_MODEL_H
diff --git a/src/common/Configuration/Config.cpp b/src/common/Configuration/Config.cpp
index 196c128532e..bc21bb47b48 100644
--- a/src/common/Configuration/Config.cpp
+++ b/src/common/Configuration/Config.cpp
@@ -57,6 +57,12 @@ bool ConfigMgr::LoadInitial(std::string const& file, std::string& error)
return true;
}
+ConfigMgr* ConfigMgr::instance()
+{
+ static ConfigMgr instance;
+ return &instance;
+}
+
bool ConfigMgr::Reload(std::string& error)
{
return LoadInitial(_filename, error);
diff --git a/src/common/Configuration/Config.h b/src/common/Configuration/Config.h
index 77150e9b436..c1c50e8f1e8 100644
--- a/src/common/Configuration/Config.h
+++ b/src/common/Configuration/Config.h
@@ -33,11 +33,7 @@ public:
/// Method used only for loading main configuration files
bool LoadInitial(std::string const& file, std::string& error);
- static ConfigMgr* instance()
- {
- static ConfigMgr instance;
- return &instance;
- }
+ static ConfigMgr* instance();
bool Reload(std::string& error);
diff --git a/src/common/Logging/Log.cpp b/src/common/Logging/Log.cpp
index dff0351d52d..b350a41b482 100644
--- a/src/common/Logging/Log.cpp
+++ b/src/common/Logging/Log.cpp
@@ -321,6 +321,12 @@ void Log::Close()
appenders.clear();
}
+Log* Log::instance()
+{
+ static Log instance;
+ return &instance;
+}
+
void Log::Initialize(boost::asio::io_service* ioService)
{
if (ioService)
diff --git a/src/common/Logging/Log.h b/src/common/Logging/Log.h
index eafd7412a94..062f14d525c 100644
--- a/src/common/Logging/Log.h
+++ b/src/common/Logging/Log.h
@@ -44,11 +44,7 @@ class Log
public:
- static Log* instance()
- {
- static Log instance;
- return &instance;
- }
+ static Log* instance();
void Initialize(boost::asio::io_service* ioService);
void SetSynchronous(); // Not threadsafe - should only be called from main() after all threads are joined
diff --git a/src/server/game/World/World.cpp b/src/server/game/World/World.cpp
index d2ccb025165..f2668cb874a 100644
--- a/src/server/game/World/World.cpp
+++ b/src/server/game/World/World.cpp
@@ -43,6 +43,7 @@
#include "GridNotifiersImpl.h"
#include "GroupMgr.h"
#include "GuildFinderMgr.h"
+#include "GameObjectModel.h"
#include "InstanceSaveMgr.h"
#include "Language.h"
#include "LFGMgr.h"
@@ -1409,8 +1410,6 @@ void World::LoadConfigSettings(bool reload)
sScriptMgr->OnConfigLoad(reload);
}
-extern void LoadGameObjectModelList(std::string const& dataPath);
-
/// Initialize the World
void World::SetInitialWorldSettings()
{