diff options
Diffstat (limited to 'cpp/src/Ice/Proxy.cpp')
-rw-r--r-- | cpp/src/Ice/Proxy.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/cpp/src/Ice/Proxy.cpp b/cpp/src/Ice/Proxy.cpp index 4f983eb98be..eb20297fb6a 100644 --- a/cpp/src/Ice/Proxy.cpp +++ b/cpp/src/Ice/Proxy.cpp @@ -800,6 +800,28 @@ IceProxy::Ice::Object::ice_connectionId(const string& id) const } } +bool +IceProxy::Ice::Object::ice_isThreadPerConnection() const +{ + return _reference->getThreadPerConnection(); +} + +ObjectPrx +IceProxy::Ice::Object::ice_threadPerConnection(bool b) const +{ + ReferencePtr ref = _reference->changeThreadPerConnection(b); + if(ref == _reference) + { + return ObjectPrx(const_cast< ::IceProxy::Ice::Object*>(this)); + } + else + { + ObjectPrx proxy(new ::IceProxy::Ice::Object()); + proxy->setup(ref); + return proxy; + } +} + ConnectionPtr IceProxy::Ice::Object::ice_connection() { |