work in progress...

This commit is contained in:
Isaikin Roman
2014-09-14 23:40:30 +04:00
parent dfe5c62537
commit 0b76bc5d97
8 changed files with 96 additions and 12 deletions
+41
View File
@@ -0,0 +1,41 @@
#include "pack_p.h"
quint8 *MsgPackPrivate::pack(const QVariant &v, quint8 *p, bool sp)
{
QMetaType::Type t = (QMetaType::Type)v.type();
if (t == QMetaType::Int)
p = pack_int(v, p, sp);
else if (t == QMetaType::Bool)
p = pack_bool(v, p, sp);
else if (t == QMetaType::QVariantList)
p = pack_list(v, p, sp);
return p;
}
quint8 *MsgPackPrivate::pack_int(const QVariant &v, quint8 *p, bool sp)
{
}
quint8 *MsgPackPrivate::pack_bool(const QVariant &v, quint8 *p, bool sp)
{
if (!sp)
*p = v.toBool() ? 0xc3 : 0xc2;
return p + 1;
}
quint8 *MsgPackPrivate::pack_list(const QVariant &v, quint8 *p, bool sp)
{
QVariantList list = v.toList();
//pack_int(...)
if (!sp)
*p = 0x92; // 2el
p++;
foreach (QVariant item, v.toList())
p = pack(item, p, sp);
return p;
}