Added jid and jid=
authorMikael Hallendal <micke@imendio.com>
Tue, 08 Apr 2008 22:12:02 +0200
changeset 358 41ce92df5b52
parent 357 7e9d8b2fe913
child 359 013a4b972322
Added jid and jid=
bindings/ruby/rlm-connection.c
--- a/bindings/ruby/rlm-connection.c	Tue Apr 08 22:10:18 2008 +0200
+++ b/bindings/ruby/rlm-connection.c	Tue Apr 08 22:12:02 2008 +0200
@@ -162,6 +162,31 @@
 	}
 }
 
+VALUE
+conn_get_jid (VALUE self)
+{
+	LmConnection *conn;
+
+	Data_Get_Struct (self, LmConnection, conn);
+
+	return rb_str_new2 (lm_connection_get_jid (conn));
+}
+
+VALUE
+conn_set_jid (VALUE self, VALUE jid)
+{
+	LmConnection *conn;
+
+	Data_Get_Struct (self, LmConnection, conn);
+
+	if (!rb_respond_to (jid, rb_intern ("to_s"))) {
+		rb_raise (rb_eArgError, "jid should respond to to_s");
+	} else {
+		VALUE str_val = rb_funcall (jid, rb_intern ("to_s"), 0);
+		lm_connection_set_jid (conn, StringValuePtr (str_val));
+	}
+}
+
 void
 Init_lm_connection (VALUE lm_mLM)
 {
@@ -182,4 +207,6 @@
 	rb_define_method (lm_mConnection, "authenticated?", conn_is_authenticated, 0);
 	rb_define_method (lm_mConnection, "server", conn_get_server, 0);
 	rb_define_method (lm_mConnection, "server=", conn_set_server, 1);
+	rb_define_method (lm_mConnection, "jid", conn_get_jid, 0);
+	rb_define_method (lm_mConnection, "jid=", conn_set_jid, 1);
 }