diff options
author | Marc Laukien <marc@zeroc.com> | 2001-10-01 02:28:14 +0000 |
---|---|---|
committer | Marc Laukien <marc@zeroc.com> | 2001-10-01 02:28:14 +0000 |
commit | af6ee090545af2480f22c91d84bb4f8aba43d052 (patch) | |
tree | c9f8af9f44a14df699f9999b4933cd556f8bc951 /cpp/src/Ice/CommunicatorI.cpp | |
parent | some doc fixes (diff) | |
download | ice-af6ee090545af2480f22c91d84bb4f8aba43d052.tar.bz2 ice-af6ee090545af2480f22c91d84bb4f8aba43d052.tar.xz ice-af6ee090545af2480f22c91d84bb4f8aba43d052.zip |
servant factory/locator management changes
Diffstat (limited to 'cpp/src/Ice/CommunicatorI.cpp')
-rw-r--r-- | cpp/src/Ice/CommunicatorI.cpp | 26 |
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 |