summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/ProxyFactory.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2008-01-21 13:20:59 +0100
committerBenoit Foucher <benoit@zeroc.com>2008-01-21 13:20:59 +0100
commit52bd621c7d3fa7b144d8fad7941ac8d43e942be8 (patch)
treebdd7565282d503251d82205ce7fe3e57102a96d2 /cpp/src/Ice/ProxyFactory.cpp
parentasync I/O in C# (diff)
downloadice-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.cpp9
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")
{