kdesupport/qt-dbus

Thiago Macieira thiago at kde.org
Sun Jun 18 15:37:29 BST 2006


SVN commit 552611 by thiago:

Introduce the new QtDBus type marshaller/demarshaller system, dubbed
"Pattern Buffer". This change is binary-incompatible, but
source-compatible. If you can't afford to rebuild everything, please
wait until the next kdelibs snapshot (which should happen tomorrow).

CCMAIL:kde-core-devel at kde.org

Highlights of "Pattern Buffer":
 - faster
 - smaller
 - simpler
 - more organised
 - restores 1:1 compatibility between D-BUS types and Qt/C++ types
 - avoids demarshalling complex types until we actually use them (in
   delivering a call or reply or signal)
 - supports STRUCT types decently, both Qt (Core)-provided ones and
   custom types. Newly supported types, out-of-the-box:
   . QPoint, QPointF
   . QSize, QSizeF
   . QRect, QRectF
   . QLine, QLineF
   . QDate, QTime, QDateTime
   Cannot support QtGui types (QIcon, QPixmap, etc.) because we don't
   link to QtGui. But adding support for individual types is trivial,
   on application-level.
 - supports demarshalling D-BUS arrays into QVectors too (except for
   QVector<QString> [QStringList] and QVector<uchar> [QByteArray]). 
   Same support for QQueue, QStack, std::list, std::vector, std::deque, etc.
 - supports demarshalling D-BUS dictionaries into QHash too. No
   support for STL associative containers.
 - supports marshalling from QVector, QHash, QQueue, QStack,
   std::list, std::vector, std::deque, etc.


 A             dbus/qdbusargument.h   [License: no copyright]
 A             dbus/qdbusextratypes.h   [License: no copyright]
 D             dbus/qdbusmarshall_p.h  
 D             dbus/qdbustype_p.h  
 D             dbus/qdbustypehelper_p.h  
 M  +1 -0      selftests/CMakeLists.txt  
 M  +305 -18   selftests/common.h  
 M  +17 -27    selftests/qdbusabstractadaptor/tst_qdbusabstractadaptor.cpp  
 M  +0 -130    selftests/qdbusinterface/tst_qdbusinterface.cpp  
 M  +0 -1      selftests/qdbusmarshall/qpong/qpong.cpp  
 M  +219 -108  selftests/qdbusmarshall/tst_qdbusmarshall.cpp  
 A             selftests/qdbusmetatype (directory)  
 A             selftests/qdbusmetatype/CMakeLists.txt  
 A             selftests/qdbusmetatype/tst_qdbusmetatype.cpp   [License: no copyright]
 D             selftests/qdbustype (directory)  
 M  +2 -2      src/CMakeLists.txt  
 M  +4 -0      src/qdbus.h  
 M  +7 -14     src/qdbusabstractinterface.cpp  
 M  +13 -4     src/qdbusabstractinterface.h  
 A             src/qdbusargument.cpp   [License: GPL (v2+)]
 A             src/qdbusargument.h   [License: GPL (v2+)]
 A             src/qdbusargument_p.h   [License: GPL (v2+)]
 A             src/qdbusargumentoperators.h   [License: GPL (v2+)]
 M  +0 -9      src/qdbusbus.cpp  
 M  +6 -0      src/qdbusbus.h  
 A             src/qdbusdemarshaller.cpp   [License: GPL (v2+)]
 A             src/qdbusextratypes.h   [License: GPL (v2+)]
 M  +95 -118   src/qdbusintegrator.cpp  
 M  +3 -4      src/qdbusinternalfilters.cpp  
 D             src/qdbusmarshall.cpp  
 D             src/qdbusmarshall_p.h  
 A             src/qdbusmarshaller.cpp   [License: GPL (v2+)]
 M  +33 -136   src/qdbusmessage.cpp  
 M  +1 -1      src/qdbusmessage.h  
 M  +31 -31    src/qdbusmetaobject.cpp  
 M  +17 -43    src/qdbusmisc.cpp  
 A             src/qdbusreply.cpp   [License: GPL (v2+)]
 M  +21 -9     src/qdbusreply.h  
 D             src/qdbustype.cpp  
 D             src/qdbustype_p.h  
 D             src/qdbustypehelper_p.h  
 M  +173 -3    src/qdbusutil.cpp  
 M  +13 -5     src/qdbusxmlgenerator.cpp  
 M  +1 -1      tools/dbusidl2cpp.cpp  






More information about the kde-core-devel mailing list