summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--rb/CHANGES4
-rw-r--r--rb/src/IceRuby/Proxy.cpp57
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);