diff options
author | Henri Herscher <henri@oreka.org> | 2006-08-01 15:02:20 +0000 |
---|---|---|
committer | Henri Herscher <henri@oreka.org> | 2006-08-01 15:02:20 +0000 |
commit | b6a437bf54870d9cbb5151b5cc5ae27106aa5dda (patch) | |
tree | 19b5a24b3f7c13f0f905a4df823c757ad6548300 /orkbasecxx/ConfigManager.cpp | |
parent | 3ce7841e81e44a21c0aaad0881c104699f871c3f (diff) |
Applying changeset 306 from 0.5 to trunk:
A reference to the Xerces parser is now held by ConfigManager so that we don't forget to free it if we ever want to reload the config file dynamically.
git-svn-id: https://oreka.svn.sourceforge.net/svnroot/oreka/trunk@325 09dcff7a-b715-0410-9601-b79a96267cd0
Diffstat (limited to 'orkbasecxx/ConfigManager.cpp')
-rw-r--r-- | orkbasecxx/ConfigManager.cpp | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/orkbasecxx/ConfigManager.cpp b/orkbasecxx/ConfigManager.cpp index e92312e..50bc39f 100644 --- a/orkbasecxx/ConfigManager.cpp +++ b/orkbasecxx/ConfigManager.cpp @@ -53,10 +53,19 @@ void ConfigManager::Initialize() } XMLPlatformUtils::Initialize(); - XercesDOMParser *parser = new XercesDOMParser; - parser->parse(cfgFilename); + + // By default, the DOM document generated by the parser will be free() by the parser. + // If we ever need to free the parser and the document separately, we need to do this: + // DOMNode *doc = parser->getDocument(); + // ... + // parser->adoptDocument(); + // doc->release(); + // ... + // delete parser; + XercesDOMParser *m_parser = new XercesDOMParser; + m_parser->parse(cfgFilename); DOMNode *doc = NULL; - doc = parser->getDocument(); + doc = m_parser->getDocument(); if (doc) { |