summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/ObjectAdapterI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/ObjectAdapterI.cpp')
-rw-r--r--cpp/src/Ice/ObjectAdapterI.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/cpp/src/Ice/ObjectAdapterI.cpp b/cpp/src/Ice/ObjectAdapterI.cpp
index daae55cc367..9ce57cf1142 100644
--- a/cpp/src/Ice/ObjectAdapterI.cpp
+++ b/cpp/src/Ice/ObjectAdapterI.cpp
@@ -754,9 +754,8 @@ Ice::ObjectAdapterI::ObjectAdapterI(const InstancePtr& instance, const Communica
}
PropertiesPtr properties = instance->initializationData().properties;
- StringSeq props;
StringSeq unknownProps;
- filterProperties(props, unknownProps);
+ bool noProps = filterProperties(unknownProps);
//
// Warn about unknown object adapter properties.
@@ -774,7 +773,7 @@ Ice::ObjectAdapterI::ObjectAdapterI(const InstancePtr& instance, const Communica
//
// Make sure named adapter has some configuration
//
- if(endpointInfo.empty() && router == 0 && props.size() == 0)
+ if(endpointInfo.empty() && router == 0 && noProps)
{
InitializationException ex(__FILE__, __LINE__);
ex.reason = "object adapter \"" + _name + "\" requires configuration.";
@@ -1188,8 +1187,8 @@ ObjectAdapterI::updateLocatorRegistry(const IceInternal::LocatorInfoPtr& locator
}
}
-void
-Ice::ObjectAdapterI::filterProperties(StringSeq& oaProps, StringSeq& unknownProps)
+bool
+Ice::ObjectAdapterI::filterProperties(StringSeq& unknownProps)
{
static const string suffixes[] =
{
@@ -1223,6 +1222,7 @@ Ice::ObjectAdapterI::filterProperties(StringSeq& oaProps, StringSeq& unknownProp
}
}
+ bool noProps = true;
PropertyDict props = _instance->initializationData().properties->getPropertiesForPrefix(prefix);
PropertyDict::const_iterator p;
for(p = props.begin(); p != props.end(); ++p)
@@ -1233,7 +1233,7 @@ Ice::ObjectAdapterI::filterProperties(StringSeq& oaProps, StringSeq& unknownProp
string prop = prefix + suffixes[i];
if(p->first == prop)
{
- oaProps.push_back(p->first);
+ noProps = false;
valid = true;
break;
}
@@ -1244,6 +1244,8 @@ Ice::ObjectAdapterI::filterProperties(StringSeq& oaProps, StringSeq& unknownProp
unknownProps.push_back(p->first);
}
}
+
+ return noProps;
}
Ice::ObjectAdapterI::ProcessI::ProcessI(const CommunicatorPtr& communicator) :