diff options
author | Benoit Foucher <benoit@zeroc.com> | 2008-01-21 13:20:59 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2008-01-21 13:20:59 +0100 |
commit | 52bd621c7d3fa7b144d8fad7941ac8d43e942be8 (patch) | |
tree | bdd7565282d503251d82205ce7fe3e57102a96d2 /cpp/src/Ice/ProxyFactory.cpp | |
parent | async I/O in C# (diff) | |
download | ice-52bd621c7d3fa7b144d8fad7941ac8d43e942be8.tar.bz2 ice-52bd621c7d3fa7b144d8fad7941ac8d43e942be8.tar.xz ice-52bd621c7d3fa7b144d8fad7941ac8d43e942be8.zip |
- Removed OA createReverseProxy method.
- Fixed bug 2141, 2645, 2632, 1547.
- It's now possible to call ice_secure on a fixed proxy to require a secure connetion.
Diffstat (limited to 'cpp/src/Ice/ProxyFactory.cpp')
-rw-r--r-- | cpp/src/Ice/ProxyFactory.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/cpp/src/Ice/ProxyFactory.cpp b/cpp/src/Ice/ProxyFactory.cpp index 2e55df12ce1..11bd899fd20 100644 --- a/cpp/src/Ice/ProxyFactory.cpp +++ b/cpp/src/Ice/ProxyFactory.cpp @@ -29,7 +29,7 @@ IceUtil::Shared* IceInternal::upCast(ProxyFactory* p) { return p; } ObjectPrx IceInternal::ProxyFactory::stringToProxy(const string& str) const { - ReferencePtr ref = _instance->referenceFactory()->create(str); + ReferencePtr ref = _instance->referenceFactory()->create(str, ""); return referenceToProxy(ref); } @@ -49,7 +49,8 @@ IceInternal::ProxyFactory::proxyToString(const ObjectPrx& proxy) const ObjectPrx IceInternal::ProxyFactory::propertyToProxy(const string& prefix) const { - ReferencePtr ref = _instance->referenceFactory()->createFromProperties(prefix); + string proxy = _instance->initializationData().properties->getProperty(prefix); + ReferencePtr ref = _instance->referenceFactory()->create(proxy, prefix); return referenceToProxy(ref); } @@ -114,13 +115,13 @@ IceInternal::ProxyFactory::checkRetryAfterException(const LocalException& ex, co if(one) { LocatorInfoPtr li = ref->getLocatorInfo(); - if(li) + if(li && ref->isIndirect()) { // // We retry ObjectNotExistException if the reference is // indirect. // - li->clearObjectCache(IndirectReferencePtr::dynamicCast(ref)); + li->clearObjectCache(ref); } else if(ref->getRouterInfo() && one->operation == "ice_add_proxy") { |