summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Proxy.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/src/Ice/Proxy.cpp')
-rw-r--r--cpp/src/Ice/Proxy.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/cpp/src/Ice/Proxy.cpp b/cpp/src/Ice/Proxy.cpp
index e818d04df6a..3b3ae6acaa5 100644
--- a/cpp/src/Ice/Proxy.cpp
+++ b/cpp/src/Ice/Proxy.cpp
@@ -151,6 +151,27 @@ IceProxy::Ice::Object::operator<(const Object& r) const
return _reference->identity < r._reference->identity;
}
+std::string
+IceProxy::Ice::Object::_getIdentity() const
+{
+ return _reference->identity;
+}
+
+::Ice::ObjectPrx
+IceProxy::Ice::Object::_newIdentity(const std::string& newIdentity) const
+{
+ if (newIdentity == _reference->identity)
+ {
+ return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this));
+ }
+ else
+ {
+ ObjectPrx proxy(new ::IceProxy::Ice::Object());
+ proxy->setup(_reference->changeIdentity(newIdentity));
+ return proxy;
+ }
+}
+
ObjectPrx
IceProxy::Ice::Object::_twoway() const
{