lok: Change version string to JSON format

Change-Id: Ie1264fed9964b09006980df2e151e170b48b4082
diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx
index 2d30a32..ab765dc 100644
--- a/desktop/source/lib/init.cxx
+++ b/desktop/source/lib/init.cxx
@@ -2007,7 +2007,15 @@ static void lo_setDocumentPassword(LibreOfficeKit* pThis,

static char* lo_getVersionInfo(LibreOfficeKit* /*pThis*/)
{
    const OString sVersionStr = OUStringToOString(ReplaceStringHookProc("%PRODUCTNAME %PRODUCTVERSION %PRODUCTEXTENSION %BUILDID"), RTL_TEXTENCODING_UTF8);
    const OUString sVersionStrTemplate(
        "{ "
        "\"ProductName\": \"%PRODUCTNAME\", "
        "\"ProductVersion\": \"%PRODUCTVERSION\", "
        "\"ProductExtension\": \"%PRODUCTEXTENSION\", "
        "\"BuildId\": \"%BUILDID\" "
        "}"
    );
    const OString sVersionStr = OUStringToOString(ReplaceStringHookProc(sVersionStrTemplate), RTL_TEXTENCODING_UTF8);

    char* pVersion = static_cast<char*>(malloc(sVersionStr.getLength() + 1));
    strcpy(pVersion, sVersionStr.getStr());
diff --git a/include/LibreOfficeKit/LibreOfficeKit.hxx b/include/LibreOfficeKit/LibreOfficeKit.hxx
index 46a5e96..eae43af 100644
--- a/include/LibreOfficeKit/LibreOfficeKit.hxx
+++ b/include/LibreOfficeKit/LibreOfficeKit.hxx
@@ -550,10 +550,13 @@ public:
    /**
     * Get version information of the LOKit process
     *
     * @returns string containing version information in format:
     * PRODUCT_NAME PRODUCT_VERSION PRODUCT_EXTENSION BUILD_ID
     * @returns JSON string containing version information in format:
     * {ProductName: <>, ProductVersion: <>, ProductExtension: <>, BuildId: <>}
     *
     * Eg: LibreOffice 5.3 .0.0 alpha0 <commit hash>
     * Eg: {"ProductName": "LibreOffice",
     * "ProductVersion": "5.3",
     * "ProductExtension": ".0.0.alpha0",
     * "BuildId": "<full 40 char git hash>"}
     */
    inline char* getVersionInfo()
    {
diff --git a/include/LibreOfficeKit/LibreOfficeKitGtk.h b/include/LibreOfficeKit/LibreOfficeKitGtk.h
index 4b4284e..fc7cec1 100644
--- a/include/LibreOfficeKit/LibreOfficeKitGtk.h
+++ b/include/LibreOfficeKit/LibreOfficeKitGtk.h
@@ -319,12 +319,15 @@ void                            lok_doc_view_set_document_password (LOKDocView* 
 * lok_doc_view_get_version_info:
 * @pDocView: The #LOKDocView instance
 *
 * Get version information of underlying LOKit process
 * Get version information of the LOKit process
 *
 * Returns: string containing version information in format
 * PRODUCT_NAME PRODUCT_VERSION PRODUCT_EXTENSION BUILD_ID
 * Returns: JSON string containing version information in format:
 * {ProductName: <>, ProductVersion: <>, ProductExtension: <>, BuildId: <>}
 *
 * Eg: LibreOffice 5.3 .0.0.alpha0 <commit hash>
 * Eg: {"ProductName": "LibreOffice",
 * "ProductVersion": "5.3",
 * "ProductExtension": ".0.0.alpha0",
 * "BuildId": "<full 40 char git hash>"}
 */
gchar*                         lok_doc_view_get_version_info       (LOKDocView* pDocView);