Matthew Stickney bec0d71cc1 Initialize the stream status to OK in the QIODevice constructor.
Without this, the status is an an uninitialize state, which causes the
precondition checks to fail on writes.
2017-02-16 16:24:04 -05:00
2015-05-29 20:15:26 +03:00
2017-02-16 23:06:59 +03:00
2015-12-31 10:36:25 +03:00
2015-04-11 15:58:42 +03:00
2015-07-12 22:53:25 +03:00
2016-05-03 10:31:39 +03:00

qmsgpack

MessagePack for Qt

Build Status Doc Status

Documentation

Complete documentation is available here: qmsgpack.readthedocs.io

Installation

Clone repository:

git clone https://github.com/romixlab/qmsgpack.git

Run cmake:

cd qmsgpack
mkdir build
cd build
cmake ..

Compile:

make

Run tests and install

make tests install

Sample usage

Packing

QVariantList list;
list << 1 << 2 << 3;
QByteArray array = MsgPack::pack(list);

Unpacking:

QVariantList unpacked = MsgPack::unpack(array).toList();

By default these Qt types are supported: Int, UInt, LongLong, ULongLong, Double, QByteArray, Bool, QString, QStringList, QVariantList, QVariantMap.

Also you can provide packer and unpacker functions for any other type (even for user type defined via Q_DECLARE_METATYPE) or MsgPack type.

Qt types and User types

There is packers and unpackers for QColor, QTime, QDate, QDateTime, QPoint, QSize, QRect. Also you can create your own packer/unpacker methods for Qt or your own types. See docs for details.

Thread-safety

At this time it is not safe to call MsgPack::registerPacker, MsgPack::registerUnpacker and MsgPack::setCompatibilityModeEnabled from different threads. pack and unpack methods do not use any global data, so should be safe to use from multiple threads.

Description
MessagePack serializer implementation for Qt / msgpack.org[Qt]
Readme MIT 299 KiB
Languages
C++ 86.5%
CMake 6%
C 5.6%
QMake 1.3%
IDL 0.6%