summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--orkaudio/OrkAudio.cpp4
-rw-r--r--orkbasecxx/ConfigManager.cpp8
-rw-r--r--orkbasecxx/ConfigManager.h2
3 files changed, 9 insertions, 5 deletions
diff --git a/orkaudio/OrkAudio.cpp b/orkaudio/OrkAudio.cpp
index 7ae6b18..bb02ea9 100644
--- a/orkaudio/OrkAudio.cpp
+++ b/orkaudio/OrkAudio.cpp
@@ -181,6 +181,8 @@ void MainThread()
OrkLogManager::Instance()->Initialize();
LOG4CXX_INFO(LOG.rootLog, CStdString("\n\nOrkAudio service starting\n"));
+ ConfigManager::Instance()->Initialize();
+
// Initialize object factory and register existing objects
ObjectFactory::GetSingleton()->Initialize();
@@ -206,8 +208,6 @@ void MainThread()
//objRef.reset(new TestMsg);
//ObjectFactory::GetSingleton()->RegisterObject(objRef);
- ConfigManager::Instance()->Initialize();
-
bool capturePluginOk = false;
if(CapturePluginProxy::Singleton()->Initialize())
{
diff --git a/orkbasecxx/ConfigManager.cpp b/orkbasecxx/ConfigManager.cpp
index adba47d..85ad41e 100644
--- a/orkbasecxx/ConfigManager.cpp
+++ b/orkbasecxx/ConfigManager.cpp
@@ -30,11 +30,15 @@
# define snprintf _snprintf
#endif
-ConfigManager ConfigManager::m_singleton;
+ConfigManager* ConfigManager::m_singleton = NULL;
ConfigManager* ConfigManager::Instance()
{
- return &m_singleton;
+ if(m_singleton == NULL)
+ {
+ m_singleton = new ConfigManager();
+ }
+ return m_singleton;
}
void ConfigManager::Initialize()
diff --git a/orkbasecxx/ConfigManager.h b/orkbasecxx/ConfigManager.h
index a899b05..8d478f7 100644
--- a/orkbasecxx/ConfigManager.h
+++ b/orkbasecxx/ConfigManager.h
@@ -31,7 +31,7 @@ public:
Config m_config;
private:
- static ConfigManager m_singleton;
+ static ConfigManager* m_singleton;
std::list<ConfigureFunction> m_configureFunctions;
DOMNode* m_configTopNode;
XercesDOMParser *m_parser;