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