Author: tross
Date: Fri Nov 13 14:47:10 2009
New Revision: 835863

URL: http://svn.apache.org/viewvc?rev=835863&view=rev
Log:
Added ruby binding for SaslWrapper.

Added:
    qpid/trunk/qpid/extras/sasl/ruby/Makefile.am
    qpid/trunk/qpid/extras/sasl/ruby/ruby.i
Modified:
    qpid/trunk/qpid/extras/sasl/Makefile.am
    qpid/trunk/qpid/extras/sasl/configure.ac
    qpid/trunk/qpid/extras/sasl/include/saslwrapper.h

Modified: qpid/trunk/qpid/extras/sasl/Makefile.am
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/extras/sasl/Makefile.am?rev=835863&r1=835862&r2=835863&view=diff
==============================================================================
--- qpid/trunk/qpid/extras/sasl/Makefile.am (original)
+++ qpid/trunk/qpid/extras/sasl/Makefile.am Fri Nov 13 14:47:10 2009
@@ -23,7 +23,7 @@
 ACLOCAL_AMFLAGS = -I m4
 
 EXTRA_DIST = LICENSE
-SUBDIRS = src python
+SUBDIRS = src python ruby
 
 # Update libtool, if needed.
 libtool: $(LIBTOOL_DEPS)

Modified: qpid/trunk/qpid/extras/sasl/configure.ac
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/extras/sasl/configure.ac?rev=835863&r1=835862&r2=835863&view=diff
==============================================================================
--- qpid/trunk/qpid/extras/sasl/configure.ac (original)
+++ qpid/trunk/qpid/extras/sasl/configure.ac Fri Nov 13 14:47:10 2009
@@ -312,6 +312,7 @@
   Makefile
   src/Makefile
   python/Makefile
+  ruby/Makefile
   ])
 AC_OUTPUT
 

Modified: qpid/trunk/qpid/extras/sasl/include/saslwrapper.h
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/extras/sasl/include/saslwrapper.h?rev=835863&r1=835862&r2=835863&view=diff
==============================================================================
--- qpid/trunk/qpid/extras/sasl/include/saslwrapper.h (original)
+++ qpid/trunk/qpid/extras/sasl/include/saslwrapper.h Fri Nov 13 14:47:10 2009
@@ -1,6 +1,3 @@
-#ifndef _BINDINGS_SASLWRAPPER_H_
-#define _BINDINGS_SASLWRAPPER_H_ 1
-
 /*
  * Licensed to the Apache Software Foundation (ASF) under one
  * or more contributor license agreements.  See the NOTICE file
@@ -147,5 +144,3 @@
     };
 
 }
-
-#endif

Added: qpid/trunk/qpid/extras/sasl/ruby/Makefile.am
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/extras/sasl/ruby/Makefile.am?rev=835863&view=auto
==============================================================================
--- qpid/trunk/qpid/extras/sasl/ruby/Makefile.am (added)
+++ qpid/trunk/qpid/extras/sasl/ruby/Makefile.am Fri Nov 13 14:47:10 2009
@@ -0,0 +1,43 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+if HAVE_SWIG
+if HAVE_RUBY_DEVEL
+
+EXTRA_DIST = ruby.i
+INCLUDES = -I$(top_srcdir)/include
+
+generated_file_list = saslwrapper.cpp
+BUILT_SOURCES = $(generated_file_list)
+
+$(generated_file_list): ruby.i $(top_srcdir)/src/saslwrapper.i
+       $(SWIG) -c++ -ruby -Wall -I/usr/include $(INCLUDES) -o saslwrapper.cpp 
$(srcdir)/ruby.i
+
+rubylibdir = $(RUBY_LIB)
+lib_LTLIBRARIES = saslwrapper.la
+
+saslwrapper_la_LDFLAGS = -avoid-version -module -shared ".$(RUBY_DLEXT)"
+saslwrapper_la_LIBADD = $(RUBY_LIBS) $(top_builddir)/src/libsaslwrapper.la 
-lsasl2
+saslwrapper_la_CXXFLAGS = $(INCLUDES) -I$(RUBY_INC) -I$(RUBY_INC_ARCH)
+nodist_saslwrapper_la_SOURCES = saslwrapper.cpp
+
+CLEANFILES = $(generated_file_list)
+
+endif
+endif

Added: qpid/trunk/qpid/extras/sasl/ruby/ruby.i
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/extras/sasl/ruby/ruby.i?rev=835863&view=auto
==============================================================================
--- qpid/trunk/qpid/extras/sasl/ruby/ruby.i (added)
+++ qpid/trunk/qpid/extras/sasl/ruby/ruby.i Fri Nov 13 14:47:10 2009
@@ -0,0 +1,124 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+%module saslwrapper
+%include "typemaps.i"
+%include "stl.i"
+
+%{
+#include "saslwrapper.h"
+%}
+
+%typemap (in) void *
+{
+    $1 = (void *) $input;
+}
+
+%typemap (out) void *
+{
+    $result = (VALUE) $1;
+}
+
+%typemap (in) uint16_t
+{
+    $1 = NUM2UINT($input);
+}
+
+%typemap (out) uint16_t
+{
+    $result = UINT2NUM((uint16_t) $1);
+}
+
+%typemap (in) uint32_t
+{
+    if (TYPE($input) == T_BIGNUM)
+        $1 = NUM2UINT($input);
+    else
+        $1 = FIX2UINT($input);
+}
+
+%typemap (out) uint32_t
+{
+    $result = UINT2NUM((uint32_t) $1);
+}
+
+%typemap (in) int32_t
+{
+    if (TYPE($input) == T_BIGNUM)
+        $1 = NUM2INT($input);
+    else
+        $1 = FIX2INT($input);
+}
+
+%typemap (out) int32_t
+{
+    $result = INT2NUM((int32_t) $1);
+}
+
+%typemap (typecheck, precedence=SWIG_TYPECHECK_INTEGER) uint32_t {
+   $1 = FIXNUM_P($input);
+}
+
+%typemap (in) uint64_t
+{
+    if (TYPE($input) == T_BIGNUM)
+        $1 = NUM2ULL($input);
+    else
+        $1 = (uint64_t) FIX2LONG($input);
+}
+
+%typemap (out) uint64_t
+{
+    $result = ULL2NUM((uint64_t) $1);
+}
+
+%typemap (in) int64_t
+{
+    if (TYPE($input) == T_BIGNUM)
+        $1 = NUM2LL($input);
+    else
+        $1 = (int64_t) FIX2LONG($input);
+}
+
+%typemap (out) int64_t
+{
+    $result = LL2NUM((int64_t) $1);
+}
+
+%typemap (typecheck, precedence=SWIG_TYPECHECK_INTEGER) uint64_t {
+   $1 = FIXNUM_P($input);
+}
+
+namespace saslwrapper {
+    class Client {
+    public:
+
+        Client();
+        ~Client();
+        bool setAttr(const std::string& INPUT, const std::string& INPUT);
+        bool setAttr(const std::string& INPUT, uint32_t INPUT);
+        bool init();
+        bool start(const std::string& INPUT, std::string& OUTPUT, std::string& 
OUTPUT);
+        bool step(const std::string& INPUT, std::string& OUTPUT);
+        bool encode(const std::string& INPUT, std::string& OUTPUT);
+        bool decode(const std::string& INPUT, std::string& OUTPUT);
+        bool getUserId(std::string& OUTPUT);
+        void getError(std::string& OUTPUT);
+    };
+}



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to