diff options
-rw-r--r-- | rb/CHANGES | 4 | ||||
-rw-r--r-- | rb/src/IceRuby/Proxy.cpp | 57 |
2 files changed, 61 insertions, 0 deletions
diff --git a/rb/CHANGES b/rb/CHANGES index fb97e1ac83c..cf30d6a9daa 100644 --- a/rb/CHANGES +++ b/rb/CHANGES @@ -1,6 +1,10 @@ Changes since version 3.1.1 --------------------------- +- Proxies can now be configured to use thread-per-connection. + +- Added proxy methods ice_isPreferSecure and ice_preferSecure. + - Plug-in is now compatible with ruby 1.8.1. - Added support for a user callback when SIGINT like signals are diff --git a/rb/src/IceRuby/Proxy.cpp b/rb/src/IceRuby/Proxy.cpp index 948458e3acf..51bc3dc9491 100644 --- a/rb/src/IceRuby/Proxy.cpp +++ b/rb/src/IceRuby/Proxy.cpp @@ -674,6 +674,32 @@ IceRuby_ObjectPrx_ice_secure(VALUE self, VALUE b) extern "C" VALUE +IceRuby_ObjectPrx_ice_isPreferSecure(VALUE self) +{ + ICE_RUBY_TRY + { + Ice::ObjectPrx p = getProxy(self); + return p->ice_isPreferSecure() ? Qtrue : Qfalse; + } + ICE_RUBY_CATCH + return Qnil; +} + +extern "C" +VALUE +IceRuby_ObjectPrx_ice_preferSecure(VALUE self, VALUE b) +{ + ICE_RUBY_TRY + { + Ice::ObjectPrx p = getProxy(self); + return createProxy(p->ice_preferSecure(RTEST(b))); + } + ICE_RUBY_CATCH + return Qnil; +} + +extern "C" +VALUE IceRuby_ObjectPrx_ice_getRouter(VALUE self) { ICE_RUBY_TRY @@ -931,6 +957,32 @@ IceRuby_ObjectPrx_ice_connectionId(VALUE self, VALUE id) extern "C" VALUE +IceRuby_ObjectPrx_ice_isThreadPerConnection(VALUE self) +{ + ICE_RUBY_TRY + { + Ice::ObjectPrx p = getProxy(self); + return p->ice_isThreadPerConnection() ? Qtrue : Qfalse; + } + ICE_RUBY_CATCH + return Qnil; +} + +extern "C" +VALUE +IceRuby_ObjectPrx_ice_threadPerConnection(VALUE self, VALUE b) +{ + ICE_RUBY_TRY + { + Ice::ObjectPrx p = getProxy(self); + return createProxy(p->ice_threadPerConnection(RTEST(b))); + } + ICE_RUBY_CATCH + return Qnil; +} + +extern "C" +VALUE IceRuby_ObjectPrx_ice_getConnection(VALUE self) { ICE_RUBY_TRY @@ -1336,6 +1388,8 @@ IceRuby::initProxy(VALUE iceModule) rb_define_method(_proxyClass, "ice_endpointSelection", CAST_METHOD(IceRuby_ObjectPrx_ice_endpointSelection), 1); rb_define_method(_proxyClass, "ice_isSecure", CAST_METHOD(IceRuby_ObjectPrx_ice_isSecure), 0); rb_define_method(_proxyClass, "ice_secure", CAST_METHOD(IceRuby_ObjectPrx_ice_secure), 1); + rb_define_method(_proxyClass, "ice_isPreferSecure", CAST_METHOD(IceRuby_ObjectPrx_ice_isPreferSecure), 0); + rb_define_method(_proxyClass, "ice_preferSecure", CAST_METHOD(IceRuby_ObjectPrx_ice_preferSecure), 1); rb_define_method(_proxyClass, "ice_getRouter", CAST_METHOD(IceRuby_ObjectPrx_ice_getRouter), 0); rb_define_method(_proxyClass, "ice_router", CAST_METHOD(IceRuby_ObjectPrx_ice_router), 1); rb_define_method(_proxyClass, "ice_getLocator", CAST_METHOD(IceRuby_ObjectPrx_ice_getLocator), 0); @@ -1353,6 +1407,9 @@ IceRuby::initProxy(VALUE iceModule) rb_define_method(_proxyClass, "ice_compress", CAST_METHOD(IceRuby_ObjectPrx_ice_compress), 1); rb_define_method(_proxyClass, "ice_timeout", CAST_METHOD(IceRuby_ObjectPrx_ice_timeout), 1); rb_define_method(_proxyClass, "ice_connectionId", CAST_METHOD(IceRuby_ObjectPrx_ice_connectionId), 1); + rb_define_method(_proxyClass, "ice_isThreadPerConnection", + CAST_METHOD(IceRuby_ObjectPrx_ice_isThreadPerConnection), 0); + rb_define_method(_proxyClass, "ice_threadPerConnection", CAST_METHOD(IceRuby_ObjectPrx_ice_threadPerConnection), 1); rb_define_method(_proxyClass, "ice_getConnection", CAST_METHOD(IceRuby_ObjectPrx_ice_getConnection), 0); rb_define_method(_proxyClass, "ice_getCachedConnection", CAST_METHOD(IceRuby_ObjectPrx_ice_getCachedConnection), 0); |