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.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/cpp/src/Ice/Proxy.cpp b/cpp/src/Ice/Proxy.cpp
index 64ed2612736..4ee1e1b0dad 100644
--- a/cpp/src/Ice/Proxy.cpp
+++ b/cpp/src/Ice/Proxy.cpp
@@ -21,6 +21,7 @@
#include <Ice/LocatorInfo.h>
#include <Ice/BasicStream.h>
#include <Ice/LocalException.h>
+#include <Ice/Connection.h> // For __connection->getTransportInfo();
using namespace std;
using namespace Ice;
@@ -562,6 +563,24 @@ IceProxy::Ice::Object::ice_default() const
}
}
+TransportInfoPtr
+IceProxy::Ice::Object::ice_getTransportInfo()
+{
+ int __cnt = 0;
+ while(true)
+ {
+ try
+ {
+ Handle< ::IceDelegate::Ice::Object> __del = __getDelegate();
+ return __del->ice_getTransportInfo();
+ }
+ catch(const LocalException& __ex)
+ {
+ __handleException(__ex, __cnt);
+ }
+ }
+}
+
ReferencePtr
IceProxy::Ice::Object::__reference() const
{
@@ -858,6 +877,12 @@ IceDelegateM::Ice::Object::ice_invoke(const string& operation,
return ok;
}
+TransportInfoPtr
+IceDelegateM::Ice::Object::ice_getTransportInfo()
+{
+ return __connection->getTransportInfo();
+}
+
void
IceDelegateM::Ice::Object::__copyFrom(const ::IceInternal::Handle< ::IceDelegateM::Ice::Object>& from)
{
@@ -956,6 +981,12 @@ IceDelegateD::Ice::Object::ice_invoke(const string&,
throw CollocationOptimizationException(__FILE__, __LINE__);
}
+TransportInfoPtr
+IceDelegateD::Ice::Object::ice_getTransportInfo()
+{
+ throw CollocationOptimizationException(__FILE__, __LINE__);
+}
+
void
IceDelegateD::Ice::Object::__copyFrom(const ::IceInternal::Handle< ::IceDelegateD::Ice::Object>& from)
{