diff options
Diffstat (limited to 'cpp/src/IceGrid/DescriptorBuilder.cpp')
-rw-r--r-- | cpp/src/IceGrid/DescriptorBuilder.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/cpp/src/IceGrid/DescriptorBuilder.cpp b/cpp/src/IceGrid/DescriptorBuilder.cpp index fd553c62d9e..bcda09a60ba 100644 --- a/cpp/src/IceGrid/DescriptorBuilder.cpp +++ b/cpp/src/IceGrid/DescriptorBuilder.cpp @@ -322,6 +322,10 @@ ApplicationDescriptorBuilder::addObject(const XmlAttributesHelper& attrs) ObjectDescriptor object; object.type = attrs("type", ""); object.id = _communicator->stringToIdentity(attrs("identity")); + if(attrs.contains("property")) + { + object.property = attrs("property"); + } _descriptor.replicaGroups.back().objects.push_back(object); } @@ -692,6 +696,10 @@ CommunicatorDescriptorBuilder::addObject(const XmlAttributesHelper& attrs) ObjectDescriptor object; object.type = attrs("type", ""); object.id = _communicator->stringToIdentity(attrs("identity")); + if(attrs.contains("property")) + { + object.property = attrs("property"); + } _descriptor->adapters.back().objects.push_back(object); } @@ -757,6 +765,18 @@ CommunicatorDescriptorBuilder::setDbEnvDescription(const string& value) } void +CommunicatorDescriptorBuilder::addLog(const XmlAttributesHelper& attrs) +{ + LogDescriptor desc; + desc.path = attrs("path"); + if(attrs.contains("property")) + { + desc.property = attrs("property"); + } + _descriptor->logs.push_back(desc); +} + +void CommunicatorDescriptorBuilder::addProperty(PropertyDescriptorSeq& properties, const string& name, const string& value) { PropertyDescriptor prop; @@ -928,6 +948,12 @@ IceBoxDescriptorBuilder::addDbEnv(const XmlAttributesHelper& attrs) } void +IceBoxDescriptorBuilder::addLog(const XmlAttributesHelper& attrs) +{ + throw "<log> element can't be a child of an <icebox> element"; +} + +void IceBoxDescriptorBuilder::addServiceInstance(const ServiceInstanceDescriptor& desc) { _descriptor->services.push_back(desc); |