Improved marshalling/unmarshalling of QList<T> (for some values of T), QStringList...
authorIvan Shvedunov <ivan4th@gmail.com>
Sat, 6 Nov 2010 21:47:14 +0000 (00:47 +0300)
committerIvan Shvedunov <ivan4th@gmail.com>
Sat, 6 Nov 2010 21:49:38 +0000 (00:49 +0300)
commitdca5462b4af5f443e2ac26db70470ebe70eb7706
treebcd1a08f566c3d3a001a71b6a717eb0fa345271c
parent958106917f6b0816332da034754742b4b327e6bd
Improved marshalling/unmarshalling of QList<T> (for some values of T), QStringList, QByteArray and QVariant.

Don't use the 'dynamic unmarshalling' approach introduced before, as it had some serious drawbacks:
1. Using QList<void*> / QList</int> for all QLists is risky at best.
   No proper constructors/destructors invoked when necessary and overall
   this approach relies on sheer luck.
2. It didn't handle primitive types like int correctly because marshaller-2 doesn't handle them.

Some macros are used on C++ side to assist QList<T> definitions for different types.
commonqt.cpp
commonqt.h
ffi.lisp
info.lisp
marshal.lisp
qlist.lisp [deleted file]
qt.asd
qvariant.lisp
unmarshal.lisp