From e87701e0f2d5f3b7dd291c7b8c62e407b5abf4c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marco=20Trevisan=20=28Trevi=C3=B1o=29?= Date: Tue, 18 Oct 2016 12:53:27 +0200 Subject: Converter: add bytestring support --- libqmenumodel/src/converter.cpp | 6 +++++- tests/client/convertertest.cpp | 8 ++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/libqmenumodel/src/converter.cpp b/libqmenumodel/src/converter.cpp index 527ae85..91cafab 100644 --- a/libqmenumodel/src/converter.cpp +++ b/libqmenumodel/src/converter.cpp @@ -58,6 +58,11 @@ QVariant Converter::toQVariant(GVariant *value) gsize size = 0; const gchar *v = g_variant_get_string(value, &size); result.setValue(QString::fromUtf8(v, size)); + } else if (g_variant_type_equal(type, G_VARIANT_TYPE_BYTESTRING)) { + gsize size = 0; + gchar *bs = g_variant_dup_bytestring(value, &size); + result.setValue(QByteArray::fromRawData(bs, size)); + g_free(bs); } else if (g_variant_type_equal(type, G_VARIANT_TYPE_VARIANT)) { GVariant *var = g_variant_get_variant(value); result = toQVariant(var); @@ -111,7 +116,6 @@ QVariant Converter::toQVariant(GVariant *value) * G_VARIANT_TYPE_DICT_ENTRY * G_VARIANT_TYPE_DICTIONARY * G_VARIANT_TYPE_STRING_ARRAY - * G_VARIANT_TYPE_BYTESTRING * G_VARIANT_TYPE_OBJECT_PATH_ARRAY * G_VARIANT_TYPE_BYTESTRING_ARRAY */ diff --git a/tests/client/convertertest.cpp b/tests/client/convertertest.cpp index a6a82de..e61caa0 100644 --- a/tests/client/convertertest.cpp +++ b/tests/client/convertertest.cpp @@ -169,8 +169,6 @@ private Q_SLOTS: QVERIFY(compare(QVariantMap({{"fooBar", 0xdeadbeef}}), G_VARIANT_TYPE_VARDICT)); } - // LIST CHECK! - void testBooleanToQVariant() { // Boolean @@ -231,6 +229,12 @@ private Q_SLOTS: QVERIFY(compare(g_variant_new_string("53"), QVariant::String)); } + void testByteArrayToQVariant() + { + // ByteArray + QVERIFY(compare(g_variant_new_bytestring("53"), QVariant::ByteArray)); + } + void testTupleConversion() { QVariantList qTuple; -- cgit v1.2.3