From 4deae94b99ad7968bbb3ca9f9b042de873e00d87 Mon Sep 17 00:00:00 2001 From: "Uwe L. Korn" Date: Mon, 26 May 2014 10:33:39 +0100 Subject: [PATCH] Add documentation for Json wrapper --- src/libtomahawk/utils/Json.h | 38 +++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/src/libtomahawk/utils/Json.h b/src/libtomahawk/utils/Json.h index 6aa8bfd13..74c5972f4 100644 --- a/src/libtomahawk/utils/Json.h +++ b/src/libtomahawk/utils/Json.h @@ -26,10 +26,46 @@ namespace TomahawkUtils { - /* QJson */ + /** + * Convert a QObject instance to a QVariantMap by adding its properties + * as key-value pairs. + * + * @param object Object that shall be "serialised" + * @return All properties of the object stored as QVariantMap + */ DLLEXPORT QVariantMap qobject2qvariant( const QObject* object ); + + /** + * Write out all key-value pairs into the respective properties of the + * given object. + * + * @param variant The key-value pairs that shall be stored in the object. + * @param object The destiation object where we store the key-value pairs of the map as properties. + */ DLLEXPORT void qvariant2qobject( const QVariantMap& variant, QObject* object ); + + /** + * Parse the JSON string and return the result as a QVariant. + * + * @param jsonData The string containing the data as JSON. + * @param ok Set to true if the conversion was successful, otherwise false. + * @return After a successful conversion the parsed data either as QVariantMap or QVariantList. + */ DLLEXPORT QVariant parseJson( const QByteArray& jsonData, bool* ok = 0 ); + + /** + * Convert a QVariant to a JSON representation. + * + * This function will accept Strings, Number, QVariantList and QVariantMaps + * as input types. Although Qt5's JSON implementation itself does not + * support the serialisation of QVariantHash, we will convert a QVariantHash + * to a QVariantMap but it is suggest to convert all QVariantHash to + * QVariantMap in your code than passing them here. + * + * @param variant The data to be serialised. + * @param ok Set to true if the conversion was successful, otherwise false. + * @return After a successful serialisation the data of the QVariant represented as JSON. + */ DLLEXPORT QByteArray toJson( const QVariant &variant, bool* ok = 0 ); }