# HG changeset patch # User Mikael Hallendal # Date 1207835001 -7200 # Node ID 56e6d95df49e43a36fd662c341ddedb67a3f3f97 # Parent bc14607827e8a8c09d6feddbf95a0fddef779b35 Added password and password= to LmProxy ruby bindings diff -r bc14607827e8 -r 56e6d95df49e bindings/ruby/rblm-proxy.c --- a/bindings/ruby/rblm-proxy.c Thu Apr 10 15:40:20 2008 +0200 +++ b/bindings/ruby/rblm-proxy.c Thu Apr 10 15:43:21 2008 +0200 @@ -149,6 +149,33 @@ return Qnil; } +VALUE +proxy_get_password (VALUE self) +{ + LmProxy *proxy = rb_lm_proxy_from_ruby_object (self); + + if (lm_proxy_get_password (proxy)) { + return rb_str_new2 (lm_proxy_get_password (proxy)); + } + + return Qnil; +} + +VALUE +proxy_set_password (VALUE self, VALUE password) +{ + LmProxy *proxy = rb_lm_proxy_from_ruby_object (self); + VALUE str_val; + + if (!rb_respond_to (password, rb_intern ("to_s"))) { + rb_raise (rb_eArgError, "password should respond to to_s"); + } + + str_val = rb_funcall (password, rb_intern ("to_s"), 0); + lm_proxy_set_password (proxy, StringValuePtr (str_val)); + + return Qnil; +} extern void Init_lm_proxy (VALUE lm_mLM) @@ -166,5 +193,7 @@ rb_define_method (lm_cProxy, "port=", proxy_set_port, 1); rb_define_method (lm_cProxy, "username", proxy_get_username, 0); rb_define_method (lm_cProxy, "username=", proxy_set_username, 1); + rb_define_method (lm_cProxy, "password", proxy_get_password, 0); + rb_define_method (lm_cProxy, "password=", proxy_set_password, 1); }