Update README.md

This commit is contained in:
Roman
2015-06-27 14:50:28 +03:00
parent 23157d8eb1
commit 0faf4a0a27

View File

@@ -1,16 +1,31 @@
qmsgpack [![Build Status](https://travis-ci.org/romixlab/qmsgpack.svg?branch=master)](https://travis-ci.org/romixlab/qmsgpack)
========
MessagePack for Qt MessagePack for Qt
==================
Installation Installation
------------ ------------
Clone repository: Clone repository:
~~~bash ~~~bash
git clone https://github.com/romixlab/qmsgpack.git git clone https://github.com/romixlab/qmsgpack.git
~~~
Run cmake:
~~~bash
cd qmsgpack cd qmsgpack
mkdir build mkdir build
cd build cd build
cmake .. cmake ..
make install ~~~
Compile:
~~~bash
make
~~~
Run tests and install
~~~bash
make tests install
~~~ ~~~
Sample usage Sample usage
@@ -27,16 +42,11 @@ Unpacking:
QVariantList unpacked = MsgPack::unpack(array).toList(); QVariantList unpacked = MsgPack::unpack(array).toList();
~~~ ~~~
Streaming API: By default these Qt types are supported: `Int, UInt, LongLong, ULongLong, Double, QByteArray, Bool, QString, QStringList, QVariantList, QVariantMap`.
~~~cpp
// packing
MsgPackStream stream(&ba, QIODevice::WriteOnly);
stream << 1 << 2.3 << "some string";
// unpacking Also you can provide packer and unpacker functions for any other type (even for user type defined via `Q_DECLARE_METATYPE`) or MsgPack type.
MsgPackStream stream(ba);
int a; Thread-safety
double b; -------------
QSting s; At this time it is not safe to call `MsgPack::registerPacker`, `MsgPack::registerUnpacker` and `MsgPack::setCompatibilityModeEnabled` from different threads.
stream >> a >> b >> s; pack and unpack methods do not use any global data, so should be safe to use from multiple threads.
~~~