forked from romixlab/qmsgpack
Update README.md
This commit is contained in:
38
README.md
38
README.md
@@ -1,16 +1,31 @@
|
|||||||
|
qmsgpack [](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.
|
||||||
~~~
|
|
||||||
|
Reference in New Issue
Block a user