diff options
author | Benoit Foucher <benoit@zeroc.com> | 2005-08-19 14:35:34 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2005-08-19 14:35:34 +0000 |
commit | 03fb156e997f64dd80d695d34c4eaeefc4ca0956 (patch) | |
tree | cb63867223b81f0fd8db37c22e8c5de450a32ae3 /cpp/src/IceGrid/DescriptorParser.cpp | |
parent | bug fix (diff) | |
download | ice-03fb156e997f64dd80d695d34c4eaeefc4ca0956.tar.bz2 ice-03fb156e997f64dd80d695d34c4eaeefc4ca0956.tar.xz ice-03fb156e997f64dd80d695d34c4eaeefc4ca0956.zip |
Added initial IcePatch2 support in IceGrid.
Diffstat (limited to 'cpp/src/IceGrid/DescriptorParser.cpp')
-rw-r--r-- | cpp/src/IceGrid/DescriptorParser.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/cpp/src/IceGrid/DescriptorParser.cpp b/cpp/src/IceGrid/DescriptorParser.cpp index e1f27c1df2b..cb6925fe067 100644 --- a/cpp/src/IceGrid/DescriptorParser.cpp +++ b/cpp/src/IceGrid/DescriptorParser.cpp @@ -68,6 +68,7 @@ private: bool _isTopLevel; bool _inAdapter; bool _inDbEnv; + bool _inPatch; }; } @@ -324,6 +325,15 @@ DescriptorHandler::startElement(const string& name, const IceXML::Attributes& at _currentCommunicator->addObject(attributes); } } + else if(name == "patch") + { + if(!_currentServer.get() || _currentServer.get() != _currentCommunicator) + { + error("the <patch> element can only be a child of a <server> or <icebox> element"); + } + _currentServer->addPatch(attrs); + _inPatch = true; + } else if(name == "dbenv") { if(!_currentCommunicator) @@ -449,6 +459,14 @@ DescriptorHandler::endElement(const string& name, int line, int column) } _currentServer->addEnv(elementValue()); } + else if(name == "directory") + { + if(!_inPatch) + { + error("the <directory> element can only be a child of a <patch> element"); + } + _currentServer->addPatchDirectory(elementValue()); + } else if(name == "adapter") { _inAdapter = false; @@ -461,6 +479,10 @@ DescriptorHandler::endElement(const string& name, int line, int column) { _inDbEnv = false; } + else if(name == "patch") + { + _inPatch = false; + } _elements.pop(); } |