lok: Change version string to JSON format

Change-Id: Ie1264fed9964b09006980df2e151e170b48b4082
This commit is contained in:
Pranav Kant
2016-06-21 20:23:13 +05:30
parent 3fecccad4a
commit d7b45c97b3
3 changed files with 22 additions and 8 deletions

View File

@@ -2007,7 +2007,15 @@ static void lo_setDocumentPassword(LibreOfficeKit* pThis,
static char* lo_getVersionInfo(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)); char* pVersion = static_cast<char*>(malloc(sVersionStr.getLength() + 1));
strcpy(pVersion, sVersionStr.getStr()); strcpy(pVersion, sVersionStr.getStr());

View File

@@ -550,10 +550,13 @@ public:
/** /**
* Get version information of the LOKit process * Get version information of the LOKit process
* *
* @returns string containing version information in format: * @returns JSON string containing version information in format:
* PRODUCT_NAME PRODUCT_VERSION PRODUCT_EXTENSION BUILD_ID * {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() inline char* getVersionInfo()
{ {

View File

@@ -319,12 +319,15 @@ void lok_doc_view_set_document_password (LOKDocView*
* lok_doc_view_get_version_info: * lok_doc_view_get_version_info:
* @pDocView: The #LOKDocView instance * @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 * Returns: JSON string containing version information in format:
* PRODUCT_NAME PRODUCT_VERSION PRODUCT_EXTENSION BUILD_ID * {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); gchar* lok_doc_view_get_version_info (LOKDocView* pDocView);