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