Skip to content
MessagePack serializer implementation for Qt / msgpack.org[Qt]
Branch: master
Clone or download
Latest commit e3819fc Dec 1, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc
src
tests Build and run tests with qmake Nov 20, 2018
.gitignore
.travis.yml Fix Travis build. Dec 1, 2018
CMakeLists.txt Update CMakeLists.txt Dec 1, 2018
LICENSE
PVS_HOWTO
README.md
cmake_uninstall.cmake.in
msgpack.org.md Update msgpack.org.md Jul 12, 2015
qmsgpack.pri
qmsgpack.pro

README.md

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.

You can’t perform that action at this time.