mirror of
https://github.com/romixlab/qmsgpack.git
synced 2026-02-04 06:15:24 +01:00
MsgPackStream integers pack and unpack
User types packers now called only once, and return QByteArray
This commit is contained in:
@@ -4,6 +4,7 @@
|
||||
#include "private/pack_p.h"
|
||||
#include "private/qt_types_p.h"
|
||||
#include "private/sysdep.h"
|
||||
#include <QVector>
|
||||
|
||||
QVariant MsgPack::unpack(const QByteArray &data)
|
||||
{
|
||||
@@ -16,13 +17,14 @@ QVariant MsgPack::unpack(const QByteArray &data)
|
||||
QByteArray MsgPack::pack(const QVariant &variant)
|
||||
{
|
||||
quint8 *p = 0;
|
||||
quint8 *end = MsgPackPrivate::pack(variant, p, false);
|
||||
QVector<QByteArray> user_data;
|
||||
quint8 *end = MsgPackPrivate::pack(variant, p, false, user_data);
|
||||
quint32 size = end - p;
|
||||
//qDebug() << "size probe:" << size;
|
||||
|
||||
QByteArray arr;
|
||||
arr.resize(size);
|
||||
end = MsgPackPrivate::pack(variant, (quint8 *)arr.data(), true);
|
||||
end = MsgPackPrivate::pack(variant, (quint8 *)arr.data(), true, user_data);
|
||||
|
||||
return arr;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user