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