1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-03-18 23:09:42 +01:00

Add documentation for Json wrapper

This commit is contained in:
Uwe L. Korn 2014-05-26 10:33:39 +01:00
parent a2d5414af6
commit 4deae94b99

View File

@ -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 );
}