summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/CommunicatorI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/CommunicatorI.cpp')
-rw-r--r--cpp/src/Ice/CommunicatorI.cpp26
1 files changed, 24 insertions, 2 deletions
diff --git a/cpp/src/Ice/CommunicatorI.cpp b/cpp/src/Ice/CommunicatorI.cpp
index eea0778af89..9ba6b1f2702 100644
--- a/cpp/src/Ice/CommunicatorI.cpp
+++ b/cpp/src/Ice/CommunicatorI.cpp
@@ -102,14 +102,36 @@ Ice::CommunicatorI::createObjectAdapterWithEndpoints(const string& name, const s
}
void
-Ice::CommunicatorI::installServantFactory(const ServantFactoryPtr& factory, const string& id)
+Ice::CommunicatorI::addServantFactory(const ServantFactoryPtr& factory, const string& id)
{
JTCSyncT<JTCRecursiveMutex> sync(*this);
if (!_instance)
{
throw CommunicatorDestroyedException(__FILE__, __LINE__);
}
- _instance->servantFactoryManager()->install(factory, id);
+ _instance->servantFactoryManager()->add(factory, id);
+}
+
+void
+Ice::CommunicatorI::removeServantFactory(const string& id)
+{
+ JTCSyncT<JTCRecursiveMutex> sync(*this);
+ if (!_instance)
+ {
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
+ }
+ _instance->servantFactoryManager()->remove(id);
+}
+
+ServantFactoryPtr
+Ice::CommunicatorI::findServantFactory(const string& id)
+{
+ JTCSyncT<JTCRecursiveMutex> sync(*this);
+ if (!_instance)
+ {
+ throw CommunicatorDestroyedException(__FILE__, __LINE__);
+ }
+ return _instance->servantFactoryManager()->find(id);
}
PropertiesPtr