summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--orkaudio/ConfigManager.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/orkaudio/ConfigManager.cpp b/orkaudio/ConfigManager.cpp
index df38818..9157539 100644
--- a/orkaudio/ConfigManager.cpp
+++ b/orkaudio/ConfigManager.cpp
@@ -23,6 +23,7 @@
#include "LogManager.h"
#define CONFIG_FILE_NAME "config.xml"
+#define ETC_CONFIG_FILE_NAME "/etc/oreka/config.xml"
void ConfigManager::Initialize()
@@ -32,9 +33,23 @@ void ConfigManager::Initialize()
try
{
+ char* cfgFilename = "";
+ FILE* file = ACE_OS::fopen(CONFIG_FILE_NAME, "r");
+ if(file)
+ {
+ // config.xml exists in the current directory
+ cfgFilename = CONFIG_FILE_NAME;
+ fclose(file);
+ }
+ else
+ {
+ // config.xml could not be found in the current directory, try to find it in /etc/oreka
+ cfgFilename = ETC_CONFIG_FILE_NAME;
+ }
+
XMLPlatformUtils::Initialize();
XercesDOMParser *parser = new XercesDOMParser;
- parser->parse(CONFIG_FILE_NAME);
+ parser->parse(cfgFilename);
DOMNode *doc = NULL;
doc = parser->getDocument();