You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by tr...@apache.org on 2010/08/04 15:24:11 UTC

svn commit: r982244 - in /qpid/trunk/qpid/cpp: Makefile.am bindings/qpid/qpid.i bindings/swig_python_typemaps.i bindings/swig_ruby_typemaps.i configure.ac

Author: tross
Date: Wed Aug  4 13:24:11 2010
New Revision: 982244

URL: http://svn.apache.org/viewvc?rev=982244&view=rev
Log:
Re-enabled the wrapping of the messaging API with fixes for earlier versions
of Swig, Python, and Ruby.

Modified:
    qpid/trunk/qpid/cpp/Makefile.am
    qpid/trunk/qpid/cpp/bindings/qpid/qpid.i
    qpid/trunk/qpid/cpp/bindings/swig_python_typemaps.i
    qpid/trunk/qpid/cpp/bindings/swig_ruby_typemaps.i
    qpid/trunk/qpid/cpp/configure.ac

Modified: qpid/trunk/qpid/cpp/Makefile.am
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/Makefile.am?rev=982244&r1=982243&r2=982244&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/Makefile.am (original)
+++ qpid/trunk/qpid/cpp/Makefile.am Wed Aug  4 13:24:11 2010
@@ -28,7 +28,7 @@ EXTRA_DIST = \
   packaging/NSIS QPID_VERSION.txt bindings/swig_python_typemaps.i \
   bindings/swig_ruby_typemaps.i
 
-SUBDIRS = managementgen etc src docs/api docs/man examples bindings/qmf
+SUBDIRS = managementgen etc src docs/api docs/man examples bindings/qmf bindings/qpid
 
 # Update libtool, if needed.
 libtool: $(LIBTOOL_DEPS)

Modified: qpid/trunk/qpid/cpp/bindings/qpid/qpid.i
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/qpid/qpid.i?rev=982244&r1=982243&r2=982244&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/bindings/qpid/qpid.i (original)
+++ qpid/trunk/qpid/cpp/bindings/qpid/qpid.i Wed Aug  4 13:24:11 2010
@@ -48,13 +48,7 @@ qpid::types::Variant::List& decodeList(c
 
 %}
 
-
-%include <qpid/types/ImportExport.h>
 %include <qpid/messaging/ImportExport.h>
-%include <qpid/types/Exception.h>
-%include <qpid/messaging/exceptions.h>
-%include <qpid/types/Uuid.h>
-%include <qpid/types/Variant.h>
 %include <qpid/messaging/Address.h>
 %include <qpid/messaging/Duration.h>
 %include <qpid/messaging/Message.h>

Modified: qpid/trunk/qpid/cpp/bindings/swig_python_typemaps.i
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/swig_python_typemaps.i?rev=982244&r1=982243&r2=982244&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/bindings/swig_python_typemaps.i (original)
+++ qpid/trunk/qpid/cpp/bindings/swig_python_typemaps.i Wed Aug  4 13:24:11 2010
@@ -19,6 +19,13 @@
 
 %wrapper %{
 
+#if PY_VERSION_HEX < 0x02050000 && !defined(PY_SSIZE_T_MIN)
+typedef int Py_ssize_t;
+#define PY_SSIZE_T_MAX INT_MAX
+#define PY_SSIZE_T_MIN INT_MIN
+#endif
+
+
     PyObject* MapToPy(const qpid::types::Variant::Map*);
     PyObject* ListToPy(const qpid::types::Variant::List*);
     void PyToMap(PyObject*, qpid::types::Variant::Map*);
@@ -27,7 +34,7 @@
     qpid::types::Variant PyToVariant(PyObject* value) {
         if (PyFloat_Check(value))  return qpid::types::Variant(PyFloat_AS_DOUBLE(value));
         if (PyString_Check(value)) return qpid::types::Variant(std::string(PyString_AS_STRING(value)));
-        if (PyInt_Check(value))    return qpid::types::Variant(PyInt_AS_LONG(value));
+        if (PyInt_Check(value))    return qpid::types::Variant(int64_t(PyInt_AS_LONG(value)));
         if (PyLong_Check(value))   return qpid::types::Variant(int64_t(PyLong_AsLongLong(value)));
         if (PyBool_Check(value))   return qpid::types::Variant(PyInt_AS_LONG(value) ? true : false);
         if (PyDict_Check(value)) {

Modified: qpid/trunk/qpid/cpp/bindings/swig_ruby_typemaps.i
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/bindings/swig_ruby_typemaps.i?rev=982244&r1=982243&r2=982244&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/bindings/swig_ruby_typemaps.i (original)
+++ qpid/trunk/qpid/cpp/bindings/swig_ruby_typemaps.i Wed Aug  4 13:24:11 2010
@@ -30,7 +30,7 @@
         switch (TYPE(value)) {
         case T_FLOAT:   return qpid::types::Variant(NUM2DBL(value));
         case T_STRING:  return qpid::types::Variant(StringValuePtr(value));
-        case T_FIXNUM:  return qpid::types::Variant(FIX2LONG(value));
+        case T_FIXNUM:  return qpid::types::Variant((int64_t) FIX2LONG(value));
         case T_BIGNUM:  return qpid::types::Variant((int64_t) NUM2LL(value));
         case T_TRUE:    return qpid::types::Variant(true);
         case T_FALSE:   return qpid::types::Variant(false);

Modified: qpid/trunk/qpid/cpp/configure.ac
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/configure.ac?rev=982244&r1=982243&r2=982244&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/configure.ac (original)
+++ qpid/trunk/qpid/cpp/configure.ac Wed Aug  4 13:24:11 2010
@@ -523,6 +523,9 @@ AC_CONFIG_FILES([
   examples/qmf-console/Makefile
   examples/tradedemo/Makefile
   examples/messaging/Makefile
+  bindings/qpid/Makefile
+  bindings/qpid/ruby/Makefile
+  bindings/qpid/python/Makefile
   bindings/qmf/Makefile
   bindings/qmf/ruby/Makefile
   bindings/qmf/python/Makefile



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:commits-subscribe@qpid.apache.org